From a7ac2062ba1d648f813a84f1ab0bbeec7d388468 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Mon, 19 Jul 2021 19:24:37 +0200 Subject: [PATCH 1/2] refactor(@schematics/angular): sync schematics dependencies using Renovate With this change we sync workspace and library schematic dependencies using Renovate. We do this to avoid having to keep these in sync by hand. We could have used TypeScripts' `resolveJsonModule` to make the `latestVersion` object typesafe. But `ts_library` doesn't support JSON inputs. --- packages/schematics/angular/BUILD.bazel | 1 + .../schematics/angular/application/index.ts | 2 +- .../angular/application/index_spec.ts | 4 ++-- packages/schematics/angular/library/index.ts | 10 ++++---- .../schematics/angular/library/index_spec.ts | 6 ++--- .../update-10/update-dependencies.ts | 2 +- .../update-11/update-dependencies.ts | 1 - .../angular/migrations/update-9/add-tslib.ts | 2 +- .../update-9/update-dependencies.ts | 1 - .../angular/utility/latest-versions.ts | 15 ++++++------ .../utility/latest-versions/package.json | 20 ++++++++++++++++ .../workspace/files/package.json.template | 24 +++++++++---------- .../angular/workspace/index_spec.ts | 6 ++--- renovate.json | 10 +++++++- 14 files changed, 66 insertions(+), 38 deletions(-) create mode 100644 packages/schematics/angular/utility/latest-versions/package.json diff --git a/packages/schematics/angular/BUILD.bazel b/packages/schematics/angular/BUILD.bazel index e3e3eb731e21..1626e8b3c7bb 100644 --- a/packages/schematics/angular/BUILD.bazel +++ b/packages/schematics/angular/BUILD.bazel @@ -64,6 +64,7 @@ ts_library( include = [ "collection.json", "package.json", + "utility/latest-versions/package.json", "migrations/migration-collection.json", "*/schema.json", "*/files/**/*", diff --git a/packages/schematics/angular/application/index.ts b/packages/schematics/angular/application/index.ts index ad922f789e0a..cd599cdb404c 100644 --- a/packages/schematics/angular/application/index.ts +++ b/packages/schematics/angular/application/index.ts @@ -50,7 +50,7 @@ function addDependenciesToPackageJson(options: ApplicationOptions) { { type: NodeDependencyType.Dev, name: 'typescript', - version: latestVersions.TypeScript, + version: latestVersions['typescript'], }, ].forEach((dependency) => addPackageJsonDependency(host, dependency)); diff --git a/packages/schematics/angular/application/index_spec.ts b/packages/schematics/angular/application/index_spec.ts index cef08c2722ed..213f38683380 100644 --- a/packages/schematics/angular/application/index_spec.ts +++ b/packages/schematics/angular/application/index_spec.ts @@ -341,7 +341,7 @@ describe('Application Schematic', () => { .toPromise(); const pkg = JSON.parse(tree.readContent('/package.json')); expect(pkg.devDependencies['@angular/compiler-cli']).toEqual(latestVersions.Angular); - expect(pkg.devDependencies['typescript']).toEqual(latestVersions.TypeScript); + expect(pkg.devDependencies['typescript']).toEqual(latestVersions['typescript']); }); it(`should not override existing users dependencies`, async () => { @@ -349,7 +349,7 @@ describe('Application Schematic', () => { workspaceTree.overwrite( 'package.json', oldPackageJson.replace( - `"typescript": "${latestVersions.TypeScript}"`, + `"typescript": "${latestVersions['typescript']}"`, `"typescript": "~2.5.2"`, ), ); diff --git a/packages/schematics/angular/library/index.ts b/packages/schematics/angular/library/index.ts index 40ff8b1a4583..35f999c35590 100644 --- a/packages/schematics/angular/library/index.ts +++ b/packages/schematics/angular/library/index.ts @@ -61,17 +61,17 @@ function addDependenciesToPackageJson() { { type: NodeDependencyType.Dev, name: 'ng-packagr', - version: latestVersions.ngPackagr, + version: latestVersions['ng-packagr'], }, { type: NodeDependencyType.Default, name: 'tslib', - version: latestVersions.TsLib, + version: latestVersions['tslib'], }, { type: NodeDependencyType.Dev, name: 'typescript', - version: latestVersions.TypeScript, + version: latestVersions['typescript'], }, ].forEach((dependency) => addPackageJsonDependency(host, dependency)); @@ -162,8 +162,8 @@ export default function (options: LibraryOptions): Rule { distRoot, relativePathToWorkspaceRoot: relativePathToWorkspaceRoot(projectRoot), prefix, - angularLatestVersion: latestVersions.Angular.replace('~', '').replace('^', ''), - tsLibLatestVersion: latestVersions.TsLib.replace('~', '').replace('^', ''), + angularLatestVersion: latestVersions.Angular.replace(/\~|\^/, ''), + tsLibLatestVersion: latestVersions['tslib'].replace(/\~|\^/, ''), folderName, }), move(projectRoot), diff --git a/packages/schematics/angular/library/index_spec.ts b/packages/schematics/angular/library/index_spec.ts index 0bb815a9b410..0ae0e9a55f30 100644 --- a/packages/schematics/angular/library/index_spec.ts +++ b/packages/schematics/angular/library/index_spec.ts @@ -183,7 +183,7 @@ describe('Library Schematic', () => { .toPromise(); const packageJson = getJsonFileContent(tree, 'package.json'); - expect(packageJson.devDependencies['ng-packagr']).toEqual(latestVersions.ngPackagr); + expect(packageJson.devDependencies['ng-packagr']).toEqual(latestVersions['ng-packagr']); }); it('should use the latest known versions in package.json', async () => { @@ -192,7 +192,7 @@ describe('Library Schematic', () => { .toPromise(); const pkg = JSON.parse(tree.readContent('/package.json')); expect(pkg.devDependencies['@angular/compiler-cli']).toEqual(latestVersions.Angular); - expect(pkg.devDependencies['typescript']).toEqual(latestVersions.TypeScript); + expect(pkg.devDependencies['typescript']).toEqual(latestVersions['typescript']); }); it(`should not override existing users dependencies`, async () => { @@ -200,7 +200,7 @@ describe('Library Schematic', () => { workspaceTree.overwrite( 'package.json', oldPackageJson.replace( - `"typescript": "${latestVersions.TypeScript}"`, + `"typescript": "${latestVersions['typescript']}"`, `"typescript": "~2.5.2"`, ), ); diff --git a/packages/schematics/angular/migrations/update-10/update-dependencies.ts b/packages/schematics/angular/migrations/update-10/update-dependencies.ts index 40abeb752d95..f6c87c238b95 100644 --- a/packages/schematics/angular/migrations/update-10/update-dependencies.ts +++ b/packages/schematics/angular/migrations/update-10/update-dependencies.ts @@ -22,7 +22,7 @@ export default function (): Rule { 'karma-jasmine': '~4.0.0', 'karma-jasmine-html-reporter': '^1.5.0', 'protractor': '~7.0.0', - 'ng-packagr': latestVersions.ngPackagr, + 'ng-packagr': latestVersions['ng-packagr'], 'tslib': '^2.0.0', }; diff --git a/packages/schematics/angular/migrations/update-11/update-dependencies.ts b/packages/schematics/angular/migrations/update-11/update-dependencies.ts index 5ceb862e0c24..2d84b18daa20 100644 --- a/packages/schematics/angular/migrations/update-11/update-dependencies.ts +++ b/packages/schematics/angular/migrations/update-11/update-dependencies.ts @@ -9,7 +9,6 @@ import { Rule } from '@angular-devkit/schematics'; import { NodePackageInstallTask } from '@angular-devkit/schematics/tasks'; import { addPackageJsonDependency, getPackageJsonDependency } from '../../utility/dependencies'; -import { latestVersions } from '../../utility/latest-versions'; export default function (): Rule { return (host, context) => { diff --git a/packages/schematics/angular/migrations/update-9/add-tslib.ts b/packages/schematics/angular/migrations/update-9/add-tslib.ts index f8f4a3f90d20..3c57cfe79eef 100644 --- a/packages/schematics/angular/migrations/update-9/add-tslib.ts +++ b/packages/schematics/angular/migrations/update-9/add-tslib.ts @@ -25,7 +25,7 @@ export function addTsLib(): Rule { addPackageJsonDependency(host, { name: 'tslib', - version: latestVersions.TsLib, + version: latestVersions['tslib'], type: NodeDependencyType.Default, overwrite: true, }); diff --git a/packages/schematics/angular/migrations/update-9/update-dependencies.ts b/packages/schematics/angular/migrations/update-9/update-dependencies.ts index 3208d8972b37..a5308a52fce6 100644 --- a/packages/schematics/angular/migrations/update-9/update-dependencies.ts +++ b/packages/schematics/angular/migrations/update-9/update-dependencies.ts @@ -12,7 +12,6 @@ import { getPackageJsonDependency, removePackageJsonDependency, } from '../../utility/dependencies'; -import { latestVersions } from '../../utility/latest-versions'; export function updateDependencies(): Rule { return (host, context) => { diff --git a/packages/schematics/angular/utility/latest-versions.ts b/packages/schematics/angular/utility/latest-versions.ts index ed6d59bee2c1..dda249efd9dd 100644 --- a/packages/schematics/angular/utility/latest-versions.ts +++ b/packages/schematics/angular/utility/latest-versions.ts @@ -6,18 +6,19 @@ * found in the LICENSE file at https://angular.io/license */ -export const latestVersions = { +export const latestVersions: Record & { + Angular: string; + DevkitBuildAngular: string; +} = { + // We could have used TypeScripts' `resolveJsonModule` to make the `latestVersion` object typesafe, + // but ts_library doesn't support JSON inputs. + ...require('./latest-versions/package.json')['dependencies'], + // These versions should be kept up to date with latest Angular peer dependencies. Angular: '~12.2.0-next.2', - RxJs: '~6.6.0', - ZoneJs: '~0.11.4', - TypeScript: '~4.3.2', - TsLib: '^2.2.0', // Since @angular-devkit/build-angular and @schematics/angular are always // published together from the same monorepo, and they are both // non-experimental, they will always have the same version. DevkitBuildAngular: '~' + require('../package.json')['version'], - - ngPackagr: '^12.1.0', }; diff --git a/packages/schematics/angular/utility/latest-versions/package.json b/packages/schematics/angular/utility/latest-versions/package.json new file mode 100644 index 000000000000..314ad86efbfd --- /dev/null +++ b/packages/schematics/angular/utility/latest-versions/package.json @@ -0,0 +1,20 @@ +{ + "description": "Package versions used by schematics in @schematics/angular.", + "comment": "This file is needed so that depedencies are synced by Renovate.", + "private": true, + "dependencies": { + "@types/jasmine": "~3.8.0", + "@types/node": "^12.11.1", + "jasmine-core": "~3.8.0", + "karma-chrome-launcher": "~3.1.0", + "karma-coverage": "~2.0.3", + "karma-jasmine-html-reporter": "~1.7.0", + "karma-jasmine": "~4.0.0", + "karma": "~6.3.0", + "ng-packagr": "^12.1.1", + "rxjs": "~6.6.0", + "tslib": "^2.3.0", + "typescript": "~4.3.5", + "zone.js": "~0.11.4" + } +} diff --git a/packages/schematics/angular/workspace/files/package.json.template b/packages/schematics/angular/workspace/files/package.json.template index ce5dabad8112..490d505e58b6 100644 --- a/packages/schematics/angular/workspace/files/package.json.template +++ b/packages/schematics/angular/workspace/files/package.json.template @@ -18,21 +18,21 @@ "@angular/platform-browser": "<%= latestVersions.Angular %>", "@angular/platform-browser-dynamic": "<%= latestVersions.Angular %>", "@angular/router": "<%= latestVersions.Angular %>", - "rxjs": "<%= latestVersions.RxJs %>", - "tslib": "<%= latestVersions.TsLib %>", - "zone.js": "<%= latestVersions.ZoneJs %>" + "rxjs": "<%= latestVersions['rxjs'] %>", + "tslib": "<%= latestVersions['tslib'] %>", + "zone.js": "<%= latestVersions['zone.js'] %>" }, "devDependencies": { "@angular/cli": "<%= '~' + version %>", "@angular/compiler-cli": "<%= latestVersions.Angular %>",<% if (!minimal) { %> - "@types/jasmine": "~3.8.0",<% } %> - "@types/node": "^12.11.1",<% if (!minimal) { %> - "jasmine-core": "~3.8.0", - "karma": "~6.3.0", - "karma-chrome-launcher": "~3.1.0", - "karma-coverage": "~2.0.3", - "karma-jasmine": "~4.0.0", - "karma-jasmine-html-reporter": "~1.7.0",<% } %> - "typescript": "<%= latestVersions.TypeScript %>" + "@types/jasmine": "<%= latestVersions['@types/jasmine'] %>",<% } %> + "@types/node": "<%= latestVersions['@types/node'] %>",<% if (!minimal) { %> + "jasmine-core": "<%= latestVersions['jasmine-core'] %>", + "karma": "<%= latestVersions['karma'] %>", + "karma-chrome-launcher": "<%= latestVersions['karma-chrome-launcher'] %>", + "karma-coverage": "<%= latestVersions['karma-coverage'] %>", + "karma-jasmine": "<%= latestVersions['karma-jasmine'] %>", + "karma-jasmine-html-reporter": "<%= latestVersions['karma-jasmine-html-reporter'] %>",<% } %> + "typescript": "<%= latestVersions['typescript'] %>" } } diff --git a/packages/schematics/angular/workspace/index_spec.ts b/packages/schematics/angular/workspace/index_spec.ts index 25f5c986caf4..202f8906b333 100644 --- a/packages/schematics/angular/workspace/index_spec.ts +++ b/packages/schematics/angular/workspace/index_spec.ts @@ -54,9 +54,9 @@ describe('Workspace Schematic', () => { const tree = await schematicRunner.runSchematicAsync('workspace', defaultOptions).toPromise(); const pkg = JSON.parse(tree.readContent('/package.json')); expect(pkg.dependencies['@angular/core']).toEqual(latestVersions.Angular); - expect(pkg.dependencies['rxjs']).toEqual(latestVersions.RxJs); - expect(pkg.dependencies['zone.js']).toEqual(latestVersions.ZoneJs); - expect(pkg.devDependencies['typescript']).toEqual(latestVersions.TypeScript); + expect(pkg.dependencies['rxjs']).toEqual(latestVersions['rxjs']); + expect(pkg.dependencies['zone.js']).toEqual(latestVersions['zone.js']); + expect(pkg.devDependencies['typescript']).toEqual(latestVersions['typescript']); }); it('should create correct files when using minimal', async () => { diff --git a/renovate.json b/renovate.json index 22693c93a82d..a389c0daa211 100644 --- a/renovate.json +++ b/renovate.json @@ -44,7 +44,15 @@ "enabled": false }, { - "excludePackagePatterns": ["^@angular/.*"], + "matchPaths": ["packages/schematics/angular/utility/latest-versions/package.json"], + "matchPackagePatterns": ["*"], + "groupName": "schematics dependencies", + "groupSlug": "all-schematics-ependencies" + }, + { + "excludePackagePatterns": [ + "!packages/schematics/angular/utility/latest-versions/package.json" + ], "matchPackagePatterns": ["*"], "matchUpdateTypes": ["minor", "patch"], "groupName": "all non-major dependencies", From a1ccf5eea6ae5131d363d1ea724cb1c7b5fcf9b3 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 20 Jul 2021 06:33:21 +0200 Subject: [PATCH 2/2] refactor(@angular-devkit/schematics-cli): sync schematics dependencies using Renovate With this change we sync schematic dependencies using Renovate. --- .eslintignore | 2 ++ .prettierignore | 3 +++ .../schematics_cli/blank/factory.ts | 6 +++--- .../{README.md.template => README.md} | 2 +- ...ot__gitignore.template => __dot__gitignore} | 1 + ...ot__npmignore.template => __dot__npmignore} | 1 + .../{package.json.template => package.json} | 0 ...ollection.json.template => collection.json} | 3 +-- .../{tsconfig.json.template => tsconfig.json} | 18 ++++-------------- .../{index.ts.template => index.ts} | 0 .../{index_spec.ts.template => index_spec.ts} | 6 +++--- renovate.json | 12 +++++++++--- tsconfig.json | 3 ++- 13 files changed, 30 insertions(+), 27 deletions(-) rename packages/angular_devkit/schematics_cli/blank/project-files/{README.md.template => README.md} (99%) rename packages/angular_devkit/schematics_cli/blank/project-files/{__dot__gitignore.template => __dot__gitignore} (99%) rename packages/angular_devkit/schematics_cli/blank/project-files/{__dot__npmignore.template => __dot__npmignore} (98%) rename packages/angular_devkit/schematics_cli/blank/project-files/{package.json.template => package.json} (100%) rename packages/angular_devkit/schematics_cli/blank/project-files/src/{collection.json.template => collection.json} (79%) rename packages/angular_devkit/schematics_cli/blank/project-files/{tsconfig.json.template => tsconfig.json} (73%) rename packages/angular_devkit/schematics_cli/blank/schematic-files/src/__name@dasherize__/{index.ts.template => index.ts} (100%) rename packages/angular_devkit/schematics_cli/blank/schematic-files/src/__name@dasherize__/{index_spec.ts.template => index_spec.ts} (77%) diff --git a/.eslintignore b/.eslintignore index 3a012076c286..c3cc98e062af 100644 --- a/.eslintignore +++ b/.eslintignore @@ -3,6 +3,8 @@ /goldens/public-api /packages/angular_devkit/build_angular/test/ /packages/angular_devkit/build_webpack/test/ +/packages/angular_devkit/schematics_cli/blank/project-files/ +/packages/angular_devkit/schematics_cli/blank/schematic-files/ /packages/angular_devkit/schematics_cli/schematic/files/ /tests/ .yarn/ diff --git a/.prettierignore b/.prettierignore index 6853bd566bb9..d1cd003e83c5 100644 --- a/.prettierignore +++ b/.prettierignore @@ -4,6 +4,9 @@ /goldens/public-api /packages/angular_devkit/build_angular/test/ /packages/angular_devkit/core/src/workspace/json/test/ +/packages/angular_devkit/schematics_cli/blank/project-files/ +/packages/angular_devkit/schematics_cli/blank/schematic-files/ +/packages/angular_devkit/schematics_cli/schematic/files/ /README.md /CONTRIBUTING.md .yarn/ diff --git a/packages/angular_devkit/schematics_cli/blank/factory.ts b/packages/angular_devkit/schematics_cli/blank/factory.ts index 7483c71cdf9d..3911d70ee70e 100644 --- a/packages/angular_devkit/schematics_cli/blank/factory.ts +++ b/packages/angular_devkit/schematics_cli/blank/factory.ts @@ -22,10 +22,10 @@ import { Tree, UpdateRecorder, apply, - applyTemplates, chain, mergeWith, move, + template, url, } from '@angular-devkit/schematics'; import { NodePackageInstallTask } from '@angular-devkit/schematics/tasks'; @@ -116,7 +116,7 @@ export default function (options: Schema): Rule { } catch {} let source = apply(url('./schematic-files'), [ - applyTemplates({ + template({ ...options, coreVersion, schematicsVersion, @@ -130,7 +130,7 @@ export default function (options: Schema): Rule { if (!collectionPath) { collectionPath = normalize('/' + options.name + '/src/collection.json'); source = apply(url('./project-files'), [ - applyTemplates({ + template({ ...(options as object), coreVersion, schematicsVersion, diff --git a/packages/angular_devkit/schematics_cli/blank/project-files/README.md.template b/packages/angular_devkit/schematics_cli/blank/project-files/README.md similarity index 99% rename from packages/angular_devkit/schematics_cli/blank/project-files/README.md.template rename to packages/angular_devkit/schematics_cli/blank/project-files/README.md index 7854bc97d952..1784a81768c2 100644 --- a/packages/angular_devkit/schematics_cli/blank/project-files/README.md.template +++ b/packages/angular_devkit/schematics_cli/blank/project-files/README.md @@ -7,6 +7,7 @@ This repository is a basic Schematic implementation that serves as a starting po To test locally, install `@angular-devkit/schematics-cli` globally and use the `schematics` command line tool. That tool acts the same as the `generate` command of the Angular CLI, but also has a debug mode. Check the documentation with + ```bash schematics --help ``` @@ -25,4 +26,3 @@ npm publish ``` That's it! - \ No newline at end of file diff --git a/packages/angular_devkit/schematics_cli/blank/project-files/__dot__gitignore.template b/packages/angular_devkit/schematics_cli/blank/project-files/__dot__gitignore similarity index 99% rename from packages/angular_devkit/schematics_cli/blank/project-files/__dot__gitignore.template rename to packages/angular_devkit/schematics_cli/blank/project-files/__dot__gitignore index 82677b588411..d4b3bf2873e8 100644 --- a/packages/angular_devkit/schematics_cli/blank/project-files/__dot__gitignore.template +++ b/packages/angular_devkit/schematics_cli/blank/project-files/__dot__gitignore @@ -1,3 +1,4 @@ + # Outputs src/**/*.js src/**/*.js.map diff --git a/packages/angular_devkit/schematics_cli/blank/project-files/__dot__npmignore.template b/packages/angular_devkit/schematics_cli/blank/project-files/__dot__npmignore similarity index 98% rename from packages/angular_devkit/schematics_cli/blank/project-files/__dot__npmignore.template rename to packages/angular_devkit/schematics_cli/blank/project-files/__dot__npmignore index c55ccfc3f5f9..7c31f4692f1e 100644 --- a/packages/angular_devkit/schematics_cli/blank/project-files/__dot__npmignore.template +++ b/packages/angular_devkit/schematics_cli/blank/project-files/__dot__npmignore @@ -1,3 +1,4 @@ + # Ignores TypeScript files, but keeps definitions. *.ts !*.d.ts diff --git a/packages/angular_devkit/schematics_cli/blank/project-files/package.json.template b/packages/angular_devkit/schematics_cli/blank/project-files/package.json similarity index 100% rename from packages/angular_devkit/schematics_cli/blank/project-files/package.json.template rename to packages/angular_devkit/schematics_cli/blank/project-files/package.json diff --git a/packages/angular_devkit/schematics_cli/blank/project-files/src/collection.json.template b/packages/angular_devkit/schematics_cli/blank/project-files/src/collection.json similarity index 79% rename from packages/angular_devkit/schematics_cli/blank/project-files/src/collection.json.template rename to packages/angular_devkit/schematics_cli/blank/project-files/src/collection.json index 272c195ad411..2651cd0f839d 100644 --- a/packages/angular_devkit/schematics_cli/blank/project-files/src/collection.json.template +++ b/packages/angular_devkit/schematics_cli/blank/project-files/src/collection.json @@ -1,5 +1,4 @@ { "$schema": "../node_modules/@angular-devkit/schematics/collection-schema.json", - "schematics": { - } + "schematics": {} } diff --git a/packages/angular_devkit/schematics_cli/blank/project-files/tsconfig.json.template b/packages/angular_devkit/schematics_cli/blank/project-files/tsconfig.json similarity index 73% rename from packages/angular_devkit/schematics_cli/blank/project-files/tsconfig.json.template rename to packages/angular_devkit/schematics_cli/blank/project-files/tsconfig.json index c294d9b63384..75cf15fa8e3c 100644 --- a/packages/angular_devkit/schematics_cli/blank/project-files/tsconfig.json.template +++ b/packages/angular_devkit/schematics_cli/blank/project-files/tsconfig.json @@ -1,10 +1,7 @@ { "compilerOptions": { "baseUrl": "tsconfig", - "lib": [ - "es2018", - "dom" - ], + "lib": ["es2018", "dom"], "declaration": true, "module": "commonjs", "moduleResolution": "node", @@ -20,15 +17,8 @@ "sourceMap": true, "strictNullChecks": true, "target": "es6", - "types": [ - "jasmine", - "node" - ] + "types": ["jasmine", "node"] }, - "include": [ - "src/**/*" - ], - "exclude": [ - "src/*/files/**/*" - ] + "include": ["src/**/*"], + "exclude": ["src/*/files/**/*"] } diff --git a/packages/angular_devkit/schematics_cli/blank/schematic-files/src/__name@dasherize__/index.ts.template b/packages/angular_devkit/schematics_cli/blank/schematic-files/src/__name@dasherize__/index.ts similarity index 100% rename from packages/angular_devkit/schematics_cli/blank/schematic-files/src/__name@dasherize__/index.ts.template rename to packages/angular_devkit/schematics_cli/blank/schematic-files/src/__name@dasherize__/index.ts diff --git a/packages/angular_devkit/schematics_cli/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 similarity index 77% rename from packages/angular_devkit/schematics_cli/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 index 8d794c1cdced..6583dd811719 100644 --- a/packages/angular_devkit/schematics_cli/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 @@ -2,14 +2,14 @@ import { Tree } from '@angular-devkit/schematics'; import { SchematicTestRunner } from '@angular-devkit/schematics/testing'; import * as path from 'path'; - const collectionPath = path.join(__dirname, '../collection.json'); - describe('<%= dasherize(name) %>', () => { it('works', async () => { const runner = new SchematicTestRunner('schematics', collectionPath); - const tree = await runner.runSchematicAsync('<%= dasherize(name) %>', {}, Tree.empty()).toPromise(); + const tree = await runner + .runSchematicAsync('<%= dasherize(name) %>', {}, Tree.empty()) + .toPromise(); expect(tree.files).toEqual([]); }); diff --git a/renovate.json b/renovate.json index a389c0daa211..3697d129c868 100644 --- a/renovate.json +++ b/renovate.json @@ -44,13 +44,19 @@ "enabled": false }, { - "matchPaths": ["packages/schematics/angular/utility/latest-versions/package.json"], + "matchPaths": [ + "packages/angular_devkit/schematics_cli/blank/project-files/package.json", + "packages/angular_devkit/schematics_cli/schematic/files/package.json", + "packages/schematics/angular/utility/latest-versions/package.json" + ], "matchPackagePatterns": ["*"], "groupName": "schematics dependencies", - "groupSlug": "all-schematics-ependencies" + "groupSlug": "all-schematics-dependencies" }, { - "excludePackagePatterns": [ + "matchPaths": [ + "!packages/angular_devkit/schematics_cli/blank/project-files/package.json", + "!packages/angular_devkit/schematics_cli/schematic/files/package.json", "!packages/schematics/angular/utility/latest-versions/package.json" ], "matchPackagePatterns": ["*"], diff --git a/tsconfig.json b/tsconfig.json index 825ad3038016..47eb178dc84a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -57,7 +57,8 @@ "goldens/**/*", "**/node_modules/**/*", "**/third_party/**/*", - "packages/angular_devkit/schematics_cli/*/files/**/*", + "packages/angular_devkit/schematics_cli/blank/*-files/**/*", + "packages/angular_devkit/schematics_cli/schematic/files/**/*", "packages/angular_devkit/*/test/**/*", "packages/schematics/*/*/*files/**/*", "tests/**/*",