457 Commits

Author SHA1 Message Date
Mathias Raacke
dfb08b95b7 feat(@ngtools/webpack): allow .svg files as templates
With directTemplateLoading enabled, components
can now use .svg files as templates. For AOT builds,
the Angular compiler host now reads .svg files
directly when reading component templates.
For JIT builds, replaceResources creates a require call
that directly uses raw-loader instead of using the
loader provided by the current webpack configuration.

Closes #10567
2019-03-05 10:16:41 -08:00
Alan Agius
d1a0697102 test: fix new tslint architect test large on windows 2019-03-04 10:25:32 -08:00
Charles Lyding
2f4602db08 feat(@angular-devkit/build-angular): change es5BrowserSupport output filename to polyfills.es5.js
Closes #13808
2019-03-04 09:36:00 -08:00
Renovate Bot
b80a281342 build: update ajv to version 6.10.0 2019-03-04 09:35:46 -08:00
Renovate Bot
ef523d0d41 build: update webpack to version 4.29.6 2019-03-04 09:34:41 -08:00
Alan
46e898f2ab fix(@angular-devkit/architect-cli): fix paths to support Windows 2019-03-04 09:34:00 -08:00
Hans Larsen
79c546b470 feat(@angular-devkit/build-webpack): add a "build" builder
Having webpack everywhere is redundant. I would like to deprecate the
"webpack" and "webpack-dev-server" in favor of simply "build" and
"dev-server".
2019-02-27 10:11:22 -08:00
Hans Larsen
862571cfd0 test: add tests for build-webpack:webpack-dev-server new builder 2019-02-27 10:11:22 -08:00
Hans Larsen
44900f9d00 test: add tests for build-webpack:webpack new builder 2019-02-27 10:11:22 -08:00
Hans Larsen
06f5624b71 feat(@angular-devkit/build-webpack): add API builder for dev server
It outputs the port and address that it is bound to.
2019-02-27 10:11:22 -08:00
Hans Larsen
318a0a3b99 feat(@angular-devkit/build-webpack): add API builder for webpack
It takes a webpack config path from its options, add the Architect Plugin to it
which reports progress and status to Architect from webpack events.
2019-02-27 10:11:22 -08:00
Hans Larsen
2ffaf0c11c feat(@angular-devkit/architect): allow for a different output type
There is no schema validation of output and we are not planning any
for now, but the attributes should be retained.
2019-02-27 10:11:22 -08:00
Hans Larsen
f1edc089ed refactor: remove build-webpack schema.d.ts and use quicktype 2019-02-27 10:11:22 -08:00
Hans Larsen
03fc0e6bdb feat(@angular-devkit/architect-cli): wait for last output of build
This allows watching builds to work. They wont show logs though. Looking
into making a better UI for this tool.
2019-02-27 10:11:22 -08:00
Hans Larsen
a90ba8eaa5 fix(@angular-devkit/architect-cli): remove any throttling of the progress bar
Sometimes it would miss the last update and it showed up at completed but the bar
would not be at 100%.
2019-02-27 10:11:22 -08:00
Renovate Bot
0be006ce00 build: update autoprefixer to version 9.4.9 2019-02-27 10:11:06 -08:00
Alan Agius
70b28193c9 fix(@angular-devkit/build-angular): sourceMap option not working in tests
Fixes #13766
2019-02-26 08:37:49 -08:00
Renovate Bot
15b208fa95 build: update license-webpack-plugin to version 2.1.1 2019-02-26 08:34:27 -08:00
Renovate Bot
4dfa5036cb build: update terser-webpack-plugin to version 1.2.3 2019-02-26 08:34:16 -08:00
Renovate Bot
f282797197 build: update webpack-dev-server to version 3.2.1 2019-02-26 08:34:04 -08:00
Alan Agius
ae13974f1d build: update to rxjs 6.4 2019-02-26 08:33:48 -08:00
Renovate Bot
86dbf22225 build: update ajv to version 6.9.2 2019-02-26 08:33:15 -08:00
Rares Matei
f03c44c841 fix(@angular-devkit/build-angular): add promise polyfill to --es5BrowserSupport provided polyfills
Since Angular uses Promises, we need to provide a polyfill for it to support ES5 only browsers.
2019-02-22 15:52:20 -08:00
Hans Larsen
78f5c287d8 refactor(@angular-devkit/build-angular): clean up some interfaces and schemas
Remove the manually maintained schema.d.ts from the browser builder, and use
the Schema JSON file to generate it. This had a lot of repercussions around
the whole build-angular code base and the different interfaces that were
manually kept.
2019-02-21 16:20:54 -08:00
Renovate Bot
4a5084f3a3 build: update copy-webpack-plugin to version 5.0.0 2019-02-21 10:14:49 -08:00
Renovate Bot
bd6fe982de build: update webpack-dev-middleware to version 3.6.0 2019-02-20 09:02:18 -08:00
Renovate Bot
2241e07c22 build: update autoprefixer to version 9.4.8 2019-02-20 09:02:06 -08:00
Charles Lyding
4751fc02d4 fix(@angular-devkit/build-angular): improve webpack loader resolution
Previously, all loaders either needed to be in the workspace's node modules directory or a node modules directory directly within the build angular package.  A package manager can potentially hoist a loader to a node modules location inbetween the two and causing loader resolution to fail.  This change causes webpack to check all intermediate node modules directories in addition to the initial two locations.
2019-02-19 13:56:35 -08:00
hrocha16
05e2a0eafe fix(@angular-devkit/build-angular): minimum threshold 2019-02-19 13:56:07 -08:00
Renovate Bot
9efa933937 build: update webpack to version 4.29.5 2019-02-19 13:51:53 -08:00
Hans Larsen
1aa1b47f90 feat(@angular-devkit/core): remove Log messages from Job API
If a system wants to have logging it should multiplex it itself on a channel.

