X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=rollup.config.mjs;h=46c1a17fd3dc78e170014ba333ca8a71fe760306;hb=f80cead4e0cfd0605f370fd9b057cf5bac6fac5d;hp=d35b8c42a00cea7e12e5eaf36f5d1733d048a374;hpb=7977150f9030ac200bd87f2f9f4752fa4de14581;p=poolifier.git diff --git a/rollup.config.mjs b/rollup.config.mjs index d35b8c42..46c1a17f 100644 --- a/rollup.config.mjs +++ b/rollup.config.mjs @@ -1,26 +1,37 @@ -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 istanbul from 'rollup-plugin-istanbul' +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 }), + isDevelopmentBuild && istanbul(), del({ - targets: 'lib/*' - }) + targets: ['lib/*'] + }), + isAnalyze && analyze(), + isDocumentation && command('npm run typedoc') ] }