962 Commits

Author SHA1 Message Date
Alan Agius
e02d737cb8 fix(@angular-devkit/build-angular): handle promise rejection in IndexHtmlWebpackPlugin
Webpack doesn't handle promise rejections properly. With this change use use a try/catch block and add the error to the compilation.

Closes #19893
2021-01-28 20:32:39 +01:00
Alan Agius
60b2cb7f10 fix(@angular-devkit/build-angular): add fallback for non defined stats options
A fallback value for stats options when an option is not defined. It has precedence over local webpack defaults.
2021-01-28 20:32:17 +01:00
Matt Lewis
42e439f6fd fix(@angular-devkit/build-angular): fix budgets for any script with differential loading enabled
Fixes #19849
2021-01-28 11:02:07 +01:00
Alan Agius
54f44bc49a test(@angular-devkit/build-angular): move output-hashing test to new test harness 2021-01-28 09:35:31 +01:00
Alan Agius
a86ea3f154 fix(@angular-devkit/build-angular): allow emitting multiple files with the same filename
Previously when hashing of media was disabled, if 2 files had the same name. Only one files used to be emitted. With this change we change the behaviour so that both files are emitted.

Closes #12186
2021-01-28 09:35:31 +01:00
Alan Agius
36a28e5226 fix(@angular-devkit/build-angular): styles that are not injected do count for initial bundle size
Closes #17672
2021-01-28 09:35:12 +01:00
Charles Lyding
e2e8d57b38 feat(@angular-devkit/build-angular): support targeting ES2017 with Zone.js
This change causes native async functions to be downleveled when an application targets ES2017 within its TypeScript configuration.  Any source file that contains the async keyword will be processed including libraries.  Since Zone.js does not support native async, this processing allows Zone.js to function with an ES2017 target.
2021-01-26 09:26:23 -06:00
Alan Agius
9af0942e69 fix(@angular-devkit/build-angular): inlining fonts behind proxy
With this change users can now their proxy server via the `HTTPS_PROXY` environment variable. The specified proxy will be used when making requests to inline fonts.

Closes #19401
2021-01-25 09:17:03 -06:00
Alan Agius
d0cc0cbda3 fix(@angular-devkit/build-angular): correctly handle scripts when using subresource-integrity option
Fixes #19829
2021-01-25 09:16:32 -06:00
Alan Agius
3db8c6e464 test(@angular-devkit/build-angular): change sri tests to use new test harness 2021-01-25 09:16:32 -06:00
Alan Agius
cc51432661 fix(@angular-devkit/build-angular): resolve less from build-angular package 2021-01-22 10:36:20 -08:00
Alan Agius
5711e691b9 fix(@angular-devkit/build-angular): resolve postcss from build-angular package
`postcss-loader` version 4.2.0 added an `implementation` option. Using the using will ensure that the correct postcss version is used.

More info: deac9787ee

Fixes #19839
2021-01-22 10:36:20 -08:00
Alan Agius
64aa5703fa docs(@angular-devkit/build-angular): update vendorChunk and commonChunk descriptions 2021-01-20 10:30:28 -05:00
Charles Lyding
6b2a8e175e refactor(@angular-devkit/build-angular): remove virtualfs host usage from browser/dev-server
The virtualfs Host was only used for exist and directory checks during asset and file replacement option normalization within the browser and dev-server builders.
2021-01-20 10:27:43 -05:00
Charles Lyding
7b106dd963 refactor(@angular-devkit/build-angular): remove unneeded no-implicit-dependencies tslint comments 2021-01-19 15:06:29 -05:00
cexbrayat
748c1f8445 fix(@angular-devkit/build-angular): resolve i18n outFile with normalized format
IF someone uses the `extract-i18n` with the deprecated `--i18n-format` option,
then `options.format` is undefined and the `outFile` defaults to `messages.xlf`,
whereas the content will be using the proper format.
2021-01-15 13:32:13 -05:00
Alan Agius
e368b2f141 refactor(@angular-devkit/build-angular): move karma plugin in own folder 2021-01-15 13:31:48 -05:00
Charles Lyding
2ce5445ed3 feat(@angular-devkit/build-angular): support karma version 6.x
This change adds support for using karma 6.x within a project.
2021-01-13 23:12:55 +01:00
Alan Agius
37d8e25af8 fix(@angular-devkit/build-angular): generate consistent filenames
With this change we generate consistent file names when using the browser builder in watch mode with differential loading.

