Add some version handling automation
[e-mobility-charging-stations-simulator.git] / rollup.config.js
1 import analyze from 'rollup-plugin-analyzer';
2 import copy from 'rollup-plugin-copy';
3 import del from 'rollup-plugin-delete';
4 import json from '@rollup/plugin-json';
5 import { terser } from 'rollup-plugin-terser';
6 import typescript from 'rollup-plugin-typescript2';
7
8 const isDevelopmentBuild = process.env.BUILD === 'development';
9
10 export default {
11 input: ['src/start.ts', 'src/charging-station/StationWorker.ts'],
12 output:
13 {
14 dir: 'dist',
15 format: 'cjs',
16 exports: 'auto',
17 sourcemap: true,
18 preserveModules: true,
19 preserveModulesRoot: 'src',
20 ...!isDevelopmentBuild && { plugins: [terser({ numWorkers: 2 })] }
21 },
22 external: ['crypto', 'perf_hooks', 'fs', 'path', 'poolifier', 'uuid', 'ws', 'winston-daily-rotate-file', 'winston/lib/winston/transports', 'winston', 'worker_threads'],
23 plugins: [
24 json(),
25 typescript({
26 tsconfig: 'tsconfig.json'
27 }),
28 del({
29 targets: 'dist/*'
30 }),
31 copy({
32 targets: [
33 { src: 'src/assets', dest: 'dist/' }
34 ]
35 }),
36 isDevelopmentBuild && analyze()
37 ]
38 };