684 Commits

Author SHA1 Message Date
Renovate Bot
251b53672e build: update angular packages 2020-11-12 17:13:22 -05:00
Renovate Bot
d024cea655 build: update webpack-sources to version 2.2.0 2020-11-12 15:25:28 -05:00
Charles Lyding
d7ba0cf96a fix(@ngtools/webpack): normalize file replacement paths
To ensure file replacements match properly, the paths now have their directory separators normalized before comparing.
2020-11-05 18:45:52 +01:00
Renovate Bot
0eea870d7a build: update angular packages 2020-11-05 08:31:58 +01:00
Charles Lyding
d4c74945a1 refactor(@ngtools/webpack): allow paths plugin to update compiler options
This change allows the compiler options used by the TypeScript paths plugin to be updated if the TypeScript configuration file is changed during a rebuild.
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
Charles Lyding
71a0e11fc1 refactor(@ngtools/webpack): introduce Ivy Webpack compiler plugin/loader
This change introduces a new Ivy Webpack compiler plugin. The plugin leverages the Ivy APIs from the @angular/compiler-cli package. The plugin also simplifies and reduces the amount of code within the plugin by leveraging newer TypeScript features and capabilities. The need for the virtual filesystem has also been removed. The file replacements capability was the primary driver for the previous need for the virtual filesystem. File replacements are now implemented using a two-pronged approach. The first, for TypeScript, is to hook TypeScript module resolution and adjust the resolved modules based on the configured file replacements. This is similar in behavior to TypeScript path mapping. The second, for Webpack, is the use of the NormalModuleReplacementPlugin to facilitate bundling of the configured file replacements. An advantage to this approach is that the build system (both TypeScript and Webpack) are now aware of the replacements and can operate without augmenting multiple aspects of system as was needed previously.
The plugin also introduces the use of TypeScript’s builder programs. The current primary benefit is more accurate and simplified dependency discovery. Further, they also provide for the introduction of incremental build support and incremental type checking.
2020-11-05 08:31:12 +01:00
Renovate Bot
dfc21121b9 build: update angular packages 2020-11-03 17:41:48 -06:00
Alan Agius
f52fd29165 fix(@ngtools/webpack): show zone.js incompatibility warning when using ES2017+
Closes: #19226
2020-11-02 13:36:04 -06:00
Alan Agius
8e11ad9aa4 fix(@ngtools/webpack): elide type-only imports when using emitDecoratorMetadata
Closes #19234
2020-10-28 10:32:07 -04:00
Renovate Bot
74783b919b build: update typescript to version 4.0.5 2020-10-27 09:52:42 -04:00
Renovate Bot
cda94e9cfa build: update enhanced-resolve to version 5.3.1 2020-10-26 13:30:15 -04:00
Renovate Bot
27234ef752 build: update angular packages 2020-10-22 09:02:56 +02:00
Renovate Bot
0dc18757fe build: update enhanced-resolve to version 5.3.0 2020-10-21 09:06:45 +02:00
Alan Agius
b218dab818 refactor(@ngtools/webpack): remove support for TypeScript 3.9
BREAKING CHANGE:

TypeScript 3.9 is no longer supported, please upgrade to TypeScript 4.0.
2020-10-20 08:52:27 +02:00
Charles Lyding
4887f595d2 fix(@ngtools/webpack): improve bad component resource error message
The error message for when a TypeScript or JavaScript file is incorrectly used as a style or template within a component will now also provide the name of the file being incorrectly used.
2020-10-15 19:29:51 +02:00
Charles Lyding
31875e9d79 fix(@ngtools/webpack): support jit mode guarded class metadata removal
This adds support for the alternate emit form of `ɵsetClassMetadata` that is guarded by `ngJitMode` instead of a pure annotation.
2020-10-15 13:53:25 +02:00
Renovate Bot
9980f8139c build: update angular packages 2020-10-15 08:29:56 +02:00
Charles Lyding
4eca4aba63 fix(@ngtools/webpack): properly merge webpack 5 resolver options
Webpack 5 requires the use of its `cleverMerge` utility to update resolver options.
2020-10-14 10:11:02 -04:00
Charles Lyding
2fa17219d1 fix(@ngtools/webpack): correctly create Webpack5 file watcher 2020-10-14 10:11:02 -04:00
Renovate Bot
ac946fbf7c build: update angular packages 2020-10-12 10:58:58 -04:00
Renovate Bot
43db3f1d87 build: update angular packages 2020-10-01 08:45:32 -04:00
Alan Agius
e96fbd3c8a refactor(@angular-devkit/build-angular): change errors and warnings messages
Sometimes the WARNING IN/ERROR IN can lead of ambiguous messages

 - Use `Warning` instead of `WARNING IN`
