Skip to content

Commit 6823f6f

Browse files
committed
make sure that you a prompted to add node: current to targets
1 parent 17c6e25 commit 6823f6f

File tree

3 files changed

+40
-7
lines changed

3 files changed

+40
-7
lines changed

blueprints/ember-cli-fastboot/index.js

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,35 @@
11
/* eslint-env node */
22
const recast = require('recast');
33
const { readFileSync, writeFileSync } = require('fs');
4+
const { join, dirname } = require('path')
5+
const tmp = require('tmp');
6+
const mkdirp = require('mkdirp');
47

58
module.exports = {
69
description: '',
710
normalizeEntityName() {
811
// no-op
912
},
1013

11-
afterInstall() {
12-
let targetsFile = './config/targets.js'
14+
filesPath() {
15+
return this._filesPath;
16+
},
17+
18+
_targetsFile(project) {
19+
let configPath = 'config';
1320

14-
if(this.project.isEmberCLIAddon()) {
15-
targetsFile = './tests/dummy/config/targets.js';
21+
if (project.pkg['ember-addon'] && project.pkg['ember-addon']['configPath']) {
22+
configPath = project.pkg['ember-addon']['configPath'];
1623
}
1724

25+
return join(configPath, 'targets.js');
26+
},
27+
28+
install(options) {
29+
this._filesPath = tmp.dirSync().name;
30+
31+
const targetsFile = this._targetsFile(options.project);
32+
1833
const targetsAst = recast.parse(readFileSync(targetsFile));
1934

2035
recast.visit(targetsAst, {
@@ -39,6 +54,10 @@ module.exports = {
3954
}
4055
});
4156

42-
writeFileSync(targetsFile, recast.print(targetsAst, { tabWidth: 2, quote: 'single' }).code);
57+
let newFile = join(this._filesPath, targetsFile);
58+
mkdirp.sync(dirname(newFile));
59+
writeFileSync(newFile, recast.print(targetsAst, { tabWidth: 2, quote: 'single' }).code);
60+
61+
return this._super.install.apply(this, arguments);
4362
}
4463
};

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,10 @@
3939
"fs-extra": "^7.0.0",
4040
"json-stable-stringify": "^1.0.1",
4141
"md5-hex": "^2.0.0",
42+
"mkdirp": "^1.0.4",
4243
"recast": "^0.19.1",
43-
"silent-error": "^1.1.0"
44+
"silent-error": "^1.1.0",
45+
"tmp": "^0.2.1"
4446
},
4547
"devDependencies": {
4648
"body-parser": "^1.18.3",

yarn.lock

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7316,6 +7316,11 @@ mkdirp@^0.5.0, mkdirp@^0.5.1:
73167316
dependencies:
73177317
minimist "^1.2.5"
73187318

7319+
mkdirp@^1.0.4:
7320+
version "1.0.4"
7321+
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
7322+
integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
7323+
73197324
mktemp@~0.4.0:
73207325
version "0.4.0"
73217326
resolved "https://registry.yarnpkg.com/mktemp/-/mktemp-0.4.0.tgz#6d0515611c8a8c84e484aa2000129b98e981ff0b"
@@ -8780,7 +8785,7 @@ rimraf@^2.2.8, rimraf@^2.3.4, rimraf@^2.4.3, rimraf@^2.4.4, rimraf@^2.5.3, rimra
87808785
dependencies:
87818786
glob "^7.1.3"
87828787

8783-
rimraf@^3.0.1:
8788+
rimraf@^3.0.0, rimraf@^3.0.1:
87848789
version "3.0.2"
87858790
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
87868791
integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
@@ -9716,6 +9721,13 @@ tmp@^0.0.29:
97169721
dependencies:
97179722
os-tmpdir "~1.0.1"
97189723

9724+
tmp@^0.2.1:
9725+
version "0.2.1"
9726+
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14"
9727+
integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==
9728+
dependencies:
9729+
rimraf "^3.0.0"
9730+
97199731
tmpl@1.0.x:
97209732
version "1.0.4"
97219733
resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1"

0 commit comments

Comments
 (0)