]> git.codecow.com Git - libnemo.git/commitdiff
Modify scripts to publish both browser and node builds, and pass tests before publishing.
authorChris Duncan <chris@zoso.dev>
Wed, 23 Jul 2025 05:32:26 +0000 (22:32 -0700)
committerChris Duncan <chris@zoso.dev>
Wed, 23 Jul 2025 05:32:26 +0000 (22:32 -0700)
esbuild-common.mjs
esbuild-prod.mjs
package.json

index 3966def824dc7f1c9d4495a38333c71e7a030a8e..8e786eb4e73ce5899c471fddf6a8cedcef9883cb 100644 (file)
@@ -8,7 +8,7 @@ export const options = {
        bundle: true,
        platform: 'browser',
        entryPoints: [
-               { in: './src/main.ts', out: 'main.min' },
+               { in: './src/main.ts', out: 'main.dev' },
                { in: './src/types.d.ts', out: 'types.d' }
        ],
        loader: {
index a4b534c528d707b22f65f83ddd387d3a5a74245e..64ee6e0f3383c20f2e7b2fac83fc6cf3e7f26c61 100644 (file)
@@ -4,7 +4,24 @@
 import { build } from 'esbuild'
 import { options } from './esbuild-common.mjs'
 
+// Shared properties
 options.drop = ['console', 'debugger']
+options.minifySyntax = true
+options.minifyWhitespace = true
+
+// Node build
+options.entryPoints = [
+       { in: './src/main.ts', out: 'nodejs.min' }
+]
+options.dropLabels = ['BROWSER']
+options.external = ['node:worker_threads']
+await build(options)
+
+// Browser build
+options.entryPoints = [
+       { in: './src/main.ts', out: 'browser.min' },
+       { in: './src/types.d.ts', out: 'types.d' }
+]
 options.dropLabels = ['NODE']
 options.inject = ['./buffer.mjs']
 await build(options)
index f4adfb45b5067805117db7515a7022ebfd554e7b..1284909094c9afa93382dc279c9e9b299627a33e 100644 (file)
                "build": "npm run clean && node esbuild-dev.mjs",
                "build:node": "npm run clean && node esbuild-node.mjs",
                "build:prod": "npm run clean && node esbuild-prod.mjs",
-               "publish": "npm run build:prod",
+               "prepublishOnly": "npm run test:prod",
                "test": "npm run build",
                "test:node": "npm run build:node && node --test --test-force-exit --no-experimental-strip-types --env-file .env",
+               "test:prod": "npm run build:prod && node --test --test-force-exit --no-experimental-strip-types --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 --flat --dark-mode --keep-going --output-directory test/coverage && rm coverage.info && xdg-open ./test/coverage/libnemo/index.html"
        },