502 Commits

Author SHA1 Message Date
Charles Lyding
2e8420390d fix(@angular-devkit/build-angular): improve quality of localized sourcemaps
Fixes: #17131
2020-03-23 17:26:31 -07:00
Charles Lyding
d2dce463d0 fix(@angular-devkit/build-angular): reduce fast sourcemap threshold
High fidelity sourcemap processing can be expensive for larger bundle sizes.  This reduces the threshold to the original 500KB value to improve performance.
2020-03-23 17:25:07 -07:00
Alan Agius
ea11c5549a feat(@angular-devkit/build-angular): show warnings when depending on CommonJS.
Depending on CommonJS modules is know to cause optimization bailouts. With this change when running a browser build and scripts optimization is enabled we display a warning.

To suppress the warning for a particular package, users can use the `allowedCommonJsDepedencies` builder options.

Example:
```
"build": {
  "builder": "@angular-devkit/build-angular:browser",
  "options": {
    ...
    "allowedCommonJsDepedencies": ["bootstrap"]
  },
}
```

Reference: TOOL-1328
2020-03-23 14:20:21 -07:00
Fabian Wiles
bc5ce395e5
Merge pull request #16648 from Toxicable/preserve-symlink-nodejs
feat(@angular-devkit/build-angular): default to NodeJS value for pres…
2020-03-23 14:18:27 -07:00
Charles Lyding
f0bada1925 fix(@angular/cli): allow for private use language subtags
Fixes:  #17163
2020-03-16 21:44:42 -07:00
Wojciech Okoński
237bade5d5 fix(@angular-devkit/build-angular): add missing styles extensions in anyComponentStyle budget
Make anyComponentStyle budged work with all style extensions. Previously it was working only with css styles. Files with other extensions were ignored.
2020-03-16 21:43:44 -07:00
Alan Agius
2e8c7cd23b fix(@angular-devkit/build-angular): add defaults to reduce methods in bundle calculator
Fixes #17215
2020-03-13 13:16:56 -07:00
Charles Lyding
a5aefa1258 refactor(@angular-devkit/build-angular): temporarily disable plugin based localization 2020-03-13 13:14:58 -07:00
Alan Agius
1a1ceb609b build: update angular packages to 9.1.0-next.4 and TypeScript 3.8 2020-03-11 10:33:38 -07:00
Charles Lyding
f5789f466f fix(@angular-devkit/build-angular): ensure live-reload shim workaround isolation
This change reduces the workaround to a single file location as well as ensuring that only the shims of interest from the two necessary live reload files are affected.  This makes sure that build and serve behavior is the same in this regard.
2020-03-10 11:57:31 -07:00
Alan Agius
81d057a37d refactor(@angular-devkit/build-angular): use @jsdevtools/coverage-istanbul-loader instead of coverage-istanbul-loader
`coverage-istanbul-loader` has been deprecated in favor of `@jsdevtools/coverage-istanbul-loader`
2020-03-09 10:24:25 -07:00
Charles Lyding
ad9d73d0d2 fix(@angular-devkit/build-angular): provide locale data discovery fallbacks
This synchronizes the behavior with the FW's wherein the language code will be used if the data for the full locale is not found. The user will still be notified in the event this occurs.
2020-03-05 11:33:52 -08:00
Alan Agius
e414d9b44a fix(@angular-devkit/build-angular): generate ES5 code in ES5 bundles for default browserslist configuration 2020-03-05 11:30:23 -08:00
Sachin Grover
14dc4fb818 fix(@angular-devkit/build-angular): allow function in filename while changing the name of compiling chunks
Fixes angular#17087
2020-02-26 12:26:45 -08:00
Alan Agius
94c753c1a5 fix(@angular-devkit/build-angular): limit the amount of CPUs used by workers
See: https://github.com/angular/angular-cli/issues/16860#issuecomment-588828079
2020-02-25 10:28:25 -08:00
Alan Agius
d29d40370a fix(@angular-devkit/build-angular): fix autoprefixer comments support in scss
Change Scss output style to `expanded` as otherwise sass will remove comments that are needed for autoprefixer when webpack is in prod mode because of the following implementation in `sass-loader`:
See: 45ad0be172/src/getSassOptions.js (L68-L70)

