Skip to content

Commit

Permalink
Issue 738 config directory (#739)
Browse files Browse the repository at this point in the history
* preventing generators from writing new files to the add-on's test/dummy directory.

* try removing dummy pathing in index.js

* update generator and mirage path to app/mirage

* trying to support config path for generators and builds

* re-nesting the blueprint files

* accounting for 'mirage' directory in blueprints if no config path is defined

* fixed default mirageDirectory in index.js
  • Loading branch information
gthmb authored and samselikoff committed May 31, 2016
1 parent 9a150da commit 722dfd2
Show file tree
Hide file tree
Showing 13 changed files with 51 additions and 31 deletions.
26 changes: 16 additions & 10 deletions blueprints/ember-cli-mirage/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,16 @@ module.exports = {
},

fileMapTokens: function() {
var self = this;
return {
__root__: function(options) {
if (options.inAddon) {
return path.join('tests', 'dummy');
if (!!self.project.config()['ember-cli-mirage'] && !!self.project.config()['ember-cli-mirage'].directory) {
return self.project.config()['ember-cli-mirage'].directory;
} else if (options.inAddon) {
return path.join('tests', 'dummy', 'mirage');
} else {
return '/mirage';
}

return '/';
}
};
},
Expand All @@ -45,16 +48,19 @@ module.exports = {
chalk.yellow(
'******************************************************' + EOL +
'destroy-app.js helper is not present. Please read this' + EOL +
'https://gist.github.com/blimmer/35d3efbb64563029505a' + EOL +
'to see how to fix the problem.' + EOL +
'https://gist.github.com/blimmer/35d3efbb64563029505a' + EOL +
'to see how to fix the problem.' + EOL +
'******************************************************' + EOL
)
);
}

return this.addBowerPackagesToProject([
{ name: 'pretender', target: '~1.1.0' },
{ name: 'Faker', target: '~3.1.0' }
]);
return this.addBowerPackagesToProject([{
name: 'pretender',
target: '~1.1.0'
}, {
name: 'Faker',
target: '~3.1.0'
}]);
}
};
14 changes: 8 additions & 6 deletions blueprints/mirage-factory/index.js
Original file line number Diff line number Diff line change
@@ -1,21 +1,23 @@
/*jshint node:true*/
'use strict'
'use strict';

var path = require('path');

module.exports = {
description: 'Generates a Mirage factory.',

fileMapTokens: function() {
var self = this;
return {
__root__: function(options) {
if (options.inAddon) {
return path.join('tests', 'dummy');
if (!!self.project.config()['ember-cli-mirage'] && !!self.project.config()['ember-cli-mirage'].directory) {
return self.project.config()['ember-cli-mirage'].directory;
} else if (options.inAddon) {
return path.join('tests', 'dummy', 'mirage');
} else {
return '/mirage';
}

return '/';
}
};
}

};
13 changes: 8 additions & 5 deletions blueprints/mirage-fixture/index.js
Original file line number Diff line number Diff line change
@@ -1,20 +1,23 @@
/*jshint node:true*/

'use strict'
'use strict';

var path = require('path');

module.exports = {
description: 'Generates a Mirage fixture.',

fileMapTokens: function() {
var self = this;
return {
__root__: function(options) {
if (options.inAddon) {
return path.join('tests', 'dummy');
if (!!self.project.config()['ember-cli-mirage'] && !!self.project.config()['ember-cli-mirage'].directory) {
return self.project.config()['ember-cli-mirage'].directory;
} else if (options.inAddon) {
return path.join('tests', 'dummy', 'mirage');
} else {
return '/mirage';
}

return '/';
}
};
}
Expand Down
13 changes: 8 additions & 5 deletions blueprints/mirage-model/index.js
Original file line number Diff line number Diff line change
@@ -1,20 +1,23 @@
/*jshint node:true*/

'use strict'
'use strict';

var path = require('path');

module.exports = {
description: 'Generates a Mirage model.',

fileMapTokens: function() {
var self = this;
return {
__root__: function(options) {
if (options.inAddon) {
return path.join('tests', 'dummy');
if (!!self.project.config()['ember-cli-mirage'] && !!self.project.config()['ember-cli-mirage'].directory) {
return self.project.config()['ember-cli-mirage'].directory;
} else if (options.inAddon) {
return path.join('tests', 'dummy', 'mirage');
} else {
return '/mirage';
}

return '/';
}
};
},
Expand Down
11 changes: 7 additions & 4 deletions blueprints/mirage-serializer/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,16 @@ module.exports = {
description: 'Generates a Mirage serializer.',

fileMapTokens: function() {
var self = this;
return {
__root__: function(options) {
if (options.inAddon) {
return path.join('tests', 'dummy');
if (!!self.project.config()['ember-cli-mirage'] && !!self.project.config()['ember-cli-mirage'].directory) {
return self.project.config()['ember-cli-mirage'].directory;
} else if (options.inAddon) {
return path.join('tests', 'dummy', 'mirage');
} else {
return '/mirage';
}

return '/';
}
};
},
Expand Down
5 changes: 4 additions & 1 deletion index.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,13 @@ module.exports = {
this.app = app;
this.addonConfig = this.app.project.config(app.env)['ember-cli-mirage'] || {};
this.addonBuildConfig = this.app.options['ember-cli-mirage'] || {};

if (this.addonBuildConfig['directory']) {
this.mirageDirectory = this.addonBuildConfig['directory'];
} else if (this.addonConfig['directory']) {
this.mirageDirectory = this.addonConfig['directory'];
} else if (app.project.pkg['ember-addon'] && !app.project.pkg['ember-addon'].paths) {
this.mirageDirectory = path.resolve(app.project.root, path.join('tests', 'dummy', 'mirage'))
this.mirageDirectory = path.resolve(app.project.root, path.join('tests', 'dummy', 'mirage'));
} else {
this.mirageDirectory = path.join(this.app.project.root, '/mirage');
}
Expand Down

0 comments on commit 722dfd2

Please sign in to comment.