X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=bundle.js;h=e96d450c0152ffbd43391a844b4492d05ae82024;hb=be9f397bd55b221c24bacb110a64c21f012f36ab;hp=84b45f8df4a15c8de630b779d860c41449a8310b;hpb=4eeee49c28f761eadb19ed3759c578b239f872ad;p=e-mobility-charging-stations-simulator.git diff --git a/bundle.js b/bundle.js index 84b45f8d..e96d450c 100644 --- a/bundle.js +++ b/bundle.js @@ -1,27 +1,46 @@ /* 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, 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: [ @@ -30,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') +})()