Files
Lucky_Wheel/apps/api/esbuild.release.config.cjs
T

41 lines
1.1 KiB
JavaScript
Raw Normal View History

2026-09-15 17:26:42 +03:30
/**
* esbuild config for Docker release bundle (apps/api/release/app.js).
* Used by: node scripts/bundle-release.cjs
*/
const path = require('path');
const { createRequire } = require('module');
const requireFromApi = createRequire(path.join(__dirname, 'package.json'));
module.exports = {
entryPoints: [path.join(__dirname, 'dist/src/main.js')],
outfile: path.join(__dirname, 'release/app.js'),
bundle: true,
platform: 'node',
target: 'node20',
format: 'cjs',
// Prisma ships native binaries — keep out of the JS bundle and vendor into release/
// Nest optional peers are required dynamically and are not used by this API.
external: [
'@prisma/client',
'.prisma/client',
'@nestjs/microservices',
'@nestjs/microservices/*',
'@nestjs/websockets',
'@nestjs/websockets/*',
'msgpackr-extract',
],
plugins: [
{
name: 'class-transformer-storage',
setup(build) {
build.onResolve({ filter: /^class-transformer\/storage$/ }, () => ({
path: requireFromApi.resolve('class-transformer/cjs/storage.js'),
}));
},
},
],
sourcemap: false,
logLevel: 'info',
};