diff --git a/blueprints/acceptance-test/index.js b/blueprints/acceptance-test/index.js index 2c3c685..c087ca1 100644 --- a/blueprints/acceptance-test/index.js +++ b/blueprints/acceptance-test/index.js @@ -1,7 +1,10 @@ +var ancestralBlueprint = require('../../lib/utilities/ancestral-blueprint'); + module.exports = { description: 'Generates an acceptance test for a feature.', locals: function() { - var blueprint = this.lookupBlueprint('acceptance-test'); + var blueprint = ancestralBlueprint('acceptance-test', this.project); + blueprint.project = this.project; return blueprint.locals.apply(blueprint, arguments); } }; diff --git a/blueprints/adapter-test/index.js b/blueprints/adapter-test/index.js index 7deafae..bc50456 100644 --- a/blueprints/adapter-test/index.js +++ b/blueprints/adapter-test/index.js @@ -1,8 +1,10 @@ +var ancestralBlueprint = require('../../lib/utilities/ancestral-blueprint'); + module.exports = { description: 'Generates an ember-data adapter unit test.', locals: function() { - var blueprint = this.lookupBlueprint('adapter-test'); + var blueprint = ancestralBlueprint('adapter-test', this.project); return blueprint.locals.apply(blueprint, arguments); } }; diff --git a/blueprints/adapter/index.js b/blueprints/adapter/index.js index 85a5f00..a636be7 100644 --- a/blueprints/adapter/index.js +++ b/blueprints/adapter/index.js @@ -1,3 +1,5 @@ +var ancestralBlueprint = require('../../lib/utilities/ancestral-blueprint'); + module.exports = { description: 'Generates an ember-data adapter.', @@ -5,7 +7,7 @@ module.exports = { { name: 'base-class', type: String } ], locals: function() { - var blueprint = this.lookupBlueprint('adapter'); + var blueprint = ancestralBlueprint('adapter', this.project); var locals = blueprint.locals.apply(blueprint, arguments); locals.importStatement = locals.importStatement.replace(/;$/, ''); return locals; diff --git a/blueprints/addon-import/index.js b/blueprints/addon-import/index.js index 0ec807c..dfc4452 100644 --- a/blueprints/addon-import/index.js +++ b/blueprints/addon-import/index.js @@ -1,13 +1,15 @@ +var ancestralBlueprint = require('../../lib/utilities/ancestral-blueprint'); + module.exports = { description: 'Generates an import wrapper', fileMapTokens: function() { - var blueprint = this.lookupBlueprint('addon-import'); + var blueprint = ancestralBlueprint('addon-import', this.project); return blueprint.fileMapTokens.apply(blueprint, arguments); }, locals: function() { - var blueprint = this.lookupBlueprint('addon-import'); + var blueprint = ancestralBlueprint('addon-import', this.project); return blueprint.locals.apply(blueprint, arguments); } }; diff --git a/blueprints/component-addon/index.js b/blueprints/component-addon/index.js index 7614a5f..f3789c3 100644 --- a/blueprints/component-addon/index.js +++ b/blueprints/component-addon/index.js @@ -1,18 +1,20 @@ +var ancestralBlueprint = require('../../lib/utilities/ancestral-blueprint'); + module.exports = { description: 'Generates a component. Name must contain a hyphen.', fileMapTokens: function() { - var blueprint = this.lookupBlueprint('component-addon'); + var blueprint = ancestralBlueprint('component-addon', this.project); return blueprint.fileMapTokens.apply(blueprint, arguments); }, normalizeEntityName: function() { - var blueprint = this.lookupBlueprint('component-addon'); + var blueprint = ancestralBlueprint('component-addon', this.project); return blueprint.normalizeEntityName.apply(blueprint, arguments); }, locals: function() { - var blueprint = this.lookupBlueprint('component-addon'); + var blueprint = ancestralBlueprint('component-addon', this.project); return blueprint.locals.apply(blueprint, arguments); } }; diff --git a/blueprints/component-test/index.js b/blueprints/component-test/index.js index 2568fc5..9b47bff 100644 --- a/blueprints/component-test/index.js +++ b/blueprints/component-test/index.js @@ -1,3 +1,5 @@ +var ancestralBlueprint = require('../../lib/utilities/ancestral-blueprint'); + var stringUtils = require('../../lib/utilities/string'); var EOL = require('os').EOL; @@ -19,12 +21,12 @@ module.exports = { ], fileMapTokens: function() { - var blueprint = this.lookupBlueprint('component-test'); + var blueprint = ancestralBlueprint('component-test', this.project); return blueprint.fileMapTokens.apply(blueprint, arguments); }, locals: function(options) { - var blueprint = this.lookupBlueprint('component-test'); + var blueprint = ancestralBlueprint('component-test', this.project); var locals = blueprint.locals.apply(blueprint, arguments); var dasherizedModuleName = stringUtils.dasherize(options.entity.name); diff --git a/blueprints/component/index.js b/blueprints/component/index.js index ecb93d2..efa1c79 100644 --- a/blueprints/component/index.js +++ b/blueprints/component/index.js @@ -1,3 +1,5 @@ +var ancestralBlueprint = require('../../lib/utilities/ancestral-blueprint'); + module.exports = { description: 'Generates a component. Name must contain a hyphen.', @@ -13,17 +15,17 @@ module.exports = { ], fileMapTokens: function() { - var blueprint = this.lookupBlueprint('component'); + var blueprint = ancestralBlueprint('component', this.project); return blueprint.fileMapTokens.apply(blueprint, arguments); }, normalizeEntityName: function() { - var blueprint = this.lookupBlueprint('component'); + var blueprint = ancestralBlueprint('component', this.project); return blueprint.normalizeEntityName.apply(blueprint, arguments); }, locals: function() { - var blueprint = this.lookupBlueprint('component'); + var blueprint = ancestralBlueprint('component', this.project); var locals = blueprint.locals.apply(blueprint, arguments); // This is here to work around this bug in ember-cli: diff --git a/blueprints/helper-test/index.js b/blueprints/helper-test/index.js index a682e87..482b8ae 100644 --- a/blueprints/helper-test/index.js +++ b/blueprints/helper-test/index.js @@ -1,8 +1,10 @@ +var ancestralBlueprint = require('../../lib/utilities/ancestral-blueprint'); + module.exports = { description: 'Generates a helper unit test.', locals: function() { - var blueprint = this.lookupBlueprint('helper-test'); + var blueprint = ancestralBlueprint('helper-test', this.project); return blueprint.locals.apply(blueprint, arguments); } }; diff --git a/blueprints/helper/index.js b/blueprints/helper/index.js index d077202..7ed9d60 100644 --- a/blueprints/helper/index.js +++ b/blueprints/helper/index.js @@ -1,8 +1,10 @@ +var ancestralBlueprint = require('../../lib/utilities/ancestral-blueprint'); + module.exports = { description: 'Generates a helper function.', normalizeEntityName: function() { - var blueprint = this.lookupBlueprint('helper'); + var blueprint = ancestralBlueprint('helper', this.project); return blueprint.normalizeEntityName.apply(blueprint, arguments); } }; diff --git a/blueprints/initializer-test/index.js b/blueprints/initializer-test/index.js index d759204..ef3a943 100644 --- a/blueprints/initializer-test/index.js +++ b/blueprints/initializer-test/index.js @@ -1,8 +1,10 @@ +var ancestralBlueprint = require('../../lib/utilities/ancestral-blueprint'); + module.exports = { description: 'Generates an initializer unit test.', locals: function() { - var blueprint = this.lookupBlueprint('initializer-test'); + var blueprint = ancestralBlueprint('initializer-test', this.project); return blueprint.locals.apply(blueprint, arguments); } }; diff --git a/blueprints/mixin-test/index.js b/blueprints/mixin-test/index.js index 400b5ac..840f008 100644 --- a/blueprints/mixin-test/index.js +++ b/blueprints/mixin-test/index.js @@ -1,8 +1,10 @@ +var ancestralBlueprint = require('../../lib/utilities/ancestral-blueprint'); + module.exports = { description: 'Generates a mixin unit test.', locals: function() { - var blueprint = this.lookupBlueprint('mixin-test'); + var blueprint = ancestralBlueprint('mixin-test', this.project); return blueprint.locals.apply(blueprint, arguments); } }; diff --git a/blueprints/model-test/index.js b/blueprints/model-test/index.js index 3189ce9..76d7aea 100644 --- a/blueprints/model-test/index.js +++ b/blueprints/model-test/index.js @@ -1,8 +1,10 @@ +var ancestralBlueprint = require('../../lib/utilities/ancestral-blueprint'); + module.exports = { description: 'Generates a model unit test.', locals: function() { - var blueprint = this.lookupBlueprint('model-test'); + var blueprint = ancestralBlueprint('model-test', this.project); return blueprint.locals.apply(blueprint, arguments); } }; diff --git a/blueprints/route-addon/index.js b/blueprints/route-addon/index.js index 967a643..584c0eb 100644 --- a/blueprints/route-addon/index.js +++ b/blueprints/route-addon/index.js @@ -1 +1 @@ -module.exports = require('ember-cli/blueprints/route-addon'); +module.exports = require('ember-cli-legacy-blueprints/blueprints/route-addon'); diff --git a/blueprints/route-test/index.js b/blueprints/route-test/index.js index a2877ae..7d2aa7b 100644 --- a/blueprints/route-test/index.js +++ b/blueprints/route-test/index.js @@ -1 +1 @@ -module.exports = require('ember-cli/blueprints/route-test'); +module.exports = require('ember-cli-legacy-blueprints/blueprints/route-test'); diff --git a/blueprints/route-test/files/tests/unit/__path__/__test__.coffee b/blueprints/route-test/qunit-files/tests/unit/__path__/__test__.coffee similarity index 100% rename from blueprints/route-test/files/tests/unit/__path__/__test__.coffee rename to blueprints/route-test/qunit-files/tests/unit/__path__/__test__.coffee diff --git a/blueprints/route/index.js b/blueprints/route/index.js index 36acd7a..c0a2bbd 100644 --- a/blueprints/route/index.js +++ b/blueprints/route/index.js @@ -1,3 +1,5 @@ +var ancestralBlueprint = require('../../lib/utilities/ancestral-blueprint'); + var fs = require('fs-extra'); var path = require('path'); var EOL = require('os').EOL; @@ -20,12 +22,12 @@ module.exports = { ], fileMapTokens: function() { - var blueprint = this.lookupBlueprint('route') + var blueprint = ancestralBlueprint('route', this.project) return blueprint.fileMapTokens.apply(blueprint, arguments); }, shouldTouchRouter: function(name, options) { - return this.lookupBlueprint('route').shouldTouchRouter(name, options); + return ancestralBlueprint('route', this.project).shouldTouchRouter(name, options); }, afterInstall: function(options) { diff --git a/blueprints/serializer-test/index.js b/blueprints/serializer-test/index.js index a09d6be..0deb5ac 100644 --- a/blueprints/serializer-test/index.js +++ b/blueprints/serializer-test/index.js @@ -1 +1 @@ -module.exports = require('ember-cli/blueprints/serializer-test'); +module.exports = require('ember-cli-legacy-blueprints/blueprints/serializer-test'); diff --git a/blueprints/serializer-test/files/tests/unit/__path__/__test__.coffee b/blueprints/serializer-test/qunit-files/tests/unit/__path__/__test__.coffee similarity index 100% rename from blueprints/serializer-test/files/tests/unit/__path__/__test__.coffee rename to blueprints/serializer-test/qunit-files/tests/unit/__path__/__test__.coffee diff --git a/blueprints/service-test/index.js b/blueprints/service-test/index.js index 909d82a..de350e2 100644 --- a/blueprints/service-test/index.js +++ b/blueprints/service-test/index.js @@ -1 +1 @@ -module.exports = require('ember-cli/blueprints/service-test'); +module.exports = require('ember-cli-legacy-blueprints/blueprints/service-test'); diff --git a/blueprints/service-test/files/tests/unit/services/__name__-test.coffee b/blueprints/service-test/qunit-files/tests/unit/services/__name__-test.coffee similarity index 100% rename from blueprints/service-test/files/tests/unit/services/__name__-test.coffee rename to blueprints/service-test/qunit-files/tests/unit/services/__name__-test.coffee diff --git a/blueprints/service/index.js b/blueprints/service/index.js index c9f170f..08665a2 100644 --- a/blueprints/service/index.js +++ b/blueprints/service/index.js @@ -1 +1 @@ -module.exports = require('ember-cli/blueprints/service'); +module.exports = require('ember-cli-legacy-blueprints/blueprints/service'); diff --git a/blueprints/template/index.js b/blueprints/template/index.js index f3b7615..cf4da54 100644 --- a/blueprints/template/index.js +++ b/blueprints/template/index.js @@ -1 +1 @@ -module.exports = require('ember-cli/blueprints/template'); +module.exports = require('ember-cli-legacy-blueprints/blueprints/template'); diff --git a/blueprints/test-helper/index.js b/blueprints/test-helper/index.js index 4de1ce7..9d16bdd 100644 --- a/blueprints/test-helper/index.js +++ b/blueprints/test-helper/index.js @@ -1 +1 @@ -module.exports = require('ember-cli/blueprints/test-helper'); +module.exports = require('ember-cli-legacy-blueprints/blueprints/test-helper'); diff --git a/blueprints/transform-test/index.js b/blueprints/transform-test/index.js index 4f5d75a..efc7bf2 100644 --- a/blueprints/transform-test/index.js +++ b/blueprints/transform-test/index.js @@ -1 +1 @@ -module.exports = require('ember-cli/blueprints/transform-test'); +module.exports = require('ember-cli-legacy-blueprints/blueprints/transform-test'); diff --git a/blueprints/transform-test/files/tests/unit/__path__/__test__.coffee b/blueprints/transform-test/qunit-files/tests/unit/__path__/__test__.coffee similarity index 100% rename from blueprints/transform-test/files/tests/unit/__path__/__test__.coffee rename to blueprints/transform-test/qunit-files/tests/unit/__path__/__test__.coffee diff --git a/blueprints/transform/index.js b/blueprints/transform/index.js index b7fd12d..3d4cbcc 100644 --- a/blueprints/transform/index.js +++ b/blueprints/transform/index.js @@ -1 +1 @@ -module.exports = require('ember-cli/blueprints/transform'); +module.exports = require('ember-cli-legacy-blueprints/blueprints/transform'); diff --git a/blueprints/util-test/index.js b/blueprints/util-test/index.js index 454553c..6b75508 100644 --- a/blueprints/util-test/index.js +++ b/blueprints/util-test/index.js @@ -1 +1 @@ -module.exports = require('ember-cli/blueprints/util-test'); +module.exports = require('ember-cli-legacy-blueprints/blueprints/util-test'); diff --git a/blueprints/util-test/files/tests/unit/utils/__name__-test.coffee b/blueprints/util-test/qunit-files/tests/unit/utils/__name__-test.coffee similarity index 100% rename from blueprints/util-test/files/tests/unit/utils/__name__-test.coffee rename to blueprints/util-test/qunit-files/tests/unit/utils/__name__-test.coffee diff --git a/blueprints/util/index.js b/blueprints/util/index.js index 2488841..ab73bb8 100644 --- a/blueprints/util/index.js +++ b/blueprints/util/index.js @@ -1 +1 @@ -module.exports = require('ember-cli/blueprints/util'); +module.exports = require('ember-cli-legacy-blueprints/blueprints/util'); diff --git a/blueprints/view-test/index.js b/blueprints/view-test/index.js index 5b805f9..a6637a7 100644 --- a/blueprints/view-test/index.js +++ b/blueprints/view-test/index.js @@ -1 +1 @@ -module.exports = require('ember-cli/blueprints/view-test'); +module.exports = require('ember-cli-legacy-blueprints/blueprints/view-test'); diff --git a/blueprints/view-test/files/tests/unit/__path__/__test__.coffee b/blueprints/view-test/qunit-files/tests/unit/__path__/__test__.coffee similarity index 100% rename from blueprints/view-test/files/tests/unit/__path__/__test__.coffee rename to blueprints/view-test/qunit-files/tests/unit/__path__/__test__.coffee diff --git a/blueprints/view/index.js b/blueprints/view/index.js index 45f6e11..4ea7e54 100644 --- a/blueprints/view/index.js +++ b/blueprints/view/index.js @@ -1 +1 @@ -module.exports = require('ember-cli/blueprints/view'); +module.exports = require('ember-cli-legacy-blueprints/blueprints/view'); diff --git a/lib/utilities/ancestral-blueprint.js b/lib/utilities/ancestral-blueprint.js new file mode 100644 index 0000000..2d97997 --- /dev/null +++ b/lib/utilities/ancestral-blueprint.js @@ -0,0 +1,18 @@ +'use strict'; + +var Blueprint = require('ember-cli/lib/models/blueprint'); + +/** + Find the non-coffeescript version of the blueprint to bootstrap off + */ +module.exports = function(dasherizedName, project) { + var projectPaths = project ? project.blueprintLookupPaths() : []; + + projectPaths = projectPaths.filter(function(p) { + return !p.match(/ember-cli-coffeescript/); + }); + + return Blueprint.lookup(dasherizedName, { + paths: projectPaths + }); +}; diff --git a/package.json b/package.json index e9a9f35..ee04f52 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "devDependencies": { "broccoli-asset-rev": "^2.2.0", "ember-ajax": "0.7.1", - "ember-cli": "2.4.1", + "ember-cli": "2.6.2", "ember-cli-app-version": "^1.0.0", "ember-cli-babel": "^5.1.5", "ember-cli-dependency-checker": "^1.2.0", @@ -55,6 +55,7 @@ "broccoli-persistent-filter": "^1.1.0", "chalk": "^1.0.0", "coffeelint": "^1.6.1", + "ember-cli-legacy-blueprints": "^0.1.1", "ember-cli-version-checker": "^1.0.1", "fs-extra": "^0.11.1", "ignore": "^3.0.9",