Fixes #17041
2020-02-24 12:52:12 -08:00
Alan Agius
4e65705205 fix(@angular-devkit/build-angular): baseHref with protocol and localize option
`posix.join` will dedupe double forward slashes resulting in incorrect protocol.

Closes: #17029
2020-02-24 12:39:47 -08:00
Sachin Grover
764b977de4 fix(@angular/cli): expand locale pattern in all schemas for all cases
Fixes: #17032
2020-02-24 12:39:35 -08:00
Charles Lyding
5bd3b911ce refactor(@angular-devkit/build-angular): use localize babel plugins directly
With recent improvements in the performance of babel parsing and AST traversal, the localize babel plugins can now be leveraged directly.
2020-02-19 10:08:55 -08:00
Filipe Silva
a5bc1cd15b fix(@angular-devkit/build-angular): limit CPUs used by terser-webpack-plugin
Should help with https://github.com/angular/angular-cli/issues/16860#issuecomment-585751187
2020-02-18 12:44:01 -08:00
Jonathan Garvey
d6c9693952 feat(@angular-devkit/build-angular): pass "grep" and "invertGrep"
Pass the "grep" and "invertGrep" flags through to the Angular Protractor
builder as "jasmineNodeOpts" so that individual specs within an E2E test
file can be targeted.

Fixes #13020
2020-02-18 10:53:27 -08:00
EmaGht
2f1a9db872 fix(@angular-devkit/build-angular): Correctly prints the size of the chunk during the build statistic print.
Fixes: #16627
2020-02-13 15:51:48 -08:00
Charles Lyding
5a53b84f96 fix(@angular-devkit/build-angular): insert sourcemap source content when using fast path 2020-02-13 15:50:58 -08:00
Charles Lyding
6091879428 fix(@angular-devkit/build-angular): generate correct filenames when targeting ESNext
Fixes: #16906
2020-02-12 12:01:42 -08:00
Charles Lyding
c5156977f2 fix(@angular-devkit/build-angular): provide explicit return type for extract-i18n builder
Fixes: #16934
2020-02-12 12:01:32 -08:00
Alan Agius
d0ede14918 refactor: remove safari nomodule polyfills as it's unsupported 2020-02-11 08:47:20 -08:00
Charles Lyding
3c771d1b56 fix(@angular-devkit/build-angular): only remove localize polyfill if in AOT mode
Fixes: #16890
2020-02-11 08:46:40 -08:00
Sachin Grover
e5061ef252 fix(@angular-devkit/build-angular): correct maximum budget size message
WARNING in budgets exceeded message showing wrong number

Fixes angular#16871.
2020-02-10 16:05:03 -08:00
Charles Lyding
3595cee14d fix(@angular-devkit/build-angular): resolve webdriver-manager from protractor location
The webdriver-manager package is a direct dependency of protractor.  The only guaranteed method to resolve the webdriver-manager package in this case is to resolve it from a base of the protractor location.
2020-02-06 09:09:21 -08:00
Alan Agius
a2c0532ca7 fix(@angular-devkit/build-angular): provide supported browsers to babel
By default the browserslist `configPath` will default to `process.cwd()`. This might return incorrect data in a multi app workspace setup.

