Skip to content

Commit f2f5ff9

Browse files
committed
fix(paths): fix the determination of execution path
Windows does not populate this fix allows for determination of the directory from which an ng command was executed Fixes angular#297
1 parent d3649d5 commit f2f5ff9

File tree

8 files changed

+15
-27
lines changed

8 files changed

+15
-27
lines changed

addon/ng2/blueprints/component/index.js

+1-5
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,7 @@ module.exports = {
55
description: '',
66

77
normalizeEntityName: function(entityName) {
8-
var cwd = this.project.cli.testing
9-
? process.cwd()
10-
: process.env.PWD;
11-
12-
var parsedPath = dynamicPathParser(cwd, this.project.root, entityName);
8+
var parsedPath = dynamicPathParser(this.project, entityName);
139

1410
this.dynamicPath = parsedPath;
1511
return parsedPath.name;

addon/ng2/blueprints/directive/index.js

+1-5
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,7 @@ module.exports = {
55
description: '',
66

77
normalizeEntityName: function(entityName) {
8-
var cwd = this.project.cli.testing
9-
? process.cwd()
10-
: process.env.PWD;
11-
12-
var parsedPath = dynamicPathParser(cwd, this.project.root, entityName);
8+
var parsedPath = dynamicPathParser(this.project, entityName);
139

1410
this.dynamicPath = parsedPath;
1511
return parsedPath.name;

addon/ng2/blueprints/pipe/index.js

+1-5
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,7 @@ module.exports = {
55
description: '',
66

77
normalizeEntityName: function(entityName) {
8-
var cwd = this.project.cli.testing
9-
? process.cwd()
10-
: process.env.PWD;
11-
12-
var parsedPath = dynamicPathParser(cwd, this.project.root, entityName);
8+
var parsedPath = dynamicPathParser(this.project, entityName);
139

1410
this.dynamicPath = parsedPath;
1511
return parsedPath.name;

addon/ng2/blueprints/service/index.js

+1-5
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,7 @@ module.exports = {
55
description: '',
66

77
normalizeEntityName: function(entityName) {
8-
var cwd = this.project.cli.testing
9-
? process.cwd()
10-
: process.env.PWD;
11-
12-
var parsedPath = dynamicPathParser(cwd, this.project.root, entityName);
8+
var parsedPath = dynamicPathParser(this.project, entityName);
139

1410
this.dynamicPath = parsedPath;
1511
return parsedPath.name;

addon/ng2/utilities/dynamic-path-parser.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
var path = require('path');
22
var process = require('process');
33

4-
module.exports = function dynamicPathParser(cwd, projectRoot, entityName) {
4+
module.exports = function dynamicPathParser(project, entityName) {
5+
var projectRoot = project.root;
6+
var cwd = process.env.PWD;
7+
58
var rootPath = path.join(projectRoot, 'src', 'app');
69

710
var outputPath = path.join(rootPath, entityName);

lib/cli/index.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,9 @@ module.exports = function(options) {
6161
root: path.join(__dirname, '..', '..'),
6262
npmPackage: 'angular-cli'
6363
};
64-
64+
65+
// ensure the environemnt variable for dynamic paths
66+
process.env.PWD = process.env.PWD || process.cwd();
67+
6568
return cli(options);
6669
}

tests/acceptance/generate-component.spec.js

-4
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,6 @@ describe('Acceptance: ng generate component', function() {
8787
.then(_ => fs.mkdirsSync('./1'))
8888
.then(_ => process.chdir('./1'))
8989
.then(_ => {
90-
process.env.CWD = process.cwd();
9190
return ng([
9291
'generate',
9392
'component',
@@ -109,7 +108,6 @@ describe('Acceptance: ng generate component', function() {
109108
.then(_ => fs.mkdirsSync('./1'))
110109
.then(_ => process.chdir('./1'))
111110
.then(_ => {
112-
process.env.CWD = process.cwd();
113111
return ng([
114112
'generate',
115113
'component',
@@ -131,7 +129,6 @@ describe('Acceptance: ng generate component', function() {
131129
.then(_ => fs.mkdirsSync('./1'))
132130
.then(_ => process.chdir('./1'))
133131
.then(_ => {
134-
process.env.CWD = process.cwd();
135132
return ng([
136133
'generate',
137134
'component',
@@ -153,7 +150,6 @@ describe('Acceptance: ng generate component', function() {
153150
.then(_ => fs.mkdirsSync('./1'))
154151
.then(_ => process.chdir('./1'))
155152
.then(_ => {
156-
process.env.CWD = process.cwd();
157153
return ng([
158154
'generate',
159155
'component',

tests/helpers/ng.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ var Cli = require('../../lib/cli');
66

77
module.exports = function ng(args) {
88
var cli;
9-
9+
10+
process.env.PWD = process.cwd();
11+
1012
cli = new Cli({
1113
inputStream: [],
1214
outputStream: [],

0 commit comments

Comments
 (0)