684 Commits

Author SHA1 Message Date
Charles Lyding
f5959364fc docs(@ngtools/webpack): add Ivy linker setup documentation to readme
When not using the Angular CLI, the Babel-based Ivy linker is also required to successfully build an application. A section describing the setup of the linker in addition to the Angular compiler plugin has now been included with links to the AIO documentation and the babel-loader for additional information.
2021-11-03 20:54:53 -04:00
Alan Agius
5402f99f8a fix(@ngtools/webpack): add cjs and mjs to passthrough files
With this change we add `.mjs` and `.cjs` JS files passthough when `allowedJs` is not enabled.
2021-11-03 08:23:34 +01:00
Renovate Bot
5b186c15b7 build: update all non-major dependencies 2021-11-02 16:58:48 +01:00
Renovate Bot
082b08f4f4 build: update angular 2021-11-02 08:08:24 +01:00
Renovate Bot
9907f74b9c build: update angular 2021-10-28 10:51:28 +02:00
Renovate Bot
6bf379726c build: update all non-major dependencies 2021-10-27 04:44:14 -05:00
Renovate Bot
0ccc8d3ec7 build: update angular 2021-10-21 05:42:48 -05:00
Renovate Bot
8298afed72 build: update all non-major dependencies 2021-10-21 03:25:33 -05:00
Renovate Bot
167706a5d7 build: update all non-major dependencies 2021-10-14 12:55:20 -04:00
Renovate Bot
c8d4a2e7c0 build: update angular 2021-10-13 16:27:37 -07:00
Renovate Bot
c5936a7836 build: update dependency typescript to v4.4.4 2021-10-13 10:55:22 +02:00
Renovate Bot
32e644518b build: update all non-major dependencies 2021-10-11 10:22:59 +02:00
Renovate Bot
8325477768 build: update angular 2021-10-08 10:56:36 +02:00
Renovate Bot
7c2119e48a build: update all non-major dependencies 2021-10-08 10:32:47 +02:00
Renovate Bot
c44f122973 build: update angular 2021-10-07 11:41:42 +02:00
Charles Lyding
5a958884f6 build: update angular 2021-10-06 19:10:24 -04:00
Renovate Bot
0f6935f51a build: update angular 2021-10-06 06:12:52 -05:00
Renovate Bot
a5dadc5f71 build: update all non-major dependencies 2021-10-06 06:12:13 -05:00
Renovate Bot
4517ba016f build: update angular 2021-10-05 11:38:20 -04:00
Renovate Bot
1aad76f25f build: update angular 2021-10-01 10:35:24 -07:00
Renovate Bot
1a8d0d0af5 build: update all non-major dependencies 2021-09-29 15:36:38 -04:00
Alan Agius
4f25934839 build: update angular packages to version 13 2021-09-28 09:35:19 -04:00
Alan Agius
9c924a4c24 build: update to TypeScript 4.4 2021-09-28 09:35:19 -04:00
Renovate Bot
d2e302cc42 build: update all non-major dependencies 2021-09-27 06:46:21 -04:00
Renovate Bot
d48a9b55d8 build: update angular 2021-09-23 06:58:27 -04:00
Charles Lyding
7d98ab3df9 refactor(@ngtools/webpack): support an ESM-only @angular/compiler-cli package
With the Angular CLI currently being a CommonJS package, this change uses a dynamic import to load @angular/compiler-cli which may be ESM. CommonJS code can load ESM code via a dynamic import. Unfortunately, TypeScript will currently, unconditionally downlevel dynamic import into a require call. require calls cannot load ESM code and will result in a runtime error. To workaround this, a Function constructor is used to prevent TypeScript from changing the dynamic import. Once TypeScript provides support for keeping the dynamic import this workaround can be dropped and replaced with a standard dynamic import.
Type only static import statements for `@angular/compiler-cli` are also now used since the `@angular/compiler-cli` is used as a peer dependency and has the potential to not be present. As a result static imports should only be used for types and value imports should be dynamic so that they can be guarded in the event of package absence.

