1445 Commits

Author SHA1 Message Date
Alan Agius
3c2da34972 fix(@angular-devkit/build-angular): only show cannot restore inputs/options when old length is > 0 2020-10-14 21:57:47 +03:00
Alan Agius
49841f84c5 fix(@angular-devkit/build-angular): include HMR accept code in main.ts
This fixes as issue where in some cases the changed module is not accepted which cases the dev-server to fallback to live-reload.

This is because the hmr.js and main.ts have different module ids.
2020-10-14 21:57:47 +03:00
Alan Agius
871dd6a434 feat(@angular-devkit/build-angular): enable font inlining optimizations
With this change we inline Google fonts and icons in the index html file when optimization is enabled.

**Before**
```html
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
```
**After**
```html
<style>
  @font-face {
    font-family: 'Material Icons';
    font-style: normal;
    font-weight: 400;
    src: url(https://fonts.gstatic.com/s/materialicons/v55/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2) format('woff2');
  }

  .material-icons {
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
  }
</style>
```

To opt-out of this feature set `optimization.fonts: false` or `optimization.fonts.inline: false` in the browser builder options.

Example:
```js
"configurations": {
  "production": {
    "fileReplacements": [
      {
        "replace": "src/environments/environment.ts",
        "with": "src/environments/environment.prod.ts"
      }
    ],
    "optimization": {
      "fonts": false
    },
```

More information about the motivation for this feature can be found: https://github.com/angular/angular-cli/issues/18730

Note: internet access is required during the build for this optimization to work.
2020-10-14 21:57:29 +03:00
Alan Agius
d8f758758c refactor(@angular-devkit/build-angular): add disk cache to font inliner 2020-10-14 21:57:29 +03:00
Alan Agius
2e6ad9e847 build: add @types/cacache 2020-10-14 21:57:29 +03:00
Alan Agius
6ec40d3a4d feat(@angular-devkit/build-angular): add font inliner
This is the base functionality needed to inline Google fonts and Icons in HTML.

The processor does a couple of things:
1. When support for older devices is needed where woff2 is not supported it will inline definitions for both woff1 and woff2
2. Will remove comments and whitespaces when it's `minifyInlinedCSS` is enabled.
3. Cache responses so to resuse the font response during watch mode.

Note: this is still an internal implementation which users cannot leverage just yet.
2020-10-14 21:57:29 +03:00
Renovate Bot
3063abadf8 build: update css-loader to version 5.0.0 2020-10-14 10:13:07 -04:00
Renovate Bot
8fcf9fce73 build: update webpack-subresource-integrity to version 1.5.0 2020-10-14 10:12:56 -04:00
Renovate Bot
897b23a735 build: update rollup to version 2.30.0 2020-10-14 10:12:09 -04:00
Charles Lyding
a4d31fd16e refactor(@angular-devkit/build-angular): fully temporarily disable Webpack 5 license extraction 2020-10-14 10:11:02 -04:00
Renovate Bot
dbaf92386d build: update terser to version 5.3.5 2020-10-14 10:10:52 -04:00
Renovate Bot
f90084b638 build: update raw-loader to version 4.0.2 2020-10-13 12:46:53 -04:00
Bjarki
db00a24b3c feat(@angular-devkit/build-angular): support custom headers in dev-server
Make it possible to configure dev-server to send custom HTTP headers on
every client request. These headers can be specified as a key-value map
under the new "headers" property of the dev-server builder in
angular.json. These headers are then passed on to the webpack devserver.

An example use case for this is to enable various security features,
such as CSP and Trusted Types, both in local application development and
in integration tests, by setting appropriate HTTP headers.

