535 Commits

Author SHA1 Message Date
Renovate Bot
688ed6aca9 build: update zone.js to version ^0.9.0 2019-03-27 12:23:59 -07:00
Alan Agius
952da428f6 feat(@angular-devkit/build-ng-packagr): add support for ng-packagr version 5 2019-03-27 12:11:38 -07:00
Renovate Bot
a516f8ad91 build: update semver to version 6.0.0 2019-03-27 10:05:43 -07:00
Charles Lyding
a011863477 feat(@angular-devkit/build-angular): implement stable architect API for extract-i18n 2019-03-25 12:39:05 -07:00
Renovate Bot
c0b57ef7d0 build: update copy-webpack-plugin to version 5.0.2 2019-03-25 10:38:54 -07:00
Hans Larsen
872799e174 feat(@angular-devkit/build-angular): add AppShell new API builder
This is fully compatible with the new API. The tests have been moved 1:1.
The cleanup in general is noticable.
2019-03-25 10:38:42 -07:00
Hans Larsen
69e4103cef feat(@angular-devkit/build-angular): add server output path 2019-03-25 10:38:42 -07:00
Hans Larsen
818bf32d68 refactor(@angular-devkit/build-angular): use quicktype of app-shell schema 2019-03-25 10:38:42 -07:00
Renovate Bot
4782b1b3a4 build: update typescript to version 3.3.4000 2019-03-22 15:32:04 -07:00
Charles Lyding
2f791395d2 feat(@angular-devkit/build-angular): implement stable architect API for karma 2019-03-22 07:13:51 -07:00
Alan Agius
54a6bee7c5 feat(@angular-devkit/build-webpack): report emitted files
With this change the builder will report the emitted chunks and assets after the compilation, this is needed for deferential loading so that we can build an index from the outputs of multiple builds
2019-03-22 07:11:20 -07:00
Alan Agius
ce15899020 feat(@angular-devkit/build-angular): use sass instead of node-sass
BREAKING CHANGE: we no longer use `node-sass` by default, instead we use `sass` (dart-sass).

While in most cases this should not have an impact the generated code, dart sass has some differences from Ruby Sass. See https://github.com/sass/dart-sass#behavioral-differences-from-ruby-sass for more details

If you wish to use `node-sass` instead of `sass` you need to install node-sass as a dev dependency.

npm users
```
npm install node-sass --save-dev
```

yarn users
```
yarn add node-sass --dev
```

**Note:** for larger Sass projects to avoid this performance hit you might want to install `fibers`. See: https://www.npmjs.com/package/fibers

Ref: TOOL-748
2019-03-20 15:12:18 -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
Hans Larsen
2e9dc3d252 docs: add analytics dimensions for schematics flags and internal doc
The analytics.md should be kept up to date with the flags.
2019-03-20 15:08:07 -07:00
Filipe Silva
6e3d2e0c4d feat(@ngtools/webpack): support Angular 8
This requires updating projects to TypeScript 3.3
2019-03-20 12:29:01 -07:00
Hans Larsen
5500ad2504 feat(@angular-devkit/build-angular): add Server Builder v2
Using the new Architect API. Including moving the tests.
2019-03-19 10:07:46 -07:00
Hans Larsen
53f6b5ccfe refactor: extract the deleteOutputPath logic from the builder 2019-03-19 10:07:46 -07:00
Hans Larsen
230f491343 refactor: use quicktype for the server schema generation 2019-03-19 10:07:46 -07:00
Alan Agius
8f77d6711a fix(@angular-devkit/build-angular): update speed-measure-webpack-plugin to 1.3.1
This fixes the issue of it generating an empty speed-measure-plugin.json.

Fixes #12763
2019-03-19 09:28:20 -07:00
Alan Agius
f71896874e feat(@angular-devkit/build-angular): enable webpack profile when using stats-json flag
More information about what `profile` does can be found here: https://webpack.js.org/api/stats

Closes #13907
2019-03-19 09:25:28 -07:00
Alan Agius
20a644ec4b fix(@angular-devkit/build-angular): passing port 0 when using serve will not find a suitable port
At the moment, when passing port `0` it will default to `4200` which is incorrect. `4200` should be used a baseport.
2019-03-19 09:23:08 -07:00
Charles Lyding
a49d278baa feat(@angular-devkit/build-angular): implement stable architect API for protractor 2019-03-19 09:17:15 -07:00
Charles Lyding
fc48101a90 feat(@angular-devkit/build-ng-packagr): implement stable architect API 2019-03-19 09:05:01 -07:00
Hans Larsen
deeea03650 test: fix invalid architect tests
See fe229faf78
2019-03-15 16:07:06 -07:00
Renovate Bot
c85e4048d7 build: update autoprefixer to version 9.5.0 2019-03-15 16:06:53 -07:00
Alan Agius
330e56ed6d feat(@angular-devkit/build-angular): deprecate profile option in build
This flag has been deprecated in favor of the `NG_BUILD_PROFILING`  environment variable. This is mainly due not to expose debugging flag in our API.
2019-03-15 16:06:15 -07:00
Hans Larsen
ef3dd70001 test: remove build-angular browser tests for old API
Move the new API tests in its place.
2019-03-15 16:05:42 -07:00
Hans Larsen
c28fb10f40 test: use toContain instead of simply true/false
It will show up better in the logs if it doesnt match.
2019-03-15 12:23:43 -07:00
Alex Eagle
fe229faf78 test: comment out broken assertion 2019-03-13 14:28:25 -07:00
Charles Lyding
ebf90b3d6a refactor(@angular-devkit/build-angular): remove unused host parameter from typescript webpack methods 2019-03-13 13:55:26 -07:00
Charles Lyding
8644608987 refactor(@angular-devkit/build-angular): remove redundant getNonAotTestConfig function
The `getNonAotConfig` and `getNonAotTestConfig` functions are equivalent in regards to behavior.  The `extract` optional parameter for `_createAotPlugin` is false by default.
2019-03-13 13:55:26 -07:00
Olivier Combe
3d8064bb64 feat(@angular-devkit/build-angular): remove Closure compiler i18n code for ivy
For runtime i18n with ivy we generate code for both Closure compiler (used at Google) and for external people that don't use Closure compiler.
We added a new global flag named `ngI18nClosureMode` that allows uglify (and Closure compiler) to effectively tree-shake all of the code that isn't used in the current setup.
By default we remove all of the Closure compiler code because we assume that it won't be used.
2019-03-13 13:55:07 -07:00
Alan Agius
f70b9060d0 fix(@angular-devkit/build-angular): don't show warning when font shorthand is used
At the moment when `font` shorthand property is used a warning is emitted when using this syntax
```
font: 10px "Font Awesome";
```