Closes #15157
2021-01-12 17:06:17 +01:00
Charles Lyding
a78eaad91a test(@angular-devkit/build-angular): add browser builder scripts longhand option tests
This change adds expanded unit tests for the browser builder's `scripts` longhand option using the builder test harness.
2021-01-12 09:34:49 +01:00
Charles Lyding
76b023e55e feat(@angular-devkit/build-angular): update IE11 Object/Array polyfills
This change adds the following polyfills for IE11 (`nomodule` browsers):
ES2016:
Array.prototype.includes
ES2017:
Object.entries
Object.values
Object.getOwnPropertyDescriptors
ES2019:
Object.fromEntries
Array.prototype.flat
Array.prototype.flatMap
2021-01-12 09:30:23 +01:00
Alan Agius
a266f55b6c test(@angular-devkit/build-angular): change extractLicenses unit test to use build harness
This change adds a unit tests for the browser builder's extractLicenses option using the builder test harness.
2021-01-11 19:57:01 +01:00
Alan Agius
df897f0e41 docs: update Ivy NGCC link 2021-01-11 19:16:23 +01:00
Alan Agius
3e6a10219b test(@angular-devkit/build-angular): change allowedCommonJsDependencies unit test to use build harness
This change adds a unit tests for the browser builder's allowedCommonJsDependencies option using the builder test harness.
2021-01-11 19:15:57 +01:00
Alan Agius
5e2e392241 test(@angular-devkit/build-angular): add appendToFile helper to build harness 2021-01-11 19:15:57 +01:00
Charles Lyding
4f352ea204 refactor(@angular-devkit/build-angular): use script target in custom babel loader
This change uses the project's TypeScript configuration script target to determine the required Babel processing.
2021-01-11 08:22:10 +01:00
wenqi73
ab72f8dab0 feat(@angular-devkit/build-angular): support extracting and merging with arb format 2021-01-08 20:45:08 +01:00
wenqi73
dc9766738d feat(@angular-devkit/build-angular): support extracting with json file 2021-01-08 20:45:08 +01:00
Charles Lyding
35d8adf020 feat(@angular-devkit/build-angular): integrate Angular compiler linker
The newly introduced library linker mode that removes the need for ngcc is integrated into the Angular CLI's build system.  This allows libraries that are built in linker mode to be used when building an application.
2021-01-08 15:45:45 +01:00
Alan Agius
73973ae6a0 Revert "docs: add default value for karma watch option"
This reverts commit a3b676f623cb7ca7825c2991ebc1135e52cfa1a9.
2021-01-07 18:53:04 +01:00
Alan Agius
1df8a3d09d fix(@angular-devkit/build-angular): correctly resolve symlinked global styles entrypoints
With this change we resolve the global stylesheet entrypoint path to use the realpath instead of the symlink path.

Fixes #3500
2021-01-06 12:01:45 +00:00
Charles Lyding
683b0c0f38 test(@angular-devkit/build-angular): add browser builder styles option tests
This change adds expanded unit tests for the browser builder's `styles` option using the builder test harness.
2021-01-06 11:55:51 +00:00
Charles Lyding
ca5f076534 test(@angular-devkit/build-angular): add browser builder statsJson option tests
This change adds expanded unit tests for the browser builder's `statsJson` option using the builder test harness.
2021-01-06 11:51:48 +00:00
Alan Agius
cfb368408b fix(@angular-devkit/build-angular): don't downlevel web-animations-js
This library is minified and it causes Babel to consume a lot of resources when trying to downlevel.

