From: Chris Duncan Date: Thu, 17 Jul 2025 13:12:31 +0000 (-0700) Subject: Implement esbuild common options. Add build target for prod that strips logging and... X-Git-Tag: v0.10.5~56^2~20 X-Git-Url: https://git.codecow.com/?a=commitdiff_plain;h=504e8cf87b7895bc9c44064848dd3834539ea5e8;p=libnemo.git Implement esbuild common options. Add build target for prod that strips logging and debugging. Update package scripts. --- diff --git a/esbuild-dev.mjs b/esbuild-dev.mjs index b42ff32..75c730b 100644 --- a/esbuild-dev.mjs +++ b/esbuild-dev.mjs @@ -2,16 +2,8 @@ //! SPDX-License-Identifier: GPL-3.0-or-later import { build } from 'esbuild' +import { options } from './esbuild-common' -await build({ - bundle: true, - platform: 'browser', - entryPoints: [ - { in: './src/main.ts', out: 'main.min' } - ], - inject: ['./buffer.mjs'], - format: 'esm', - legalComments: 'inline', - outdir: 'dist', - target: 'esnext' -}) +options.platform = 'browser' +options.inject = ['./buffer.mjs'] +await build(options) diff --git a/esbuild-node.mjs b/esbuild-node.mjs index dcbfd2f..1d369e4 100644 --- a/esbuild-node.mjs +++ b/esbuild-node.mjs @@ -2,15 +2,7 @@ //! SPDX-License-Identifier: GPL-3.0-or-later import { build } from 'esbuild' +import { options } from './esbuild-common' -await build({ - bundle: true, - platform: 'node', - entryPoints: [ - { in: './src/main.ts', out: 'main.min' } - ], - format: 'esm', - legalComments: 'inline', - outdir: 'dist', - target: 'esnext' -}) +options.platform = 'node' +await build(options) diff --git a/esbuild-prod.mjs b/esbuild-prod.mjs new file mode 100644 index 0000000..214933c --- /dev/null +++ b/esbuild-prod.mjs @@ -0,0 +1,10 @@ +//! SPDX-FileCopyrightText: 2025 Chris Duncan +//! SPDX-License-Identifier: GPL-3.0-or-later + +import { build } from 'esbuild' +import { options } from './esbuild-common' + +options.platform = 'browser' +options.drop = ['console', 'debugger'] +options.inject = ['./buffer.mjs'] +await build(options) diff --git a/package.json b/package.json index 186d89d..64b2445 100644 --- a/package.json +++ b/package.json @@ -43,10 +43,11 @@ }, "scripts": { "clean": "rm -rf dist && tsc", - "build:browser": "npm run clean && node esbuild-browser.mjs", + "build": "npm run clean && node esbuild-dev.mjs", "build:node": "npm run clean && node esbuild-node.mjs", - "publish": "npm test", - "test": "npm run build:browser", + "build:prod": "npm run clean && node esbuild-prod.mjs", + "publish": "npm run build:prod", + "test": "npm run build", "test:node": "npm run build:node && node --test --test-force-exit --env-file .env", "test:coverage": "npm run test:node -- --experimental-test-coverage", "test:coverage:report": "npm run test:coverage -- --test-reporter=lcov --test-reporter-destination=coverage.info && genhtml coverage.info --output-directory test/coverage && rm coverage.info && xdg-open test/coverage/index.html"