import terser from '@rollup/plugin-terser';
import typescript from '@rollup/plugin-typescript';
import { copy } from '@web/rollup-plugin-copy';
+import { defineConfig } from 'rollup';
import analyze from 'rollup-plugin-analyzer';
import del from 'rollup-plugin-delete';
try {
availableParallelism = os.availableParallelism();
} catch {
- const numberOfCpus = os.cpus();
- if (Array.isArray(numberOfCpus) && numberOfCpus.length > 0) {
- availableParallelism = numberOfCpus.length;
+ const cpus = os.cpus();
+ if (Array.isArray(cpus) && cpus.length > 0) {
+ availableParallelism = cpus.length;
}
}
return availableParallelism;
const isAnalyzeBuild = process.env.ANALYZE;
const sourceMap = !!isDevelopmentBuild;
-export default {
- input: ['src/start.ts', 'src/charging-station/ChargingStationWorker.ts'],
+export default defineConfig({
+ input: ['./src/start.ts', './src/charging-station/ChargingStationWorker.ts'],
strictDeprecations: true,
output: [
{
- dir: 'dist',
+ dir: './dist',
format: 'esm',
sourcemap: sourceMap,
plugins: [terser({ maxWorkers: Math.floor(availableParallelism() / 2) })],
plugins: [
json(),
typescript({
- tsconfig: 'tsconfig.json',
+ tsconfig: './tsconfig.json',
compilerOptions: {
sourceMap,
},
}),
del({
targets: [
- 'dist/*',
- '!dist/assets',
- 'dist/assets/*.json',
- 'dist/assets/json-schemas',
- 'dist/assets/station-templates',
- 'dist/assets/ui-protocol',
+ './dist/*',
+ '!./dist/assets',
+ './dist/assets/*.json',
+ './dist/assets/json-schemas',
+ './dist/assets/station-templates',
+ './dist/assets/ui-protocol',
],
}),
copy({
- rootDir: 'src',
+ rootDir: './src',
patterns: 'assets/**/*.json',
exclude: [
'assets/config-template.json',
}),
isAnalyzeBuild && analyze(),
],
-};
+});