diff --git a/packages/app-utils/cpr.js b/packages/app-utils/cpr.js deleted file mode 100644 index 7fe852f3aeba7..0000000000000 --- a/packages/app-utils/cpr.js +++ /dev/null @@ -1,19 +0,0 @@ -const fs = require('fs'); -const path = require('path'); - -// recursive copy file to make scripts in package.json cross-platform - -function copyRecursiveSync(src, dest) { - if (fs.existsSync(src) && fs.statSync(src).isDirectory()) { - fs.mkdirSync(dest, { recursive: true }); - fs.readdirSync(src).forEach(file => - copyRecursiveSync(path.join(src, file), path.join(dest, file)) - ); - } else { - fs.copyFileSync(src, dest); - } -} - -const [, , src, dest] = process.argv; - -copyRecursiveSync(src, dest); diff --git a/packages/app-utils/package.json b/packages/app-utils/package.json index 4c5369b5335db..4cec15830a1a3 100644 --- a/packages/app-utils/package.json +++ b/packages/app-utils/package.json @@ -7,7 +7,6 @@ "build": "npm run clean && rollup -c", "lint": "eslint --ignore-pattern node_modules/ --ignore-pattern dist/ --ignore-pattern files/ --ignore-pattern http/ --ignore-pattern renderer/ '**/*.{ts,js,svelte}'", "format": "prettier --write . --config ../../.prettierrc --ignore-path ../../.prettierignore", - "buildTypes": "tsc && node cpr build/types . && node cpr src/types types", "prepare": "npm run build", "prepublishOnly": "npm run build", "test": "uvu -r ts-node/register" diff --git a/packages/app-utils/rollup.config.js b/packages/app-utils/rollup.config.js index d168036f43424..8c2170ab894c4 100644 --- a/packages/app-utils/rollup.config.js +++ b/packages/app-utils/rollup.config.js @@ -1,6 +1,8 @@ import { nodeResolve } from '@rollup/plugin-node-resolve'; import typescript from 'rollup-plugin-typescript2'; import pkg from './package.json'; +const fs = require('fs'); +const path = require('path'); const input = {}; Object.keys(pkg.exports).forEach(key => { @@ -27,10 +29,27 @@ export default { ], plugins: [ nodeResolve(), - typescript() + typescript({ useTsconfigDeclarationDir: true }), + { + name: 'copy-types', + resolveId: () => null, + load: () => null, + writeBundle: (...args) => { + copyRecursiveSync('build/types', '.'); + copyRecursiveSync('src/types', 'types'); + } + } ], - external: [ - ...require('module').builtinModules, - ...Object.keys(pkg.dependencies) - ] + external: [...require('module').builtinModules, ...Object.keys(pkg.dependencies)] }; + +function copyRecursiveSync(src, dest) { + if (fs.existsSync(src) && fs.statSync(src).isDirectory()) { + fs.mkdirSync(dest, { recursive: true }); + fs.readdirSync(src).forEach(file => + copyRecursiveSync(path.join(src, file), path.join(dest, file)) + ); + } else { + fs.copyFileSync(src, dest); + } +}