2265 Commits

Author SHA1 Message Date
Alan Agius
0b06fd6951 fix(@angular-devkit/build-angular): disable output hashing when running dev-server
Using output hashing with the dev-server can cause memory leaks because the dev server does not know when to clean up the old files.

See: https://github.com/webpack/webpack-dev-server/issues/377#issuecomment-241258405

Closes #10411
2020-11-20 11:37:39 +00:00
Renovate Bot
94e0d6a8f7 build: update postcss to version 8.1.8 2020-11-20 11:36:47 +00:00
Renovate Bot
0d4faa8d8b build: update copy-webpack-plugin to version 6.3.2 2020-11-20 11:36:35 +00:00
Renovate Bot
3dbcd5d028 build: update terser to version 5.5.0 2020-11-20 11:36:01 +00:00
Alan Agius
7a39938cd0 fix(@angular-devkit/schematics-cli): remove _ property from options
Closes #19416
2020-11-18 13:18:27 -05:00
Alan Agius
c8aafad607 test(@angular-devkit/build-angular): add test to simulate dotnet proxy 2020-11-18 13:18:16 -05:00
Renovate Bot
d11ad18a3e build: update rollup to version 2.33.3 2020-11-18 13:09:20 -05:00
Charles Lyding
d5348bd191 fix(@angular-devkit/build-webpack): properly shutdown webpack 5 compilation
This change ensures that the compiler instance is used when closing the compiler.
2020-11-18 13:09:00 -05:00
Alan Agius
f67c612393 fix(@angular-devkit/build-angular): ERR_SSL_PROTOCOL_ERROR when using HTTPS reverse proxy
With this change we set the publicHost to `0.0.0.0:0`, when it's not provided.

This solved issues where previously the publicHost needed to be specified directly to get around `ERR_SSL_PROTOCOL_ERROR` error when proxing https -> http.

NB: this was also the behaviour in version 10 c252968225/packages/angular_devkit/build_angular/src/dev-server/index.ts (L170)

Closes #19403
2020-11-17 15:40:43 -05:00
Renovate Bot
21964542b4 build: update terser to version 5.4.0 2020-11-17 09:54:03 -05:00
Charles Lyding
51d0178d24 fix(@angular-devkit/build-angular): remove unneeded update package group
The `ng-update` field errantly caused this package to show up in the ng update list.  The package group with `codelyzer` also did not provide a benefit as `codelyzer` is updated via a migration and tslint support is now deprecated.
2020-11-16 15:43:53 -05:00
Charles Lyding
9280d87650 refactor(@angular-devkit/schematics): allow direct workflow option transforms
This change allows option transforms to be directly provided to the NodeWorkflow instead of needing to access the engine host inside the workflow after creation.  This also allows option transforms to affect the options prior to schema validation (if enabled).
2020-11-16 13:14:24 -05:00
Mike Hartington
0f72ca45c3 fix(@angular-devkit/build-angular): ignore hidden inputs with hmr
Closes #19385
Don't query for hidden inputs when using HMR
2020-11-16 13:14:06 -05:00
Alan Agius
9d82269441 refactor(@angular-devkit/build-angular): clean up index generation part 3
With this change we cleanup the index generation. The `IndexHtmlWebpackPlugin` now extends the base `IndexHtmlGenerator` class which makes it easier to override methods to retrieve compilation assets. This is important for the critical css extraction implementation because Critters needs to access the `assets` from the either the compilation when running in memory or the file-system.
2020-11-16 13:03:12 -05:00
Charles Lyding
24b0a49a73 refactor(@angular-devkit/architect): abstract workspace access from architect
This change allows architect runtime implementations to have more control over how builder information and options for targets are found.  A workspace file (and accompanying definition class) is not necessarily needed now.  This also has benefits for unit testing by reducing the amount of potential setup needed per test.
2020-11-16 08:52:22 -05:00
Charles Lyding
48c7a85f0a refactor(@angular-devkit/build-angular): support postcss 8
This change updates the internal postcss plugins to use the postcss 8 API as well as updates the versions of all external plugins to postcss 8 supported versions.
2020-11-16 08:51:30 -05:00
Charles Lyding
3acd694db3 fix(@angular-devkit/build-angular): remove workaround for Webpack 5 sourcemaps
The `webpack-sources` library no longer throws an error when used to process sourcemaps during differential loading.
2020-11-16 08:50:37 -05:00
Renovate Bot
87a43e20dd build: update rollup to version 2.33.2 2020-11-15 10:25:08 -05:00
Renovate Bot
9140f6089b build: update copy-webpack-plugin to version 6.3.1 2020-11-14 14:37:26 -05:00
Alan Agius
715a7a5570 fix(@angular-devkit/build-angular): allow json files in fileReplacement
JSON files a can also be valid fileReplacement when using the `resolveJsonModule` TypeScript feature. This causes JSON files to be resolved as JS modules and hence be part of the TypeScript program.

