X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=rollup.config.mjs;h=7c274b1a72dd97b8f5beb243ff434d1ba84ff455;hb=076d9b796b5b87d8caebbe817d701080a4f2307d;hp=d35b8c42a00cea7e12e5eaf36f5d1733d048a374;hpb=7977150f9030ac200bd87f2f9f4752fa4de14581;p=poolifier.git diff --git a/rollup.config.mjs b/rollup.config.mjs index d35b8c42..7c274b1a 100644 --- a/rollup.config.mjs +++ b/rollup.config.mjs @@ -1,26 +1,35 @@ -import typescript from 'rollup-plugin-typescript2' +import analyze from 'rollup-plugin-analyzer' +import command from 'rollup-plugin-command' import del from 'rollup-plugin-delete' +import { terser } from 'rollup-plugin-terser' +import ts from 'rollup-plugin-ts' const isDevelopmentBuild = process.env.BUILD === 'development' +const isAnalyze = process.env.ANALYZE +const isDocumentation = process.env.DOCUMENTATION export default { input: 'src/index.ts', output: { - dir: 'lib', + ...(isDevelopmentBuild ? { dir: 'lib' } : { file: 'lib/index.js' }), format: 'cjs', sourcemap: !!isDevelopmentBuild, - preserveModules: true, - preserveModulesRoot: 'src' + ...(isDevelopmentBuild && { preserveModules: true }), + ...(isDevelopmentBuild && { preserveModulesRoot: 'src' }), + ...(!isDevelopmentBuild && { plugins: [terser({ numWorkers: 2 })] }) }, - external: ['async_hooks', 'cluster', 'events', 'worker_threads'], + external: ['async_hooks', 'cluster', 'events', 'os', 'worker_threads'], plugins: [ - typescript({ + ts({ tsconfig: isDevelopmentBuild ? 'tsconfig.development.json' - : 'tsconfig.json' + : 'tsconfig.json', + browserslist: false }), del({ - targets: 'lib/*' - }) + targets: ['lib/*'] + }), + isAnalyze && analyze(), + isDocumentation && command('npm run typedoc') ] }