X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=bundle.js;h=4443f985160205ae4e0356f8d133f221712a3e6f;hb=HEAD;hp=dea5a97f58449ec15ef63971d195ac9cded35e33;hpb=f01a4e61a5ba423fbb9636747de36505cbf0e5bd;p=e-mobility-charging-stations-simulator.git diff --git a/bundle.js b/bundle.js index dea5a97f..4443f985 100644 --- a/bundle.js +++ b/bundle.js @@ -1,78 +1,82 @@ /* eslint-disable n/no-unpublished-import */ -import { env } from 'node:process'; +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'; +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; - -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/*', - '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', + 'date-fns/*', + 'http-status-codes', + 'logform', + 'mnemonist', + 'mongodb', + 'node:*', + 'poolifier', + 'rambda', + 'tar', + 'winston', + 'winston/*', + 'winston-daily-rotate-file', + 'ws' + ], + treeShaking: true, + 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', + './dist/assets/configs-docker' + ] + }), + 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'] + }, + { + from: ['./src/assets/configs-docker/*.json'], + to: ['./assets/configs-docker'] + } + ] + }) + ] +}) +console.timeEnd('Build time')