setup dual publish for commonjs/esm modules and properly route browser/node usages to the correct napi binary entrypoint

This commit is contained in:
Nikita Sivukhin
2025-08-07 15:46:30 +04:00
parent 1a2a1a9ca4
commit d1cd294e94
14 changed files with 177 additions and 94 deletions

View File

@@ -6,18 +6,26 @@
"url": "https://github.com/tursodatabase/turso"
},
"description": "The Turso database library",
"main": "promise.js",
"module": "./promise.mjs",
"main": "./promise.cjs",
"exports": {
".": "./promise.js",
"./sync": "./sync.js"
".": {
"require": "./promise.cjs",
"import": "./promise.mjs"
},
"./sync": {
"require": "./sync.cjs",
"import": "./sync.mjs"
}
},
"files": [
"bind.js",
"browser.js",
"index.js",
"promise.js",
"sqlite-error.js",
"sync.js"
"promise.cjs",
"promise.mjs",
"sync.cjs",
"sync.mjs",
"dist/**"
],
"types": "index.d.ts",
"napi": {
@@ -34,7 +42,9 @@
"@napi-rs/cli": "^3.0.4",
"@napi-rs/wasm-runtime": "^1.0.1",
"ava": "^6.0.1",
"better-sqlite3": "^11.9.1"
"better-sqlite3": "^11.9.1",
"tsc": "^2.0.4",
"typescript": "^5.9.2"
},
"ava": {
"timeout": "3m"
@@ -43,7 +53,7 @@
"node": ">= 10"
},
"scripts": {
"artifacts": "napi artifacts",
"artifacts": "napi artifacts && tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json",
"build": "napi build --platform --release",
"build:debug": "napi build --platform",
"prepublishOnly": "napi prepublish -t npm",
@@ -51,5 +61,12 @@
"universal": "napi universalize",
"version": "napi version"
},
"packageManager": "yarn@4.9.2"
}
"packageManager": "yarn@4.9.2",
"imports": {
"#entry-point": {
"types": "./index.d.ts",
"browser": "./browser.js",
"node": "./index.js"
}
}
}