From 178ea58b43ddfa93dd225cfdabd6b7f9dfabc429 Mon Sep 17 00:00:00 2001 From: AgentEnder Date: Tue, 9 Nov 2021 11:35:20 -0600 Subject: [PATCH] fix(schematics): ng-add should pass if sourceRoot is relative to workspace root --- src/schematics/ng-add.jasmine.ts | 14 ++++++++++++++ src/schematics/setup/index.ts | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/schematics/ng-add.jasmine.ts b/src/schematics/ng-add.jasmine.ts index 5dd889eb2..313b3b907 100644 --- a/src/schematics/ng-add.jasmine.ts +++ b/src/schematics/ng-add.jasmine.ts @@ -467,6 +467,20 @@ describe('ng-add', () => { expect(result.read('.firebaserc').toString()).toEqual(overwriteFirebaserc); expect(result.read('angular.json').toString()).toEqual(overwriteAngularJson); }); + + it('runs if source root is relative to workspace root', async () => { + const angularJson = generateAngularJson(); + const project: {root: string, sourceRoot?: string} = angularJson.projects[PROJECT_NAME]; + project.sourceRoot = `${project.root}/src`; + tree.overwrite('angular.json', JSON.stringify(angularJson)); + const promise = setupProject(tree, {} as any, [FEATURES.Hosting], { + firebaseProject: { projectId: FIREBASE_PROJECT } as any, + projectType: PROJECT_TYPE.Static, + project: undefined, + prerender: false, + }); + await expectAsync(promise).toBeResolved(); + }); it('overrides existing files', async () => { const tempTree = await setupProject(tree, {} as any, [FEATURES.Hosting], { diff --git a/src/schematics/setup/index.ts b/src/schematics/setup/index.ts index 2b4323c7f..ed1478721 100644 --- a/src/schematics/setup/index.ts +++ b/src/schematics/setup/index.ts @@ -33,7 +33,7 @@ export const setupProject = const { project, projectName } = getProject(config, tree); - const sourcePath = [project.root, project.sourceRoot].filter(it => !!it).join('/'); + const sourcePath = project.sourceRoot ?? project.root; addIgnoreFiles(tree);