Merge branch 'master' into issue-70
[poolifier.git] / rollup.config.mjs
1 import typescript from 'rollup-plugin-typescript2'
2 import analyze from 'rollup-plugin-analyzer'
3 import { terser } from 'rollup-plugin-terser'
4 import del from 'rollup-plugin-delete'
5
6 const isDevelopmentBuild = process.env.BUILD === 'development'
7 const isAnalyze = process.env.ANALYZE
8
9 export default {
10 input: 'src/index.ts',
11 output: {
12 ...(isDevelopmentBuild ? { dir: 'lib' } : { file: 'lib/index.js' }),
13 format: 'cjs',
14 sourcemap: !!isDevelopmentBuild,
15 ...(isDevelopmentBuild && { preserveModules: true }),
16 ...(isDevelopmentBuild && { preserveModulesRoot: 'src' }),
17 ...(!isDevelopmentBuild && { plugins: [terser({ numWorkers: 2 })] })
18 },
19 external: ['async_hooks', 'cluster', 'events', 'worker_threads'],
20 plugins: [
21 typescript({
22 tsconfig: isDevelopmentBuild
23 ? 'tsconfig.development.json'
24 : 'tsconfig.json'
25 }),
26 del({
27 targets: ['lib/*']
28 }),
29 isAnalyze && analyze()
30 ]
31 }