fix: ensure updated CS event is emitted on all possible changes
[e-mobility-charging-stations-simulator.git] / bundle.js
index 84b45f8df4a15c8de630b779d860c41449a8310b..dea5a97f58449ec15ef63971d195ac9cded35e33 100644 (file)
--- a/bundle.js
+++ b/bundle.js
@@ -1,6 +1,7 @@
 /* eslint-disable n/no-unpublished-import */
 import { env } from 'node:process';
 
+import chalk from 'chalk';
 import { build } from 'esbuild';
 import { clean } from 'esbuild-plugin-clean';
 import { copy } from 'esbuild-plugin-copy';
@@ -8,20 +9,38 @@ import { copy } from 'esbuild-plugin-copy';
 const isDevelopmentBuild = env.BUILD === 'development';
 const sourcemap = !!isDevelopmentBuild;
 
+console.info(chalk.green(`Building in ${isDevelopmentBuild ? 'development' : 'production'} mode`));
+console.time('Build time');
 (async () => {
   await build({
     entryPoints: ['./src/start.ts', './src/charging-station/ChargingStationWorker.ts'],
     bundle: true,
     platform: 'node',
     format: 'esm',
-    external: ['@mikro-orm/*'],
+    external: [
+      '@mikro-orm/*',
+      'ajv',
+      'ajv-formats',
+      'basic-ftp',
+      'chalk',
+      'date-fns',
+      'http-status-codes',
+      'just-merge',
+      'logform',
+      'mnemonist/*',
+      'mongodb',
+      'node:*',
+      'poolifier',
+      'tar',
+      'winston',
+      'winston/*',
+      'winston-daily-rotate-file',
+      'ws',
+    ],
     minify: true,
     sourcemap,
     entryNames: '[name]',
     outdir: './dist',
-    banner: {
-      js: "import { createRequire } from 'module';const require = createRequire(import.meta.url);",
-    },
     plugins: [
       clean({
         patterns: [
@@ -56,3 +75,4 @@ const sourcemap = !!isDevelopmentBuild;
     ],
   });
 })();
+console.timeEnd('Build time');