Skip to content

Commit 3d24787

Browse files
santoshyadavdevbrandonroberts
authored andcommitted
refactor(schematics) use default project if project is not provided (#1598)
Closes #1564
1 parent 2504431 commit 3d24787

9 files changed

Lines changed: 52 additions & 7 deletions

File tree

modules/effects/schematics-core/utility/project.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@ export function getProject(
1313
const workspace = getWorkspace(host);
1414

1515
if (!options.project) {
16-
options.project = Object.keys(workspace.projects)[0];
16+
options.project =
17+
workspace.defaultProject !== undefined
18+
? workspace.defaultProject
19+
: Object.keys(workspace.projects)[0];
1720
}
1821

1922
return workspace.projects[options.project];

modules/entity/schematics-core/utility/project.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@ export function getProject(
1313
const workspace = getWorkspace(host);
1414

1515
if (!options.project) {
16-
options.project = Object.keys(workspace.projects)[0];
16+
options.project =
17+
workspace.defaultProject !== undefined
18+
? workspace.defaultProject
19+
: Object.keys(workspace.projects)[0];
1720
}
1821

1922
return workspace.projects[options.project];

modules/router-store/schematics-core/utility/project.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@ export function getProject(
1313
const workspace = getWorkspace(host);
1414

1515
if (!options.project) {
16-
options.project = Object.keys(workspace.projects)[0];
16+
options.project =
17+
workspace.defaultProject !== undefined
18+
? workspace.defaultProject
19+
: Object.keys(workspace.projects)[0];
1720
}
1821

1922
return workspace.projects[options.project];

modules/schematics-core/testing/create-workspace.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ export const defaultWorkspaceOptions = {
77
name: 'workspace',
88
newProjectRoot: 'projects',
99
version: '6.0.0',
10+
defaultProject: 'bar',
1011
};
1112

1213
export const defaultAppOptions = {

modules/schematics-core/utility/project.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@ export function getProject(
1313
const workspace = getWorkspace(host);
1414

1515
if (!options.project) {
16-
options.project = Object.keys(workspace.projects)[0];
16+
options.project =
17+
workspace.defaultProject !== undefined
18+
? workspace.defaultProject
19+
: Object.keys(workspace.projects)[0];
1720
}
1821

1922
return workspace.projects[options.project];

modules/schematics/schematics-core/utility/project.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@ export function getProject(
1313
const workspace = getWorkspace(host);
1414

1515
if (!options.project) {
16-
options.project = Object.keys(workspace.projects)[0];
16+
options.project =
17+
workspace.defaultProject !== undefined
18+
? workspace.defaultProject
19+
: Object.keys(workspace.projects)[0];
1720
}
1821

1922
return workspace.projects[options.project];

modules/schematics/src/store/index.spec.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,9 @@ describe('Store Schematic', () => {
3737
const options = { ...defaultOptions };
3838

3939
const tree = schematicRunner.runSchematic('store', options, appTree);
40+
4041
const files = tree.files;
42+
4143
expect(
4244
files.indexOf(`${projectPath}/src/app/reducers/index.ts`)
4345
).toBeGreaterThanOrEqual(0);
@@ -56,11 +58,32 @@ describe('Store Schematic', () => {
5658

5759
const tree = schematicRunner.runSchematic('store', options, appTree);
5860
const files = tree.files;
61+
5962
expect(
6063
files.indexOf(`${specifiedProjectPath}/src/lib/reducers/index.ts`)
6164
).toBeGreaterThanOrEqual(0);
6265
});
6366

67+
it('should create the initial store to defaultProject if project is not provided', () => {
68+
const options = {
69+
...defaultOptions,
70+
project: undefined,
71+
};
72+
73+
const specifiedProjectPath = getTestProjectPath(defaultWorkspaceOptions, {
74+
...defaultAppOptions,
75+
name: defaultWorkspaceOptions.defaultProject,
76+
});
77+
78+
const tree = schematicRunner.runSchematic('store', options, appTree);
79+
80+
const files = tree.files;
81+
82+
expect(
83+
files.indexOf(`${specifiedProjectPath}/src/app/reducers/index.ts`)
84+
).toBeGreaterThanOrEqual(0);
85+
});
86+
6487
it('should not be provided by default', () => {
6588
const options = { ...defaultOptions };
6689

modules/store-devtools/schematics-core/utility/project.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@ export function getProject(
1313
const workspace = getWorkspace(host);
1414

1515
if (!options.project) {
16-
options.project = Object.keys(workspace.projects)[0];
16+
options.project =
17+
workspace.defaultProject !== undefined
18+
? workspace.defaultProject
19+
: Object.keys(workspace.projects)[0];
1720
}
1821

1922
return workspace.projects[options.project];

modules/store/schematics-core/utility/project.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@ export function getProject(
1313
const workspace = getWorkspace(host);
1414

1515
if (!options.project) {
16-
options.project = Object.keys(workspace.projects)[0];
16+
options.project =
17+
workspace.defaultProject !== undefined
18+
? workspace.defaultProject
19+
: Object.keys(workspace.projects)[0];
1720
}
1821

1922
return workspace.projects[options.project];

0 commit comments

Comments
 (0)