From: Jérôme Benoit Date: Fri, 12 Jan 2024 19:33:31 +0000 (+0100) Subject: refactor: use top level await in bundling code X-Git-Tag: v1.2.32~33 X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=f36c2478a92ea04a096232c4060427438ad2cd79;p=e-mobility-charging-stations-simulator.git refactor: use top level await in bundling code Signed-off-by: Jérôme Benoit --- diff --git a/bundle.js b/bundle.js index 455da66f..9a68fa7a 100644 --- a/bundle.js +++ b/bundle.js @@ -6,72 +6,70 @@ import { build } from 'esbuild' import { clean } from 'esbuild-plugin-clean' import { copy } from 'esbuild-plugin-copy' -;(async () => { - const isDevelopmentBuild = env.BUILD === 'development' - const sourcemap = !!isDevelopmentBuild - 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/*', - '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', - plugins: [ - clean({ - patterns: [ - './dist/*', - '!./dist/assets', - './dist/assets/*.json', - './dist/assets/json-schemas', - './dist/assets/station-templates', - './dist/assets/ui-protocol' - ] - }), - copy({ - assets: [ - { - from: ['./src/assets/config.json'], - to: ['./assets'] - }, - { - from: ['./src/assets/idtags!(-template)*.json'], - to: ['./assets'] - }, - { - from: ['./src/assets/json-schemas/**/*.json'], - to: ['./assets/json-schemas'] - }, - { - from: ['./src/assets/station-templates/**/*.json'], - to: ['./assets/station-templates'] - } - ] - }) - ] - }) - console.timeEnd('Build time') -})() +const isDevelopmentBuild = env.BUILD === 'development' +const sourcemap = !!isDevelopmentBuild +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/*', + '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', + plugins: [ + clean({ + patterns: [ + './dist/*', + '!./dist/assets', + './dist/assets/*.json', + './dist/assets/json-schemas', + './dist/assets/station-templates', + './dist/assets/ui-protocol' + ] + }), + copy({ + assets: [ + { + from: ['./src/assets/config.json'], + to: ['./assets'] + }, + { + from: ['./src/assets/idtags!(-template)*.json'], + to: ['./assets'] + }, + { + from: ['./src/assets/json-schemas/**/*.json'], + to: ['./assets/json-schemas'] + }, + { + from: ['./src/assets/station-templates/**/*.json'], + to: ['./assets/station-templates'] + } + ] + }) + ] +}) +console.timeEnd('Build time')