diff --git a/.monorepo.json b/.monorepo.json index 28126dcd52..cab101ad56 100644 --- a/.monorepo.json +++ b/.monorepo.json @@ -156,11 +156,6 @@ "name": "Angular Schematics", "section": "Schematics", "snapshotRepo": "angular/schematics-angular-builds" - }, - "@schematics/schematics": { - "name": "Schematics Schematics", - "section": "Schematics", - "snapshotRepo": "angular/schematics-schematics-builds" } } } diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c0f00ec99f..d1581721d4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -224,7 +224,6 @@ The following is the list of supported scopes: * **@angular-devkit/schematics-cli** * **@ngtools/webpack** * **@schematics/angular** -* **@schematics/schematics** ### Subject diff --git a/README.md b/README.md index 2ce41a4254..340f9daa8e 100644 --- a/README.md +++ b/README.md @@ -196,7 +196,6 @@ This is a monorepo which contains many tools and packages: |---|---|---|---| **Angular PWA Schematics** | [`@angular/pwa`](https://npmjs.com/package/@angular/pwa) | [![latest](https://img.shields.io/npm/v/%40angular%2Fpwa/latest.svg)](https://npmjs.com/package/@angular/pwa) | [![snapshot](https://img.shields.io/badge/snapshot--blue.svg)](https://github.com/angular/angular-pwa-builds) **Angular Schematics** | [`@schematics/angular`](https://npmjs.com/package/@schematics/angular) | [![latest](https://img.shields.io/npm/v/%40schematics%2Fangular/latest.svg)](https://npmjs.com/package/@schematics/angular) | [![snapshot](https://img.shields.io/badge/snapshot--blue.svg)](https://github.com/angular/schematics-angular-builds) -**Schematics Schematics** | [`@schematics/schematics`](https://npmjs.com/package/@schematics/schematics) | [![latest](https://img.shields.io/npm/v/%40schematics%2Fschematics/latest.svg)](https://npmjs.com/package/@schematics/schematics) | [![snapshot](https://img.shields.io/badge/snapshot--blue.svg)](https://github.com/angular/schematics-schematics-builds) #### Misc diff --git a/packages/angular/cli/models/analytics.ts b/packages/angular/cli/models/analytics.ts index e421eea58f..5883499f5a 100644 --- a/packages/angular/cli/models/analytics.ts +++ b/packages/angular/cli/models/analytics.ts @@ -47,7 +47,6 @@ export const analyticsPackageSafelist = [ /^@angular-devkit\//, /^@ngtools\//, '@schematics/angular', - '@schematics/schematics', ]; export function isPackageNameSafeForAnalytics(name: string): boolean { diff --git a/packages/angular_devkit/schematics_cli/BUILD.bazel b/packages/angular_devkit/schematics_cli/BUILD.bazel index aac0bda7e4..8dedb20c2b 100644 --- a/packages/angular_devkit/schematics_cli/BUILD.bazel +++ b/packages/angular_devkit/schematics_cli/BUILD.bazel @@ -1,5 +1,6 @@ load("@npm//@bazel/jasmine:index.bzl", "jasmine_node_test") load("//tools:defaults.bzl", "ts_library") +load("//tools:ts_json_schema.bzl", "ts_json_schema") # Copyright Google Inc. All Rights Reserved. # @@ -10,24 +11,35 @@ licenses(["notice"]) package(default_visibility = ["//visibility:public"]) # @angular-devkit/schematics-cli - ts_library( name = "schematics_cli", srcs = glob( - include = ["bin/**/*.ts"], - exclude = [ - "bin/**/*_spec.ts", - "bin/**/*_benchmark.ts", - ], - ), - # The attribute below is needed in g3 to turn off strict typechecking - # strict_checks = False, - data = glob( - include = ["**/*.json"], + include = ["**/*.ts"], exclude = [ + "**/*_spec.ts", + "schematic/files/**", + "blank/project-files/**", + "blank/schematic-files/**", # NB: we need to exclude the nested node_modules that is laid out by yarn workspaces "node_modules/**", ], + ) + [ + # @external_begin + # These files are generated from the JSON schema + "//packages/angular_devkit/schematics_cli:blank/schema.ts", + "//packages/angular_devkit/schematics_cli:schematic/schema.ts", + # @external_end + ], + data = glob( + include = [ + "collection.json", + "package.json", + "blank/schema.json", + "blank/project-files/**/*", + "blank/schematic-files/**/*", + "schematic/schema.json", + "schematic/files/**/*", + ], ), module_name = "@angular-devkit/schematics-cli", module_root = "bin/schematics.d.ts", @@ -37,7 +49,6 @@ ts_library( "//packages/angular_devkit/schematics", "//packages/angular_devkit/schematics/tasks", "//packages/angular_devkit/schematics/tools", - "//packages/schematics/schematics", "@npm//@types/inquirer", "@npm//@types/minimist", "@npm//@types/node", @@ -66,3 +77,13 @@ jasmine_node_test( name = "schematics_cli_test", srcs = [":schematics_cli_test_lib"], ) + +ts_json_schema( + name = "blank_schema", + src = "blank/schema.json", +) + +ts_json_schema( + name = "schematic_schema", + src = "schematic/schema.json", +) diff --git a/packages/angular_devkit/schematics_cli/bin/schematics.ts b/packages/angular_devkit/schematics_cli/bin/schematics.ts index e38c758070..84c08f340e 100644 --- a/packages/angular_devkit/schematics_cli/bin/schematics.ts +++ b/packages/angular_devkit/schematics_cli/bin/schematics.ts @@ -26,7 +26,7 @@ import * as minimist from 'minimist'; * and show usage. * * In the case where a collection name isn't part of the argument, the default is to use the - * schematics package (@schematics/schematics) as the collection. + * schematics package (@angular-devkit/schematics-cli) as the collection. * * This logic is entirely up to the tooling. * @@ -34,7 +34,7 @@ import * as minimist from 'minimist'; * @return {{collection: string, schematic: (string)}} */ function parseSchematicName(str: string | null): { collection: string, schematic: string | null } { - let collection = '@schematics/schematics'; + let collection = '@angular-devkit/schematics-cli'; let schematic = str; if (schematic && schematic.indexOf(':') != -1) { @@ -328,7 +328,7 @@ function getUsage(): string { --force Force overwriting files that would otherwise be an error. --list-schematics List all schematics from the collection, by name. A collection name - should be suffixed by a colon. Example: '@schematics/schematics:'. + should be suffixed by a colon. Example: '@angular-devkit/schematics-cli:'. --no-interactive Disables interactive input prompts. diff --git a/packages/schematics/schematics/blank/factory.ts b/packages/angular_devkit/schematics_cli/blank/factory.ts similarity index 100% rename from packages/schematics/schematics/blank/factory.ts rename to packages/angular_devkit/schematics_cli/blank/factory.ts diff --git a/packages/schematics/schematics/blank/project-files/README.md.template b/packages/angular_devkit/schematics_cli/blank/project-files/README.md.template similarity index 100% rename from packages/schematics/schematics/blank/project-files/README.md.template rename to packages/angular_devkit/schematics_cli/blank/project-files/README.md.template diff --git a/packages/schematics/schematics/blank/project-files/__dot__gitignore.template b/packages/angular_devkit/schematics_cli/blank/project-files/__dot__gitignore.template similarity index 100% rename from packages/schematics/schematics/blank/project-files/__dot__gitignore.template rename to packages/angular_devkit/schematics_cli/blank/project-files/__dot__gitignore.template diff --git a/packages/schematics/schematics/blank/project-files/__dot__npmignore.template b/packages/angular_devkit/schematics_cli/blank/project-files/__dot__npmignore.template similarity index 100% rename from packages/schematics/schematics/blank/project-files/__dot__npmignore.template rename to packages/angular_devkit/schematics_cli/blank/project-files/__dot__npmignore.template diff --git a/packages/schematics/schematics/blank/project-files/package.json.template b/packages/angular_devkit/schematics_cli/blank/project-files/package.json.template similarity index 100% rename from packages/schematics/schematics/blank/project-files/package.json.template rename to packages/angular_devkit/schematics_cli/blank/project-files/package.json.template diff --git a/packages/schematics/schematics/blank/project-files/src/collection.json.template b/packages/angular_devkit/schematics_cli/blank/project-files/src/collection.json.template similarity index 100% rename from packages/schematics/schematics/blank/project-files/src/collection.json.template rename to packages/angular_devkit/schematics_cli/blank/project-files/src/collection.json.template diff --git a/packages/schematics/schematics/blank/project-files/tsconfig.json.template b/packages/angular_devkit/schematics_cli/blank/project-files/tsconfig.json.template similarity index 100% rename from packages/schematics/schematics/blank/project-files/tsconfig.json.template rename to packages/angular_devkit/schematics_cli/blank/project-files/tsconfig.json.template diff --git a/packages/schematics/schematics/blank/schema.json b/packages/angular_devkit/schematics_cli/blank/schema.json similarity index 100% rename from packages/schematics/schematics/blank/schema.json rename to packages/angular_devkit/schematics_cli/blank/schema.json diff --git a/packages/schematics/schematics/blank/schematic-files/src/__name@dasherize__/index.ts.template b/packages/angular_devkit/schematics_cli/blank/schematic-files/src/__name@dasherize__/index.ts.template similarity index 100% rename from packages/schematics/schematics/blank/schematic-files/src/__name@dasherize__/index.ts.template rename to packages/angular_devkit/schematics_cli/blank/schematic-files/src/__name@dasherize__/index.ts.template diff --git a/packages/schematics/schematics/blank/schematic-files/src/__name@dasherize__/index_spec.ts.template b/packages/angular_devkit/schematics_cli/blank/schematic-files/src/__name@dasherize__/index_spec.ts.template similarity index 100% rename from packages/schematics/schematics/blank/schematic-files/src/__name@dasherize__/index_spec.ts.template rename to packages/angular_devkit/schematics_cli/blank/schematic-files/src/__name@dasherize__/index_spec.ts.template diff --git a/packages/schematics/schematics/collection.json b/packages/angular_devkit/schematics_cli/collection.json similarity index 100% rename from packages/schematics/schematics/collection.json rename to packages/angular_devkit/schematics_cli/collection.json diff --git a/packages/angular_devkit/schematics_cli/package.json b/packages/angular_devkit/schematics_cli/package.json index 7434a3afdf..375c1744ce 100644 --- a/packages/angular_devkit/schematics_cli/package.json +++ b/packages/angular_devkit/schematics_cli/package.json @@ -14,10 +14,10 @@ "code generation", "schematics" ], + "schematics": "./collection.json", "dependencies": { "@angular-devkit/core": "0.0.0", "@angular-devkit/schematics": "0.0.0", - "@schematics/schematics": "0.0.0", "ansi-colors": "4.1.1", "inquirer": "8.0.0", "minimist": "1.2.5", diff --git a/packages/schematics/schematics/schematic/factory.ts b/packages/angular_devkit/schematics_cli/schematic/factory.ts similarity index 100% rename from packages/schematics/schematics/schematic/factory.ts rename to packages/angular_devkit/schematics_cli/schematic/factory.ts diff --git a/packages/schematics/schematics/schematic/files/README.md b/packages/angular_devkit/schematics_cli/schematic/files/README.md similarity index 100% rename from packages/schematics/schematics/schematic/files/README.md rename to packages/angular_devkit/schematics_cli/schematic/files/README.md diff --git a/packages/schematics/schematics/schematic/files/__dot__gitignore b/packages/angular_devkit/schematics_cli/schematic/files/__dot__gitignore similarity index 100% rename from packages/schematics/schematics/schematic/files/__dot__gitignore rename to packages/angular_devkit/schematics_cli/schematic/files/__dot__gitignore diff --git a/packages/schematics/schematics/schematic/files/__dot__npmignore b/packages/angular_devkit/schematics_cli/schematic/files/__dot__npmignore similarity index 100% rename from packages/schematics/schematics/schematic/files/__dot__npmignore rename to packages/angular_devkit/schematics_cli/schematic/files/__dot__npmignore diff --git a/packages/schematics/schematics/schematic/files/package.json b/packages/angular_devkit/schematics_cli/schematic/files/package.json similarity index 100% rename from packages/schematics/schematics/schematic/files/package.json rename to packages/angular_devkit/schematics_cli/schematic/files/package.json diff --git a/packages/schematics/schematics/schematic/files/src/collection.json b/packages/angular_devkit/schematics_cli/schematic/files/src/collection.json similarity index 100% rename from packages/schematics/schematics/schematic/files/src/collection.json rename to packages/angular_devkit/schematics_cli/schematic/files/src/collection.json diff --git a/packages/schematics/schematics/schematic/files/src/my-full-schematic/files/test2 b/packages/angular_devkit/schematics_cli/schematic/files/src/my-full-schematic/files/test2 similarity index 100% rename from packages/schematics/schematics/schematic/files/src/my-full-schematic/files/test2 rename to packages/angular_devkit/schematics_cli/schematic/files/src/my-full-schematic/files/test2 diff --git a/packages/schematics/schematics/schematic/files/src/my-full-schematic/files/test__INDEX__ b/packages/angular_devkit/schematics_cli/schematic/files/src/my-full-schematic/files/test__INDEX__ similarity index 100% rename from packages/schematics/schematics/schematic/files/src/my-full-schematic/files/test__INDEX__ rename to packages/angular_devkit/schematics_cli/schematic/files/src/my-full-schematic/files/test__INDEX__ diff --git a/packages/schematics/schematics/schematic/files/src/my-full-schematic/index.ts b/packages/angular_devkit/schematics_cli/schematic/files/src/my-full-schematic/index.ts similarity index 100% rename from packages/schematics/schematics/schematic/files/src/my-full-schematic/index.ts rename to packages/angular_devkit/schematics_cli/schematic/files/src/my-full-schematic/index.ts diff --git a/packages/schematics/schematics/schematic/files/src/my-full-schematic/index_spec.ts b/packages/angular_devkit/schematics_cli/schematic/files/src/my-full-schematic/index_spec.ts similarity index 100% rename from packages/schematics/schematics/schematic/files/src/my-full-schematic/index_spec.ts rename to packages/angular_devkit/schematics_cli/schematic/files/src/my-full-schematic/index_spec.ts diff --git a/packages/schematics/schematics/schematic/files/src/my-full-schematic/schema.json b/packages/angular_devkit/schematics_cli/schematic/files/src/my-full-schematic/schema.json similarity index 100% rename from packages/schematics/schematics/schematic/files/src/my-full-schematic/schema.json rename to packages/angular_devkit/schematics_cli/schematic/files/src/my-full-schematic/schema.json diff --git a/packages/schematics/schematics/schematic/files/src/my-other-schematic/index.ts b/packages/angular_devkit/schematics_cli/schematic/files/src/my-other-schematic/index.ts similarity index 100% rename from packages/schematics/schematics/schematic/files/src/my-other-schematic/index.ts rename to packages/angular_devkit/schematics_cli/schematic/files/src/my-other-schematic/index.ts diff --git a/packages/schematics/schematics/schematic/files/src/my-other-schematic/index_spec.ts b/packages/angular_devkit/schematics_cli/schematic/files/src/my-other-schematic/index_spec.ts similarity index 100% rename from packages/schematics/schematics/schematic/files/src/my-other-schematic/index_spec.ts rename to packages/angular_devkit/schematics_cli/schematic/files/src/my-other-schematic/index_spec.ts diff --git a/packages/schematics/schematics/schematic/files/src/my-schematic/index.ts b/packages/angular_devkit/schematics_cli/schematic/files/src/my-schematic/index.ts similarity index 100% rename from packages/schematics/schematics/schematic/files/src/my-schematic/index.ts rename to packages/angular_devkit/schematics_cli/schematic/files/src/my-schematic/index.ts diff --git a/packages/schematics/schematics/schematic/files/src/my-schematic/index_spec.ts b/packages/angular_devkit/schematics_cli/schematic/files/src/my-schematic/index_spec.ts similarity index 100% rename from packages/schematics/schematics/schematic/files/src/my-schematic/index_spec.ts rename to packages/angular_devkit/schematics_cli/schematic/files/src/my-schematic/index_spec.ts diff --git a/packages/schematics/schematics/schematic/files/tsconfig.json b/packages/angular_devkit/schematics_cli/schematic/files/tsconfig.json similarity index 100% rename from packages/schematics/schematics/schematic/files/tsconfig.json rename to packages/angular_devkit/schematics_cli/schematic/files/tsconfig.json diff --git a/packages/schematics/schematics/schematic/schema.json b/packages/angular_devkit/schematics_cli/schematic/schema.json similarity index 100% rename from packages/schematics/schematics/schematic/schema.json rename to packages/angular_devkit/schematics_cli/schematic/schema.json diff --git a/packages/schematics/schematics/BUILD.bazel b/packages/schematics/schematics/BUILD.bazel deleted file mode 100644 index bfd7abf10e..0000000000 --- a/packages/schematics/schematics/BUILD.bazel +++ /dev/null @@ -1,62 +0,0 @@ -# Copyright Google Inc. All Rights Reserved. -# -# Use of this source code is governed by an MIT-style license that can be -# found in the LICENSE file at https://angular.io/license - -load("//tools:defaults.bzl", "ts_library") -load("//tools:ts_json_schema.bzl", "ts_json_schema") - -licenses(["notice"]) # MIT - -package(default_visibility = ["//visibility:public"]) - -ts_library( - name = "schematics", - srcs = glob( - include = ["**/*.ts"], - exclude = [ - "**/*_spec.ts", - "**/*_benchmark.ts", - "schematic/files/**", - "blank/project-files/**", - "blank/schematic-files/**", - # NB: we need to exclude the nested node_modules that is laid out by yarn workspaces - "node_modules/**", - ], - ) + [ - # @external_begin - # These files are generated from the JSON schema - "//packages/schematics/schematics:blank/schema.ts", - "//packages/schematics/schematics:schematic/schema.ts", - # @external_end - ], - data = glob( - include = [ - "collection.json", - "package.json", - "blank/schema.json", - "blank/project-files/**/*", - "blank/schematic-files/**/*", - "schematic/schema.json", - "schematic/files/**/*", - ], - ), - module_name = "@schematics/schematics", - deps = [ - "//packages/angular_devkit/core", - "//packages/angular_devkit/schematics", - "//packages/angular_devkit/schematics/tasks", - "@npm//@types/node", - "@npm//rxjs", - ], -) - -ts_json_schema( - name = "blank_schema", - src = "blank/schema.json", -) - -ts_json_schema( - name = "schematic_schema", - src = "schematic/schema.json", -) diff --git a/packages/schematics/schematics/package.json b/packages/schematics/schematics/package.json deleted file mode 100644 index 4cf1ccd23b..0000000000 --- a/packages/schematics/schematics/package.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "@schematics/schematics", - "version": "0.0.0", - "description": "Schematics specific to Angular", - "experimental": true, - "keywords": [ - "blueprints", - "code generation", - "schematics", - "schematic" - ], - "schematics": "./collection.json", - "dependencies": { - "@angular-devkit/core": "0.0.0", - "@angular-devkit/schematics": "0.0.0" - } -} diff --git a/tsconfig.json b/tsconfig.json index 89085933c7..7922da9866 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -65,8 +65,9 @@ "etc/cli.angular.io/**/*", "**/node_modules/**/*", "**/third_party/**/*", - "packages/schematics/*/*/*files/**/*", + "packages/angular_devkit/schematics_cli/*/files/**/*", "packages/angular_devkit/*/test/**/*", + "packages/schematics/*/*/*files/**/*", "tests/**/*", "tools/**/*", "integration/**/*",