From f6e1fd84a254410fd05e7086d958581b32fae6d5 Mon Sep 17 00:00:00 2001
From: Alan Agius <alan.agius4@gmail.com>
Date: Thu, 1 Apr 2021 09:15:35 +0200
Subject: [PATCH] refactor(@angular-devkit/schematics-cli): move
 `@schematics/schematics` into this package

This change removes the need for the `@schematics/schematics` package and moves it inside `@angular-devkit/schematics-cli`.
---
 .monorepo.json                                |  5 --
 CONTRIBUTING.md                               |  1 -
 README.md                                     |  1 -
 packages/angular/cli/models/analytics.ts      |  1 -
 .../angular_devkit/schematics_cli/BUILD.bazel | 45 ++++++++++----
 .../schematics_cli/bin/schematics.ts          |  6 +-
 .../schematics_cli}/blank/factory.ts          |  0
 .../blank/project-files/README.md.template    |  0
 .../project-files/__dot__gitignore.template   |  0
 .../project-files/__dot__npmignore.template   |  0
 .../blank/project-files/package.json.template |  0
 .../src/collection.json.template              |  0
 .../project-files/tsconfig.json.template      |  0
 .../schematics_cli}/blank/schema.json         |  0
 .../src/__name@dasherize__/index.ts.template  |  0
 .../__name@dasherize__/index_spec.ts.template |  0
 .../schematics_cli}/collection.json           |  0
 .../schematics_cli/package.json               |  2 +-
 .../schematics_cli}/schematic/factory.ts      |  0
 .../schematics_cli}/schematic/files/README.md |  0
 .../schematic/files/__dot__gitignore          |  0
 .../schematic/files/__dot__npmignore          |  0
 .../schematic/files/package.json              |  0
 .../schematic/files/src/collection.json       |  0
 .../files/src/my-full-schematic/files/test2   |  0
 .../src/my-full-schematic/files/test__INDEX__ |  0
 .../files/src/my-full-schematic/index.ts      |  0
 .../files/src/my-full-schematic/index_spec.ts |  0
 .../files/src/my-full-schematic/schema.json   |  0
 .../files/src/my-other-schematic/index.ts     |  0
 .../src/my-other-schematic/index_spec.ts      |  0
 .../schematic/files/src/my-schematic/index.ts |  0
 .../files/src/my-schematic/index_spec.ts      |  0
 .../schematic/files/tsconfig.json             |  0
 .../schematics_cli}/schematic/schema.json     |  0
 packages/schematics/schematics/BUILD.bazel    | 62 -------------------
 packages/schematics/schematics/package.json   | 17 -----
 tsconfig.json                                 |  3 +-
 38 files changed, 39 insertions(+), 104 deletions(-)
 rename packages/{schematics/schematics => angular_devkit/schematics_cli}/blank/factory.ts (100%)
 rename packages/{schematics/schematics => angular_devkit/schematics_cli}/blank/project-files/README.md.template (100%)
 rename packages/{schematics/schematics => angular_devkit/schematics_cli}/blank/project-files/__dot__gitignore.template (100%)
 rename packages/{schematics/schematics => angular_devkit/schematics_cli}/blank/project-files/__dot__npmignore.template (100%)
 rename packages/{schematics/schematics => angular_devkit/schematics_cli}/blank/project-files/package.json.template (100%)
 rename packages/{schematics/schematics => angular_devkit/schematics_cli}/blank/project-files/src/collection.json.template (100%)
 rename packages/{schematics/schematics => angular_devkit/schematics_cli}/blank/project-files/tsconfig.json.template (100%)
 rename packages/{schematics/schematics => angular_devkit/schematics_cli}/blank/schema.json (100%)
 rename packages/{schematics/schematics => angular_devkit/schematics_cli}/blank/schematic-files/src/__name@dasherize__/index.ts.template (100%)
 rename packages/{schematics/schematics => angular_devkit/schematics_cli}/blank/schematic-files/src/__name@dasherize__/index_spec.ts.template (100%)
 rename packages/{schematics/schematics => angular_devkit/schematics_cli}/collection.json (100%)
 rename packages/{schematics/schematics => angular_devkit/schematics_cli}/schematic/factory.ts (100%)
 rename packages/{schematics/schematics => angular_devkit/schematics_cli}/schematic/files/README.md (100%)
 rename packages/{schematics/schematics => angular_devkit/schematics_cli}/schematic/files/__dot__gitignore (100%)
 rename packages/{schematics/schematics => angular_devkit/schematics_cli}/schematic/files/__dot__npmignore (100%)
 rename packages/{schematics/schematics => angular_devkit/schematics_cli}/schematic/files/package.json (100%)
 rename packages/{schematics/schematics => angular_devkit/schematics_cli}/schematic/files/src/collection.json (100%)
 rename packages/{schematics/schematics => angular_devkit/schematics_cli}/schematic/files/src/my-full-schematic/files/test2 (100%)
 rename packages/{schematics/schematics => angular_devkit/schematics_cli}/schematic/files/src/my-full-schematic/files/test__INDEX__ (100%)
 rename packages/{schematics/schematics => angular_devkit/schematics_cli}/schematic/files/src/my-full-schematic/index.ts (100%)
 rename packages/{schematics/schematics => angular_devkit/schematics_cli}/schematic/files/src/my-full-schematic/index_spec.ts (100%)
 rename packages/{schematics/schematics => angular_devkit/schematics_cli}/schematic/files/src/my-full-schematic/schema.json (100%)
 rename packages/{schematics/schematics => angular_devkit/schematics_cli}/schematic/files/src/my-other-schematic/index.ts (100%)
 rename packages/{schematics/schematics => angular_devkit/schematics_cli}/schematic/files/src/my-other-schematic/index_spec.ts (100%)
 rename packages/{schematics/schematics => angular_devkit/schematics_cli}/schematic/files/src/my-schematic/index.ts (100%)
 rename packages/{schematics/schematics => angular_devkit/schematics_cli}/schematic/files/src/my-schematic/index_spec.ts (100%)
 rename packages/{schematics/schematics => angular_devkit/schematics_cli}/schematic/files/tsconfig.json (100%)
 rename packages/{schematics/schematics => angular_devkit/schematics_cli}/schematic/schema.json (100%)
 delete mode 100644 packages/schematics/schematics/BUILD.bazel
 delete mode 100644 packages/schematics/schematics/package.json

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/**/*",