Add initial support for ESM build
[e-mobility-charging-stations-simulator.git] / rollup.config.mjs
index 7f0e577421bfea9af77707e0ddb060b63ebd55a5..bdc96d661e2eb2d0f0c41ee078bfad4d551cd95a 100644 (file)
@@ -10,15 +10,28 @@ const isDevelopmentBuild = process.env.BUILD === 'development';
 
 export default {
   input: ['src/start.ts', 'src/ui/httpd/start.ts', 'src/charging-station/ChargingStationWorker.ts'],
-  output: {
-    dir: 'dist',
-    format: 'cjs',
-    exports: 'auto',
-    sourcemap: true,
-    preserveModules: true,
-    preserveModulesRoot: 'src',
-    ...(!isDevelopmentBuild && { plugins: [terser({ numWorkers: 2 })] }),
-  },
+  output: [
+    {
+      dir: 'dist',
+      format: 'es',
+      exports: 'auto',
+      sourcemap: true,
+      preserveModules: true,
+      preserveModulesRoot: 'src',
+      entryFileNames: '[name].mjs',
+      ...(!isDevelopmentBuild && { plugins: [terser({ numWorkers: 2 })] }),
+    },
+    {
+      dir: 'dist',
+      format: 'cjs',
+      exports: 'auto',
+      sourcemap: true,
+      preserveModules: true,
+      preserveModulesRoot: 'src',
+      entryFileNames: '[name].cjs',
+      ...(!isDevelopmentBuild && { plugins: [terser({ numWorkers: 2 })] }),
+    },
+  ],
   external: [
     'basic-ftp',
     'chalk',