Build minified for production (#155)
[poolifier.git] / rollup.config.mjs
index 8afbc006de8827bccd162a14d2d3a1d4e33de695..bac8f614a5524bd3983969c29ef1d4b36f6fb202 100644 (file)
@@ -4,24 +4,18 @@ import { terser } from 'rollup-plugin-terser'
 import del from 'rollup-plugin-delete'
 
 const isDevelopmentBuild = process.env.BUILD === 'development'
+const isAnalyze = process.env.ANALYZE
 
 export default {
   input: 'src/index.ts',
-  output: [
-    {
-      dir: 'lib',
-      format: 'cjs',
-      sourcemap: !!isDevelopmentBuild,
-      preserveModules: true,
-      preserveModulesRoot: 'src'
-    },
-    isDevelopmentBuild && {
-      file: 'lib.min/index.js',
-      format: 'cjs',
-      sourcemap: !!isDevelopmentBuild,
-      plugins: [terser({ numWorkers: 2 })]
-    }
-  ],
+  output: {
+    ...(isDevelopmentBuild ? { dir: 'lib' } : { file: 'lib/index.js' }),
+    format: 'cjs',
+    sourcemap: !!isDevelopmentBuild,
+    ...(isDevelopmentBuild && { preserveModules: true }),
+    ...(isDevelopmentBuild && { preserveModulesRoot: 'src' }),
+    ...(!isDevelopmentBuild && { plugins: [terser({ numWorkers: 2 })] })
+  },
   external: ['async_hooks', 'cluster', 'events', 'worker_threads'],
   plugins: [
     typescript({
@@ -30,8 +24,8 @@ export default {
         : 'tsconfig.json'
     }),
     del({
-      targets: ['lib/*', 'lib.min/*']
+      targets: ['lib/*']
     }),
-    isDevelopmentBuild && analyze()
+    isAnalyze && analyze()
   ]
 }