Also changed the previous Architect commits to remove usage of Logs and move
to a "log" channel.
2019-02-19 13:51:29 -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
558ef00523 feat(@angular-devkit/architect-cli): CLI tool to use new Architect API
Move the entire Architect CLI to use the new API, and report progress using
a progress bar for each worker currently executing. Shows log at the end
of the execution.

This is meant to be used as a debugging tool to help people move their builders
to the new API.
2019-02-19 13:51:29 -08:00
Hans Larsen
df1b56c251 feat(@angular-devkit/build-angular): move tslint to new API
It is only new files and the old builder is still available. The new
one can only be used by the new Architect API.
2019-02-19 13:51:29 -08:00
Hans Larsen
685d4d0c6c feat(@angular-devkit/architect): add generic architect builders
Four builders were added;
- true, always succeed
- false, always fails
- concat, runs all targets or builders in succession
- allOf, runs all targets or builders in parallel
2019-02-19 13:51:29 -08:00
Hans Larsen
79a6988275 feat(@angular-devkit/architect): add node architect host
This host resolves using the package resolution and reading the targets
from the workspace API.
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
Hans Larsen
7023255c3d feat(@angular-devkit/core): jobs should re-log instead of forwarding
Current behaviour is to have logs forwarded, but this is flawed because on the
job side the logger is actually re-created. This allows logs to be actually part
of the caller side logging infrastructure.
2019-02-19 13:51:29 -08:00
Hans Larsen
81967900d0 feat(@angular-devkit/core): logger.log() should keep own metadata
It was possible to overwrite the metadata of the logger itself (name, path)
when calling "log()". This should not happen. If there is a need to overwrite
the loggers metadata itself one should use "next()" and construct or forward
their own log entry.
2019-02-19 13:51:29 -08:00
Hans Larsen
d856f8f8f8 feat(@angular-devkit/core): export terminal capabilities 2019-02-19 13:51:29 -08:00
Renovate Bot
d5144c3bf3 build: update chokidar to version 2.1.2 2019-02-19 10:15:18 -08:00
Charles Lyding
94b087c9e1 fix(@angular-devkit/build-angular): disable by default stylesheet root relative URL rebasing
BREAKING CHANGE:
Root relative URLs are a standardized method to reference a resource path from the root of a host.  The previous behavior of the Angular CLI prevented this from occuring and resulted in an inability to reference stylesheet assets in this manner.  The initial reason for this behavior is no longer present in the internal implementation of the Angular CLI.  Therefore, this now unnecessary and non-standard behavior is being phased out.  If an application currently relies on this behavior, a compatibility option `rebaseRootRelativeCssUrls` has been provided for the 8.x release cycle to facilitate transition away from this non-standard and limiting behavior.  The recommended method to transition is to use relative paths within the source stylesheet.  This allows the build system to process and generate a full URL for the asset.
2019-02-19 10:14:46 -08:00
Alex Eagle
9f33253f36 refactor: use vendored supports-color 2019-02-18 18:44:56 -08:00
Alex Eagle
fae77e9257 build: vendor chalk/supports-color in third_party
Also requires vendoring its single dependency
2019-02-18 18:44:56 -08:00
Renovate Bot
1bba17fa0d build: update webpack to version 4.29.4 2019-02-17 11:29:17 -08:00
Louis Larry
32d85622ed fix(@angular-devkit/schematics): add aliases to collection-schema.json 2019-02-15 15:11:10 -08:00
Charles Lyding
5016843c39 style(@angular-devkit/build-angular): remove comment reference to eject 2019-02-15 15:09:11 -08:00
Charles Lyding
d849834445 feat(@angular-devkit/core): support console logger color customization 2019-02-15 08:01:41 -08:00
Hans Larsen
889c2549d1 fix(@angular-devkit/core): remove static initialization using process object
It does not work in a browser.
2019-02-14 11:54:56 -08:00
Alan Agius
1fd4ed6c5d fix(@angular-devkit/schematics): use join instead of normal string concatenation
This leads to cleaner paths while debugging

Fixes #13654
2019-02-13 15:26:51 -08:00