]> git.codecow.com Git - libnemo.git/commitdiff
Implement esbuild common options. Add build target for prod that strips logging and...
authorChris Duncan <chris@zoso.dev>
Thu, 17 Jul 2025 13:12:31 +0000 (06:12 -0700)
committerChris Duncan <chris@zoso.dev>
Thu, 17 Jul 2025 13:12:31 +0000 (06:12 -0700)
esbuild-dev.mjs
esbuild-node.mjs
esbuild-prod.mjs [new file with mode: 0644]
package.json

index b42ff32de6458a302781ef273f3093340109394d..75c730bab96f239bdb7ec68971541c8e3f7a1c54 100644 (file)
@@ -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)
index dcbfd2fe0744b1e336574f1cdc2fb018849f0005..1d369e401e767b1ebffec708f364d2caf04c73a3 100644 (file)
@@ -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 (file)
index 0000000..214933c
--- /dev/null
@@ -0,0 +1,10 @@
+//! SPDX-FileCopyrightText: 2025 Chris Duncan <chris@zoso.dev>
+//! 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)
index 186d89de9f80cc3c4d9caaf2de734ee2f39207ab..64b24454e6076697500235c437174e71cc32c9e3 100644 (file)
        },
        "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"