X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=bundle.js;h=e96d450c0152ffbd43391a844b4492d05ae82024;hb=be9f397bd55b221c24bacb110a64c21f012f36ab;hp=708a4de99dc246f14658f5acd2a02957ec7dc5f2;hpb=ae2f5292bc112c82d4425df26da77dd8e3f6667b;p=e-mobility-charging-stations-simulator.git diff --git a/bundle.js b/bundle.js index 708a4de9..e96d450c 100644 --- a/bundle.js +++ b/bundle.js @@ -1,14 +1,17 @@ /* eslint-disable n/no-unpublished-import */ -import { env } from 'node:process'; +import { env } from 'node:process' -import { build } from 'esbuild'; -import { clean } from 'esbuild-plugin-clean'; -import { copy } from 'esbuild-plugin-copy'; +import chalk from 'chalk' +import { build } from 'esbuild' +import { clean } from 'esbuild-plugin-clean' +import { copy } from 'esbuild-plugin-copy' -const isDevelopmentBuild = env.BUILD === 'development'; -const sourcemap = !!isDevelopmentBuild; +const isDevelopmentBuild = env.BUILD === 'development' +const sourcemap = !!isDevelopmentBuild -(async () => { +;(async () => { + console.info(chalk.green(`Building in ${isDevelopmentBuild ? 'development' : 'production'} mode`)) + console.time('Build time') await build({ entryPoints: ['./src/start.ts', './src/charging-station/ChargingStationWorker.ts'], bundle: true, @@ -24,22 +27,20 @@ const sourcemap = !!isDevelopmentBuild; 'http-status-codes', 'just-merge', 'logform', - 'mnemonist', + 'mnemonist/*', 'mongodb', 'node:*', 'poolifier', 'tar', 'winston', + 'winston/*', 'winston-daily-rotate-file', - 'ws', + 'ws' ], minify: true, sourcemap, entryNames: '[name]', outdir: './dist', - banner: { - js: "import { createRequire } from 'module';const require = createRequire(import.meta.url);", - }, plugins: [ clean({ patterns: [ @@ -48,29 +49,30 @@ const sourcemap = !!isDevelopmentBuild; './dist/assets/*.json', './dist/assets/json-schemas', './dist/assets/station-templates', - './dist/assets/ui-protocol', - ], + './dist/assets/ui-protocol' + ] }), copy({ assets: [ { from: ['./src/assets/config.json'], - to: ['./assets'], + to: ['./assets'] }, { from: ['./src/assets/idtags!(-template)*.json'], - to: ['./assets'], + to: ['./assets'] }, { from: ['./src/assets/json-schemas/**/*.json'], - to: ['./assets/json-schemas'], + to: ['./assets/json-schemas'] }, { from: ['./src/assets/station-templates/**/*.json'], - to: ['./assets/station-templates'], - }, - ], - }), - ], - }); -})(); + to: ['./assets/station-templates'] + } + ] + }) + ] + }) + console.timeEnd('Build time') +})()