Add persistent OCPP parameters key/value support by CS generated name
[e-mobility-charging-stations-simulator.git] / rollup.config.js
index 37bc67999fa8034f1e2d9035eca94ef065d7148d..e086e90909abc0385768a0ba84ed847edf964e0b 100644 (file)
@@ -1,31 +1,59 @@
+import analyze from 'rollup-plugin-analyzer';
 import copy from 'rollup-plugin-copy';
 import del from 'rollup-plugin-delete';
-import typescript from 'rollup-plugin-typescript2';
+import istanbul from 'rollup-plugin-istanbul';
+import json from '@rollup/plugin-json';
+import { terser } from 'rollup-plugin-terser';
+import ts from 'rollup-plugin-ts';
 
 const isDevelopmentBuild = process.env.BUILD === 'development';
 
 export default {
-  input: ['src/start.ts', 'src/charging-station/StationWorker.ts'],
+  input: ['src/start.ts', 'src/charging-station/ChargingStationWorker.ts'],
   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'],
+  external: [
+    'basic-ftp',
+    'chalk',
+    'crypto',
+    'fs',
+    '@mikro-orm/core',
+    '@mikro-orm/reflection',
+    'mongodb',
+    'path',
+    'perf_hooks',
+    'poolifier',
+    'proper-lockfile',
+    'reflect-metadata',
+    'tar',
+    'url',
+    'uuid',
+    'ws',
+    'winston-daily-rotate-file',
+    'winston/lib/winston/transports',
+    'winston',
+    'worker_threads',
+  ],
   plugins: [
-    typescript({
-      tsconfig: 'tsconfig.json'
+    json(),
+    ts({
+      tsconfig: 'tsconfig.json',
+      browserslist: false,
     }),
+    isDevelopmentBuild && istanbul(),
     del({
-      targets: 'dist/*'
+      targets: ['dist/*', '!dist/assets', 'dist/assets/*.json', 'dist/assets/station-templates'],
     }),
     copy({
-      targets: [
-        { src: 'src/assets', dest: 'dist/' }
-      ]
-    })
-  ]
+      targets: [{ src: 'src/assets', dest: 'dist/' }],
+    }),
+    isDevelopmentBuild && analyze(),
+  ],
 };