mirror of
https://github.com/troisjs/trois.git
synced 2024-11-23 20:02:32 +08:00
update ts conf
This commit is contained in:
parent
0bfac37f53
commit
79f1512a1e
3
.vscode/settings.json
vendored
Normal file
3
.vscode/settings.json
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"volar.tsPlugin": true
|
||||
}
|
13
api-extractor.json
Normal file
13
api-extractor.json
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"mainEntryPointFilePath": "./types/export.d.ts",
|
||||
"apiReport": {
|
||||
"enabled": true
|
||||
},
|
||||
"docModel": {
|
||||
"enabled": true
|
||||
},
|
||||
"dtsRollup": {
|
||||
"enabled": true,
|
||||
"publicTrimmedFilePath": "./dist/trois.d.ts"
|
||||
}
|
||||
}
|
@ -7,9 +7,9 @@
|
||||
"rollup": "rollup -c"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@microsoft/api-extractor": "^7.14.0",
|
||||
"@rollup/plugin-buble": "^0.21.3",
|
||||
"@rollup/plugin-replace": "^2.3.3",
|
||||
"@rollup/plugin-typescript": "^8.2.1",
|
||||
"@types/three": "^0.127.1",
|
||||
"@typescript-eslint/eslint-plugin": "^4.22.0",
|
||||
"@typescript-eslint/parser": "^4.22.0",
|
||||
@ -26,17 +26,20 @@
|
||||
"eslint-plugin-vue": "^7.9.0",
|
||||
"gsap": "^3.5.1",
|
||||
"rollup-plugin-terser": "^7.0.2",
|
||||
"rollup-plugin-typescript2": "^0.30.0",
|
||||
"rollup-plugin-vue": "^6.0.0-beta.11",
|
||||
"stats.js": "0.17.0",
|
||||
"three": "^0.127",
|
||||
"typescript": "^4.1.3",
|
||||
"tslib": "^2.2.0",
|
||||
"typescript": "^4.1.5",
|
||||
"vite": "^2.1.5",
|
||||
"vue": "^3.0.11",
|
||||
"vue-eslint-parser": "^7.6.0",
|
||||
"vue-tsc": "^0.0.24"
|
||||
"vue-tsc": "^0.0.25"
|
||||
},
|
||||
"main": "build/trois.js",
|
||||
"module": "build/trois.module.js",
|
||||
"typings": "build/trois.d.ts",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/troisjs/trois.git"
|
||||
|
119
rollup.config.js
119
rollup.config.js
@ -1,11 +1,14 @@
|
||||
// import commonjs from '@rollup/plugin-commonjs';
|
||||
import path from 'path'
|
||||
import vue from 'rollup-plugin-vue'
|
||||
// import buble from '@rollup/plugin-buble';
|
||||
import { terser } from "rollup-plugin-terser"
|
||||
import typescript from 'rollup-plugin-typescript2'
|
||||
import replace from '@rollup/plugin-replace'
|
||||
import typescript from '@rollup/plugin-typescript'
|
||||
import { terser } from "rollup-plugin-terser"
|
||||
|
||||
// ensure TS checks only once for each build
|
||||
let hasTSChecked = false
|
||||
|
||||
const input = 'src/export.ts'
|
||||
|
||||
const external = [
|
||||
'three',
|
||||
'three/examples/jsm/controls/OrbitControls.js',
|
||||
@ -37,78 +40,42 @@ const cdnReplaces = {
|
||||
delimiters: ['', ''],
|
||||
}
|
||||
|
||||
const plugins = [
|
||||
typescript(),
|
||||
vue(),
|
||||
// buble({
|
||||
// transforms: { asyncAwait: false, forOf: false },
|
||||
// objectAssign: 'Object.assign',
|
||||
// }),
|
||||
]
|
||||
function createConfig(format, output, plugins = []) {
|
||||
const tsPlugin = typescript({
|
||||
check: false, // !hasTSChecked,
|
||||
cacheRoot: path.resolve(__dirname, 'node_modules/.tscache'),
|
||||
tsconfigOverride: {
|
||||
compilerOptions: {
|
||||
sourceMap: false, // !hasTSChecked,
|
||||
declaration: false, // !hasTSChecked,
|
||||
declarationMap: false, // !hasTSChecked,
|
||||
},
|
||||
include: [input],
|
||||
},
|
||||
})
|
||||
hasTSChecked = true
|
||||
|
||||
return {
|
||||
input,
|
||||
external,
|
||||
output: {
|
||||
format,
|
||||
...output,
|
||||
// exports: 'named',
|
||||
sourcemap: true,
|
||||
},
|
||||
plugins: [
|
||||
tsPlugin,
|
||||
vue(),
|
||||
...plugins,
|
||||
],
|
||||
}
|
||||
}
|
||||
|
||||
export default [
|
||||
{
|
||||
input,
|
||||
external,
|
||||
output: {
|
||||
format: 'es',
|
||||
exports: 'named',
|
||||
file: 'build/trois.module.cdn.js',
|
||||
sourcemap: true,
|
||||
},
|
||||
plugins: [
|
||||
replace(cdnReplaces),
|
||||
...plugins,
|
||||
],
|
||||
},
|
||||
{
|
||||
input,
|
||||
external,
|
||||
output: {
|
||||
format: 'es',
|
||||
exports: 'named',
|
||||
file: 'build/trois.module.cdn.min.js',
|
||||
sourcemap: true,
|
||||
},
|
||||
plugins: [
|
||||
replace(cdnReplaces),
|
||||
...plugins,
|
||||
terser(),
|
||||
],
|
||||
},
|
||||
{
|
||||
input,
|
||||
external,
|
||||
output: {
|
||||
format: 'es',
|
||||
exports: 'named',
|
||||
file: 'build/trois.module.js',
|
||||
sourcemap: true,
|
||||
},
|
||||
plugins,
|
||||
},
|
||||
{
|
||||
input,
|
||||
external,
|
||||
output: {
|
||||
format: 'es',
|
||||
exports: 'named',
|
||||
file: 'build/trois.module.min.js',
|
||||
sourcemap: true,
|
||||
},
|
||||
plugins: [
|
||||
...plugins,
|
||||
terser(),
|
||||
],
|
||||
},
|
||||
{
|
||||
input,
|
||||
external,
|
||||
output: {
|
||||
format: 'cjs',
|
||||
file: 'build/trois.js',
|
||||
sourcemap: true,
|
||||
},
|
||||
plugins,
|
||||
},
|
||||
createConfig('es', { file: 'build/trois.module.cdn.js' }, [replace(cdnReplaces)]),
|
||||
createConfig('es', { file: 'build/trois.module.cdn.min.js' }, [replace(cdnReplaces), terser()]),
|
||||
createConfig('es', { file: 'build/trois.module.js' }),
|
||||
createConfig('es', { file: 'build/trois.module.min.js' }, [terser()]),
|
||||
createConfig('cjs', { file: 'build/trois.js' }),
|
||||
]
|
||||
|
@ -5,8 +5,17 @@
|
||||
// this enables stricter inference for data properties on `this`
|
||||
"strict": true,
|
||||
"moduleResolution": "node",
|
||||
|
||||
// "esModuleInterop": true,
|
||||
// "lib": ["esnext", "dom"],
|
||||
// "types": ["vite/client"],
|
||||
|
||||
"sourceMap": true,
|
||||
"declaration": true,
|
||||
"declarationMap": true,
|
||||
"outDir": "types",
|
||||
},
|
||||
"include": ["src/**/*.ts", "src/**/*.vue"],
|
||||
"exclude": ["node_modules", "src/App.vue"]
|
||||
// "include": ["src/export.ts"],
|
||||
// "exclude": ["src/App.vue", "src/main.ts"],
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user