45 Commits

Author SHA1 Message Date
FG-33
9de282ca32 feat(@schematics/angular): add generator for interceptor
Rework.
2019-09-26 09:58:00 -07:00
Elvis Begovic
b2e74d119c feat(@schematics/angular): minimal=true should not create tests files when using ng generate command
Before this commit:
`--minimal=true` create project without any testing frameworks and disable e2e, lint, test targets.
But, if in this minimal project we try command `ng generate class|component|directive|guard|module|pipe|service`, it will always create `*_spec.ts` files.

After this commit:
`--minimal=true` override `@schematics/angular` in `angular.json` to not create `*_spec.ts` files when using `ng generate *` commands.
2019-09-09 14:10:50 -07:00
Alan Agius
8866f1d964 refactor(@schematics/angular): remove redundant aot option for production 2019-08-30 00:08:52 +05:30
Alan
ba8a6ea599 feat(@schematics/angular): remove enableIvy option
With this change we remove the enableIvy option as now we only support generating Ivy application. Users who want to create a VE applications should follow the opt-out guide
2019-08-16 09:31:02 -07:00
Alan Agius
d7b9650b5f refactor(@schematics/angular): remove hardcoded default values
Defaults in code are no longer required as the root issue was solved by https://github.com/angular/angular-cli/pull/15222
2019-08-08 08:25:50 -07:00
Amadou Sall
c4a3262ee2 fix(@schematics/angular): the ng-new schematic should not prompt for style
closes #13383
2019-08-02 13:34:26 -07:00
vikerman
07780b9272 style: clean up existing lint errors 2019-07-24 23:28:49 -07:00
Alan Agius
2a0dc39de3 feat(@schematics/angular): add anyComponentStyle to the applications bundle budget 2019-07-24 19:05:00 -07:00
Alan Agius
fce849c7d6 fix(@schematics/angular): remove lint target from minimal projects
Minimal projects are considered as throw-away projects and only a small subset of features are supported.

More context #13408 and #13354

Closes #14727
2019-06-11 09:56:42 -07:00
Filipe Silva
24f37a602c feat(@schematics/angular): default Ivy apps to AOT true
Testing on AIO with Angular master as of 28/05/2019 I got these results:
JIT ~414ms (369, 378, 408, 323, 593)
AOT using VE ~1383ms (1365, 1185, 1767, 1135, 1467)
AOT using Ivy ~517ms (600, 391, 444, 756, 394)

This is largely due to https://github.com/angular/angular/pull/29380 and https://github.com/angular/angular/pull/30238.

The second PR above was not merged to master, and thus will not be in 8.0.0. This PR should be merged to match it.
2019-06-06 14:03:00 -07:00
Alan Agius
a464c001c3 fix(@schematics/angular): fix paths when newProjectRoot is an empty string
When `newProjectRoot` the paths are prefixed with an `/` example `/project-name/tsconfig.lib.json` which results in these being marked as absolute paths, which causes build failures.

Fixes #14108
2019-04-22 16:17:39 -07:00
Alan
f03ff807b4 refactor(@schematics/angular): create relativePathToWorkspaceRoot helper and replace usages 2019-04-19 10:55:02 -07:00
Alan Agius
b976a3e72b refactor(@schematics/angular): don't add es5BrowserSupport by default 2019-04-18 11:46:25 -07:00
Charles Lyding
58f6282edf refactor(@schematics/angular): update application to use new workspace rules 2019-04-16 11:23:48 -07:00
Alan
3f6c1b5cd6 fix(@schematics/angular): minimal should not add test target
At the moment when using minimal flag, test targets are being created even though they cannot be used as test setup files are not created nor are testing dependencies
2019-04-04 09:28:19 -07:00
Alan Agius
f84abfc572 feat(@schematics/angular): remove ivy-ngcc postinstall script from new application 2019-04-01 02:54:41 -07:00
Alan
a7d095d916 feat(@schematics/angular): change layout for root applications
This change aligns the file layout of applications generated with `ng new` and `ng generate`

Ref: TOOL-686
2019-03-06 11:28:26 -08:00
Alan
08c4cb748f fix(@schematics/angular): reintroduce .sass as a supported file extention
Sass Indented (.sass) is fully supported by the Sass team and we should still offer and support it.

Fixes #13739
2019-03-04 10:26:09 -08:00
Alan
026ae8cefc feat(@schematics/angular): change layout of e2e files
With this change E2E files will be relocated inside an existing application instead of creating a seperate E2E project. This will also remove a lot of extra boilerplating inside the workspace configuration file.

File layout:
```
│   browserslist
│   karma.conf.js
│   tsconfig.app.json
│   tsconfig.spec.json
│   tslint.json
│
├───e2e
│   │   protractor.conf.js
│   │   tsconfig.e2e.json
│   │
│   └───src
│           app.e2e-spec.ts
│           app.po.ts
│
└───src
    │   favicon.ico
    │   index.html
    │   main.po.ts
    │   main.ts
    │   polyfills.ts
    │   styles.css
    │   test.ts
    │
    ├───app
    │       app.component.css
    │       app.component.html
    │       app.component.spec.ts
    │       app.component.ts
    │       app.module.ts
    │
    ├───assets
    │       .gitkeep
    │
    └───environments
            environment.prod.ts
            environment.ts
```

