diff --git a/packages/@vue/cli/__tests__/Generator.spec.js b/packages/@vue/cli/__tests__/Generator.spec.js index 7e4e0cb274..6da53c4368 100644 --- a/packages/@vue/cli/__tests__/Generator.spec.js +++ b/packages/@vue/cli/__tests__/Generator.spec.js @@ -23,6 +23,19 @@ new Vue({ }).$mount('#app') `.trim()) fs.writeFileSync(path.resolve(templateDir, 'empty-entry.js'), `;`) +fs.writeFileSync(path.resolve(templateDir, 'hello.vue'), ` + + +`) // replace stubs fs.writeFileSync(path.resolve(templateDir, 'replace.js'), ` @@ -505,6 +518,25 @@ test('api: addEntryDuplicateImport', async () => { expect(fs.readFileSync('/main.js', 'utf-8')).toMatch(/^import foo from 'foo'\s+new Vue/) }) +test('api: injectImport for .vue files', async () => { + const generator = new Generator('/', { plugins: [ + { + id: 'test', + apply: api => { + api.injectImports('hello.vue', `import foo from 'foo'`) + api.render({ + 'hello.vue': path.join(templateDir, 'hello.vue') + }) + } + } + ] }) + + await generator.generate() + const content = fs.readFileSync('/hello.vue', 'utf-8') + expect(content).toMatch(/import foo from 'foo'/) + expect(content).toMatch(/