X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=rollup.config.js;h=e086e90909abc0385768a0ba84ed847edf964e0b;hb=3f94cab5f9ffdc613338a715cf3fad1cede5a687;hp=8e53a4be3a2ef8af8edcaea6fc493074153a49b3;hpb=26a2f9b564a6edfddc776890f52d48378bafde48;p=e-mobility-charging-stations-simulator.git diff --git a/rollup.config.js b/rollup.config.js index 8e53a4be..e086e909 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,29 +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', 'winston-daily-rotate-file', '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(), + ], };