1174 Commits

Author SHA1 Message Date
Alan Agius
6f0e7bf437 fix(@angular-devkit/core): add schema defaults when value is undefined
Related to https://github.com/angular/angular-cli/pull/15207#discussion_r309175463
2019-08-02 13:41:45 -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
Filipe Silva
804c11de8d fix(@angular-devkit/build-optimizer): scrub all metadata form @angular/core
We used to keep a specifier list of known  specifiers to identify the `@angular/core` FESM. But it doesn't work for non-FESM bundles, and we already pass that information on anyway.
2019-08-02 13:35:39 -07:00
Filipe Silva
fefa2ef15c fix(@angular-devkit/build-optimizer): scrub previously whitelisted angular classes
This whitelist a leftover from older Angular versions and isn't necessary anymore.

Fix #15194
2019-08-02 13:35:39 -07:00
Alan Agius
0fd7abb818 refactor: cleancss-webpack-plugin to use async/await 2019-08-02 13:35:22 -07:00
Renovate Bot
16f490b673 build: update terser-webpack-plugin to version 1.4.1 2019-08-02 13:35:09 -07:00
Renovate Bot
bf47da3065 build: update webpack-sources to version 1.4.1 2019-07-31 13:27:14 -07:00
Renovate Bot
f3f9516c5f build: update source-map-support to version 0.5.13 2019-07-31 13:27:01 -07:00
Renovate Bot
f28822b819 build: update caniuse-lite to version 1.0.30000988 2019-07-31 13:26:49 -07:00
Pavel Březina
51622bdeaf fix(@angular-devkit/architect): add target to ScheduleOptions to allow its use in context.scheduleBuilder
A custom builder can call `context.scheduleBuilder` to call another builder.
However, the following call will fail with `Must either have a target from
the context or a default project.` exception because `scheduleBuilder` does
not pass `target` to the called builder.

```typescript
import { JsonObject } from '@angular-devkit/core'
import { BuilderContext, BuilderOutput, BuilderRun, createBuilder } from '@angular-devkit/architect';
import { Observable, from } from 'rxjs';
import { concatMap, map } from 'rxjs/operators';

export default createBuilder(_customBuilder);

function _customBuilder(options: JsonObject, context: BuilderContext): Observable<BuilderOutput> {
    const builder = '@angular-devkit/build-angular:browser';

    return from(context.scheduleBuilder(builder, options)).pipe(
        concatMap(run => run.result)
    );
}
```

Resolves:
https://github.com/angular/angular-cli/issues/15053
2019-07-31 13:22:11 -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
20b16a247a fix(@angular-devkit/build-optimizer): don't wrap classes which static properties have been removed
At the moment the `wrap-enums` transfomers is being run prior to `scrub-file` and this is resulting classes which all static properties have been dropped to be wrapped in IIFE.
2019-07-30 14:25:06 -07:00
Renovate Bot
e1c616b0f6 build: update caniuse-lite to version 1.0.30000987 2019-07-30 14:24:14 -07:00
Renovate Bot
8d5f94f13c build: update sass to version 1.22.9 2019-07-30 14:23:52 -07:00
Renovate Bot
36e7f02000 build: update karma-coverage-istanbul-reporter to version ~2.1.0 2019-07-30 14:23:20 -07:00
Alan Agius
607e6f7cfd test: increase/add debounceTime to reduce flakiness 2019-07-29 15:06:10 -07:00
Renovate Bot
d1a2527569 build: update caniuse-lite to version 1.0.30000986 2019-07-29 10:54:25 -07:00
Alan Agius
ab80209c92 fix(@angular-devkit/build-optimizer): don't wrap enum like nodes which are inside of methods.
With this change we stop recursive lookup when the current node is not a BlockLike.

This change should also, improve the BO overall speed as it's reduces a lot of recursive lookups.

