From 2e87dfc90f0c2b340ece71b192f2ddc08318737c Mon Sep 17 00:00:00 2001 From: Evan You Date: Thu, 11 Jan 2018 20:43:26 -0500 Subject: [PATCH] simplfy ts + babel, add generator test for ts --- .../__tests__/pwaGenerator.spec.js | 26 ++++ .../{pwa.spec.js => pwaPlugin.spec.js} | 0 .../cli-plugin-typescript/__tests__/.eslintrc | 5 + .../__tests__/tsGenerator.spec.js | 126 ++++++++++++++++++ .../cli-plugin-typescript/generator/index.js | 27 +--- packages/@vue/cli-plugin-typescript/index.js | 2 +- .../@vue/cli-plugin-typescript/lib/tslint.js | 2 + packages/@vue/cli/lib/promptModules/babel.js | 6 +- 8 files changed, 170 insertions(+), 24 deletions(-) create mode 100644 packages/@vue/cli-plugin-pwa/__tests__/pwaGenerator.spec.js rename packages/@vue/cli-plugin-pwa/__tests__/{pwa.spec.js => pwaPlugin.spec.js} (100%) create mode 100644 packages/@vue/cli-plugin-typescript/__tests__/.eslintrc create mode 100644 packages/@vue/cli-plugin-typescript/__tests__/tsGenerator.spec.js diff --git a/packages/@vue/cli-plugin-pwa/__tests__/pwaGenerator.spec.js b/packages/@vue/cli-plugin-pwa/__tests__/pwaGenerator.spec.js new file mode 100644 index 000000000..c2bb995d3 --- /dev/null +++ b/packages/@vue/cli-plugin-pwa/__tests__/pwaGenerator.spec.js @@ -0,0 +1,26 @@ +const generateWithPlugin = require('@vue/cli-test-utils/generateWithPlugin') + +test('inject import statement for service worker', async () => { + const mockMain = ( + `import Vue from 'vue'\n` + + `import Bar from './Bar.vue'` + ) + const { files } = await generateWithPlugin([ + { + id: 'files', + apply: api => { + api.render(files => { + files['src/main.js'] = mockMain + }) + }, + options: {} + }, + { + id: 'pwa', + apply: require('../generator'), + options: {} + } + ]) + + expect(files['src/main.js']).toMatch(`${mockMain}\nimport './registerServiceWorker'`) +}) diff --git a/packages/@vue/cli-plugin-pwa/__tests__/pwa.spec.js b/packages/@vue/cli-plugin-pwa/__tests__/pwaPlugin.spec.js similarity index 100% rename from packages/@vue/cli-plugin-pwa/__tests__/pwa.spec.js rename to packages/@vue/cli-plugin-pwa/__tests__/pwaPlugin.spec.js diff --git a/packages/@vue/cli-plugin-typescript/__tests__/.eslintrc b/packages/@vue/cli-plugin-typescript/__tests__/.eslintrc new file mode 100644 index 000000000..92b6bda70 --- /dev/null +++ b/packages/@vue/cli-plugin-typescript/__tests__/.eslintrc @@ -0,0 +1,5 @@ +{ + "rules": { + "vue-libs/no-async-functions": 0 + } +} diff --git a/packages/@vue/cli-plugin-typescript/__tests__/tsGenerator.spec.js b/packages/@vue/cli-plugin-typescript/__tests__/tsGenerator.spec.js new file mode 100644 index 000000000..62d1a1700 --- /dev/null +++ b/packages/@vue/cli-plugin-typescript/__tests__/tsGenerator.spec.js @@ -0,0 +1,126 @@ +const generateWithPlugin = require('@vue/cli-test-utils/generateWithPlugin') + +test('generate files', async () => { + const { files } = await generateWithPlugin([ + { + id: 'core', + apply: require('@vue/cli-service/generator'), + options: {} + }, + { + id: 'ts', + apply: require('../generator'), + options: {} + } + ]) + + expect(files['src/main.ts']).toBeTruthy() + expect(files['src/main.js']).toBeFalsy() + expect(files['src/App.vue']).toMatch('