Closes #19660
2021-01-05 11:29:34 +00:00
Charles Lyding
3aa8bb1b3f test(@angular-devkit/build-angular): add initial browser builder watch option tests 2021-01-05 11:02:57 +00:00
Charles Lyding
bec3bec3b2 test(@angular-devkit/build-angular): integrate custom file watching into harness
This change integrates the recently introduced internal custom file watching support into the builder test harness.  This allows the test harness to directly trigger file changes and allows more comprehensive test isolation for builder watch scenarios.
2021-01-05 11:02:57 +00:00
Charles Lyding
11bbe7c45f refactor(@angular-devkit/build-angular): add internal custom file watcher support
This change adds internal support for providing a custom file watching mechanism to the browser (and associated) builders.  The support integrates and overrides the Webpack watch system when enabled.  This is currently intended to support builder unit testing use cases.
2021-01-05 11:02:57 +00:00
Charles Lyding
1194b9bced test(@angular-devkit/build-angular): add browser builder scripts shorthand option tests
This change adds expanded unit tests for the browser builder's `scripts` shorthand option using the builder test harness.
2021-01-05 11:02:30 +00:00
Charles Lyding
f4dfc0b954 test(@angular-devkit/build-angular): simplify usage of content/size Jasmine helpers
This change removes the need to perform an existence check prior to expecting a file's content or size in harness based builder tests.
2021-01-05 11:02:30 +00:00
Charles Lyding
97aa1fb7cc test(@angular-devkit/build-angular): add browser builder assets option tests
This change adds expanded unit tests for the browser builder's `assets` option using the builder test harness.
2021-01-04 11:52:57 +01:00
Charles Lyding
a5c93408c6 test(@angular-devkit/build-angular): add browser builder tsConfig option tests
This change adds expanded unit tests for the browser builder's `tsConfig` option using the builder test harness.
2021-01-04 11:37:39 +01:00
Charles Lyding
f4998f35a2 test(@angular-devkit/build-angular): add browser builder polyfills option tests
This change adds expanded unit tests for the browser builder's `polyfills` option using the builder test harness.
2021-01-04 11:36:38 +01:00
Alan Agius
7cd06b7f23 docs: update optimization and sourceMap descriptions with new links
https://next.angular.io/guide/workspace-config#source-map-configuration
https://next.angular.io/guide/workspace-config#optimization-configuration
2020-12-23 08:25:53 +01:00
Alan Agius
a3b676f623 docs: add default value for karma watch option 2020-12-23 08:25:19 +01:00
Charles Lyding
faf7b26ef9 test(@angular-devkit/build-angular): add browser builder option test for main 2020-12-18 10:37:26 +01:00
Charles Lyding
bfd91096be test(@angular-devkit/build-angular): add harness file jasmine helpers
This change adds an `expectFile` jasmine helper function that reduces the amount of code necessary to check a file's existence, size, or content.  Additional contextual information is also displayed when an expectation fails.
2020-12-18 10:37:26 +01:00
Charles Lyding
97bfd46b67 test(@angular-devkit/build-angular): use harness for browser builder works test
This converts the 'works' spec to use the new builder harness for testing. The change also provides for a before/after comparison of an existing test.
2020-12-18 10:37:26 +01:00
Charles Lyding
bcac38331e test(@angular-devkit/build-angular): add builder test harness 2020-12-18 10:37:26 +01:00
Charles Lyding
0e5dab45ef fix(@angular-devkit/build-angular): use URL rewrite in karma fallback middleware
This changes the internal Angular Karma plugin's asset fallback middleware to rewrite the request URL directly instead of trying to copy the request properties.  With changes in newer Node.js versions, not all request properties may be enumerable.

Fixes: #19644
2020-12-18 08:31:59 +01:00
Alan Agius
ba9c755f33 fix(@angular-devkit/build-angular): add console error when using HMR in production mode
FIx: #19591
2020-12-15 12:25:15 +00:00