2358 Commits

Author SHA1 Message Date
Renovate Bot
635c61507f build: update typescript to version 4.1.5 2021-02-11 12:34:17 -05:00
Charles Lyding
40dc44b64b refactor(@angular-devkit/build-angular): remove usage of Webpack Stats.ToJsonOutput type
The `Stats.ToJsonOutput` type is not present in the Webpack 5 typings. There was also a large amount of forced typing in the code to successfully compile.
Minimal Webpack JSON stat types are now used that represent the fields used by the tooling.
2021-02-11 12:33:47 -05:00
Charles Lyding
e871f87fa2 refactor(@angular-devkit/build-angular): remove use of Webpack RuleSetLoader type
The `RuleSetLoader` type is not exported from the Webpack 5 types.
2021-02-10 14:08:07 -05:00
Renovate Bot
6306872968 build: update typescript to version 4.1.4 2021-02-10 11:18:01 -05:00
Renovate Bot
328dafca61 build: update sass to version 1.32.7 2021-02-10 10:43:02 -05:00
Alan Agius
9337617723 feat(@angular-devkit/build-angular): add postcss-preset-env with stage 3 features
With this change we add `postcss-preset-env` with stage 3 features. This stage includes support for:

 - all property
 - break properties
 - custom properties
 - font-variant property
 - gap properties
 - media query ranges

See https://preset-env.cssdb.org/features#stage-3
2021-02-09 10:30:42 -05:00
Alan Agius
fb2d7ee903 refactor(@angular-devkit/build-angular): remove experimental rollup pass
The experimental rollup pass has significant issues with the new Ivy webpack plugin. It also, didn't produce as well as we hoped in real world scenarios infact in many cases this caused build to fail.

REAKING CHANGE:

The experimental rollup pass `--experimental-rollup-pass` option has been removed.

Closes #15836
2021-02-09 08:50:00 -05:00
Renovate Bot
7b9415b00c build: update css-loader to version 5.0.2 2021-02-09 08:43:34 -05:00
Alan Agius
088891b16e refactor(@angular-devkit/build-angular): refactor NodeJsAsyncHost to use FS promises 2021-02-08 14:07:24 -05:00
Alan Agius
e79e7dd8d4 refactor(@angular-devkit/core): refactor NodeJsAsyncHost to use FS promises 2021-02-08 14:07:24 -05:00
Alan Agius
aedfcc1862 build: update to @types/node version 12 2021-02-08 14:07:24 -05:00
Charles Lyding
fe90b766df fix(@angular-devkit/build-angular): ensure i18n extraction sourcemaps are fully configured
Some Webpack loaders use loader context flags to control sourcemap generation. This fix ensures that Webpack will set the appropriate flags for loaders to leverage.
2021-02-08 13:01:00 -05:00
Bruno Baia
d64dc76d7e docs: update ESLint migration link 2021-02-08 09:34:25 -05:00
Amadou Sall
1b5971a0bc fix(@angular-devkit/build-angular): the root Tailwind configuration file is always picked
A configuration file in the project root should take precedence over one in the workspace root, but it's not currently the case.
2021-02-08 09:33:59 -05:00
S. Iftekhar Hossain
a7ffce10ee fix(@angular-devkit/build-angular): fixed ignoring of karma plugins config
Previously `karma-coverage` was validated only when in karma plugins config one of these was added
``'karma-coverage'` or `require('karma-coverage')`

This change will allow cli to validate `karma-coverage` plugin if in `karma.conf.js` `'karma-*'` is used. Example:
```
plugins: [
      ...
      'karma-*',
      require('@angular-devkit/build-angular/plugins/karma'),
      ...
    ]
