54 Commits

Author SHA1 Message Date
Keen Yee Liau
a3b05a0283 build: Use fine-grained node_module deps
This commit updates the BUILD files to specify fine-grained node_module deps
by replacing "@typings" comments with actual @npm node module.

Moved tools/bazel.rc -> .bazelrc

Removed "jasmine" typings from base tsconfig.json

Added @bazel/karma to devDependencies, needed for `ts_web_test`
2018-10-31 20:56:27 -07:00
Alan Agius
b38a13dc02 fix(@angular-devkit/schematics): upgrade refactoring with tslint emits too much whitespace
Fixes #12653
2018-10-31 14:57:53 -07:00
Charles Lyding
9a793494dc build: update rxjs to 6.3 2018-09-26 12:57:56 -04:00
Charles Lyding
013c663986 refactor(@angular-devkit/schematics): adjust rxjs type usage
Required for upcoming upgraded to rxjs 6.3
2018-09-26 12:57:56 -04:00
Alan Agius
191edda747 test: add unit test to cover subdirs
Closes #12143
2018-09-25 17:01:03 -04:00
Luca Vazzano
b9d8eed4a7 fixed typo in the Schematics README 2018-09-25 16:38:58 -04:00
Luca Vazzano
4a2fc6f04a extended Schematics README regarding templating
to include basic info and an example about it
2018-09-25 16:38:58 -04:00
Hans
f74c1f479a feat(@angular-devkit/schematics): allow workflow impl to define their own sinks (#12330)
Behaviour for NodeWorkflow should be the same.
2018-09-20 15:19:42 -07:00
Alan Agius
8fac6a7ceb fix(@angular-devkit/schematics-cli): fix list-schematics is not printing anything
Usage:
```
$  schematics @schematics/angular: --list-schematics
$  schematics --list-schematics
```

When no colon is specified, it means that that you are passing a schematic name to be looked up in the default collection.

Closes #12220
2018-09-18 11:33:11 -07:00
Yi Qi
e36a259a45 fix(@angular/cli): fix issues in google3 2018-09-13 14:08:04 -07:00
Alan Agius
b8b36ba339 refactor: pin down all direct dependencies
This is so that CLI users get the same direct dependency versions that were tested on the CI.
2018-09-07 11:01:50 -07:00
Sebastian Häni
8caeb47824 fix(@angular-devkit/schematics): fix generate mangling files containing wide characters
Executing a command like `ng generate component my-component` can sometimes lead to
mangled Angular module files when inserting the component into `declaration` and
adding the import. This happens if the file contains characters that are wider than
one byte e.g. a copyright sign or an umlaut. Today it is expected to be able to use
two byte long characters in code.

The `UpdateBuffer` class operates using Buffer objects which use byte arrays internally.
Using text node positions provided by the TypeScript library, these will not match up.
This change looks up the textual position inside the Buffer and uses the correct index.

Closes #7851, #7950
2018-09-06 10:53:27 -07:00
Alan Agius
54f7ea2b1d fix(@angular-devkit/schematics): throw InvalidCollectionJsonException when collection file is invalid
Closes #11818
2018-09-06 10:49:50 -07:00
Hans
0070ea46e6 fix(@angular-devkit/schematics): fix task executor on Windows
Before we did not denormalize the paths, but were expecting to get paths as options.
2018-09-06 07:37:48 -07:00
Hans
9517677158 feat(@angular-devkit/core): remove addUndefinedDefaults as default post transform
And various bug fixes.
2018-09-06 07:37:48 -07:00
clydin
7e63dd791b build: limit rxjs to 6.2.x due to a defect in 6.3.0 (#12048) 2018-08-30 15:33:31 -07:00
Charles Lyding
cdbc1988f2 feat(@angular-devkit/schematics): allow schematic rules to control interactivity 2018-08-29 09:25:56 -07:00
clydin
d55deb9282 build: add bazel TS library for node tasks (#12008) 2018-08-27 10:27:44 -07:00
Charles Lyding
d202480a17 build: update/cleanup tslint rules & fix errors 2018-08-23 11:35:34 -07:00
Filipe Silva
9b7d076e2b fix(@angular-devkit/schematics): correctly resolve absolute windows paths 2018-08-22 16:36:10 -07:00
Filipe Silva
9720077a4b build: make resolution logic compatible with Bazel 2018-08-22 16:36:10 -07:00
Filipe Silva
f08ec443ff build: re-enable missing bazel tests 2018-08-22 16:36:10 -07:00
Filipe Silva
2393ab9aba build: simplify bazel dependencies 2018-08-22 16:36:10 -07:00
Filipe Silva
e17cc66f93 test(@angular-devkit/schematics): add bazel tests 2018-08-22 16:36:10 -07:00
Charles Lyding
07c829d34b fix(@angular-devkit/schematics): improve tree type checking
Fixes #11683
2018-08-17 15:26:36 -07:00
Mike Brocchi
ae9817b7ee feat(@angular/cli): Update commands to extract meta data into JSON 2018-08-13 20:58:47 -07:00
Hans Larsen
f3e389bd8c feat(@angular-devkit/schematics): add .template as an extension
New rules to deal with templates using a .template extension. Apply the template only
to those files, then remove the .template suffix.

Also added a new rename() rule that takes a matcher and a renamer. Nothing big there.

Also added a new composeFileOperator() that compose operators one after the other.
2018-08-13 16:59:32 -07:00
qiyi
cd8801ca7b fix(@angular-devkit/schematics): fix issues in google (#11857)
1. update the return type of 'validateOptionsWithSchema' to make it
conform the signature of engineHost.registerOptionsTransform
2. fix minor naming issue
2018-08-13 12:31:26 -07:00
Charles Lyding
c729b0e7d9 build: use yarn workspaces 2018-08-10 18:25:32 -07:00
Lukáš Matta
be5d3b0536 docs: fix schematics-cli url 2018-08-07 10:39:56 +01:00
Yi Qi
02de5cd3ad fix(@angular-devkit/schematics): Fix issues for file-syetem-engine running in google3
Pass 'name' as part of FileSystemCollectionDesc when creating
collection description.
2018-08-02 16:02:21 -04:00
Hans Larsen
2ba1f16295 refactor(@angular-devkit/schematics): add a BaseWorkflow which implements logic
And receives in its constructor the enginehost and registry. This simplifies the creation
of the NodeWorkflow, or later on the Google3Workflow etc, since all the duplicate logic
is now in a single base class.

This is yak shaving for internal stuff.
2018-08-01 11:41:49 -04:00
Hans Larsen
07c73a1e21 fix(@angular-devkit/schematics): implement optimize() for HostTree
Its only used by old Schematics library, which can end up in there. Since optimization
is only a thing for VirtualTree, HostTree returns itself.
2018-07-27 13:20:15 -07:00
Hans
d67a4bf535 feat(@angular-devkit/schematics): allow tslintfix task on files
Before we only allowed tsconfig files (with includes added). This is necessary
for the lint fixing for schematics to target specific files.

Also added a feature that look for the tslint.json file if no tslint.json
file or configuration object was passed. Skipping the first argument to the
task constructor will look for the tslint closest to EVERY files being
linted.
2018-07-25 21:27:47 -07:00
Hans
9177bf9128 feat(@angular-devkit/schematics): allow path templates to override some options
Like the interpolation and the pipe character. The default behaviour is kept.

We will need to use those to work around some limiations of the google3 file system which
does not accept "@".
2018-07-25 22:54:51 +01:00
Hans
8b7516d9b3 refactor: types for content should be a pure template
Limitting it to a subset of JSON values is limiting. Templates can call functions,
list arrays, access classes, etc.
2018-07-25 22:54:51 +01:00
Charles Lyding
a29a53e2ff fix(@angular-devkit/schematics): move rule with identity is a noop 2018-07-25 19:22:20 +01:00
Hans
91e7c3eb96 test: remove unused test directory and remove @ from paths 2018-07-12 09:26:36 -07:00
Hans Larsen
483cbe2665 refactor: add tslint-sonarts and a lot of tslint rules
This should clean up the code a bit.

Note: at first I added the no-useless-cast rule, but after getting frustrated
with it (as it has many false positive), I decided to remove the rule but some
useless casts were removed so I let those in the PR.
2018-07-10 15:07:36 -07:00
Alex Eagle
63389e5028 build: fixes needed in google3 2018-07-09 16:14:18 -07:00
Alex Eagle
773984dac3 build: fixes needed in google3
We have an older version of Jasmine that doesn't support generics in this spot
2018-07-06 16:33:50 -04:00
Charles Lyding
9582b84603 fix(@angular-devkit/schematics): implement HostTree specific filtering 2018-07-03 12:52:22 -04:00
Charles Lyding
61d2181f85 fix(@angular-devkit/schematics): support VirtualTree/HostTree interop 2018-07-03 12:52:22 -04:00
Charles Lyding
48780c5e45 refactor(@angular-devkit/schematics): simplify move rule 2018-07-03 12:52:22 -04:00
Charles Lyding
5a58d00a4c fix(@angular-devkit/schematics): support filtering a HostTree 2018-07-03 12:52:22 -04:00
Charles Lyding
af8e7ea333 test(@angular-devkit/schematics): use HostTree instead of VirtualTree 2018-07-03 12:52:22 -04:00
Hans Larsen
5c1cafe750 fix(@angular-devkit/schematics): fix declaring multiple aliases
Fix #11389
2018-07-02 08:21:41 -04:00
Charles Lyding
28bbd1b2bc test(@angular-devkit/schematics): test for nested chained function rules 2018-07-02 08:21:16 -04:00
Charles Lyding
a7edd57399 fix(@angular-devkit/schematics): avoid piping input multiple times when calling rules
Fixes: #11267
2018-07-02 08:21:16 -04:00
Charles Lyding
c875424222 refactor(@angular-devkit/schematics): cleanup call implementations 2018-07-02 08:21:16 -04:00