diff --git a/examples/preserve-modules/package.json b/examples/preserve-modules/package.json new file mode 100644 index 0000000..c7fc08d --- /dev/null +++ b/examples/preserve-modules/package.json @@ -0,0 +1,12 @@ +{ + "name": "preserve-modules", + "version": "0.0.0", + "private": true, + "scripts": { + "build": "rollup -c" + }, + "dependencies": { + "rollup": "^2.10.9", + "rollup-plugin-vue": "link:../.." + } +} diff --git a/examples/preserve-modules/rollup.config.js b/examples/preserve-modules/rollup.config.js new file mode 100644 index 0000000..441f2f2 --- /dev/null +++ b/examples/preserve-modules/rollup.config.js @@ -0,0 +1,15 @@ +import VuePlugin from 'rollup-plugin-vue' + +export default [ + { + input: 'src/HelloWorld.vue', + output: { + file: 'dist/HelloWorld.js', + format: 'esm', + sourcemap: 'inline', + preserveModules: true, + }, + plugins: [VuePlugin()], + external: ['vue'], + }, +] diff --git a/examples/preserve-modules/src/App.vue b/examples/preserve-modules/src/App.vue new file mode 100644 index 0000000..4e6c171 --- /dev/null +++ b/examples/preserve-modules/src/App.vue @@ -0,0 +1,14 @@ + + + diff --git a/examples/preserve-modules/src/HelloWorld.vue b/examples/preserve-modules/src/HelloWorld.vue new file mode 100644 index 0000000..7bb97bf --- /dev/null +++ b/examples/preserve-modules/src/HelloWorld.vue @@ -0,0 +1,9 @@ + + + diff --git a/test/core.e2e.ts b/test/core.e2e.ts index 8b63f15..9f91fe9 100644 --- a/test/core.e2e.ts +++ b/test/core.e2e.ts @@ -92,6 +92,18 @@ describe('typescript', () => { }) }) +describe('preserve modules', () => { + let result!: RollupOutput + + beforeAll(async () => { + result = await roll('preserve-modules') + }) + + it('should have modules', () => { + expect(Object.keys(result.output[0].modules).length).not.toEqual(0) + }) +}) + import Path from 'path' async function roll(name: string) { const configFile = `../examples/${name}/rollup.config.js`