1660 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
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
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
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
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
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
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
Alan Agius
814ea664d6 fix(@angular-devkit/build-angular): show bundle sizes with 2 decimal places
Before
```
Initial Chunk Files | Names     | Size
vendor.js           | vendor    | 2.07 MB
polyfills.js        | polyfills | 141.3 kb
main.js             | main      | 55.77 kb
runtime.js          | runtime   | 6.15 kb
styles.css          | styles    | 119 bytes
```

After
```
Initial Chunk Files | Names     | Size
vendor.js           | vendor    | 2.07 MB
polyfills.js        | polyfills | 141.30 kb
main.js             | main      | 55.77 kb
runtime.js          | runtime   | 6.15 kb
styles.css          | styles    | 119 bytes
```
2020-11-03 17:42:01 -06:00
Alan Agius
40c25a1e4f fix(@angular-devkit/build-angular): sort bundle stats by size
Before
```
Initial Chunk Files | Names     | Size
runtime.js          | runtime   | 6.15 kB
main.js             | main      | 56.9 kB
vendor.js           | vendor    | 2.4 MB
polyfills.js        | polyfills | 141 kB
styles.css          | styles    | 119 bytes
```

After
```
vendor.js           | vendor    | 2.07 MB
polyfills.js        | polyfills | 141 kB
main.js             | main      | 55.8 kB
runtime.js          | runtime   | 6.15 kB
styles.css          | styles    | 119 bytes
```
2020-11-03 17:42:01 -06:00
Renovate Bot
a3165dfb85 build: update jest-worker to version 26.6.2 2020-11-03 17:40:16 -06:00
Charles Lyding
c569cd0be8 refactor(@angular-devkit/build-angular): use custom babel preset to configure babel-loader
A custom babel preset is introduced to centralize the configuration of babel within the package.  Application related presets and plugins are now encapsulated within the custom preset which is used via the Webpack babel-loader.  This new custom preset will also provide the integration point for the upcoming Angular linker.
2020-11-03 17:37:59 -06:00
Renovate Bot
c08cc8d4f8 build: update rollup to version 2.33.1 2020-11-02 13:46:47 -06:00
Alan Agius
e0875de786 fix(@angular-devkit/build-angular): remove title attribute from inlined fonts style tag
title is not a valid style tag attribute.

Closes #19271
2020-11-02 13:45:29 -06:00