README.md: Small refinements
[poolifier.git] / rollup.config.mjs
index 3dad3c3eb93ecd7880a005faa5850e353f6f5631..bac8f614a5524bd3983969c29ef1d4b36f6fb202 100644 (file)
@@ -1,26 +1,31 @@
+import typescript from 'rollup-plugin-typescript2'
+import analyze from 'rollup-plugin-analyzer'
+import { terser } from 'rollup-plugin-terser'
 import del from 'rollup-plugin-delete'
-import ts from '@wessberg/rollup-plugin-ts'
 
 const isDevelopmentBuild = process.env.BUILD === 'development'
+const isAnalyze = process.env.ANALYZE
 
 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'],
   plugins: [
-    ts({
+    typescript({
       tsconfig: isDevelopmentBuild
         ? 'tsconfig.development.json'
         : 'tsconfig.json'
     }),
     del({
-      targets: 'lib/*'
-    })
+      targets: ['lib/*']
+    }),
+    isAnalyze && analyze()
   ]
 }