```

Fixes #19993
2021-02-08 09:30:00 -05:00
Charles Lyding
d1f616930d build: set minimum Node.js version to 12.13
This change provides an improved performance baseline as well as access to newer Node.js APIs and Javascript language features which the Angular CLI will now be able to leverage.

BREAKING CHANGE:
Node.js version 10 will become EOL on 2021-04-30.
Angular CLI 12 will require Node.js 12.13+ or 14.15+. Node.js 12.13 and 14.15 are the first LTS releases for their respective majors.
2021-02-08 09:23:46 -05:00
Renovate Bot
fa7eea9dc5 build: update postcss to version 8.2.5 2021-02-08 09:22:48 -05:00
Renovate Bot
ceb5c72de4 build: update mini-css-extract-plugin to version 1.3.6 2021-02-08 09:22:32 -05:00
Renovate Bot
bf2d5e2d7f build: update rollup to version 2.38.5 2021-02-05 10:43:01 -05:00
Renovate Bot
36fc43aec5 build: update babel packages 2021-02-05 07:08:20 -05:00
Charles Lyding
ab5078d660 fix(@angular-devkit/build-angular): increase resilience of babel cache identifier
This provides a default cache identifer to the babel loader that includes all internal options from the customized babel loader.
2021-02-04 19:44:07 +01:00
Alan Agius
9030c9ee16 fix(@angular-devkit/build-angular): remove 0.0.0 version from supported Angular semver versions error message 2021-02-04 18:58:42 +01:00
Charles Lyding
c51126fc19 test(@angular-devkit/build-angular): add async downlevel source map unit test 2021-02-04 18:26:56 +01:00
Charles Lyding
a986d8ab63 test(@angular-devkit/build-angular): ensure jobs are complete before checking logs 2021-02-04 08:43:15 +01:00
Charles Lyding
5ba886cbb5 refactor(@angular-devkit/core): convert json schema registry to use async/await 2021-02-04 08:43:15 +01:00
Charles Lyding
93c858237f test(@angular-devkit/architect): allow asynchronous jobs to start execution before expect 2021-02-04 08:43:15 +01:00
Charles Lyding
5fc18efa6f test(@angular-devkit/core): allow asynchronous jobs to start execution before expect 2021-02-04 08:43:15 +01:00
Charles Lyding
3bb3c6cd51 fix(@angular-devkit/core): ensure job input values are processed in order
If schema validation happens to be asynchronous then the switchMap could cause loss of input values.
2021-02-04 08:43:15 +01:00
Alan Agius
6732294ff3 refactor(@angular-devkit/build-angular): remove file-loader dependency
`file-loader` resolves `import/require()` on a file into a url. This is non standard, undocumented, unsupported Webpack specific functionality. This was introduced in the Angular CLI  before `postcss-cli-resources` existed and was never removed.

Using `file-loader` and `postcss-cli-resources` are no longer needed with Webpack 5, because of the introduction of [Assets Modules](https://webpack.js.org/guides/asset-modules/).

BREAKING CHANGE:

The unsupported/undocumented, Webpack specific functionality to `import`/`require()` a non-module file has been removed.

Before
```js
import img from './images/asset.png';
```

After
```html
<img src="images/asset.png">
```
2021-02-04 08:42:57 +01:00
Charles Lyding
8300d53f79 fix(@angular-devkit/build-angular): update Angular peer dependencies to 11.2 prerelease 2021-02-03 20:44:47 +01:00
Alan Agius
d2ce3e7d62 fix(@ngtools/webpack): don't use skipTemplateCodegen to determine if compilation is JIT mode
With this change we add a new `jitMode` option to the ivy AngularWebpackPlugin.
`readConfiguration` from `@angular/compiler-cli` will use file configuration options over programmaticly supplied options. By using a separate option the options precedence issue can be avoided.

Closes #19949
2021-02-03 20:44:07 +01:00
Alan Agius
04ff164e08 test(@angular-devkit/build-angular): cleanup budgets E2E test 2021-02-03 18:14:26 +01:00
Alan Agius
238438e26f refactor(@angular-devkit/build-angular): remove BundleBudgetPlugin
Remove BundleBudgetPlugin, and instead use the `checkBudgets` method directly in the browser buillder.
2021-02-03 18:14:26 +01:00
Charles Lyding
73b409881f feat(@angular-devkit/build-angular): detect and use tailwindcss in projects
This feature adds detection of the `tailwindcss` package (https://tailwindcss.com) and provides a mechanism to automatically include support. To enable tailwindcss for a project, two actions must be taken:
1) Install `tailwindcss` into the Angular workspace (`npm install -D tailwindcss`/`yarn add -D tailwindcss`)
2) Create a tailwindcss configuration file (`tailwind.config.js`) in either the workspace root or the project root.  A configuration file in the project root takes precedence over one in the workspace root.

When both conditions are met, the Angular CLI will initialize and integrate tailwindcss into the stylesheet build pipeline.
2021-02-03 09:57:06 +01:00
Alan Agius
21a05d2ea0 fix(@angular-devkit/build-angular): error with status code when response code is not 200
During font inlining, a request can return a response status code other than 200. In which case, the contents of the page should not be inlined.
2021-02-02 16:54:53 +01:00
Alan Agius
e1efc35e41 fix(@ngtools/webpack): recover from component stylesheet errors
Webpack doesn't handle well expections and promise rejections. With this change we use the compilation errors.

Closes #19892
2021-02-02 16:54:34 +01:00
Alan Agius
2cf374a0fc refactor(@angular-devkit/build-angular): remove unused findUp method 2021-02-02 15:21:39 +01:00
Alan Agius
52d14d7261 refactor(@angular-devkit/build-angular): remove config barrel file export 2021-02-02 15:21:39 +01:00
Renovate Bot
6dfd7272ed build: update sass to version 1.32.6 2021-02-02 10:50:28 +01:00
Renovate Bot
2de17b5ce7 build: update rollup to version 2.38.4 2021-02-02 10:50:16 +01:00
Alan Agius
a5bf224527 refactor(@angular-devkit/build-angular): use ES6 imports instead of require
Main benefit is to use type definitions.
2021-02-02 07:46:32 +01:00
Alan Agius
7169c74422 ci: update to build_bazel_rules_nodejs version 3
More info: https://github.com/bazelbuild/rules_nodejs/wiki#migrating-to-30
2021-02-02 07:45:29 +01:00
Renovate Bot
7513170459 build: update open to version 7.4.0 2021-02-01 15:11:29 +01:00
Renovate Bot
e262c1bae6 build: update rollup to version 2.38.3 2021-02-01 10:31:03 +01:00
Charles Lyding
495459a8a3 fix(@angular-devkit/schematics): merge external schematics after execution
When an `externalSchematic` rule was used, the input tree was branched but never merged back into the input tree.  This resulted in a different tree instance being returned from the rule.  The `externalSchematic` rule now behaves like the `schematic` rule which merges the trees.
2021-02-01 10:30:15 +01:00
Charles Lyding
8688de462e fix(@angular-devkit/schematics): check merge ancestry of delegate & scoped trees
This change ensures correct merge behavior when a `HostTree` is wrapped in a `ScopedTree` or `DelegateTree`.  Previously the ancestry of the HostTree was not available to the merge.
2021-02-01 10:30:15 +01:00
Renovate Bot
aae0083b77 build: update less to version 4.1.1 2021-01-31 10:40:39 +01:00
Renovate Bot
8d5fcd42b4 build: update autoprefixer to version 10.2.4 2021-01-30 08:55:10 +01:00
Alan Agius
9d973d63f7 test(@angular-devkit/build-angular) use port 0 to fix flakey test 2021-01-29 23:47:17 +01:00
Renovate Bot
307362a8a7 build: update rollup to version 2.38.1 2021-01-29 12:34:12 +01:00