This should be addressed by clean-css

Fixes #9648
2019-03-13 13:54:09 -07:00
Alan Agius
8d09594874 fix(@angular-devkit/build-angular): resolve fonts with space in filename
At the moment the uri of the font instead of spaced it will be `%20`, hence we need to decode it first before trying to resolve it.

Fixes #9648
2019-03-13 13:54:09 -07:00
Alex Eagle
eb5643e370 feat(@angular-devkit/core): Remove dep on chokidar
It is unused within our code, as webpack will do the file watching.
This removes 1.4 MB from the download size of the package.
See https://codepen.io/alexeagle/full/zbZWRM

BREAKING CHANGE:
Users who rely on angular-devkit/core to do the file watching must add chokidar to their devDependencies.
2019-03-13 13:53:53 -07:00
Renovate Bot
937dc635e6 build: update source-map-support to version 0.5.11 2019-03-13 13:52:53 -07:00
Renovate Bot
3bb368030f build: update copy-webpack-plugin to version 5.0.1 2019-03-13 13:51:42 -07:00
Hans Larsen
cf5e3b19b6 feat(@angular-devkit/build-angular): move dev-server to new API
Includes moving all the tests.
2019-03-13 13:51:22 -07:00
Hans Larsen
481a5aa142 feat(@angular-devkit/architect-cli): clear console and show logs
This gives better support for watching builders (such as serve). It clears the
console, and everytime an output happens from the builder it shows the logs
so far. This allows people to see the logs.

Also shows the result object (without builder info) so people can see custom
builder output.
2019-03-13 13:51:22 -07:00
Hans Larsen
31e1ae9d17 feat(@angular-devkit/architect): add new context methods
getBuilderNameForTarget() allows someone to get the builder name string for a specific
target (or return a rejected promise if it fails).

validateOptions() allows a builder to validate options against the same mechanics that
are used when scheduling builders.

These two methods allow builders to get options from a workspace (or build some option
object), change it, validate it, and execute scheduleBuilder() if they want to schedule
directly (or want a parallel run).
2019-03-13 13:51:22 -07:00
Hans Larsen
128af102a3 feat(@angular-devkit/architect): getOptionsForTarget should return null
If the target does not exist in the workspace.
2019-03-13 13:51:22 -07:00
Hans Larsen
e2163a0bde refactor(@angular-devkit/architect): clarify some error messages
They will be redone in classes before RC, but for now this helps diagnose
obscure messages.
2019-03-13 13:51:22 -07:00
Hans Larsen
4bfb29704f refactor(@angular-devkit/build-webpack): rename BuildResult to BuildOutput
Stays consistent across builders. This is the interface of the output provided by the
webpack dev server.
2019-03-13 13:51:22 -07:00
Hans Larsen
ffee8938bb test: add tests for error propagation in jobs
It seems some testing was missing.
2019-03-13 13:51:22 -07:00
Hans Larsen
08e91a94ab build: refactor QoL on monorepo.json
This should make it easier to manage and diff. This takes 2 things into account:
1. we have either stable or experimental versions and each are kept in monorepo.
2. we dont keep hash and update only changed packages.

This commit also removed the hash to make sure this does not happen.
2019-03-13 13:51:01 -07:00
Alan Agius
a24c46182f test: fix chunk in entry test 2019-03-13 13:49:49 -07:00
Hans Larsen
3ac1cc30a7 feat(@angular-devkit/architect): add scheduleTargetAndForget function
It came up with Nrwl that this is a common pattern; someone wants to schedule a
target but does not want to manage the run himself. This function cancels the
run when the Observable is unsubscribed from (which is not the case for a
traditional run).

Because stop logic can be asynchronous, we need to add a teardown logic
handler to the context, which turns out to be useful for other cases as
well.
2019-03-11 13:48:01 -07:00
Hans Larsen
6a0b3fe6b2 feat(@angular-devkit/build-angular): re-export schemas
When we moved to using QuickType to generate those we removed those
exports. That was an unfortunate breaking change.
2019-03-11 13:48:01 -07:00
Hans Larsen
78a4149384 feat(@angular-devkit/build-angular): browserTarget should match target pattern 2019-03-11 13:48:01 -07:00
Hans Larsen
890cfbe7c7 fix(@angular-devkit/build-angular): fail the build if service worker fails
Its the sensible thing to do.
2019-03-11 13:48:01 -07:00