Add error handling to JSON schemas file reading
[e-mobility-charging-stations-simulator.git] / rollup.config.mjs
CommitLineData
f412fe24 1import json from '@rollup/plugin-json';
cb1948a3 2import analyze from 'rollup-plugin-analyzer';
c4a19794 3import copy from 'rollup-plugin-copy';
44b07a21 4import del from 'rollup-plugin-delete';
fc201913 5import { terser } from 'rollup-plugin-terser';
ae8ee665 6import ts from 'rollup-plugin-ts';
44b07a21 7
1d064457
JB
8const isDevelopmentBuild = process.env.BUILD === 'development';
9
44b07a21 10export default {
5a010bf0 11 input: ['src/start.ts', 'src/charging-station/ChargingStationWorker.ts'],
44a95b7f
JB
12 output: [
13 {
14 dir: 'dist',
15 format: 'es',
16 exports: 'auto',
17 sourcemap: true,
18 preserveModules: true,
19 preserveModulesRoot: 'src',
20 entryFileNames: '[name].mjs',
21 ...(!isDevelopmentBuild && { plugins: [terser({ numWorkers: 2 })] }),
22 },
23 {
24 dir: 'dist',
25 format: 'cjs',
26 exports: 'auto',
27 sourcemap: true,
28 preserveModules: true,
29 preserveModulesRoot: 'src',
30 entryFileNames: '[name].cjs',
31 ...(!isDevelopmentBuild && { plugins: [terser({ numWorkers: 2 })] }),
32 },
33 ],
e7aeea18 34 external: [
e3018bc4
JB
35 '@mikro-orm/core',
36 '@mikro-orm/reflection',
37 'ajv',
e3018bc4 38 'ajv-formats',
97613dc6 39 'async_hooks',
e7aeea18
JB
40 'basic-ftp',
41 'chalk',
1f7fa4de 42 'http',
852a4c5f 43 'http-status-codes',
088ee3c1
JB
44 'just-clone',
45 'just-merge',
7c72977b 46 'mnemonist/lru-map-with-delete',
0bb3ee61 47 'moment',
e7aeea18 48 'mongodb',
0c7370da 49 'node:crypto',
130783a7
JB
50 'node:fs',
51 'node:path',
52 'node:url',
0c7370da 53 'node:util',
e7aeea18
JB
54 'perf_hooks',
55 'poolifier',
56 'proper-lockfile',
e7aeea18 57 'tar',
e3018bc4 58 'winston',
e7aeea18 59 'winston-daily-rotate-file',
65b0c151 60 'winston/lib/winston/transports',
e7aeea18 61 'worker_threads',
e3018bc4 62 'ws',
e7aeea18 63 ],
44b07a21 64 plugins: [
84e52c2c 65 json(),
ae8ee665
JB
66 ts({
67 tsconfig: 'tsconfig.json',
e7aeea18 68 browserslist: false,
44b07a21
JB
69 }),
70 del({
045639f5
JB
71 targets: [
72 'dist/*',
73 '!dist/assets',
74 'dist/assets/*.json',
75 'dist/assets/station-templates',
76 'dist/assets/json-schemas',
77 ],
c4a19794
JB
78 }),
79 copy({
e7aeea18 80 targets: [{ src: 'src/assets', dest: 'dist/' }],
cb1948a3 81 }),
e7aeea18
JB
82 isDevelopmentBuild && analyze(),
83 ],
44b07a21 84};