This is part of an effort to add support for Trusted Types in Angular.
The ability to enforce Trusted Types during development and integration
tests is essential, as this can help detect Trusted Types violations
that might otherwise break applications when they're pushed to
production where such security features may be enforced.
2020-10-13 12:36:19 -04:00
Charles Lyding
755cb8dc57 test(@angular-devkit/build-angular): disable experimental Rollup size tests
The experimental Webpack Rollup pass no longer produces smaller sizes than the standard production build.
2020-10-12 11:04:14 -04:00
Renovate Bot
5e79d2998e build: update style-loader to version 2.0.0 2020-10-12 11:03:35 -04:00
Renovate Bot
afe23358e1 build: update stylus-loader to version 4.1.1 2020-10-12 11:02:36 -04:00
Renovate Bot
4a49f2a3d0 build: update source-map-loader to version 1.1.1 2020-10-12 11:02:28 -04:00
Renovate Bot
78345c56e3 build: update sass-loader to version 10.0.3 2020-10-12 11:02:17 -04:00
Renovate Bot
484ef10531 build: update postcss-loader to version 4.0.4 2020-10-12 11:00:22 -04:00
Renovate Bot
f5acc7db87 build: update less-loader to version 7.0.2 2020-10-12 11:00:13 -04:00
Renovate Bot
80b10ffd12 build: update file-loader to version 6.1.1 2020-10-12 11:00:00 -04:00
Renovate Bot
52f26af4ee build: update copy-webpack-plugin to version 6.2.1 2020-10-12 10:59:49 -04:00
Renovate Bot
9ad98d6291 build: update rollup to version 2.29.0 2020-10-09 13:14:10 -04:00
Renovate Bot
f02cff096d build: update sass to version 1.27.0 2020-10-09 13:13:55 -04:00
Renovate Bot
1066e23987 build: update terser-webpack-plugin to version 4.2.3 2020-10-09 13:13:41 -04:00
Alan Agius
ecd5e450d7 feat(@angular-devkit/build-angular): bump ng-packagr supported version to 11 2020-10-09 13:13:27 -04:00
Alan Agius
997d21d522 fix(@angular-devkit/build-angular): use IE11 as oldest browser when downlevelling 2020-10-09 13:13:18 -04:00
Alan Agius
84b63e5893 refactor(@angular-devkit/build-angular): remove RxJs usage from writeIndexHtml 2020-10-09 13:12:28 -04:00
Charles Lyding
97ba359487 refactor(@angular-devkit/build-angular): remove unneeded 10.1 localize checks
Now that 11.0 is the minimum supported version, the 10.1 support checks for the `@angular/localize` package can be removed.
2020-10-07 14:56:52 -04:00
Charles Lyding
0fe20bcc7f refactor(@angular-devkit/build-angular): additional webpack 5 type improvements
Additional support for building with Webpack 5.
2020-10-07 13:42:52 -04:00
Alan Agius
4e860528d7 refactor(@angular-devkit/build-angular): deprecate tslint builder 2020-10-07 11:12:58 -04:00
Alan Agius
290fe4360d refactor(@angular-devkit/build-angular): deprecate hmrWarning and servePathDefaultWarning options
With this change we deprecate servePathDefaultWarning and hmrWarning which no longer has an effect.

Using any unsupported deploy-url or base-href serve path value will result in a hard warning.
2020-10-07 09:54:32 -04:00
Alan Agius
f33d10d343 refactor(@angular-devkit/build-angular): deprecate a number of dev-server options
With this change we deprecate a number of dev-server builder options which proxied to the browser builder. This pattern also wrongly assumes that 3rd party browser builders also support all these options.

Configure the below deprecated options directly in the browser builder target options instead.

- aot
- sourceMap
- deployurl
- baseHref
- vendorChunk
- commonChunk
- optimization
- progress
2020-10-07 09:54:32 -04:00
Renovate Bot
8ebdcd9223 build: update webpack-merge to version 5.2.0 2020-10-07 09:24:06 -04:00
Alan Agius
9d71ebf90a refactor(@angular-devkit/build-angular): clean up style include paths logic 2020-10-06 11:34:10 -04:00
Alan Agius
7972ec70dc build: update stylus-loader to version 4.1.0 2020-10-06 11:34:10 -04:00
Renovate Bot
5db0fb5a2a build: update sass to version 1.26.12 2020-10-06 07:11:51 -04:00
Alan Agius
409247e9c0 refactor(@angular-devkit/build-angular): use parse5-html-rewriting-stream instead of parse5-htmlparser2-tree-adapter
Closes: #17019
2020-10-05 11:31:49 -04:00
Renovate Bot
2f2690bb8d build: update jest-worker to version 26.5.0 2020-10-05 11:31:12 -04:00
Renovate Bot
4c1f7e4bbe build: update style-loader to version 1.3.0 2020-10-03 13:45:25 -04:00
Renovate Bot
b004c9cc51 build: update terser to version 5.3.4 2020-10-03 08:49:52 -04:00
Renovate Bot
ef0da8e827 build: update postcss-loader to version 4.0.3 2020-10-03 08:49:32 -04:00
Renovate Bot
e86a242592 build: update mini-css-extract-plugin to version 0.11.3 2020-10-03 08:49:19 -04:00
Renovate Bot
06b0df88d9 build: update copy-webpack-plugin to version 6.2.0 2020-10-03 08:49:03 -04:00
Alan Agius
dcad2ee0d3 fix(@angular-devkit/build-angular): don't process stylesheets in extraction builder
When building an application for i18n extraction we are currently redundantly processing components stylesheets. With this change we replace the components stylesheets with an empty string which helps reduce the i18n build time.
2020-09-30 19:34:08 +02: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
Alan Agius
aab73e242f refactor(@angular-devkit/build-angular): remove deprecated karma builder environment option
BREAKING CHANGE:

Remove deprecated karma builder `environment` option
2020-09-30 13:49:13 +02:00
Dmitriy Shekhovtsov
c78a460658 fix(@angular-devkit/build-angular): fixes optimizeChunkAssets is deprecated in webpack 5 2020-09-29 15:03:53 +02:00
Dmitriy Shekhovtsov
850a0aef13 fix(@angular-devkit/build-angular): fixes deprecation warning for MainTemplate.hooks.assetPath in webpack 5 2020-09-29 13:53:01 +02:00
Renovate Bot
c5ddca96f8 build: update open to version 7.3.0 2020-09-29 13:52:22 +02:00