Fixes #15145
2019-07-29 10:47:28 -07:00
Filipe Silva
e8dff5718f build: update to TS 3.5 2019-07-29 10:15:23 -07:00
Renovate Bot
b4c441e790 build: update webpack to version 4.38.0 2019-07-26 13:30:11 -07:00
Renovate Bot
78a50ad328 build: update copy-webpack-plugin to version 5.0.4 2019-07-26 13:29:44 -07:00
Alan Agius
50b290e9f0 fix(@angular-devkit/build-angular): rollback sass to version 1.22.7
sass version `1.22.8` was rolled back and is no longer available on NPM
2019-07-25 09:58:11 -07:00
vikerman
07780b9272 style: clean up existing lint errors 2019-07-24 23:28:49 -07:00
Renovate Bot
79f5298391 build: update semver to version 6.3.0 2019-07-24 19:07:57 -07:00
Alan
6649483d86 fix(@ngtools/webpack): delete all virtual files for styles on change
Fixes #15143
2019-07-24 19:07:10 -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
Renovate Bot
52741b43f6 build: update caniuse-lite to version 1.0.30000985 2019-07-24 19:05:59 -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
28bd5493a7 fix(@ngtools/webpack): retain child compilation warnings and errors
At the moment child compilation warnings and errors are being lost as they are not passed to the root compilation.  This means that any errors that are being set by clean-css for component styles are being lost.
2019-07-24 19:05:00 -07:00
Renovate Bot
21cd079e76 build: update file-loader to version 4.1.0 2019-07-24 19:04:46 -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
Renovate Bot
f796e45439 build: update webpack to version 4.37.0 2019-07-24 19:04:17 -07:00
Renovate Bot
78acd2aeed build: update sass to version 1.22.8 2019-07-24 19:04:02 -07:00
Alan Agius
63f0049e43 feat(@ngtools/webpack): show warning when a TS compilations contains unused files
When a tsconfig without `includes` or `files` all files under the `rootDir` will be included in the compilation. This results in redundant files to inserted as part of the ts compilation which in some cases might reduce the compilation drastically.

Related to: TOOL-949
2019-07-24 19:03:35 -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
Renovate Bot
83bd1284db build: update mini-css-extract-plugin to version 0.8.0 (#15098) 2019-07-17 11:07:48 -07:00
Charles
6d4f8a249c test: remove material-design-icons package as a development dependency (#15096)
The package is quite large at 33MB (46MB on disk).  The package is also only used in one test that is already covered by an E2E test.  The E2E test does not require the package to be present for development as the test installs it within a generated project during execution.  This also has the benefit of testing the icons package in a more real world use case; as well as allowing the test to serve as a guide for a user to add the package to their own application.
2019-07-16 14:41:59 -07:00
Alan Agius
0551360035 fix(@schematics/angular): exclusively list the files in tsconfigs (#15030)
* test: update tests to work with new stricter tsconfig file inclusions

* fix(@schematics/angular): exclusively list the files in tsconfigs

With the omission of `includes` or `files` in tsconfig files tsc will pick up all the files under the rootDir and make them as part of the compilation. In certain cases, redundant files will be picked up which will cause a slower compilations.

Related to: TOOL-949
2019-07-16 11:04:29 -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
Minko Gechev
d274add7b4
fix(@angular/cli): use correct schematic defaults considering workspace (#15041)
Fix #14986

This PR includes some refactoring to simplify the interaction
of the `NodeWorkflow` and the `BaseWorkflow` with the registry.

We were registering redundant `addPostTransform`s. Some of them in
the constructor of the `BaseWorkflow`, which did not allow us to
intercept `addUndefinedDefaults`.

Additionally, we were setting the `validateOptionsWithSchema` transform
multiple times unnecessarily.

An issue left to fix is support for the `--project` option in
schematic commands. Currently, `getProjectName` does not know about
this option, since `createWorkflow` does not know how to parse the
command line arguments. The parsing logic is implemented partially
by the concrete implementation of the `SchematicCommand` template
method.
2019-07-16 09:58:01 -07:00
Renovate Bot
bf8441304c build: update sass to version 1.22.5 (#15089) 2019-07-16 07:27:26 -07:00
Renovate Bot
f568fe0684 build: update browserslist to version 4.6.6 (#15072) 2019-07-15 13:56:56 -07:00
Renovate Bot
20696fa9db build: update sass to version 1.22.4 (#15055) 2019-07-15 09:49:56 -07:00
Renovate Bot
1959b3b4c7 build: update ajv to version 6.10.2 (#15073) 2019-07-15 09:49:23 -07:00
Renovate Bot
d6df5d22a2 build: update caniuse-lite to version 1.0.30000984 (#15069) 2019-07-15 09:48:54 -07:00
Renovate Bot
7e80c12bcd build: update karma to version ~4.2.0 (#15068) 2019-07-15 09:48:41 -07:00
Alan
2676c2d86a refactor(@angular-devkit/build-optimizer): refactor wrap enums
Most of the logic that can find class statements to wrap can be used to wrap Enums, with the exception of TS 2.3+ enums which is slightly different.

This PR combines the enums and classes lookup logic and also simplifies the TS 2.3+ enum lookup logic
2019-07-11 19:11:51 -07:00
Renovate Bot
1bf6b3c2a4 build: update inquirer to version 6.5.0 2019-07-11 19:11:13 -07:00
Renovate Bot
77f2af00bb build: update browserslist to version 4.6.4 2019-07-10 15:26:07 -07:00