BREAKING CHANGE:
Applications directly using the `webpack-cli` and not the Angular CLI to build must set the environment variable `DISABLE_V8_COMPILE_CACHE=1`. The `@ngtools/webpack` package now uses dynamic imports to provide support for the ESM `@angular/compiler-cli` package. The `v8-compile-cache` package used by the `webpack-cli` does not currently support dynamic import expressions and will cause builds to fail if the environment variable is not specified. Applications using the Angular CLI are not affected by this limitation.
2021-09-22 08:06:59 +02:00
Charles Lyding
c5e3a8b303 refactor(@ngtools/webpack): remove deep import into @angular/compiler-cli
A deep import was previously used to access the `NgtscProgram` class. However, this class is now accessible as a standard import from the main module.
2021-09-20 10:31:59 +02:00
Renovate Bot
ed376fe02e build: update all non-major dependencies 2021-09-17 19:57:23 +02:00
Renovate Bot
af5069da58 build: update angular 2021-09-17 19:56:46 +02:00
Renovate Bot
f67f2ff38f build: update angular 2021-09-15 10:24:33 +01:00
Renovate Bot
3f31a6757f build: update all non-major dependencies 2021-09-14 09:05:32 +01:00
Renovate Bot
40ebaa035e build: update all non-major dependencies 2021-09-04 10:27:31 +02:00
Renovate Bot
7550ecbaf6 build: update all non-major dependencies 2021-09-02 18:25:48 +02:00
Alan Agius
8ce8e4edc5 refactor(@ngtools/webpack): remove deprecated inlineStyleMimeType option
BREAKING CHANGE: Deprecated `inlineStyleMimeType` option has been removed from `AngularWebpackPluginOptions`. Use `inlineStyleFileExtension` instead.
2021-08-27 16:56:34 +02:00
Renovate Bot
6fa263e171 build: update angular 2021-08-27 09:20:11 +02:00
Charles Lyding
a7de97e485 build: add Bazel ts_library rule package_name properties to all packages
rules_nodejs 4 requires that a package_name property be specified within a ts_library rule for the output to be linked into the package repository. Failing to add the property can cause test failures due to unresolved packages.
2021-08-26 07:30:44 +02:00
Charles Lyding
51f89d633f test: enable no-useless-escape lint rule
The `no-useless-escape` eslint rule has now been enabled which removes unneeded characters and complexity from string literals and regular expressions. All files that were in violation of this rule have also been corrected.
2021-08-24 10:51:14 +01:00
Charles Lyding
7928b18edf perf(@ngtools/webpack): reduce repeat path mapping analysis during resolution
The internal TypeScript path mapping Webpack resolver plugin is used to adjust module resolution during builds via the TypeScript configuration `paths` option. Prior to a build, the `paths` option is now preprocessed to limit the amount of analysis that is needed within each individual module resolution attempt during a build. Since module resolution attempts can occur frequently during a build, this change offers the potential to reduce the total cost of module resolution especially for applications with a large amount of configured path mappings.
2021-08-23 11:06:21 +01:00
Renovate Bot
a6f8d33637 build: update all non-major dependencies 2021-08-20 10:05:13 +01:00
Renovate Bot
901c5aea4f build: update angular 2021-08-18 16:36:28 -04:00
Renovate Bot
54ac608305 build: update angular 2021-08-12 06:44:01 -04:00
Renovate Bot
b0dfd90d2c build: update all non-major dependencies 2021-08-11 09:16:13 +02:00
Renovate Bot
7098d652f9 build: update all non-major dependencies 2021-08-09 11:29:36 +02:00
Charles Lyding
d2a97f9193 fix(@ngtools/webpack): update Angular peer dependencies to v13.0 prerelease 2021-08-06 08:12:06 +02:00
Renovate Bot
018a3aa748 build: update angular 2021-08-05 06:49:43 +02:00
Renovate Bot
5a46ff3fbc build: update all non-major dependencies 2021-08-02 17:02:31 +01:00
Renovate Bot
edaa4c007a build: update all non-major dependencies 2021-07-30 12:39:46 +01:00
Renovate Bot
1d2095c6ed build: update angular 2021-07-28 13:11:40 -07:00
Renovate Bot
7e3a6227c1 build: update dependency webpack to v5.47.0 2021-07-28 11:27:39 -04:00
Charles Lyding
4f9df9f4a4 refactor(@ngtools/webpack): remove usage of enhanced-resolve dependency
The types used from the `enhanced-resolve` package are available from the `webpack` package and the `getInnerRequest` helper function used in the TypeScript paths resolver plugin is not actually needed.  Webpack's `AliasPlugin` which has similar behavior also does not use the `getInnerRequest` helper function.
2021-07-27 06:35:13 -04:00