Closes #19378
2020-11-13 15:53:14 -05:00
cexbrayat
53193eaf77 fix(@schematics/angular): remove duplicated Karma traces
Currently, Karma is reporting a failed test and the total twice in a bare CLI project:

```
12 11 2020 13:59:46.666:INFO [launcher]: Starting browser Chrome
✔ Browser application bundle generation complete.
12 11 2020 13:59:50.457:INFO [Chrome 86.0.4240.198 (Mac OS 10.15.7)]: Connected on socket F0ehOBWL6BYFqXfbAAAA with id 69358036
Chrome 86.0.4240.198 (Mac OS 10.15.7) AppComponent should render title FAILED
	Error: Expected 'ponyracer app is running!' to contain 'other'.
	    at <Jasmine>
	    at UserContext.<anonymous> (src/app/app.component.spec.ts:29:65)
	    at ZoneDelegate.invoke (node_modules/zone.js/dist/zone-evergreen.js:364:1)
	    at ProxyZoneSpec.push.QpwO.ProxyZoneSpec.onInvoke (node_modules/zone.js/dist/zone-testing.js:292:1)
Chrome 86.0.4240.198 (Mac OS 10.15.7): Executed 2 of 3 (1 FAILED) (0 secs / 0.231 secs)
Chrome 86.0.4240.198 (Mac OS 10.15.7) AppComponent should render title FAILED
	Error: Expected 'ponyracer app is running!' to contain 'other'.
	    at <Jasmine>
	    at UserContext.<anonymous> (src/app/app.component.spec.ts:29:65)
	    at ZoneDelegate.invoke (node_modules/zone.js/dist/zone-evergreen.js:364:1)
Chrome 86.0.4240.198 (Mac OS 10.15.7): Executed 3 of 3 (1 FAILED) (0.309 secs / 0.242 secs)
TOTAL: 1 FAILED, 2 SUCCESS
TOTAL: 1 FAILED, 2 SUCCESS
```

This is a bit annoying when you have several tests failing, and tend to confuse beginners.

This commit configures the Karma HTML reporter to suppress the duplicates (both error and success), which results in only one reporter showing the failed test and total:

```
12 11 2020 14:01:43.002:INFO [launcher]: Starting browser Chrome
✔ Browser application bundle generation complete.
12 11 2020 14:01:58.728:INFO [Chrome 86.0.4240.198 (Mac OS 10.15.7)]: Connected on socket Pc0xPggxJPdC8E_LAAAA with id 54797430
Chrome 86.0.4240.198 (Mac OS 10.15.7) AppComponent should render title FAILED
	Error: Expected 'ponyracer app is running!' to contain 'other'.
	    at <Jasmine>
	    at UserContext.<anonymous> (src/app/app.component.spec.ts:29:65)
	    at ZoneDelegate.invoke (node_modules/zone.js/dist/zone-evergreen.js:364:1)
	    at ProxyZoneSpec.push.QpwO.ProxyZoneSpec.onInvoke (node_modules/zone.js/dist/zone-testing.js:292:1)
Chrome 86.0.4240.198 (Mac OS 10.15.7): Executed 3 of 3 (1 FAILED) (0.331 secs / 0.252 secs)
TOTAL: 1 FAILED, 2 SUCCESS
```
2020-11-13 15:53:01 -05:00
Renovate Bot
6b5024bae5 build: update mini-css-extract-plugin to version 1.3.1 2020-11-13 12:19:08 -05:00
Renovate Bot
251b53672e build: update angular packages 2020-11-12 17:13:22 -05:00
Alan Agius
5222a2e9b3 test(@angular-devkit/build-angular): add css file so that a sourcemap can be generated when optimization is enabled 2020-11-12 15:25:28 -05:00
Renovate Bot
d024cea655 build: update webpack-sources to version 2.2.0 2020-11-12 15:25:28 -05:00
Charles Lyding
91bb4b8606 fix(@angular-devkit/build-angular): add update package group for codelyzer
This change ensures that codelyzer will be updated (if present) to a compatible version when build-angular is updated.  This should help reduce the frequency of update errors related to peer dependency mismatches.
2020-11-12 14:39:25 -05:00
Alan Agius
88a3794524 fix(@angular-devkit/build-angular): show missing karma-coverage error when it's not configured
This fixes an issue where previously `karma-coverage must be installed in order to run code coverage` error was shown incorrectly.

