28 Commits

Author SHA1 Message Date
Charles Lyding
52a014dd23 fix(@angular-devkit/core): ignore undefined targets when adding a workspace project 2019-04-16 11:23:48 -07:00
Alan Agius
260dacfb41 test: add new architect api to golden files 2019-04-15 11:08:46 -07:00
Alan Agius
eac31541a1 test: add analytics to core golden files 2019-04-15 11:08:46 -07:00
Charles Lyding
13abfd01ec fix(@angular-devkit/schematics): fully support async rules 2019-04-15 11:02:46 -07:00
Charles Lyding
7d416103a9 feat(@angular-devkit/core): make new workspace API public 2019-04-12 11:45:48 -07:00
Charles Lyding
db14292b52 fix(@angular-devkit/architect): remove experimental API 2019-04-02 10:31:24 -07:00
Hans Larsen
15032aa2e8 feat(@angular-devkit/schematics): add support for analytics
Schematics context now have an (optional) analytics field that, if set,
should be used to report usage. This can be set even in some cases where
analytics is disabled (to a noop analytics).
2019-03-20 15:08:07 -07:00
clydin
324d9f2d4f feat(@angular-devkit/schematics): support basic promise/async based rules (#13660)
Currently, all third-party schematic developers are forced to use and directly depend on `rxjs` if any logic is asynchronous.   Doing so can can also add overhead and unneeded complexity for organizations that have chosen to standardize on async/await usage. This change allows such parties to rely on native promise support if desired.
2019-03-07 15:51:03 -08:00
Hans Larsen
041907d551 feat(@angular-devkit/core): add factories for workspace
It makes it easier instead of always copy-pasting the same findUp code
to get the workspace file.
2019-03-05 11:14:59 -08:00
Hans Larsen
0f0f289bf7 fix(@angular-devkit/core): fix true schemas post transform step
Also tighten the types a bit, and add a test that failed before and works now.
2019-02-19 13:51:29 -08:00
Hans Larsen
68220f13e4 feat(@angular-devkit/architect): New Architect API first draft
The new API has been described in this design doc:
https://docs.google.com/document/d/1SpN_2XEooI9_CPjqspAcNEBjVY874OWPZqOenjuF0qo/view

This first drafts add support for the API (given some deep imports). It is
still in draft mode but is committed to make it available to people to
start testing and moving their own builders.

This API rebuilds (not backward compatible) the Architect API package. To
use it people will need to import "@angular-devkit/architect/src/index2"
to start using it. A reference builder will be added in the next commit.

There are 2 pieces missing from this commit that will be added in the
same PR; 1) the architect-host and CLI to test, and 2) a reference
builder moved from the old API to the new one. These will be part of
the same PR.

Finally, there are missing tests in this package, but everything tested
manually and automatically works so far. Test coverage will be added
before the package is considered finished.

Due to a desire to keep architect, our tests and the scope of this PR
limited and keep the two APIs separated, every clashing files will
have a "2" suffix added to it. Once all builders have been moved and
we are sure everything works, all those files will be moved to their
final destination and the old API will be removed, in one PR.
2019-02-19 13:51:29 -08:00
Charles Lyding
d849834445 feat(@angular-devkit/core): support console logger color customization 2019-02-15 08:01:41 -08:00
Charles Lyding
d18f89d483 refactor(@angular-devkit/schematics): remove unused VirtualTree classes 2019-01-25 21:42:21 -08:00
Charles Lyding
0563e96cd2 feat(@angular-devkit/schematics): add applyToSubTree rule
This rule allows a group of rules to be applied to a scoped subdirectory of the current tree.
2019-01-18 12:14:29 -08:00
Filipe Silva
6f8c336346 fix(@angular-devkit/build-optimizer): identify relative imports in angular core
Build optimizer was broken for non-FESM files inside @angular/core because it couldn't identify relative imports were still inside core.

This change adds a known list of angular core files as a default, and also allows passing in a override.
2019-01-18 12:01:37 -08:00
Keen Yee Liau
8e3c7dcca4 build: Update Bazel workspace
While doing a Bazel query using Bazel 0.21.0, Bazel complains that
the http_archive must now be an explicit rule. This commit fixes
that.

In addition, versions for rules_typescript and angular have also
been updated.
2019-01-16 16:07:50 -08:00
Charles Lyding
8d177e8789 feat(@angular-devkit/schematics): support calling a task by file path when using a FileSystemEngineHost 2019-01-14 12:52:27 -08:00
Charles Lyding
a0ac4b0e3d feat(@angular-devkit/schematics): support executing a schematic rule on a subtree 2019-01-14 10:59:37 -08:00
Alan Agius
73a35071a0 feat(@angular-devkit/architect): add result property to BuildEvent 2019-01-08 13:42:45 -08:00
Alan Agius
24d9318525 test: update api golden file 2018-12-19 10:55:05 -08:00
Hans
a3a657f7e7 feat(@angular-devkit/core): Jobs API added
See the README for more details about usage.
2018-12-14 10:55:04 -08:00
Hans
64781f64d7 refactor(@angular-devkit/core): UnknownException should still extend Base 2018-12-14 10:55:04 -08:00
Hans
3a28d4c142 feat(@angular-devkit/core): add a new JsonSchema type
A Schema is either an Object or a boolean. We could reduce JsonSchema scope further
by adding properties, but a schema is a really complex type so its not worth the
effort.
2018-12-14 10:55:04 -08:00
Hans
7567e8e6a0 feat(@angular-devkit/core): add next() to Logger
It allows to pass through LogEntry which was not possible before.
2018-12-14 10:55:04 -08:00
Hans
6bf80edf54 ci: add golden-api file for core/node
This is necessary as we introduce namespaces in jobs.
2018-12-14 10:55:04 -08:00
Alex Eagle
4d02cbc9a3 build: update architect golden API 2018-12-06 13:45:44 -08:00
clydin
53f15715bb test: update golden api for devkit core (#13105) 2018-11-30 16:07:27 -08:00
Alan Agius
717b02f533 ci: add ts api guardian (#12010)
* refactor: fix `import` and `export` paths to work with classic resolution

`ts-api-guardian` only support classic module resolution which means that we need to specify `index` so that the resolution works.

* build: add `npm_package` to packages

* build: add ts-api-guardian to repo

* test: add api golden files

* refactor: use proper namespace instead of alias export

* refactor: use proper namspace einstead of alias export

* build: add `_golden_api` files

At the moment ts api guardian doesn't support aliased symbols as namespaces, this is a workaround to still have namespaced symbols in the final golden file.

* build: update angular archive for workspace

* test: fix reference to `TestHost` to use namespace

* refactor: create `fs` namespace instead of aliased export

* test: update api golden file for `@angular-devkit/core/node`
2018-11-30 11:53:54 -08:00