https://babeljs.io/docs/en/babel-preset-env#configpath
2020-02-04 07:29:27 -08:00
Charles Lyding
9c4da54b63 refactor(@angular-devkit/build-angular): remove redundant ES2015 string polyfills 2020-02-04 07:27:33 -08:00
Charles Lyding
878e4473e0 fix(@angular-devkit/build-angular): use translation file in bundle hash calculations
This change ensures that any changes to translation files is represented in the output file names when output hashing is enabled.  This prevents the situation where a translation file only change to an application would result in built files with no change in output name.
2020-02-04 07:26:41 -08:00
Alan Agius
c3aa081ef7 fix(@angular-devkit/build-angular): add crossorigin attribute to lazy chunks
Fixes #16801
2020-02-03 17:29:58 -08:00
Charles Lyding
52a74a841c fix(@angular-devkit/build-angular): remove unneeded regex polyfills 2020-01-30 11:23:40 -08:00
Charles Lyding
397ef0590b refactor(@angular-devkit/build-angular): improve debug optimize environment variables
`NG_BUILD_DEBUG_OPTIMIZE` when enabled will disable minify and mangle as well as enable beautify.
2020-01-29 17:12:05 -08:00
Charles Lyding
f85c00ad55 fix(@angular-devkit/build-angular): when optimizing do not emit Ivy class metadata or module scope 2020-01-28 10:47:54 -08:00
Charles Lyding
8a55bc3115 fix(@angular-devkit/build-angular): ensure babel configurations are isolated
The `configFile` option needs to be set to false to ensure Babel does not attempt to discover and load any file based configurations.
2020-01-28 10:35:18 -08:00
Pete Bacon Darwin
9bbc7c785f fix(@angular-devkit/build-angular): pass filename to parseSync
The latest version of Babel (e.g. 7.8.3) requires a filename
to be passed to `parseSync()`.

Fixes #16781
2020-01-28 10:22:43 -08:00
Charles Lyding
d8cd9b73b3 fix(@angular-devkit/build-angular): reintroduce fast sourcemap path 2020-01-27 11:26:20 -08:00
Charles Lyding
5a1b190fdf refactor(@angular-devkit/build-angular): add additional debug build environment variables
`NG_BUILD_MINIFY` can be used to separately disable minification (terser's compress)
`NG_BUILD_BEAUTIFY` can be used to format the output code even when otherwise optimized
2020-01-23 18:00:25 -08:00
Charles Lyding
9a7d8e3877 fix(@angular-devkit/build-angular): ensure output is ASCII only
Fixes: #16721
2020-01-23 18:00:04 -08:00
Alan Agius
237c1dcf2b build: update jest-worker to version 25.1.0 2020-01-23 15:28:37 -08:00
Charles Lyding
d918af3935 refactor(@angular-devkit/build-angular): remove nonexistent argument from rxjs path mapping call
The rxjs path mapping function does not have any parameters and has not since version 5.5.0 which is not supported.
2020-01-21 08:35:45 -08:00
Alan Agius
f1ffb106b2 fix(@angular-devkit/build-angular): emit error when a script is not found
While we currently invoke the `callback` with the error in d4f1ff82c5/packages/angular_devkit/build_angular/src/angular-cli-files/plugins/scripts-webpack-plugin.ts (L163) this is not bubbled up to the main webpack compilation due to the usage of `thisCompilation`.

Closes #16659
2020-01-15 11:31:09 -08:00
Alan Agius
e9897de7ae fix(@angular-devkit/build-angular): change css optimizer from clean-css with cssnano
Closes #16123 and closes #13854
2020-01-13 09:46:15 -08:00
Charles Lyding
b989e4583e fix(@angular-devkit/build-angular): improve quality of differential loading sourcemaps 2020-01-09 12:02:32 -08:00
Alan Agius
653be114ca fix(@angular-devkit/build-angular): replace istanbul-instrumenter-loader with coverage-istanbul-loader
Fixes #16576 and fixes #7117
2020-01-09 11:55:35 -08:00
Alan Agius
4630e03209 fix(@angular-devkit/build-angular): account for hashed and non hashed filesnames when having sourcemaps 2020-01-04 11:19:09 -08:00
Charles Lyding
032fb147f9 fix(@angular-devkit/build-angular): prevent differential loading double sourcemap search
This can drastically reduce memory usage; especially in cases where bundled code modules contain individual sourcemap comments and vendor sourcemaps are disabled.  Enabling the vendor sourcemap option has the side effect of removing all individual module sourcemap comments and as a result removes the potential for those comments to be found and processed.
2020-01-02 11:27:40 -08:00
Alan Agius
490c24be98 fix(@angular-devkit/build-angular): add sourceMappingURL comment for ES2015 during differential loading
When having differential loading enabled we only add the `sourceMappingURL` comment when optimization is enabled, because we only process these bundles when we enabling optimization.

With this change we now process such bundles even when optimization is disabled and add `sourceMappingURL` when source maps are enabled and not hidden.

Closes #16522
2020-01-02 11:27:27 -08:00