Closes: #19359
2020-11-12 13:53:20 -05:00
Alan Agius
2a1b6b1dc7 fix(@angular-devkit/build-angular): separate initial total size in build output
```
Initial Chunk Files                      | Names                |      Size
main-es5.6f60fbc22c7e19b5d179.js         | main                 | 154.89 kB
main-es2015.6f60fbc22c7e19b5d179.js      | main                 | 135.87 kB
polyfills-es5.0351d1276e488726c8dc.js    | polyfills-es5        | 129.34 kB
polyfills-es2015.904e51532a46df6b991c.js | polyfills            |  36.12 kB
scripts.b7f93721b30caf483f97.js          | scripts              |   3.45 kB
runtime-es2015.76bfea807ccb0a24e182.js   | runtime              |   1.45 kB
runtime-es5.76bfea807ccb0a24e182.js      | runtime              |   1.45 kB
styles.3ff695c00d717f2d2a11.css          | styles               |   0 bytes

                                         | Initial ES5 Total    | 289.13 kB
                                         | Initial ES2015 Total | 176.88 kB
```

Closes #19330
2020-11-12 13:15:59 -05:00
Alan Agius
1237ddacea fix(@angular-devkit/build-angular): properly handle comment removal during font inlining
Closes #19350
2020-11-12 13:15:40 -05:00
Renovate Bot
be4b1a472b build: update babel-loader to version 8.2.1 2020-11-12 12:18:12 -05:00
Renovate Bot
cdc5776f53 build: update less-loader to version 7.1.0 2020-11-12 09:14:19 -05:00
Renovate Bot
78e127c795 build: update sass-loader to version 10.1.0 2020-11-12 09:13:44 -05:00
Renovate Bot
c41471d57c build: update stylus-loader to version 4.3.0 2020-11-12 09:13:23 -05:00
Renovate Bot
d26d944e3c build: update webpack-merge to version 5.4.0 2020-11-12 09:13:09 -05:00
Renovate Bot
8e063a992a build: update core-js to version 3.7.0 2020-11-07 10:35:27 +01:00
Renovate Bot
33028119b8 build: update mini-css-extract-plugin to version 1.3.0 2020-11-07 07:47:11 +01:00
Alan Agius
424af28602 fix(@angular-devkit/build-angular): add validation to fileReplacement values
fileReplacement is meant to replace compilation source files (JavaScript or TypeScript) with other compilation source files in the build. With this change we add validation to fail the build when the files have unsupported extensions.

Closes #11451
2020-11-06 21:16:38 +01:00
Charles Lyding
6703a7f987 fix(@angular-devkit/build-angular): convert file replacements to system paths before use
The file replacement normalization generates internal Path objects which are not compatible with Windows system paths when used externally.
2020-11-05 18:45:52 +01:00
Renovate Bot
2afae0c276 build: update webpack-subresource-integrity to version 1.5.2 2020-11-05 11:15:52 +01:00
Renovate Bot
6640a6760d build: update css-loader to version 5.0.1 2020-11-05 08:41:40 +01:00
Renovate Bot
bb1639edda build: update copy-webpack-plugin to version 6.3.0 2020-11-05 08:32:53 +01:00
Renovate Bot
3878a058d7 build: update sass to version 1.29.0 2020-11-05 08:31:45 +01:00
Charles Lyding
8874ef430a refactor(@angular-devkit/core): add generic type to Promise constructors
This is in preparation to support TypeScript 4.1.  Within TypeScript 4.1 constructed Promises must specify the resolved type.
2020-11-05 08:31:35 +01:00
Charles Lyding
1479b3e8ed test(@angular-devkit/build-angular): improve resilience of lazy module rebuild test
Rebuild tests that involve file watching can be very flaky on CI.  This change adds a debounce time which is also used in the other rebuild tests within the package.
2020-11-05 08:31:12 +01:00
Charles Lyding
4e168b81c5 refactor(@angular-devkit/build-angular): integrate Ivy Webpack compiler plugin
This change integrates the Ivy Webpack compiler plugin into the browser builder.
When Ivy is enabled, which is the default behavior for applications, this plugin will now be used.
If needed, the previous plugin can still be used by enabling the `NG_BUILD_IVY_LEGACY` environment variable.
2020-11-05 08:31:12 +01:00
Alan Agius
32581ef078 refactor(@angular-devkit/core): deprecate json parser
Use 3rd party JSON parsers such as `jsonc-parser` instead.
2020-11-05 08:31:02 +01:00
Alan Agius
51d6c3cb4c fix(@angular-devkit/build-angular): add default value to progress option 2020-11-05 08:30:14 +01:00
Alan Agius
cc300212de Revert "fix(@angular-devkit/build-angular): don't generate vendor.js.map when vendor sourcemaps is disabled"
This reverts commit b17763b03d7ca1ce5d2a85d2d03d0029b6623339.

Closes #19236
2020-11-03 17:43:53 -06:00
Alan Agius
090fdf0ad3 fix(@angular-devkit/build-angular): reduce clutter in dev-server logs
Add new lines to reduce logs clutter.
2020-11-03 17:42:15 -06:00
Alan Agius
66c3f79fc2 fix(@angular-devkit/build-angular): right align size column and add total bundle size 2020-11-03 17:42:01 -06:00