From a5e27eb80996ab4f0801b324c5e76db616e524aa Mon Sep 17 00:00:00 2001 From: Kelly Selden Date: Sun, 17 Nov 2019 22:38:13 +0000 Subject: [PATCH 1/3] chore: supporting test modifications --- test/tests.js | 10 ++++++++++ 1 file changed, 10 insertions(+) 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'; From 5213f7c2b8300a2396b702aecbfb830cce01e987 Mon Sep 17 00:00:00 2001 From: Kelly Selden Date: Wed, 15 Jan 2020 11:04:37 +0000 Subject: [PATCH 2/3] chore: update fixtures --- .../latest-node/my-app/app/templates/application.hbs | 2 +- .../latest-node/my-app/app/templates/components/foo-bar.hbs | 1 + .../local/my-app/app/templates/application.hbs | 2 +- .../local/my-app/app/templates/components/foo-bar.hbs | 1 + .../min-node/my-app/app/templates/application.hbs | 2 +- .../min-node/my-app/app/templates/components/foo-bar.hbs | 1 + 6 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 test/fixtures/codemods/ember-angle-brackets-codemod/latest-node/my-app/app/templates/components/foo-bar.hbs create mode 100644 test/fixtures/codemods/ember-angle-brackets-codemod/local/my-app/app/templates/components/foo-bar.hbs create mode 100644 test/fixtures/codemods/ember-angle-brackets-codemod/min-node/my-app/app/templates/components/foo-bar.hbs 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}} From 2125ba759d314abf5f2fed483a03feec734ff81e Mon Sep 17 00:00:00 2001 From: Kelly Selden Date: Wed, 15 Jan 2020 11:04:44 +0000 Subject: [PATCH 3/3] feat: ember-angle-brackets-codemod@3 --- packages/addon/manifest.json | 2 +- packages/app/manifest.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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": {