Skip to content

Commit 208e69b

Browse files
committed
fix(@angular/cli): fix issue of folder getting generated on dry run
1 parent c268b58 commit 208e69b

File tree

13 files changed

+26
-22
lines changed

13 files changed

+26
-22
lines changed

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ export default Blueprint.extend({
2727

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

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

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ export default Blueprint.extend({
125125

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

130130
this.dynamicPath = parsedPath;
131131

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ export default Blueprint.extend({
7878

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

8383
this.dynamicPath = parsedPath;
8484

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export default Blueprint.extend({
2020

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

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

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ export default Blueprint.extend({
4646

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

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

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export default Blueprint.extend({
2525

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

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

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ export default Blueprint.extend({
5858
normalizeEntityName: function (entityName: string) {
5959
this.entityName = entityName;
6060
const appConfig = getAppFromConfig(this.options.app);
61-
const parsedPath = dynamicPathParser(this.project, entityName, appConfig);
61+
const parsedPath = dynamicPathParser(this.project, entityName, appConfig, this.options.dryRun);
6262

6363
this.dynamicPath = parsedPath;
6464
return parsedPath.name;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ export default Blueprint.extend({
7272

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

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

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ export default Blueprint.extend({
5151

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

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

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -517,7 +517,7 @@ Blueprint.prototype.install = function(options) {
517517
ui.writeLine(chalk.yellow('You specified the dry-run flag, so no' +
518518
' changes will be written.'));
519519
}
520-
520+
521521
this._normalizeEntityName(options.entity);
522522
this._checkForPod(options.verbose);
523523
this._checkInRepoAddonExists(options.inRepoAddon);

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

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

6-
export function dynamicPathParser(project: any, entityName: string, appConfig: any) {
6+
export function dynamicPathParser(project: any, entityName: string, appConfig: any,
7+
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.mkdirpSync(dasherizedDirName);
42+
if (!dryRun) {
43+
fs.mkdirpSync(dasherizedDirName);
44+
}
4245
return dasherizedDirName;
4346

4447
}, parsedOutputPath.root);

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ export function resolveModulePath(
4141
}
4242

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

4747
return fullModulePath;

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

Lines changed: 9 additions & 9 deletions
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)