-  Use `Error` instead of `Error In`
2020-09-30 16:17:05 +02:00
Renovate Bot
5923f06f67 build: update enhanced-resolve to version 5.2.0 2020-09-30 10:39:35 +02:00
Renovate Bot
26fa75451d build: update enhanced-resolve to version 5.1.0 2020-09-29 08:46:11 +02:00
Renovate Bot
aaa7c82cfb build: update webpack-sources to version 2.0.1 2020-09-28 19:38:42 +02:00
Renovate Bot
741b7313e9 build: update angular packages 2020-09-24 13:25:05 +02:00
Renovate Bot
f6538bd5a6 build: update typescript to version 4.0.3 2020-09-22 10:28:42 -05:00
Renovate Bot
fce0e469e1 build: update angular packages 2020-09-21 11:55:45 -05:00
Charles Lyding
3740d80976 refactor(@ngtools/webpack): adjust virtual file watching for Webpack 5
The Webpack 5 filesystem watch function has a different return object type than Webpack 4. This change adjusts the behavior based on the used Webpack version.
2020-09-21 11:55:11 -05:00
Renovate Bot
9fbac38bde build: update enhanced-resolve to version 5.0.0 2020-09-18 14:55:19 -05:00
Renovate Bot
4781b9245e build: update webpack to version 4.44.2 2020-09-18 14:55:08 -05:00
Charles Lyding
7db6ee7d65 refactor(@ngtools/webpack): add webpack diagnostic helpers 2020-09-16 07:10:54 -04:00
Renovate Bot
74a98fa1ff build: update angular packages 2020-09-11 14:31:07 -04:00
Alan Agius
179b6caf58 fix(@ngtools/webpack): emit require in replace resources when using CommonJS as module
When using CommonJs as module format TypeScript will generate unreferenced `require` when using `ts.createImportDeclaration`.

```js
const external_component_html_1 = require("!raw-loader!./external.component.html");
const core_1 = require("@angular/core");
let ExampleComponent = class ExampleComponent {
};
ExampleComponent = __decorate([
    core_1.Component({
        selector: 'example-compoent',
        template: __NG_CLI_RESOURCE__0,
    })
], ExampleComponent);
```

More context: https://github.com/microsoft/TypeScript/issues/18369#issuecomment-329852888

Closes #18718
2020-09-08 20:55:23 +02:00
Charles Lyding
416c895f1b fix(@ngtools/webpack): update Angular peer dependencies to 11.0 prerelease 2020-09-03 23:28:42 +02:00
Charles Lyding
837edabaa9 build: update development versions of Angular to 11.0.0-next.0 2020-09-03 23:28:42 +02:00
Renovate Bot
4191912b86 build: update angular packages 2020-09-03 19:10:21 +02:00
Charles Lyding
d30144abc7 refactor(@ngtools/webpack): adjust types for Webpack 5 support 2020-09-03 00:20:54 +03:00
Charles Lyding
c576b113d9 build: update development versions of Angular to 10.1.0-rc.0 2020-08-26 18:46:14 -04:00
Alan Agius
425b160b52 build: update to TypeScript 4 2020-08-25 04:27:40 -04:00
Renovate Bot
28a20f5abf build: update angular packages 2020-08-25 03:46:54 -04:00
Renovate Bot
ba1aa086f8 build: update angular packages 2020-08-21 13:27:50 -04:00
Charles Lyding
d447f4b985 refactor(@ngtools/webpack): remove direct rxjs dependency 2020-08-19 16:00:33 +02:00
Alan Agius
d1adba1347 build: update build_bazel_rules_nodejs to 2.0.2 2020-08-19 16:00:07 +02:00
Renovate Bot
916e40fb13 build: update angular packages 2020-08-18 08:43:03 +02:00
Alan Agius
7e61677d0b refactor(@ngtools/webpack): use ES modules imports instead of require for resources
With this change we update the replace_resources transformer for styles and templates to use ES6 module import syntax instead of the CommonJs require syntax.
2020-08-17 19:17:46 +02:00
Alan Agius
0e49f12274 refactor(@schematics/angular): remove unused util and imports 2020-08-15 15:36:20 +02:00
Renovate Bot
30804fe16f build: update angular packages 2020-08-13 16:57:04 +02:00
Charles Lyding
5c4eec9e36 refactor(@ngtools/webpack): reduce Webpack dependence in ngcc processor 2020-08-12 19:27:00 +01:00