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, - 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, + output: { + format: 'es', + file: 'build/trois.d.ts', + plugins: [dts()], + }, + }, ] 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"], }