From ca8d24b3d4c2e768bdf98290bdfefe8e018220d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leosvel=20P=C3=A9rez=20Espinosa?= Date: Tue, 14 Mar 2023 16:38:35 +0000 Subject: [PATCH] fix(angular): set projectName as the default source for relevant generators (#15664) --- .../generators/component-cypress-spec.json | 1 + .../angular/generators/component-test.json | 1 + .../angular/generators/component.json | 1 + .../cypress-component-configuration.json | 1 + .../angular/generators/scam-directive.json | 1 + .../angular/generators/scam-pipe.json | 1 + .../packages/angular/generators/scam.json | 1 + .../angular/generators/web-worker.json | 1 + .../component-cypress-spec/schema.json | 4 + .../src/generators/component-test/schema.json | 4 + .../__snapshots__/component.spec.ts.snap | 14 ---- .../generators/component/component.spec.ts | 83 ------------------- .../src/generators/component/component.ts | 6 +- .../component/lib/normalize-options.ts | 43 +--------- .../src/generators/component/schema.d.ts | 3 +- .../src/generators/component/schema.json | 4 + .../schema.json | 4 + .../scam-directive/lib/normalize-options.ts | 10 +-- .../scam-directive/scam-directive.ts | 4 +- .../src/generators/scam-directive/schema.d.ts | 3 +- .../src/generators/scam-directive/schema.json | 4 + .../scam-pipe/lib/normalize-options.ts | 10 +-- .../src/generators/scam-pipe/scam-pipe.ts | 4 +- .../src/generators/scam-pipe/schema.d.ts | 3 +- .../src/generators/scam-pipe/schema.json | 4 + .../generators/scam/lib/normalize-options.ts | 10 +-- packages/angular/src/generators/scam/scam.ts | 3 +- .../angular/src/generators/scam/schema.d.ts | 3 +- .../angular/src/generators/scam/schema.json | 4 + .../angular/src/generators/utils/file-info.ts | 6 +- packages/angular/src/generators/utils/path.ts | 3 +- .../src/generators/web-worker/schema.json | 4 + 32 files changed, 61 insertions(+), 187 deletions(-) diff --git a/docs/generated/packages/angular/generators/component-cypress-spec.json b/docs/generated/packages/angular/generators/component-cypress-spec.json index 0bf16b4ba6..a91a068673 100644 --- a/docs/generated/packages/angular/generators/component-cypress-spec.json +++ b/docs/generated/packages/angular/generators/component-cypress-spec.json @@ -11,6 +11,7 @@ "projectName": { "type": "string", "description": "The name of the project.", + "$default": { "$source": "projectName", "index": 0 }, "examples": ["ui-samples"], "x-priority": "important" }, diff --git a/docs/generated/packages/angular/generators/component-test.json b/docs/generated/packages/angular/generators/component-test.json index 6419d00c89..25d1918668 100644 --- a/docs/generated/packages/angular/generators/component-test.json +++ b/docs/generated/packages/angular/generators/component-test.json @@ -11,6 +11,7 @@ "project": { "type": "string", "description": "The name of the project where the component is located.", + "$default": { "$source": "projectName", "index": 0 }, "x-dropdown": "projects", "x-prompt": "What project is the component located in?", "x-priority": "important" diff --git a/docs/generated/packages/angular/generators/component.json b/docs/generated/packages/angular/generators/component.json index 88e286cab9..1691b4601d 100644 --- a/docs/generated/packages/angular/generators/component.json +++ b/docs/generated/packages/angular/generators/component.json @@ -19,6 +19,7 @@ "project": { "type": "string", "description": "The name of the project.", + "$default": { "$source": "projectName", "index": 0 }, "x-dropdown": "projects" }, "name": { diff --git a/docs/generated/packages/angular/generators/cypress-component-configuration.json b/docs/generated/packages/angular/generators/cypress-component-configuration.json index c1ae9b98bc..9b5168e0a3 100644 --- a/docs/generated/packages/angular/generators/cypress-component-configuration.json +++ b/docs/generated/packages/angular/generators/cypress-component-configuration.json @@ -12,6 +12,7 @@ "project": { "type": "string", "description": "The name of the project to add cypress component testing configuration to", + "$default": { "$source": "projectName", "index": 0 }, "x-dropdown": "projects", "x-prompt": "What project should we add Cypress component testing to?", "x-priority": "important" diff --git a/docs/generated/packages/angular/generators/scam-directive.json b/docs/generated/packages/angular/generators/scam-directive.json index edde8c5220..040272057a 100644 --- a/docs/generated/packages/angular/generators/scam-directive.json +++ b/docs/generated/packages/angular/generators/scam-directive.json @@ -25,6 +25,7 @@ "project": { "type": "string", "description": "The name of the project.", + "$default": { "$source": "projectName", "index": 0 }, "x-dropdown": "projects" }, "name": { diff --git a/docs/generated/packages/angular/generators/scam-pipe.json b/docs/generated/packages/angular/generators/scam-pipe.json index 189b9ed8fc..d6537b142b 100644 --- a/docs/generated/packages/angular/generators/scam-pipe.json +++ b/docs/generated/packages/angular/generators/scam-pipe.json @@ -25,6 +25,7 @@ "project": { "type": "string", "description": "The name of the project.", + "$default": { "$source": "projectName", "index": 0 }, "x-dropdown": "projects" }, "name": { diff --git a/docs/generated/packages/angular/generators/scam.json b/docs/generated/packages/angular/generators/scam.json index b66949152a..e6a19236a9 100644 --- a/docs/generated/packages/angular/generators/scam.json +++ b/docs/generated/packages/angular/generators/scam.json @@ -25,6 +25,7 @@ "project": { "type": "string", "description": "The name of the project.", + "$default": { "$source": "projectName", "index": 0 }, "x-dropdown": "projects" }, "name": { diff --git a/docs/generated/packages/angular/generators/web-worker.json b/docs/generated/packages/angular/generators/web-worker.json index 7fde5ed9e7..3052c16a8e 100644 --- a/docs/generated/packages/angular/generators/web-worker.json +++ b/docs/generated/packages/angular/generators/web-worker.json @@ -17,6 +17,7 @@ "project": { "type": "string", "description": "The name of the project.", + "$default": { "$source": "projectName", "index": 0 }, "x-dropdown": "projects", "x-priority": "important" }, diff --git a/packages/angular/src/generators/component-cypress-spec/schema.json b/packages/angular/src/generators/component-cypress-spec/schema.json index adbb0e69b2..fa593a64cd 100644 --- a/packages/angular/src/generators/component-cypress-spec/schema.json +++ b/packages/angular/src/generators/component-cypress-spec/schema.json @@ -8,6 +8,10 @@ "projectName": { "type": "string", "description": "The name of the project.", + "$default": { + "$source": "projectName", + "index": 0 + }, "examples": ["ui-samples"], "x-priority": "important" }, diff --git a/packages/angular/src/generators/component-test/schema.json b/packages/angular/src/generators/component-test/schema.json index 384575a516..9737a97826 100644 --- a/packages/angular/src/generators/component-test/schema.json +++ b/packages/angular/src/generators/component-test/schema.json @@ -8,6 +8,10 @@ "project": { "type": "string", "description": "The name of the project where the component is located.", + "$default": { + "$source": "projectName", + "index": 0 + }, "x-dropdown": "projects", "x-prompt": "What project is the component located in?", "x-priority": "important" diff --git a/packages/angular/src/generators/component/__snapshots__/component.spec.ts.snap b/packages/angular/src/generators/component/__snapshots__/component.spec.ts.snap index 127b5a4e5e..a8bb0263a0 100644 --- a/packages/angular/src/generators/component/__snapshots__/component.spec.ts.snap +++ b/packages/angular/src/generators/component/__snapshots__/component.spec.ts.snap @@ -42,20 +42,6 @@ export class ExampleComponent { " `; -exports[`component Generator --path should infer project from path and generate component correctly 1`] = ` -"import { Component } from '@angular/core'; - -@Component({ - selector: 'example', - templateUrl: './example.component.html', - styleUrls: ['./example.component.css'] -}) -export class ExampleComponent { - -} -" -`; - exports[`component Generator secondary entry points should create the component correctly and export it in the entry point 1`] = ` "import { Component } from '@angular/core'; diff --git a/packages/angular/src/generators/component/component.spec.ts b/packages/angular/src/generators/component/component.spec.ts index 9f3b0875fd..1039d0a83f 100644 --- a/packages/angular/src/generators/component/component.spec.ts +++ b/packages/angular/src/generators/component/component.spec.ts @@ -1,4 +1,3 @@ -import type { ProjectGraph } from '@nrwl/devkit'; import { addProjectConfiguration, stripIndents, @@ -8,14 +7,6 @@ import { import { createTreeWithEmptyWorkspace } from '@nrwl/devkit/testing'; import componentGenerator from './component'; -let projectGraph: ProjectGraph; -jest.mock('@nrwl/devkit', () => { - return { - ...jest.requireActual('@nrwl/devkit'), - createProjectGraphAsync: jest.fn().mockImplementation(() => projectGraph), - }; -}); - describe('component Generator', () => { it('should create the component correctly and export it in the entry point when "export=true"', async () => { // ARRANGE @@ -420,50 +411,6 @@ describe('component Generator', () => { ); }); - it('should infer project from path and generate component correctly', async () => { - // ARRANGE - const tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - addProjectConfiguration(tree, 'lib1', { - projectType: 'library', - sourceRoot: 'libs/lib1/src', - root: 'libs/lib1', - }); - tree.write( - 'libs/lib1/src/lib/lib.module.ts', - ` - import { NgModule } from '@angular/core'; - - @NgModule({ - declarations: [], - exports: [] - }) - export class LibModule {}` - ); - projectGraph = { - nodes: { - lib1: { - name: 'lib1', - type: 'lib', - data: { root: 'libs/lib1' } as any, - }, - }, - dependencies: {}, - }; - - // ACT - await componentGenerator(tree, { - name: 'example', - path: 'libs/lib1/src/lib/mycomp', - }); - - // ASSERT - const componentSource = tree.read( - 'libs/lib1/src/lib/mycomp/example/example.component.ts', - 'utf-8' - ); - expect(componentSource).toMatchSnapshot(); - }); - it('should throw if the path specified is not under the project root', async () => { // ARRANGE const tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); @@ -495,36 +442,6 @@ describe('component Generator', () => { }) ).rejects.toThrow(); }); - - it('should throw when path and projects are not provided and defaultProject is not set', async () => { - // ARRANGE - const tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' }); - addProjectConfiguration(tree, 'lib1', { - projectType: 'library', - sourceRoot: 'libs/lib1/src', - root: 'libs/lib1', - }); - tree.write( - 'libs/lib1/src/lib/lib.module.ts', - ` - import { NgModule } from '@angular/core'; - - @NgModule({ - declarations: [], - exports: [] - }) - export class LibModule {}` - ); - tree.write('libs/lib1/src/index.ts', 'export * from "./lib/lib.module";'); - - // ACT & ASSERT - await expect( - componentGenerator(tree, { - name: 'example', - export: false, - }) - ).rejects.toThrow(); - }); }); describe('--module', () => { diff --git a/packages/angular/src/generators/component/component.ts b/packages/angular/src/generators/component/component.ts index 7b1e3d73a5..47bd7a68ab 100644 --- a/packages/angular/src/generators/component/component.ts +++ b/packages/angular/src/generators/component/component.ts @@ -1,11 +1,11 @@ import type { Tree } from '@nrwl/devkit'; import { formatFiles, stripIndents } from '@nrwl/devkit'; +import { lt } from 'semver'; +import { checkPathUnderProjectRoot } from '../utils/path'; +import { getInstalledAngularVersionInfo } from '../utils/version-utils'; import { exportComponentInEntryPoint } from './lib/component'; import { normalizeOptions } from './lib/normalize-options'; import type { Schema } from './schema'; -import { getInstalledAngularVersionInfo } from '../utils/version-utils'; -import { lt } from 'semver'; -import { checkPathUnderProjectRoot } from '../utils/path'; export async function componentGenerator(tree: Tree, rawOptions: Schema) { const installedAngularVersionInfo = getInstalledAngularVersionInfo(tree); diff --git a/packages/angular/src/generators/component/lib/normalize-options.ts b/packages/angular/src/generators/component/lib/normalize-options.ts index 49331e5c59..999ee958db 100644 --- a/packages/angular/src/generators/component/lib/normalize-options.ts +++ b/packages/angular/src/generators/component/lib/normalize-options.ts @@ -1,52 +1,14 @@ import type { Tree } from '@nrwl/devkit'; -import { - createProjectGraphAsync, - joinPathFragments, - readNxJson, - readProjectConfiguration, -} from '@nrwl/devkit'; +import { joinPathFragments, readProjectConfiguration } from '@nrwl/devkit'; import type { NormalizedSchema, Schema } from '../schema'; -import { - createProjectRootMappings, - findProjectForPath, -} from 'nx/src/project-graph/utils/find-project-for-path'; - -async function findProjectFromOptions(options: Schema) { - const projectGraph = await createProjectGraphAsync(); - const projectRootMappings = createProjectRootMappings(projectGraph.nodes); - - // path can be undefined when running on the root of the workspace, we default to the root - // to handle standalone layouts - return findProjectForPath(options.path || '', projectRootMappings); -} export async function normalizeOptions( tree: Tree, options: Schema ): Promise { - const project = - options.project ?? - (await findProjectFromOptions(options)) ?? - readNxJson(tree).defaultProject; - - if (!project) { - // path is hidden, so if not provided we don't suggest setting it - if (!options.path) { - throw new Error( - 'No "project" was specified and "defaultProject" is not set in the workspace configuration. Please provide the "project" option and try again.' - ); - } - - // path was provided, so it's wrong and we should mention it - throw new Error( - 'The provided "path" is wrong and no "project" was specified and "defaultProject" is not set in the workspace configuration. ' + - 'Please provide a correct "path" or provide the "project" option instead and try again.' - ); - } - const { projectType, root, sourceRoot } = readProjectConfiguration( tree, - project + options.project ); const projectSourceRoot = sourceRoot ?? joinPathFragments(root, 'src'); const path = @@ -59,7 +21,6 @@ export async function normalizeOptions( return { ...options, path, - project, projectSourceRoot, }; } diff --git a/packages/angular/src/generators/component/schema.d.ts b/packages/angular/src/generators/component/schema.d.ts index 32ba328d57..826da21f71 100644 --- a/packages/angular/src/generators/component/schema.d.ts +++ b/packages/angular/src/generators/component/schema.d.ts @@ -1,7 +1,7 @@ export interface Schema { name: string; + project: string; path?: string; - project?: string; displayBlock?: boolean; inlineStyle?: boolean; inlineTemplate?: boolean; @@ -21,6 +21,5 @@ export interface Schema { export interface NormalizedSchema extends Schema { path: string; - project: string; projectSourceRoot: string; } diff --git a/packages/angular/src/generators/component/schema.json b/packages/angular/src/generators/component/schema.json index 20659fdf53..2985e22fba 100644 --- a/packages/angular/src/generators/component/schema.json +++ b/packages/angular/src/generators/component/schema.json @@ -16,6 +16,10 @@ "project": { "type": "string", "description": "The name of the project.", + "$default": { + "$source": "projectName", + "index": 0 + }, "x-dropdown": "projects" }, "name": { diff --git a/packages/angular/src/generators/cypress-component-configuration/schema.json b/packages/angular/src/generators/cypress-component-configuration/schema.json index a19930c920..533c21c686 100644 --- a/packages/angular/src/generators/cypress-component-configuration/schema.json +++ b/packages/angular/src/generators/cypress-component-configuration/schema.json @@ -9,6 +9,10 @@ "project": { "type": "string", "description": "The name of the project to add cypress component testing configuration to", + "$default": { + "$source": "projectName", + "index": 0 + }, "x-dropdown": "projects", "x-prompt": "What project should we add Cypress component testing to?", "x-priority": "important" diff --git a/packages/angular/src/generators/scam-directive/lib/normalize-options.ts b/packages/angular/src/generators/scam-directive/lib/normalize-options.ts index 57dab1091c..60484bbef2 100644 --- a/packages/angular/src/generators/scam-directive/lib/normalize-options.ts +++ b/packages/angular/src/generators/scam-directive/lib/normalize-options.ts @@ -1,19 +1,14 @@ import type { Tree } from '@nrwl/devkit'; -import { - joinPathFragments, - readNxJson, - readProjectConfiguration, -} from '@nrwl/devkit'; +import { joinPathFragments, readProjectConfiguration } from '@nrwl/devkit'; import type { NormalizedSchema, Schema } from '../schema'; export function normalizeOptions( tree: Tree, options: Schema ): NormalizedSchema { - const project = options.project ?? readNxJson(tree).defaultProject; const { projectType, root, sourceRoot } = readProjectConfiguration( tree, - project + options.project ); const projectSourceRoot = sourceRoot ?? joinPathFragments(root, 'src'); const path = @@ -29,7 +24,6 @@ export function normalizeOptions( flat: options.flat ?? true, inlineScam: options.inlineScam ?? true, path, - project, projectSourceRoot, }; } diff --git a/packages/angular/src/generators/scam-directive/scam-directive.ts b/packages/angular/src/generators/scam-directive/scam-directive.ts index 32eb486501..51b45d7cec 100644 --- a/packages/angular/src/generators/scam-directive/scam-directive.ts +++ b/packages/angular/src/generators/scam-directive/scam-directive.ts @@ -2,7 +2,6 @@ import type { Tree } from '@nrwl/devkit'; import { formatFiles, normalizePath, - readNxJson, readProjectConfiguration, } from '@nrwl/devkit'; import { exportScam } from '../utils/export-scam'; @@ -41,8 +40,7 @@ function checkPathUnderProjectRoot(tree: Tree, options: Partial) { return; } - const project = options.project ?? readNxJson(tree).defaultProject; - const { root } = readProjectConfiguration(tree, project); + const { root } = readProjectConfiguration(tree, options.project); let pathToDirective = normalizePath(options.path); pathToDirective = pathToDirective.startsWith('/') diff --git a/packages/angular/src/generators/scam-directive/schema.d.ts b/packages/angular/src/generators/scam-directive/schema.d.ts index cd73a4d595..873c61a9c5 100644 --- a/packages/angular/src/generators/scam-directive/schema.d.ts +++ b/packages/angular/src/generators/scam-directive/schema.d.ts @@ -1,7 +1,7 @@ export interface Schema { name: string; + project: string; path?: string; - project?: string; skipTests?: boolean; inlineScam?: boolean; flat?: boolean; @@ -15,6 +15,5 @@ export interface NormalizedSchema extends Schema { flat: boolean; inlineScam: boolean; path: string; - project: string; projectSourceRoot: string; } diff --git a/packages/angular/src/generators/scam-directive/schema.json b/packages/angular/src/generators/scam-directive/schema.json index faa6e9ac32..3746cb7150 100644 --- a/packages/angular/src/generators/scam-directive/schema.json +++ b/packages/angular/src/generators/scam-directive/schema.json @@ -22,6 +22,10 @@ "project": { "type": "string", "description": "The name of the project.", + "$default": { + "$source": "projectName", + "index": 0 + }, "x-dropdown": "projects" }, "name": { diff --git a/packages/angular/src/generators/scam-pipe/lib/normalize-options.ts b/packages/angular/src/generators/scam-pipe/lib/normalize-options.ts index 57dab1091c..60484bbef2 100644 --- a/packages/angular/src/generators/scam-pipe/lib/normalize-options.ts +++ b/packages/angular/src/generators/scam-pipe/lib/normalize-options.ts @@ -1,19 +1,14 @@ import type { Tree } from '@nrwl/devkit'; -import { - joinPathFragments, - readNxJson, - readProjectConfiguration, -} from '@nrwl/devkit'; +import { joinPathFragments, readProjectConfiguration } from '@nrwl/devkit'; import type { NormalizedSchema, Schema } from '../schema'; export function normalizeOptions( tree: Tree, options: Schema ): NormalizedSchema { - const project = options.project ?? readNxJson(tree).defaultProject; const { projectType, root, sourceRoot } = readProjectConfiguration( tree, - project + options.project ); const projectSourceRoot = sourceRoot ?? joinPathFragments(root, 'src'); const path = @@ -29,7 +24,6 @@ export function normalizeOptions( flat: options.flat ?? true, inlineScam: options.inlineScam ?? true, path, - project, projectSourceRoot, }; } diff --git a/packages/angular/src/generators/scam-pipe/scam-pipe.ts b/packages/angular/src/generators/scam-pipe/scam-pipe.ts index 5540aba8a8..8927e689b6 100644 --- a/packages/angular/src/generators/scam-pipe/scam-pipe.ts +++ b/packages/angular/src/generators/scam-pipe/scam-pipe.ts @@ -2,7 +2,6 @@ import type { Tree } from '@nrwl/devkit'; import { formatFiles, normalizePath, - readNxJson, readProjectConfiguration, } from '@nrwl/devkit'; import { exportScam } from '../utils/export-scam'; @@ -41,8 +40,7 @@ function checkPathUnderProjectRoot(tree: Tree, options: Partial) { return; } - const project = options.project ?? readNxJson(tree).defaultProject; - const { root } = readProjectConfiguration(tree, project); + const { root } = readProjectConfiguration(tree, options.project); let pathToPipe = normalizePath(options.path); pathToPipe = pathToPipe.startsWith('/') ? pathToPipe.slice(1) : pathToPipe; diff --git a/packages/angular/src/generators/scam-pipe/schema.d.ts b/packages/angular/src/generators/scam-pipe/schema.d.ts index 8400311728..3eb461913d 100644 --- a/packages/angular/src/generators/scam-pipe/schema.d.ts +++ b/packages/angular/src/generators/scam-pipe/schema.d.ts @@ -1,7 +1,7 @@ export interface Schema { name: string; + project: string; path?: string; - project?: string; skipTests?: boolean; inlineScam?: boolean; flat?: boolean; @@ -13,6 +13,5 @@ export interface NormalizedSchema extends Schema { flat: boolean; inlineScam: boolean; path: string; - project: string; projectSourceRoot: string; } diff --git a/packages/angular/src/generators/scam-pipe/schema.json b/packages/angular/src/generators/scam-pipe/schema.json index c62c64db5c..980faec875 100644 --- a/packages/angular/src/generators/scam-pipe/schema.json +++ b/packages/angular/src/generators/scam-pipe/schema.json @@ -22,6 +22,10 @@ "project": { "type": "string", "description": "The name of the project.", + "$default": { + "$source": "projectName", + "index": 0 + }, "x-dropdown": "projects" }, "name": { diff --git a/packages/angular/src/generators/scam/lib/normalize-options.ts b/packages/angular/src/generators/scam/lib/normalize-options.ts index 1ab26ac851..adb4ad1e12 100644 --- a/packages/angular/src/generators/scam/lib/normalize-options.ts +++ b/packages/angular/src/generators/scam/lib/normalize-options.ts @@ -1,19 +1,14 @@ import type { Tree } from '@nrwl/devkit'; -import { - joinPathFragments, - readNxJson, - readProjectConfiguration, -} from '@nrwl/devkit'; +import { joinPathFragments, readProjectConfiguration } from '@nrwl/devkit'; import type { NormalizedSchema, Schema } from '../schema'; export function normalizeOptions( tree: Tree, options: Schema ): NormalizedSchema { - const project = options.project ?? readNxJson(tree).defaultProject; const { projectType, root, sourceRoot } = readProjectConfiguration( tree, - project + options.project ); const projectSourceRoot = sourceRoot ?? joinPathFragments(root, 'src'); const path = @@ -28,7 +23,6 @@ export function normalizeOptions( export: options.export ?? true, inlineScam: options.inlineScam ?? true, path, - project, projectSourceRoot, }; } diff --git a/packages/angular/src/generators/scam/scam.ts b/packages/angular/src/generators/scam/scam.ts index b16875078c..cbb6a1e9a3 100644 --- a/packages/angular/src/generators/scam/scam.ts +++ b/packages/angular/src/generators/scam/scam.ts @@ -41,8 +41,7 @@ function checkPathUnderProjectRoot(tree: Tree, options: Partial) { return; } - const project = options.project ?? readNxJson(tree).defaultProject; - const { root } = readProjectConfiguration(tree, project); + const { root } = readProjectConfiguration(tree, options.project); let pathToComponent = normalizePath(options.path); pathToComponent = pathToComponent.startsWith('/') diff --git a/packages/angular/src/generators/scam/schema.d.ts b/packages/angular/src/generators/scam/schema.d.ts index 10fae5fba5..992d9c57b5 100644 --- a/packages/angular/src/generators/scam/schema.d.ts +++ b/packages/angular/src/generators/scam/schema.d.ts @@ -1,7 +1,7 @@ export interface Schema { name: string; + project: string; path?: string; - project?: string; displayBlock?: boolean; inlineStyle?: boolean; inlineTemplate?: boolean; @@ -22,6 +22,5 @@ export interface NormalizedSchema extends Schema { export: boolean; inlineScam: boolean; path: string; - project: string; projectSourceRoot: string; } diff --git a/packages/angular/src/generators/scam/schema.json b/packages/angular/src/generators/scam/schema.json index eeb43f4f93..5b9990e4e7 100644 --- a/packages/angular/src/generators/scam/schema.json +++ b/packages/angular/src/generators/scam/schema.json @@ -22,6 +22,10 @@ "project": { "type": "string", "description": "The name of the project.", + "$default": { + "$source": "projectName", + "index": 0 + }, "x-dropdown": "projects" }, "name": { diff --git a/packages/angular/src/generators/utils/file-info.ts b/packages/angular/src/generators/utils/file-info.ts index 05b539b683..e6cd7c7ab6 100644 --- a/packages/angular/src/generators/utils/file-info.ts +++ b/packages/angular/src/generators/utils/file-info.ts @@ -2,16 +2,15 @@ import { joinPathFragments, names, normalizePath, - readNxJson, readProjectConfiguration, Tree, } from '@nrwl/devkit'; export type GenerationOptions = { name: string; + project: string; flat?: boolean; path?: string; - project?: string; type?: string; }; export type FileInfo = { @@ -46,10 +45,9 @@ function getFileInfo( options: GenerationOptions, defaultType: string ): FileInfo { - const project = options.project ?? readNxJson(tree).defaultProject; const { root, sourceRoot, projectType } = readProjectConfiguration( tree, - project + options.project ); const { fileName: normalizedName } = names(options.name); diff --git a/packages/angular/src/generators/utils/path.ts b/packages/angular/src/generators/utils/path.ts index ae92e648b9..ab56cbd17e 100644 --- a/packages/angular/src/generators/utils/path.ts +++ b/packages/angular/src/generators/utils/path.ts @@ -39,8 +39,7 @@ export function checkPathUnderProjectRoot( return; } - const project = projectName ?? readNxJson(tree).defaultProject; - const { root } = readProjectConfiguration(tree, project); + const { root } = readProjectConfiguration(tree, projectName); let pathToComponent = normalizePath(path); pathToComponent = pathToComponent.startsWith('/') diff --git a/packages/angular/src/generators/web-worker/schema.json b/packages/angular/src/generators/web-worker/schema.json index c6e7313267..c0680c5778 100644 --- a/packages/angular/src/generators/web-worker/schema.json +++ b/packages/angular/src/generators/web-worker/schema.json @@ -14,6 +14,10 @@ "project": { "type": "string", "description": "The name of the project.", + "$default": { + "$source": "projectName", + "index": 0 + }, "x-dropdown": "projects", "x-priority": "important" },