Skip to content

Commit 7e931cb

Browse files
authored
fix(schematics): ng-add should pass if sourceRoot is relative to workspace root (#3053)
1 parent 5ecf875 commit 7e931cb

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

src/schematics/ng-add.jasmine.ts

+14
Original file line numberDiff line numberDiff line change
@@ -467,6 +467,20 @@ describe('ng-add', () => {
467467
expect(result.read('.firebaserc').toString()).toEqual(overwriteFirebaserc);
468468
expect(result.read('angular.json').toString()).toEqual(overwriteAngularJson);
469469
});
470+
471+
it('runs if source root is relative to workspace root', async () => {
472+
const angularJson = generateAngularJson();
473+
const project: {root: string, sourceRoot?: string} = angularJson.projects[PROJECT_NAME];
474+
project.sourceRoot = `${project.root}/src`;
475+
tree.overwrite('angular.json', JSON.stringify(angularJson));
476+
const promise = setupProject(tree, {} as any, [FEATURES.Hosting], {
477+
firebaseProject: { projectId: FIREBASE_PROJECT } as any,
478+
projectType: PROJECT_TYPE.Static,
479+
project: undefined,
480+
prerender: false,
481+
});
482+
await expectAsync(promise).toBeResolved();
483+
});
470484

471485
it('overrides existing files', async () => {
472486
const tempTree = await setupProject(tree, {} as any, [FEATURES.Hosting], {

src/schematics/setup/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export const setupProject =
3333

3434
const { project, projectName } = getProject(config, tree);
3535

36-
const sourcePath = [project.root, project.sourceRoot].filter(it => !!it).join('/');
36+
const sourcePath = project.sourceRoot ?? project.root;
3737

3838
addIgnoreFiles(tree);
3939

0 commit comments

Comments
 (0)