X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=rollup.config.mjs;h=1034ffc812825d1adcc7005ac13ce24f48b8f02d;hb=628c30e510dd0f12be4432bd5eb0ff86790c4de0;hp=0b43e8f8d3677921ab5fc3d8054e48dbaaac2382;hpb=653b69b42ae1e4bb1aec29dcb5e901ab3f83fada;p=e-mobility-charging-stations-simulator.git diff --git a/rollup.config.mjs b/rollup.config.mjs index 0b43e8f8..1034ffc8 100644 --- a/rollup.config.mjs +++ b/rollup.config.mjs @@ -1,12 +1,15 @@ /* eslint-disable n/no-unpublished-import */ +import { cpus } from 'node:os'; + import json from '@rollup/plugin-json'; import terser from '@rollup/plugin-terser'; import typescript from '@rollup/plugin-typescript'; +import { copy } from '@web/rollup-plugin-copy'; import analyze from 'rollup-plugin-analyzer'; -import copy from 'rollup-plugin-copy'; import del from 'rollup-plugin-delete'; const isDevelopmentBuild = process.env.BUILD === 'development'; +const isAnalyzeBuild = process.env.ANALYZE; export default { input: ['src/start.ts', 'src/charging-station/ChargingStationWorker.ts'], @@ -15,12 +18,8 @@ export default { { dir: 'dist', format: 'esm', - exports: 'auto', - sourcemap: true, - preserveModules: true, - preserveModulesRoot: 'src', - entryFileNames: '[name].mjs', - ...(!isDevelopmentBuild && { plugins: [terser({ maxWorkers: 2 })] }), + sourcemap: !!isDevelopmentBuild, + plugins: [terser({ maxWorkers: cpus().length / 2 })], }, ], external: [ @@ -34,10 +33,12 @@ export default { 'just-clone', 'just-merge', 'mnemonist/lru-map-with-delete.js', + 'mnemonist/queue.js', 'moment', 'mongodb', 'node:async_hooks', 'node:crypto', + 'node:events', 'node:fs', 'node:http', 'node:path', @@ -47,7 +48,6 @@ export default { 'node:util', 'node:worker_threads', 'poolifier', - 'proper-lockfile', 'tar', 'winston', 'winston-daily-rotate-file', @@ -58,6 +58,9 @@ export default { json(), typescript({ tsconfig: 'tsconfig.json', + compilerOptions: { + sourceMap: !!isDevelopmentBuild, + }, }), del({ targets: [ @@ -70,8 +73,16 @@ export default { ], }), copy({ - targets: [{ src: 'src/assets', dest: 'dist/' }], + rootDir: 'src', + patterns: 'assets/**/*.json', + exclude: [ + 'assets/config-template.json', + 'assets/*config[-_.]*.json', + 'assets/idtags-template.json', + 'assets/authorization-tags-template.json', + 'assets/ui-protocol/**/*', + ], }), - isDevelopmentBuild && analyze(), + isAnalyzeBuild && analyze(), ], };