1.0.1-1
[e-mobility-charging-stations-simulator.git] / rollup.config.js
index 37bc67999fa8034f1e2d9035eca94ef065d7148d..79cc619ae0b40ab377425b083006716efe7910c2 100644 (file)
@@ -1,21 +1,27 @@
+import analyze from 'rollup-plugin-analyzer';
 import copy from 'rollup-plugin-copy';
 import del from 'rollup-plugin-delete';
+import json from '@rollup/plugin-json';
+import { terser } from 'rollup-plugin-terser';
 import typescript from 'rollup-plugin-typescript2';
 
 const isDevelopmentBuild = process.env.BUILD === 'development';
 
 export default {
   input: ['src/start.ts', 'src/charging-station/StationWorker.ts'],
-  output: {
+  output:
+  {
     dir: 'dist',
     format: 'cjs',
     exports: 'auto',
     sourcemap: true,
     preserveModules: true,
-    preserveModulesRoot: 'src'
+    preserveModulesRoot: 'src',
+    ...!isDevelopmentBuild && { plugins: [terser({ numWorkers: 2 })] }
   },
   external: ['crypto', 'perf_hooks', 'fs', 'path', 'poolifier', 'uuid', 'ws', 'winston-daily-rotate-file', 'winston/lib/winston/transports', 'winston', 'worker_threads'],
   plugins: [
+    json(),
     typescript({
       tsconfig: 'tsconfig.json'
     }),
@@ -26,6 +32,7 @@ export default {
       targets: [
         { src: 'src/assets', dest: 'dist/' }
       ]
-    })
+    }),
+    isDevelopmentBuild && analyze()
   ]
 };