repositories
/
e-mobility-charging-stations-simulator.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
feat: add initial HTTP/2 support to ui server (mutually exclusive for now)
[e-mobility-charging-stations-simulator.git]
/
rollup.config.mjs
diff --git
a/rollup.config.mjs
b/rollup.config.mjs
index 8ca037fb9f24753c042ee475b786197d2c36d51e..e06f14d0b64886e63df7a728937f03cd4adab9ab 100644
(file)
--- a/
rollup.config.mjs
+++ b/
rollup.config.mjs
@@
-1,13
+1,30
@@
/* eslint-disable n/no-unpublished-import */
/* eslint-disable n/no-unpublished-import */
+import * as os from 'node:os';
+
import json from '@rollup/plugin-json';
import terser from '@rollup/plugin-terser';
import typescript from '@rollup/plugin-typescript';
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 analyze from 'rollup-plugin-analyzer';
-import copy from 'rollup-plugin-copy';
import del from 'rollup-plugin-delete';
import del from 'rollup-plugin-delete';
+const availableParallelism = () => {
+ // eslint-disable-next-line no-shadow
+ let availableParallelism = 1;
+ try {
+ availableParallelism = os.availableParallelism();
+ } catch {
+ const numberOfCpus = os.cpus();
+ if (Array.isArray(numberOfCpus) && numberOfCpus.length > 0) {
+ availableParallelism = numberOfCpus.length;
+ }
+ }
+ return availableParallelism;
+};
+
const isDevelopmentBuild = process.env.BUILD === 'development';
const isAnalyzeBuild = process.env.ANALYZE;
const isDevelopmentBuild = process.env.BUILD === 'development';
const isAnalyzeBuild = process.env.ANALYZE;
+const sourceMap = !!isDevelopmentBuild;
export default {
input: ['src/start.ts', 'src/charging-station/ChargingStationWorker.ts'],
export default {
input: ['src/start.ts', 'src/charging-station/ChargingStationWorker.ts'],
@@
-16,9
+33,8
@@
export default {
{
dir: 'dist',
format: 'esm',
{
dir: 'dist',
format: 'esm',
- exports: 'auto',
- ...(isDevelopmentBuild && { sourcemap: true }),
- ...(!isDevelopmentBuild && { plugins: [terser({ maxWorkers: 2 })] }),
+ sourcemap: sourceMap,
+ plugins: [terser({ maxWorkers: Math.floor(availableParallelism() / 2) })],
},
],
external: [
},
],
external: [
@@
-28,14
+44,16
@@
export default {
'ajv-formats',
'basic-ftp',
'chalk',
'ajv-formats',
'basic-ftp',
'chalk',
+ 'date-fns',
+ 'deep-clone',
'http-status-codes',
'http-status-codes',
- 'just-clone',
'just-merge',
'mnemonist/lru-map-with-delete.js',
'just-merge',
'mnemonist/lru-map-with-delete.js',
- 'm
oment
',
+ 'm
nemonist/queue.js
',
'mongodb',
'node:async_hooks',
'node:crypto',
'mongodb',
'node:async_hooks',
'node:crypto',
+ 'node:events',
'node:fs',
'node:http',
'node:path',
'node:fs',
'node:http',
'node:path',
@@
-55,6
+73,9
@@
export default {
json(),
typescript({
tsconfig: 'tsconfig.json',
json(),
typescript({
tsconfig: 'tsconfig.json',
+ compilerOptions: {
+ sourceMap,
+ },
}),
del({
targets: [
}),
del({
targets: [
@@
-67,7
+88,15
@@
export default {
],
}),
copy({
],
}),
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/**/*',
+ ],
}),
isAnalyzeBuild && analyze(),
],
}),
isAnalyzeBuild && analyze(),
],