diff --git a/packages/addon/manifest.json b/packages/addon/manifest.json
index 7b4b2f3d..e096bdea 100644
--- a/packages/addon/manifest.json
+++ b/packages/addon/manifest.json
@@ -84,7 +84,7 @@
"ember-source": ">=3.10.0-beta.1"
},
"nodeVersionRange": ">=8",
- "commands" : ["ember-angle-brackets-codemod@2 angle-brackets ./app/templates"]
+ "script": "let ps = execa.command(\"ember s\", { stderr: \"inherit\", preferLocal: true }); ps.stdout.pipe(process.stdout); try { let url = await new Promise((resolve, reject) => { ps.stdout.on(\"data\", data => { let str = data.toString(); let matches = str.match(/^Build successful \\(\\d+ms\\) – Serving on (.*)$/m); if (matches) { resolve(matches[1]); } }); ps.once(\"error\", reject); ps.once(\"exit\", reject); }); await execa.command(`npx ember-angle-brackets-codemod@3 ${url} app/`, { stdio: \"inherit\" }); } finally { if (!ps.exitCode) { ps.kill(); await new Promise(resolve => { ps.once(\"exit\", resolve); }); } }"
},
"fpe-on-codemod": {
"versionRanges": {
diff --git a/packages/app/manifest.json b/packages/app/manifest.json
index 7b4b2f3d..e096bdea 100644
--- a/packages/app/manifest.json
+++ b/packages/app/manifest.json
@@ -84,7 +84,7 @@
"ember-source": ">=3.10.0-beta.1"
},
"nodeVersionRange": ">=8",
- "commands" : ["ember-angle-brackets-codemod@2 angle-brackets ./app/templates"]
+ "script": "let ps = execa.command(\"ember s\", { stderr: \"inherit\", preferLocal: true }); ps.stdout.pipe(process.stdout); try { let url = await new Promise((resolve, reject) => { ps.stdout.on(\"data\", data => { let str = data.toString(); let matches = str.match(/^Build successful \\(\\d+ms\\) – Serving on (.*)$/m); if (matches) { resolve(matches[1]); } }); ps.once(\"error\", reject); ps.once(\"exit\", reject); }); await execa.command(`npx ember-angle-brackets-codemod@3 ${url} app/`, { stdio: \"inherit\" }); } finally { if (!ps.exitCode) { ps.kill(); await new Promise(resolve => { ps.once(\"exit\", resolve); }); } }"
},
"fpe-on-codemod": {
"versionRanges": {
diff --git a/test/fixtures/codemods/ember-angle-brackets-codemod/latest-node/my-app/app/templates/application.hbs b/test/fixtures/codemods/ember-angle-brackets-codemod/latest-node/my-app/app/templates/application.hbs
index f3b33531..34d6f899 100644
--- a/test/fixtures/codemods/ember-angle-brackets-codemod/latest-node/my-app/app/templates/application.hbs
+++ b/test/fixtures/codemods/ember-angle-brackets-codemod/latest-node/my-app/app/templates/application.hbs
@@ -4,4 +4,4 @@
{{outlet}}
-
+
diff --git a/test/fixtures/codemods/ember-angle-brackets-codemod/latest-node/my-app/app/templates/components/foo-bar.hbs b/test/fixtures/codemods/ember-angle-brackets-codemod/latest-node/my-app/app/templates/components/foo-bar.hbs
new file mode 100644
index 00000000..889d9eea
--- /dev/null
+++ b/test/fixtures/codemods/ember-angle-brackets-codemod/latest-node/my-app/app/templates/components/foo-bar.hbs
@@ -0,0 +1 @@
+{{yield}}
diff --git a/test/fixtures/codemods/ember-angle-brackets-codemod/local/my-app/app/templates/application.hbs b/test/fixtures/codemods/ember-angle-brackets-codemod/local/my-app/app/templates/application.hbs
index 750ed700..9a62ef6d 100644
--- a/test/fixtures/codemods/ember-angle-brackets-codemod/local/my-app/app/templates/application.hbs
+++ b/test/fixtures/codemods/ember-angle-brackets-codemod/local/my-app/app/templates/application.hbs
@@ -4,4 +4,4 @@
{{outlet}}
-{{ui/button text="Click me"}}
+{{foo-bar}}
diff --git a/test/fixtures/codemods/ember-angle-brackets-codemod/local/my-app/app/templates/components/foo-bar.hbs b/test/fixtures/codemods/ember-angle-brackets-codemod/local/my-app/app/templates/components/foo-bar.hbs
new file mode 100644
index 00000000..889d9eea
--- /dev/null
+++ b/test/fixtures/codemods/ember-angle-brackets-codemod/local/my-app/app/templates/components/foo-bar.hbs
@@ -0,0 +1 @@
+{{yield}}
diff --git a/test/fixtures/codemods/ember-angle-brackets-codemod/min-node/my-app/app/templates/application.hbs b/test/fixtures/codemods/ember-angle-brackets-codemod/min-node/my-app/app/templates/application.hbs
index f3b33531..34d6f899 100644
--- a/test/fixtures/codemods/ember-angle-brackets-codemod/min-node/my-app/app/templates/application.hbs
+++ b/test/fixtures/codemods/ember-angle-brackets-codemod/min-node/my-app/app/templates/application.hbs
@@ -4,4 +4,4 @@
{{outlet}}
-
+
diff --git a/test/fixtures/codemods/ember-angle-brackets-codemod/min-node/my-app/app/templates/components/foo-bar.hbs b/test/fixtures/codemods/ember-angle-brackets-codemod/min-node/my-app/app/templates/components/foo-bar.hbs
new file mode 100644
index 00000000..889d9eea
--- /dev/null
+++ b/test/fixtures/codemods/ember-angle-brackets-codemod/min-node/my-app/app/templates/components/foo-bar.hbs
@@ -0,0 +1 @@
+{{yield}}
diff --git a/test/tests.js b/test/tests.js
index 1a89d769..4773fe5a 100644
--- a/test/tests.js
+++ b/test/tests.js
@@ -12,6 +12,7 @@ const {
assertNoUnstaged,
assertCodemodRan
} = require('./helpers/assertions');
+const run = require('ember-cli-update/src/run');
let manifest;
let fixturesPath;
@@ -121,6 +122,10 @@ describe('runs codemods', function() {
} = await merge({
async beforeMerge() {
await _merge('local', tmpPath);
+
+ if (manifest[codemod].script) {
+ await run('npm install', { cwd: tmpPath });
+ }
}
});
@@ -148,9 +153,14 @@ describe('runs codemods', function() {
assertNoUnstaged(status);
assertCodemodRan(status);
+ await fs.remove(path.join(tmpPath, 'package-lock.json'));
+
// file is indeterminent between OS's, so ignore
await fs.remove(path.join(tmpPath, 'MODULE_REPORT.md'));
+ // remove dist and node_modules before fixture compare
+ await run('git clean -fdX', { cwd: tmpPath });
+
let nodeVersion = 'latest-node';
if (process.env.NODE_LTS) {
nodeVersion = 'min-node';