Alan Agius
c935211aef
fix(@angular-devkit/build-angular): several issues with optimization and bundleDependencies in universal
...
Fixes #15498
2019-09-04 02:31:20 +05:30
Filipe Silva
6a29ce47a1
test: add issue for broken app-shell test
2019-08-30 22:53:46 +05:30
Alan Agius
058299c531
fix(@angular-devkit/build-angular): remove deprecation of baseUrl
in protractor builder
...
Closes #13952
2019-08-30 00:15:10 +05:30
Alan Agius
77c4d4aa7b
fix(@angular-devkit/build-angular): disable top level variable and function name mangling
...
Disables toplevel mangling and enables compression for es5 bundles. With compress enabled we reduce a further ~7Kb
Closes : #15436
2019-08-30 00:14:32 +05:30
Charles Lyding
fc53087bd2
refactor(@angular-devkit/build-angular): add debug no mangle environment variable
2019-08-30 00:10:48 +05:30
Charles Lyding
c867f2a4dd
fix(@angular-devkit/build-angular): ensure generator polyfills are present for ES5
2019-08-30 00:10:29 +05:30
Adam Vigneaux
e76ea36989
feat(@angular-devkit/build-angular): exclude TSX test files from test coverage
2019-08-30 00:09:39 +05:30
Charles
0f18e35373
fix(@angular-devkit/build-angular): add sourcemap comment for ES2015 differential loading ( #15461 )
...
Fixes #15460
2019-08-28 00:11:55 -07:00
Alan Agius
26dd51221a
style: collapse if statements ( #15449 )
2019-08-27 10:25:14 -07:00
Charles
4986577f8a
fix(@angular-devkit/build-angular): skip downlevel processing of assets ( #15433 )
...
* fix(@angular-devkit/build-angular): identify asset emitted files
* fix(@angular-devkit/build-angular): skip downlevel processing of assets
Fixes #15423
2019-08-26 11:50:20 -07:00
Charles
af9a8b75ee
fix(@angular-devkit/build-angular): default poll value when not present ( #15417 )
...
`--poll` is a valid command line option (vs. `--poll 1000`). This however will result in a value of 0 which causes polling to be disabled rather than enabled. This change sets a default value of 500 when the commandline flag is used.
2019-08-23 11:37:48 -07:00
Adam Vigneaux
e7d99bc727
feat(@angular-devkit/build-angular): collect test coverage from JSX/TSX files
2019-08-21 10:31:45 -07:00
Charles Lyding
d1488e66a4
refactor(@angular-devkit/build-angular): cache downlevel bundles
2019-08-20 11:07:55 -07:00
Alan Agius
f2ecb904a9
fix(@angular-devkit/build-angular): serve option merging is being overridden by defaults in schema ( #15328 )
...
We have a number of browser options that we allow the dev-server to merge. However, this only happens when such as options are undefined from the dev-server builder. At the moment these option have defaults inside their schema which results in them never being `undefined`, and hence the overridden logic is bypassed.
See: 6dd5b186d4/packages/angular_devkit/build_angular/src/dev-server/index.ts (L49-L63)
and 6dd5b186d4/packages/angular_devkit/build_angular/src/dev-server/index.ts (L107-L115)
Fixes #15273 and fixes #15064
2019-08-14 17:55:04 -07:00
Charles
3db2787cea
refactor(@angular-devkit/build-angular): update webpack typings ( #15334 )
2019-08-14 10:22:32 -07:00
Filipe Silva
b3b45469f5
fix(@angular-devkit/build-angular): never use component css sourcemap when optimizations are on. ( #15238 )
...
It will just increase bundle size without offering good debug experience.
2019-08-12 10:32:03 -07:00
Charles Lyding
1c6f665c4f
feat(@angular-devkit/build-angular): implement bundle level downleveling to support differential loading
2019-08-08 08:26:15 -07:00
Charles Lyding
4183d16e81
fix(@angular-devkit/build-angular): additional ES5 browser polyfills based on babel usage analysis
2019-08-08 08:26:15 -07:00
Filipe Silva
fbea65b371
fix(@angular-devkit/build-angular): use GLOBAL_DEFS_FOR_TERSER_WITH_AOT if present
...
Fix #15206
2019-08-05 17:59:42 -07:00
Alan Agius
195e493a66
fix(@angular-devkit/build-angular): various breakpoints issues
...
With this change we address 2 main issues related to unbound breakpoints:
1) in VS code when having a `baseHref` set.
2) Visual Studio when using an SPA inside a ASP.NET project
For the latter, it seems that there is no way to set a `webRoot`. However, `webpack:///` seems to be handled internally and will be mapped to the `SpaRoot` ie `ClientApp` folder.
Fixes : #15211
2019-08-02 13:41:16 -07:00
Alan Agius
0fd7abb818
refactor: cleancss-webpack-plugin to use async/await
2019-08-02 13:35:22 -07:00
Alan Agius
f7c7619556
fix(@angular-devkit/build-angular): escape dot in js extensions to match literally
...
Closes #15195
2019-07-30 14:25:21 -07:00
Alan Agius
15ef15e94a
style: remove redundant max-line-length
disables and fix other lint issues
2019-07-24 19:06:21 -07:00
Alan
0224d2b92e
fix(@angular-devkit/build-angular): fix sourcemaps for vscode breakpoints
...
`namespace` is always empty which is breaking sourcemaps since when sources start with `/` vscode will not be able to resolve them unless users configure `sourceMapPathOverrides`.
Fixes #15116
2019-07-24 19:05:43 -07:00
Alan
bcf250c94d
feat(@angular-devkit/build-angular): add bundle budget for component styles
...
It’s very easy to inadvertently import toplevel css in component styles. Since component css is standalone and self-contained, it will never be shared between components and remains as a single large bundle for each component. This in turn adds a large amount of code that must be processed and increases bundle size.
Related to: TOOL-949
2019-07-24 19:05:00 -07:00
Alan Agius
4f8e349033
fix(@angular-devkit/build-angular): only add module script types to actual module scripts
...
Fixes #15102
2019-07-24 19:04:31 -07:00
Charles Lyding
069a18200e
fix(@angular-devkit/build-angular): support pnpm with ng serve
...
Webpack and its development server assume the presence of two node builtins (`events` & `querystring`). Do to package hoisting npm/yarn will usually place the shims for those two builtins at locations that webpack find them. This is however not guaranteed nor will it work with pnpm which strictly follows the prescribed dependency tree.
To remedy this, the specific node shims are enabled only for the specific internal webpack files that are used within the development server. This ensures that the requirements of these files does not pollute the entire application.
Fixes #13680
2019-07-24 19:03:15 -07:00
Charles
f8a58213eb
feat(@angular-devkit/build-angular): add defer attributes to classic scripts ( #15087 )
...
This change synchronizes the behavior of classic scripts and module scripts (`type="module"`). Module scripts are deferred by default. Also, certain injected scripts are not considered module scripts even in a ES2015+ build due to the strict mode behavior of module scripts. Deferring such scripts also ensures consistent execution in those scenarios.
2019-07-16 09:58:19 -07:00
Filipe Silva
9d9d46bab3
refactor: use buildOptimizerLoaderPath
2019-07-11 01:18:26 +08:00
Filipe Silva
9b7f196a80
feat(@angular-devkit/build-angular): run Build Optimizer only on TS-generated files
2019-07-11 01:18:26 +08:00
Alan
b48dede4e0
fix(@angular-devkit/build-angular): fix sourcemaps paths
...
`output.devtoolModuleFilenameTemplate` is not used when `SourceMapDevToolPlugin`
671cb184e3/lib/SourceMapDevToolPlugin.js (L77)
Current stacktraces are not properly formatted
```
http://localhost:9876/_karma_webpack_/webpack:/src/app/dummy.component.spec.ts:36:76
```
With this change we wil change this to
```
http://localhost:9876/src/app/validation-directive.ts:13:23
```
This also allows users to click on the stacktrace in the browser and go to source.
2019-07-11 01:17:57 +08:00
Charles Lyding
8e97df3888
feat(@angular-devkit/build-angular): allow control of index output path
...
This allows the output path of an application's index HTML file to be controlled independently of the input file. The output path for the file will be considered relative to the application's configured output path. This allows an application to contain multiple input index files for different configurations and allow the output file to remain constant. This also enables the placement of the index file in a subdirectory within the output path or change the name of the output index file neither of which was previously possible.
2019-07-10 04:34:20 +08:00
Charles Lyding
445f3873b9
fix(@angular-devkit/build-angular): use query option to set sockJS path in dev-server
...
Fixes #15002
2019-07-10 04:15:30 +08:00
Charles Lyding
f6953f0123
fix(@angular-devkit/build-angular): only add module script types to actual module scripts
...
`ng serve` was errantly adding a module type to custom script bundles. These scripts may contain ES5 and non-strict compatible code and can therefore not be marked as module scripts. `ng build` already correctly operates in this fashion.
Fixes #14952
2019-07-10 04:13:43 +08:00
Alan
2b367be1c3
feat(@angular-devkit/build-angular): deprecate scripts and styles lazy
option in favor ofinject
...
The lazy option inside the script and style option is confusing as this option doesn't lazy load a bundle but rather it doesn't inject/reference the script in the HTML. While this option is an enabler for lazy loading, the users will still need to handle on how how this bundle will be lazy loaded. There are also potential use cases beyond lazy loading for the option.
Closes #14814
2019-07-02 11:05:51 -07:00
Alan Agius
8754ecbf99
fix(@angular-devkit/build-angular): IE11 errors when using scripts and differential loading
...
Invert the builds so that es2015 scripts output don't override the es5 version.
Fixes #14777
2019-07-02 10:58:36 -07:00
Alan Agius
68227565ce
feat(@angular-devkit/build-angular): add crossorigin options
...
This options allows to define the crossorigin attribute setting of elements that provide CORS support
Closes #14743
2019-06-27 15:12:43 -07:00
Suguru Inatomi
4bfa4e0c06
fix(@angular-devkit/build-angular): add Symbol.iterator polyfill for legacy browsers
2019-06-27 09:26:31 -07:00
Alan
44a0d0fb4e
fix(@angular-devkit/build-angular): add type="module"
on script tags when differential loading will be enabled
...
Fixes #14747
2019-06-26 11:17:21 -07:00
Hans Larsen
a5afd7b2b6
fix(@angular-devkit/build-angular): force event category to be something
...
If it is empty (or undefined), the Universal Analytics package will not send events.
2019-06-25 13:25:23 -07:00
FDIM
af2b1b55dc
feat(@angular-devkit/build-angular): option to build and test only specified spec files
2019-06-24 17:27:25 -07:00
Alan
d43ca041e2
fix(@angular-devkit/build-angular): re-order reporters to set code coverage at the very end
2019-06-20 10:58:54 -07:00
Alan
10200f1395
fix(@angular-devkit/build-angular): remove certain redundant build steps from second build in differential loading
...
With this change we remove styles compilation and copying of assets for the second build when differential loading is enabled.
This should improve the build times for larger applications.
2019-06-19 17:08:25 -07:00
Alan Agius
0701afc31f
fix(@angular-devkit/build-angular): browser builder should not swollow error messages
...
Closes #14813
2019-06-19 17:07:53 -07:00
Alan
c7135fae35
fix(@angular-devkit/build-angular): browser builder should not swollow error messages
...
Closes #14813
2019-06-19 17:07:27 -07:00
Charles Lyding
0ed8de1e8a
refactor(@angular-devkit/build-angular): cleanup compatible Angular version check
2019-06-19 17:06:28 -07:00
Alan
be210778f4
fix(@angular-devkit/build-angular): emit warning when using extract-i18n in Ivy
...
i18n is not yet implemented in Ivy, we should emit a warning stating this and exit gracefully.
This also swaps the readTsConfig logic to use `@angular/compiler-cli` instead of `typescript`. This is needed because when parsing the tsconfig, typescript is not aware of `angularCompilerOptions` and will not merged them if they are at un upper level tsconfig file when using `extends`.
Closes #14225
2019-06-14 12:56:33 -07:00
istiti
d7a0a69f03
feat(@angular-devkit/build-angular): move milliseconds time audit at the end of console
...
In a project with a lot of lazy modules we need scroll console window to see Date - Hash - Time audit message.
This PR should keep Date - Hash - Time at the end on first `ng s` or `ng b` to see if first build just happend or not. On rebuild only Time is at the end which is most valuable
Before:
```
$ ng s
Date: 2019-06-04T14:41:49.775Z
Hash: 998791a06c755186a7dc
Time: 37700ms
chunk {0} 0.205d3a05f39f54abaf98.js () 26.3 kB [rendered]
chunk {1} 1.78ebb349f1f621ecc6dd.js () 85.3 kB [rendered]
chunk {2} 2.6999dce3fa088a3aa465.js () 33.9 kB [rendered]
chunk {3} 3.5532acdb300ef6741a51.js () 49.2 kB [rendered]
chunk {4} 4.2add4f56d22ab59d79c6.js () 56.9 kB [rendered]
...
chunk {137} 137.a15fd611c1c4b96d409a.js () 3.26 kB [rendered]
chunk {138} 138.c9e103d1056bb9d070e3.js () 2.94 kB [rendered]
chunk {139} 139.455c4ac2d85c520f1254.js () 3.17 kB [rendered]
chunk {140} 140.4ca3e4f5eccec58809be.js () 4.29 kB [rendered]
chunk {141} 141.c27def44603508d8df52.js () 2.37 kB [rendered]
chunk {common} common.b74eca2038a9b1b5f3e4.js (common) 39.7 kB [rendered]
chunk {main} main.db063f94924f162703a2.js (main) 163 kB [initial] [rendered]
chunk {polyfills} polyfills.4ac5e2c02b432e50dfda.js (polyfills) 295 kB [initial] [rendered]
chunk {polyfills-es5} polyfills-es5.5468c4e590607eea5bd4.js (polyfills-es5) 462 kB [initial] [rendered]
chunk {runtime} runtime.7381db3f14ba80dfec8f.js (runtime) 12.7 kB [entry] [rendered]
chunk {scripts} scripts.9a46a0e28dae0f11bffb.js (scripts) 20.3 kB [entry] [rendered]
chunk {styles} styles.e8c91b6de63cbd1ef1be.js (styles) 624 kB [initial] [rendered]
chunk {vendor} vendor.eccdafeabbb649d68877.js (vendor) 4.77 MB [initial] [rendered]
** Angular Live Development Server is listening on 0.0.0.0:80, open your browser on http://localhost:80/ **
i 「wdm」: Compiled successfully.
i 「wdm」: Compiling...
Date: 2019-06-04T14:41:54.313Z - Hash: 41c1ac04e7ee47d1f385 - Time: 1463ms
148 unchanged chunks
chunk {64} 64.ca3cef05dbfd71b73683.js () 36.2 kB [rendered]
chunk {runtime} runtime.629babcdb3b730464fa1.js (runtime) 12.7 kB [entry] [rendered]
i 「wdm」: Compiled successfully.
```
After:
```
$ ng serve
chunk {0} 0.205d3a05f39f54abaf98.js () 26.3 kB [rendered]
chunk {1} 1.78ebb349f1f621ecc6dd.js () 85.3 kB [rendered]
chunk {2} 2.6999dce3fa088a3aa465.js () 33.9 kB [rendered]
chunk {3} 3.5532acdb300ef6741a51.js () 49.2 kB [rendered]
chunk {4} 4.2add4f56d22ab59d79c6.js () 56.9 kB [rendered]
...
chunk {137} 137.a15fd611c1c4b96d409a.js () 3.26 kB [rendered]
chunk {138} 138.c9e103d1056bb9d070e3.js () 2.94 kB [rendered]
chunk {139} 139.455c4ac2d85c520f1254.js () 3.17 kB [rendered]
chunk {140} 140.4ca3e4f5eccec58809be.js () 4.29 kB [rendered]
chunk {141} 141.c27def44603508d8df52.js () 2.37 kB [rendered]
chunk {common} common.b74eca2038a9b1b5f3e4.js (common) 39.7 kB [rendered]
chunk {main} main.db063f94924f162703a2.js (main) 163 kB [initial] [rendered]
chunk {polyfills} polyfills.4ac5e2c02b432e50dfda.js (polyfills) 295 kB [initial] [rendered]
chunk {polyfills-es5} polyfills-es5.5468c4e590607eea5bd4.js (polyfills-es5) 462 kB [initial] [rendered]
chunk {runtime} runtime.b9d205421cbb4e61db70.js (runtime) 12.7 kB [entry] [rendered]
chunk {scripts} scripts.9a46a0e28dae0f11bffb.js (scripts) 20.3 kB [entry] [rendered]
chunk {styles} styles.e8c91b6de63cbd1ef1be.js (styles) 624 kB [initial] [rendered]
chunk {vendor} vendor.eccdafeabbb649d68877.js (vendor) 4.77 MB [initial] [rendered]
Date: 2019-06-04T14:14:33.560Z - Hash: 1690109f67cb887a6d5d - Time: 34676ms
** Angular Live Development Server is listening on 0.0.0.0:80, open your browser on http://localhost:80/ **
i 「wdm」: Compiled successfully.
i 「wdm」: Compiling...
Date: 2019-06-04T14:14:53.336Z - Hash: 998791a06c755186a7dc
148 unchanged chunks
chunk {64} 64.0bf728d7fbcbba217b53.js () 36.2 kB [rendered]
chunk {runtime} runtime.7381db3f14ba80dfec8f.js (runtime) 12.7 kB [entry] [rendered]
Time: 1411ms
i 「wdm」: Compiled successfully.
```
2019-06-14 09:50:29 -07:00
Alan Agius
4ad0fb73c3
fix(@angular-devkit/build-angular): always disable buildOptimizer
when extracting i18n
2019-06-12 14:54:15 -07:00
Alan Agius
32bae6dbd8
refactor: small refactor in AOT plugin file
2019-06-12 14:54:15 -07:00