34 Commits

Author SHA1 Message Date
Alan Agius
076ab0f11f refactor: add correct schema keys
With this change
- We replace `id` with `$id`,  this no longer valid in draft-07.
- Replace all `$schemas` to `http://json-schema.org/draft-07/schema`, this is needed to "pin" the schema to `draft-07`.

More information about `draft-07` can be found https://json-schema.org/draft-07/json-schema-release-notes.html
2021-04-13 10:51:12 -04:00
George Kalpakas
6fa8856721 fix(@schematics/angular): explicitly specify ServiceWorker registration strategy
This commit updates the `service-worker` schematics to explicitly
specify the ServiceWorker registration strategy in the
[ServiceWorkerModule.register()] call.

We still use the default strategy, so there should be no change in the
behavior of the generated apps. However, it will help people find out
what the default behavior is when debugging potential issues with
delayed ServiceWorker registration.
(See the discussion in angular/angular#41223 for more details.)

[1]: https://angular.io/api/service-worker/ServiceWorkerModule#register
2021-03-30 14:33:19 -06:00
Alan Agius
ba6f546a02 fix(@schematics/angular): add additionalProperties to all schemas 2021-03-10 08:17:50 -06:00
Alan Agius
1de6d71edd feat(@schematics/angular): production builds by default
With this change we do several changes to the `angular.json` configuration for `build` , `server` and `app-shell` targets so that these are `production` by default.

- build, server and app-shell targets are configured to run production by default.
- We add a new configuration named `development` to run the mentioned builder targets in development. Ex: `ng build --configuration development`.
- When adding `universal` or `app-shell`, we generate the full set of configurations as per the `buiid` target. Previously, we only generated the `production` configuration.
- We added a helper script in `package.json` to run build in watch mode. `npm run watch` which is a shortcut for `ng build --watch --configuration development`
2021-03-10 08:16:38 -06:00
Charles Lyding
dd58aa6210 refactor(@schematics/angular): avoid InsertChange type assumptions
This change introduces a helper function (`applyToUpdateRecorder`) that handles all known `Change` classes.  The use of this helper function removes type assumptions within the schematics.  Many of these assumptions caused compilation errors when strict TypeScript options are enabled.
2020-08-03 15:39:55 -04:00
Alan Agius
50ca94ac65 style: format ngsw-config 2020-07-13 12:19:58 -04:00
Artur Androsovych
545847788d fix(@schematics/angular): handle aliased or existing environment import (#16377)
Closes: #16226
2019-12-20 16:33:31 -08:00
Keen Yee Liau
0662a8d774 build: g3 sync for packages/schematics and packages/angular
Fix all build errors in g3
2019-10-03 14:29:07 -07:00
Alan Agius
d1b04480e8 fix(@schematics/angular): add manifest.webmanifest to the list of prefetched files in ngws-config.json (#15277)
In the latest versions of Chrome Version 76.0.3809.100, the `manifest.webmanifest` is being requested when offline and is caused a 504 error.

https://github.com/angular/angular-cli/issues/15259#issuecomment-519047384
2019-08-12 10:30:40 -07:00
Charles Lyding
5a7b823b28 test: remove use of deprecated synchronous test helper runSchematic 2019-08-08 08:27:31 -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
f03ff807b4 refactor(@schematics/angular): create relativePathToWorkspaceRoot helper and replace usages 2019-04-19 10:55:02 -07:00
Charles Lyding
8e70f18e0c refactor(@schematics/angular): update service-worker to use new workspace rules 2019-04-16 11:23:48 -07:00
Cyrille Tuzi
d747490fd9 feat(@schematics/angular): JSON schema for service worker config 2019-03-11 13:37:28 -07:00
Alex Eagle
bf1c069f73 refactor(@schematics/angular): drop dependency on TypeScript package
instead, vendor in the two files we actually need.
This reduces our install footprint by 5MB
2019-03-06 11:27:48 -08:00
Alan
64b83e2a55 feat(@schematics/angular): relocate ng g service-worker files
This is a follow up on https://github.com/angular/angular-cli/pull/13811, with this now all application have the same structure and hence `ng g service-worker` should follow suit and have the same folder strucute if generated in a root app, or an app inside the projects.
2019-03-06 11:27:04 -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
Alan Agius
f8bf4ea70e fix(@schematics/angular): remove properties which are set by default from required
At the moment, these would end up being required to be passed even though a default is provided.

Fixes #13010
2019-01-11 12:30:58 -08:00
Alan Agius
263e8c1333 feat(@schematics/angular): generate ngsw-config.json under the project
Generate `ngsw-config.json` under the project sourceRoot if root is empty similar to the `karma.conf.js`

Now:
```
-- src
---- ngsw-config.json
-- project
---- app
------ ngsw-config.json
```
Current:
```
-- ngsw-config.json
-- src
-- project
---- app
------ ngsw-config.json
```

Fixes #10793
2019-01-08 13:49:40 -08:00
Alan Agius
0692cacd06 feat(@schematics/angular): account for root level assets and resourcesOutputPath (#13074)
* feat(@schematics/angular): account for root level assets and `resourcesOutputPath`

By default we are only account for assets inside the assets folder. Which breaks the offline experience.

Fixes #13067

* test: add test to verify root level assets in service workers
2018-11-30 14:08:03 -08:00
Judy Bogart
ed6e765471
docs: add generation schematics option docs 2018-11-13 13:09:51 -08:00
Hans
f15d5589c3 refactor(@schematics/angular): automated JSON schema generation 2018-09-13 16:44:17 -07:00
Charles Lyding
57c049e507 test: update to support targets & architect fields 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
9720077a4b build: make resolution logic compatible with Bazel 2018-08-22 16:36:10 -07:00
Mike Brocchi
f64087b625 fix(@schematics/angular): Allow additionalProperties in schematics options
fixes #11681
2018-08-03 12:38:27 -04:00
Filipe Silva
38fda3ea60 fix(@schematics/angular): support updating projects that use the targets property 2018-07-25 20:17:33 +01:00
George Kalpakas
ae3831b1e3 docs(@schematics/angular): fix typos in property descriptions 2018-07-23 16:42:45 +01:00
George Kalpakas
8ce5ef48b8 style(@schematics/angular): minor improvements in ngsw-config.json 2018-06-13 16:55:42 +01:00
George Kalpakas
1405f53422 fix(@schematics/angular): allow ServiceWorker to work with baseHref
Fixes angular/angular-cli#8515
2018-06-13 16:55:42 +01:00
George Kalpakas
a307f5ebf2 refactor(@schematics/angular): minor refactorings 2018-06-13 16:55:42 +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