From 6a0e20d297c15729bb9d23113abc4c4921fb27a2 Mon Sep 17 00:00:00 2001 From: Kevin Levron Date: Tue, 27 Apr 2021 20:07:12 +0200 Subject: [PATCH 1/2] test rollup-plugin-dts --- package.json | 4 ++- rollup.config.js | 79 +++++++++++++++++++++++++++--------------------- tsconfig.json | 1 + 3 files changed, 49 insertions(+), 35 deletions(-) diff --git a/package.json b/package.json index 4e7b9ed..6a5b3d1 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "version": "0.2.3", "scripts": { "dev": "vite", + "types": "tsc", "build": "vue-tsc --noEmit && vite build", "rollup": "rollup -c" }, @@ -25,6 +26,7 @@ "eslint-plugin-standard": "^4.0.1", "eslint-plugin-vue": "^7.9.0", "gsap": "^3.5.1", + "rollup-plugin-dts": "^3.0.1", "rollup-plugin-esbuild": "^4.1.0", "stats.js": "0.17.0", "three": "^0.127", @@ -37,7 +39,7 @@ }, "main": "build/trois.js", "module": "build/trois.module.js", - "typings": "build/trois.d.ts", + "types": "build/trois.d.ts", "repository": { "type": "git", "url": "git+https://github.com/troisjs/trois.git" diff --git a/rollup.config.js b/rollup.config.js index 02f0ada..47334c7 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,6 +1,8 @@ // import vue from 'rollup-plugin-vue' -import esbuild from 'rollup-plugin-esbuild' -import replace from '@rollup/plugin-replace' +// import esbuild from 'rollup-plugin-esbuild' +// import replace from '@rollup/plugin-replace' +import dts from "rollup-plugin-dts" +// import { nodeResolve } from '@rollup/plugin-node-resolve' const input = 'src/export.ts' @@ -28,41 +30,50 @@ const external = [ 'vue', ] -const cdnReplaces = { - 'from \'vue\'': 'from \'https://unpkg.com/vue@3.0.11/dist/vue.esm-browser.prod.js\'', - 'from \'three\'': 'from \'https://unpkg.com/three@0.127.0/build/three.module.js\'', - 'from \'three/examples': 'from \'https://unpkg.com/three@0.127.0/examples', - delimiters: ['', ''], -} +// const cdnReplaces = { +// 'from \'vue\'': 'from \'https://unpkg.com/vue@3.0.11/dist/vue.esm-browser.prod.js\'', +// 'from \'three\'': 'from \'https://unpkg.com/three@0.127.0/build/three.module.js\'', +// 'from \'three/examples': 'from \'https://unpkg.com/three@0.127.0/examples', +// delimiters: ['', ''], +// } -function createConfig(format, output, plugins = [], minify = false) { - const tsPlugin = esbuild({ - sourceMap: true, - minify, - target: 'es2019', - }) +// function createConfig(format, output, plugins = [], minify = false) { +// const tsPlugin = esbuild({ +// sourceMap: true, +// minify, +// target: 'es2019', +// }) - return { - input, +// return { +// input, +// external, +// output: { +// format, +// ...output, +// // exports: 'named', +// sourcemap: true, +// }, +// plugins: [ +// // vue(), +// tsPlugin, +// ...plugins, +// ], +// } +// } + +export default [ + // createConfig('es', { file: 'build/trois.module.cdn.js' }, [replace(cdnReplaces)]), + // createConfig('es', { file: 'build/trois.module.cdn.min.js' }, [replace(cdnReplaces)], true), + // createConfig('es', { file: 'build/trois.module.js' }), + // createConfig('es', { file: 'build/trois.module.min.js' }, [], true), + // createConfig('cjs', { file: 'build/trois.js' }), + { + input: 'types/export.d.ts', external, output: { - format, - ...output, - // exports: 'named', - sourcemap: true, + format: 'es', + file: 'build/trois.d.ts', + plugins: [dts()], }, - plugins: [ - // vue(), - tsPlugin, - ...plugins, - ], - } -} - -export default [ - createConfig('es', { file: 'build/trois.module.cdn.js' }, [replace(cdnReplaces)]), - createConfig('es', { file: 'build/trois.module.cdn.min.js' }, [replace(cdnReplaces)], true), - createConfig('es', { file: 'build/trois.module.js' }), - createConfig('es', { file: 'build/trois.module.min.js' }, [], true), - createConfig('cjs', { file: 'build/trois.js' }), + }, ] diff --git a/tsconfig.json b/tsconfig.json index a9ac9e5..5fed8a1 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -16,6 +16,7 @@ "outDir": "types", }, "include": ["src/**/*.ts", "src/**/*.vue"], + "exclude": ["src/components/**/*.ts"], // "include": ["src/export.ts"], // "exclude": ["src/App.vue", "src/main.ts"], } From 0308885211a58236874d81572b52866f41db75ad Mon Sep 17 00:00:00 2001 From: Kevin Levron Date: Wed, 28 Apr 2021 12:29:24 +0200 Subject: [PATCH 2/2] fix rollup conf --- rollup.config.js | 73 ++++++++++++++++++++++++------------------------ 1 file changed, 36 insertions(+), 37 deletions(-) diff --git a/rollup.config.js b/rollup.config.js index 47334c7..a26fc30 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,8 +1,7 @@ // import vue from 'rollup-plugin-vue' -// import esbuild from 'rollup-plugin-esbuild' -// import replace from '@rollup/plugin-replace' +import esbuild from 'rollup-plugin-esbuild' +import replace from '@rollup/plugin-replace' import dts from "rollup-plugin-dts" -// import { nodeResolve } from '@rollup/plugin-node-resolve' const input = 'src/export.ts' @@ -30,50 +29,50 @@ const external = [ 'vue', ] -// const cdnReplaces = { -// 'from \'vue\'': 'from \'https://unpkg.com/vue@3.0.11/dist/vue.esm-browser.prod.js\'', -// 'from \'three\'': 'from \'https://unpkg.com/three@0.127.0/build/three.module.js\'', -// 'from \'three/examples': 'from \'https://unpkg.com/three@0.127.0/examples', -// delimiters: ['', ''], -// } +const cdnReplaces = { + 'from \'vue\'': 'from \'https://unpkg.com/vue@3.0.11/dist/vue.esm-browser.prod.js\'', + 'from \'three\'': 'from \'https://unpkg.com/three@0.127.0/build/three.module.js\'', + 'from \'three/examples': 'from \'https://unpkg.com/three@0.127.0/examples', + delimiters: ['', ''], +} -// function createConfig(format, output, plugins = [], minify = false) { -// const tsPlugin = esbuild({ -// sourceMap: true, -// minify, -// target: 'es2019', -// }) +function createConfig(format, output, plugins = [], minify = false) { + const tsPlugin = esbuild({ + sourceMap: true, + minify, + target: 'es2019', + }) -// return { -// input, -// external, -// output: { -// format, -// ...output, -// // exports: 'named', -// sourcemap: true, -// }, -// plugins: [ -// // vue(), -// tsPlugin, -// ...plugins, -// ], -// } -// } + return { + input, + external, + output: { + format, + ...output, + // exports: 'named', + sourcemap: true, + }, + plugins: [ + // vue(), + tsPlugin, + ...plugins, + ], + } +} export default [ - // createConfig('es', { file: 'build/trois.module.cdn.js' }, [replace(cdnReplaces)]), - // createConfig('es', { file: 'build/trois.module.cdn.min.js' }, [replace(cdnReplaces)], true), - // createConfig('es', { file: 'build/trois.module.js' }), - // createConfig('es', { file: 'build/trois.module.min.js' }, [], true), - // createConfig('cjs', { file: 'build/trois.js' }), + createConfig('es', { file: 'build/trois.module.cdn.js' }, [replace(cdnReplaces)]), + createConfig('es', { file: 'build/trois.module.cdn.min.js' }, [replace(cdnReplaces)], true), + createConfig('es', { file: 'build/trois.module.js' }), + createConfig('es', { file: 'build/trois.module.min.js' }, [], true), + createConfig('cjs', { file: 'build/trois.js' }), { input: 'types/export.d.ts', external, + plugins: [dts()], output: { format: 'es', file: 'build/trois.d.ts', - plugins: [dts()], }, }, ]