Ref: TOOL-699
2019-03-04 09:33:12 -08:00
Filipe Silva
05966646e7 feat(@schematics/angular): rename experimentalIvy to enableIvy
Followup to https://github.com/angular/angular/pull/28569#discussion_r259558085
2019-02-26 10:49:58 -08:00
Charles Lyding
b96e7bf76f fix(@schematics/angular): default newProjectRoot to current directory 2019-02-26 08:39:57 -08:00
Amadou Sall
79aa8d602d fix(@schematics/angular): undefined is used as newProjectRoot when none is set
Fixes #13703
2019-02-20 17:13:50 -08:00
Alan Agius
89797900db fix(@schematics/angular): fixes issue that ViewEncapsulation is not being configured when provided
Fixes #13689
2019-02-19 13:57:05 -08:00
Alan Agius
86356a747d fix(@schematics/angular): set cortrect file extention in config when using preprocessors (#13552)
Fixes #13550
2019-02-05 21:13:03 -08:00
Alan Agius
f6c80be867 fix(@schematics/angular): add non deprecated style as default
When adding default in the application schematics we should use the non deprecated `style` option.
2019-01-22 09:42:51 -08:00
Alan
4718de4dae feat(@schematics/angular): only support known style extentions
Fixes #13149
2019-01-18 11:56:19 -08:00
Alan Agius
36eba0c9fc refactor: use .template suffix for all schematic files
Currently when using `ivy-ngcc` it will print out a warning

```
Failed to read entry point info from //node_modules/@schematics/angular/workspace/files/package.json with error SyntaxError: Unexpected token < in JSON at position 1121.
```

Fixes #13378
2019-01-16 10:29:56 -08:00
Charles Lyding
66604efaca feat(@schematics/angular): enabled conditional ES2015 polyfills for new apps 2019-01-15 14:17:55 -08:00
Amadou Sall
f01c156d00 fix(@schematics/angular): apps code coverage should resides in their own folder 2019-01-14 10:57:51 -08:00
Alan Agius
f94576b232 feat(@schematics/angular): experimentalIvy should generates backwards compatible solution
Usage:
```
ng new foo --experimentalIvy
```

Users will need to use `ngcc` so to process code coming from NPM and produce the equivalent Ivy version. This needs to be done once after installing the node packages.

```
node_modules/.bin/ivy-ngcc
```

`ngtsc` compilter will then be used when building using the `--aot` or `--prod` flag.

Fixes #13024
2019-01-11 14:04:01 -08:00
Alan Agius
0715beb65c feat(@schematics/angular): add lintFix to several other schematics
At the moment some schematics contain this options for instance the `guard`, `component` etc.. But some others don't such as `module`

Fixes #12894 and Fixes #6272
2018-12-13 15:53:13 -08:00
Alan Agius
a12a4e02a4 feat(@schematics/angular): consistent naming of options and arguments that do the same thing
This aligns options that do the same thing:
1) `skipSpecs` and `spec` has been deprecated in favor of `skipTests`.
2) `styleext` has been deprecated in favor of `style` since the latest is two words.

Fixes #12784
2018-12-11 11:55:54 -08:00
Alan Agius
d3d433624b fix(@schematics/angular): minimal should be honored in workspace creation 2018-11-06 22:47:39 -08:00
Noël Macé
1f3e2768c2 fix(@schematics/angular): --minimal should prevent generating e2e (#12742)
* fix(@schematics/angular): --minimal should prevent generating e2e

Don't run the e2e schematic when using application or ng-new schematics
with option.minimal set to true.

fix #12739

* style: inverse logic according to feedback

* test(@schematics/angular): app and ng-new --minimal shouldn't generate e2e
2018-11-01 10:59:13 -07:00
Alan Agius
90a5a7db96 feat(@schematics/angular): install packages when creating a new application
Fixes #12719
2018-10-31 20:57:09 -07:00
Rohit Sarkar
907ce5c94c feat(@schematics/angular): Add --minimal flag to generate a barebones (#12498)
project
2018-10-10 12:08:24 -07:00
Hans
d1b6e71b35 fix(@schematics/angular): use proper project root for e2e
When creating an application, the project root was always "projects/e2e". This
is undesired as it leads to conflicts when creating another app.

Fix #12491.
2018-10-05 15:03:29 -07:00
Stephen Fluin
1cd4ce8fd5 feat(@schematics/angular): add default budget of 2mb/5mb 2018-09-26 09:01:56 -04:00
Volodymyr BIlyachat
8872205d65 fix(@schematics/angular): generate application with projectRoot is provided
Closes #11925.
2018-09-26 08:46:21 -04:00
Cédric Exbrayat
5757b21f21 fix(@schematics/angular): remove module test (#11278)
The `module` schematic was generating a useless `module.spec.ts` file.
This commit removes such test.

Fixes #11277
2018-09-20 14:05:47 -07:00
Charles Lyding
f107d2de11 fix(@schematics/angular): use 'architect' instead of 'targets' until deprecated 2018-09-13 16:43:31 -07:00
Alan Agius
82f2bda2f5 refactor(@schematics/angular): make interaction with architect targets type safe 2018-09-12 12:37:24 -07:00
Filipe Silva
307160806c feat(@schematics/angular): use targets property on new projects 2018-07-25 20:17:33 +01:00
Mike Brocchi
d3b49a5590 refactor: Consolidate adding dependencies 2018-06-08 19:59:53 +01:00
Hans Larsen
44086c60ff build: move devkit repo back to angular-cli 2018-06-05 18:50:06 -07:00