Skip to content

Commit 2dfeaae

Browse files
committed
fix(@angular/cli): fix issue of folder getting generated on dry run
1 parent 0633130 commit 2dfeaae

File tree

13 files changed

+26
-22
lines changed

13 files changed

+26
-22
lines changed

packages/@angular/cli/blueprints/class/index.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ export default Blueprint.extend({
2626

2727
normalizeEntityName: function (entityName: string) {
2828
const appConfig = getAppFromConfig(this.options.app);
29-
const parsedPath = dynamicPathParser(this.project, entityName.split('.')[0], appConfig);
29+
const parsedPath =
30+
dynamicPathParser(this.project, entityName.split('.')[0], appConfig, this.options.dryRun);
3031

3132
this.dynamicPath = parsedPath;
3233
return parsedPath.name;

packages/@angular/cli/blueprints/component/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ export default Blueprint.extend({
123123

124124
normalizeEntityName: function (entityName: string) {
125125
const appConfig = getAppFromConfig(this.options.app);
126-
const parsedPath = dynamicPathParser(this.project, entityName, appConfig);
126+
const parsedPath = dynamicPathParser(this.project, entityName, appConfig, this.options.dryRun);
127127

128128
this.dynamicPath = parsedPath;
129129

packages/@angular/cli/blueprints/directive/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ export default Blueprint.extend({
7676

7777
normalizeEntityName: function (entityName: string) {
7878
const appConfig = getAppFromConfig(this.options.app);
79-
const parsedPath = dynamicPathParser(this.project, entityName, appConfig);
79+
const parsedPath = dynamicPathParser(this.project, entityName, appConfig, this.options.dryRun);
8080

8181
this.dynamicPath = parsedPath;
8282

packages/@angular/cli/blueprints/enum/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export default Blueprint.extend({
1919

2020
normalizeEntityName: function (entityName: string) {
2121
const appConfig = getAppFromConfig(this.options.app);
22-
const parsedPath = dynamicPathParser(this.project, entityName, appConfig);
22+
const parsedPath = dynamicPathParser(this.project, entityName, appConfig, this.options.dryRun);
2323

2424
this.dynamicPath = parsedPath;
2525
return parsedPath.name;

packages/@angular/cli/blueprints/guard/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ export default Blueprint.extend({
4545

4646
normalizeEntityName: function (entityName: string) {
4747
const appConfig = getAppFromConfig(this.options.app);
48-
const parsedPath = dynamicPathParser(this.project, entityName, appConfig);
48+
const parsedPath = dynamicPathParser(this.project, entityName, appConfig, this.options.dryRun);
4949

5050
this.dynamicPath = parsedPath;
5151
return parsedPath.name;

packages/@angular/cli/blueprints/interface/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ export default Blueprint.extend({
2424

2525
normalizeEntityName: function (entityName: string) {
2626
const appConfig = getAppFromConfig(this.options.app);
27-
const parsedPath = dynamicPathParser(this.project, entityName, appConfig);
27+
const parsedPath = dynamicPathParser(this.project, entityName, appConfig, this.options.dryRun);
2828

2929
this.dynamicPath = parsedPath;
3030
return parsedPath.name;

packages/@angular/cli/blueprints/module/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export default Blueprint.extend({
3838
normalizeEntityName: function (entityName: string) {
3939
this.entityName = entityName;
4040
const appConfig = getAppFromConfig(this.options.app);
41-
const parsedPath = dynamicPathParser(this.project, entityName, appConfig);
41+
const parsedPath = dynamicPathParser(this.project, entityName, appConfig, this.options.dryRun);
4242

4343
this.dynamicPath = parsedPath;
4444
return parsedPath.name;

packages/@angular/cli/blueprints/pipe/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ export default Blueprint.extend({
7171

7272
normalizeEntityName: function (entityName: string) {
7373
const appConfig = getAppFromConfig(this.options.app);
74-
const parsedPath = dynamicPathParser(this.project, entityName, appConfig);
74+
const parsedPath = dynamicPathParser(this.project, entityName, appConfig, this.options.dryRun);
7575

7676
this.dynamicPath = parsedPath;
7777
return parsedPath.name;

packages/@angular/cli/blueprints/service/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ export default Blueprint.extend({
5050

5151
normalizeEntityName: function (entityName: string) {
5252
const appConfig = getAppFromConfig(this.options.app);
53-
const parsedPath = dynamicPathParser(this.project, entityName, appConfig);
53+
const parsedPath = dynamicPathParser(this.project, entityName, appConfig, this.options.dryRun);
5454

5555
this.dynamicPath = parsedPath;
5656
return parsedPath.name;

packages/@angular/cli/ember-cli/lib/models/blueprint.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,7 @@ Blueprint.prototype.install = function(options) {
509509
ui.writeLine(chalk.yellow('You specified the dry-run flag, so no' +
510510
' changes will be written.'));
511511
}
512-
512+
513513
this._normalizeEntityName(options.entity);
514514
this._checkForPod(options.verbose);
515515
this._checkInRepoAddonExists(options.inRepoAddon);

packages/@angular/cli/utilities/dynamic-path-parser.ts

+5-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ import * as process from 'process';
33
import * as fs from 'fs';
44
const stringUtils = require('ember-cli-string-utils');
55

6-
export function dynamicPathParser(project: any, entityName: string, appConfig: any) {
6+
export function dynamicPathParser
7+
(project: any, entityName: string, appConfig: any, dryRun: boolean) {
78
const projectRoot = project.root;
89
const sourceDir = appConfig.root;
910
const appRoot = path.join(sourceDir, 'app');
@@ -38,7 +39,9 @@ export function dynamicPathParser(project: any, entityName: string, appConfig: a
3839
// Folder not found, create it, and return it
3940
const dasherizedPart = stringUtils.dasherize(part);
4041
const dasherizedDirName = path.join(tempPath, dasherizedPart);
41-
fs.mkdirSync(dasherizedDirName);
42+
if (!dryRun) {
43+
fs.mkdirSync(dasherizedDirName);
44+
}
4245
return dasherizedDirName;
4346

4447
}, parsedOutputPath.root);

packages/@angular/cli/utilities/resolve-module-file.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ export function resolveModulePath(
3939
}
4040

4141
function buildFullPath(project: any, relativeModulePath: string, appConfig: any, projectRoot: any) {
42-
const parsedPath = dynamicPathParser(project, relativeModulePath, appConfig);
42+
const parsedPath = dynamicPathParser(project, relativeModulePath, appConfig, false);
4343
const fullModulePath = path.join(projectRoot, parsedPath.dir, parsedPath.base);
4444

4545
return fullModulePath;

tests/acceptance/dynamic-path-parser.spec.js

+9-9
Original file line numberDiff line numberDiff line change
@@ -42,28 +42,28 @@ describe('dynamic path parser', () => {
4242

4343
it('parse from proj root dir', () => {
4444
process.env.PWD = project.root;
45-
var result = dynamicPathParser(project, entityName, appConfig);
45+
var result = dynamicPathParser(project, entityName, appConfig, false);
4646
expect(result.dir).to.equal(appDir);
4747
expect(result.name).to.equal(entityName);
4848
});
4949

5050
it('parse from proj src dir', () => {
5151
process.env.PWD = path.join(project.root, 'src');
52-
var result = dynamicPathParser(project, entityName, appConfig);
52+
var result = dynamicPathParser(project, entityName, appConfig, false);
5353
expect(result.dir).to.equal(appDir);
5454
expect(result.name).to.equal(entityName);
5555
});
5656

5757
it(`parse from proj src${path.sep}client dir`, () => {
5858
process.env.PWD = path.join(project.root, 'src', 'client');
59-
var result = dynamicPathParser(project, entityName, appConfig);
59+
var result = dynamicPathParser(project, entityName, appConfig, false);
6060
expect(result.dir).to.equal(appDir);
6161
expect(result.name).to.equal(entityName);
6262
});
6363

6464
it(`parse from proj src${path.sep}client${path.sep}app dir`, () => {
6565
process.env.PWD = path.join(project.root, 'src', 'client', 'app');
66-
var result = dynamicPathParser(project, entityName, appConfig);
66+
var result = dynamicPathParser(project, entityName, appConfig, false);
6767
expect(result.dir).to.equal(appDir);
6868
expect(result.name).to.equal(entityName);
6969
});
@@ -82,7 +82,7 @@ describe('dynamic path parser', () => {
8282
};
8383
mockFs(mockFolder);
8484
process.env.PWD = path.join(project.root, 'src', 'app', 'child-dir');
85-
var result = dynamicPathParser(project, entityName, appConfig);
85+
var result = dynamicPathParser(project, entityName, appConfig, false);
8686
expect(result.dir).to.equal(`${appDir}${path.sep}child-dir`);
8787
expect(result.name).to.equal(entityName);
8888
});
@@ -100,7 +100,7 @@ describe('dynamic path parser', () => {
100100
};
101101
mockFs(mockFolder);
102102
process.env.PWD = path.join(project.root, 'src', 'app', 'child-dir');
103-
var result = dynamicPathParser(project, '..' + path.sep + entityName, appConfig);
103+
var result = dynamicPathParser(project, '..' + path.sep + entityName, appConfig, false);
104104
expect(result.dir).to.equal(appDir);
105105
expect(result.name).to.equal(entityName);
106106
});
@@ -121,7 +121,7 @@ describe('dynamic path parser', () => {
121121
};
122122
mockFs(mockFolder);
123123
process.env.PWD = path.join(project.root, 'src', 'app', 'child-dir', 'grand-child-dir');
124-
var result = dynamicPathParser(project, '..' + path.sep + entityName, appConfig);
124+
var result = dynamicPathParser(project, '..' + path.sep + entityName, appConfig, false);
125125
expect(result.dir).to.equal(`${appDir}${path.sep}child-dir`);
126126
expect(result.name).to.equal(entityName);
127127
});
@@ -137,14 +137,14 @@ describe('dynamic path parser', () => {
137137
};
138138
mockFs(mockFolder);
139139
process.env.PWD = path.join(project.root, 'src', 'app', 'my-route');
140-
var result = dynamicPathParser(project, entityName, appConfig);
140+
var result = dynamicPathParser(project, entityName, appConfig, false);
141141
expect(result.dir).to.equal(`${appDir}${path.sep}+my-route`);
142142
expect(result.name).to.equal(entityName);
143143
});
144144

145145
it('create new dirs as dasherized', () => {
146146
process.env.PWD = project.root;
147-
var result = dynamicPathParser(project, path.join('NewDir', entityName), appConfig);
147+
var result = dynamicPathParser(project, path.join('NewDir', entityName), appConfig, false);
148148
expect(result.dir).to.equal(`${appDir}${path.sep}new-dir`);
149149
expect(result.name).to.equal(entityName);
150150
});

0 commit comments

Comments
 (0)