Skip to content

Commit bacbff6

Browse files
committed
Add option for projectName
- This can be useful for certain source transformations - If not provided by the user, it's determined from package.json in the projectRoot
1 parent 3e0f9ab commit bacbff6

3 files changed

Lines changed: 19 additions & 4 deletions

File tree

bin/ember-module-migrator

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,24 @@ var Migrator = require('../lib');
1313
var nopt = require("nopt");
1414
var options = {
1515
'project-root': [String],
16+
'project-name': [String],
1617
'engine': [String, 'classic']
1718
};
1819
var parsed = nopt(options);
1920

21+
var projectRoot = parsed['project-root'] || process.cwd();
22+
var projectName = parsed['project-name'];
23+
if (!projectName) {
24+
// determine name from package.json in projectRoot
25+
try {
26+
var fs = require('fs');
27+
projectName = JSON.parse(fs.readFileSync(projectRoot + '/package.json', 'utf8')).name;
28+
} catch (e) {}
29+
}
30+
2031
var migrator = new Migrator({
21-
projectRoot: parsed['project-root'] || process.cwd(),
32+
projectRoot: projectRoot,
33+
projectName: projectName,
2234
engine: parsed['engine'],
2335
verbose: true
2436
});

lib/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ var Engine = CoreObject.extend({
2222
}
2323

2424
if (!this.engine) {
25-
throw new Error('Can not fine engine to use for migration!');
25+
throw new Error('Can not find engine to use for migration!');
2626
}
2727

2828
this._promise = null;
@@ -139,6 +139,7 @@ var Engine = CoreObject.extend({
139139
fileInfoFor: function(path) {
140140
var fileInfo = this.engine.buildFor(path, {
141141
projectRoot: this.projectRoot,
142+
projectName: this.projectName,
142143
_fileInfoCollection: this._fileInfoCollection
143144
});
144145

test/engines/classic-test.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ describe('classic engine', function() {
1313

1414
beforeEach(function() {
1515
engine = new Migrator({
16-
projectRoot: '.'
16+
projectRoot: '.',
17+
projectName: 'my-app'
1718
});
1819
});
1920

@@ -148,7 +149,8 @@ describe('classic engine', function() {
148149
fixturify.writeSync(tmpPath, input);
149150

150151
var engine = new Migrator({
151-
projectRoot: tmpPath
152+
projectRoot: tmpPath,
153+
projectName: 'my-app'
152154
});
153155

154156
return engine.processFiles()

0 commit comments

Comments
 (0)