chore(8.0): modernize toolchain + position Bun as a runtime
Consumer-invisible modernization pass — no public API or runtime-behavior
change; dist for the override-only files is byte-identical.
Toolchain:
- CI: GitHub Actions matrix — Node 22/24 (test:unit) + Bun latest (test:bun).
- engines: node ">=22" (was "22.x"), bun ">=1.1.0".
- tsconfig: isolatedModules + noImplicitOverride; add the 33 `override`
modifiers the flag requires across storage/integrations/vfs/transaction.
- deps: @types/node ^22; add prettier; drop dead standard-version,
@rollup/plugin-* and the redundant embedded eslintConfig (flat
eslint.config.js is the active config — verified identical lint output).
paramValidation: replace the top-level `await import('node:os'/'node:fs')`
with static ESM imports. The top-level-await form poisoned the module graph;
static imports also drop the browser/edge fallback branches no supported
runtime reaches (8.0 is Node/Bun/Deno-only).
Bun positioning: recommend Bun as a runtime (`bun add` / `bun run`), which is
green (test:bun 8/8). Drop single-binary `bun build --compile` as a target —
native addons cannot embed into it, and Bun 1.3.10 has a `--compile` codegen
regression around top-level await. Rename the Bun test to bun-runtime-test.ts
and correct docs that overclaimed single-binary support.
Gates: typecheck 0, build 0, test:unit 1743/1743, test:bun 8/8.
This commit is contained in:
parent
ae55d54cb5
commit
ca9129a924
20 changed files with 159 additions and 2330 deletions
49
package.json
49
package.json
|
|
@ -66,8 +66,8 @@
|
|||
}
|
||||
},
|
||||
"engines": {
|
||||
"node": "22.x",
|
||||
"bun": ">=1.0.0"
|
||||
"node": ">=22",
|
||||
"bun": ">=1.1.0"
|
||||
},
|
||||
"scripts": {
|
||||
"clean": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"",
|
||||
|
|
@ -94,8 +94,7 @@
|
|||
"test:ci-unit": "CI=true vitest run --config tests/configs/vitest.unit.config.ts",
|
||||
"test:ci-integration": "NODE_OPTIONS='--max-old-space-size=16384' CI=true vitest run --config tests/configs/vitest.integration.config.ts",
|
||||
"test:ci": "npm run test:ci-unit && npm run test:ci-integration",
|
||||
"test:bun": "bun tests/integration/bun-compile-test.ts",
|
||||
"test:bun:compile": "bun build tests/integration/bun-compile-test.ts --compile --outfile /tmp/brainy-bun-test && /tmp/brainy-bun-test",
|
||||
"test:bun": "bun tests/integration/bun-runtime-test.ts",
|
||||
"test:wasm": "npx vitest run tests/integration/wasm-embeddings.test.ts",
|
||||
"typecheck": "tsc --noEmit",
|
||||
"lint": "eslint --ext .ts,.js src/",
|
||||
|
|
@ -106,11 +105,7 @@
|
|||
"release:patch": "./scripts/release.sh patch",
|
||||
"release:minor": "./scripts/release.sh minor",
|
||||
"release:major": "./scripts/release.sh major",
|
||||
"release:dry": "./scripts/release.sh patch --dry-run",
|
||||
"release:standard-version": "standard-version",
|
||||
"release:standard-version:patch": "standard-version --release-as patch",
|
||||
"release:standard-version:minor": "standard-version --release-as minor",
|
||||
"release:standard-version:major": "standard-version --release-as major"
|
||||
"release:dry": "./scripts/release.sh patch --dry-run"
|
||||
},
|
||||
"keywords": [
|
||||
"ai-database",
|
||||
|
|
@ -157,14 +152,10 @@
|
|||
"boolean": "3.2.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@rollup/plugin-commonjs": "^28.0.6",
|
||||
"@rollup/plugin-node-resolve": "^16.0.1",
|
||||
"@rollup/plugin-replace": "^6.0.2",
|
||||
"@rollup/plugin-terser": "^0.4.4",
|
||||
"@testcontainers/redis": "^11.5.1",
|
||||
"@types/js-yaml": "^4.0.9",
|
||||
"@types/mime": "^3.0.4",
|
||||
"@types/node": "^20.11.30",
|
||||
"@types/node": "^22",
|
||||
"@types/uuid": "^10.0.0",
|
||||
"@types/ws": "^8.18.1",
|
||||
"@typescript-eslint/eslint-plugin": "^8.0.0",
|
||||
|
|
@ -172,7 +163,7 @@
|
|||
"@vitest/coverage-v8": "^3.2.4",
|
||||
"jspdf": "^3.0.3",
|
||||
"minio": "^8.0.5",
|
||||
"standard-version": "^9.5.0",
|
||||
"prettier": "^3.9.4",
|
||||
"testcontainers": "^11.5.1",
|
||||
"tsx": "^4.19.2",
|
||||
"typescript": "^5.4.5",
|
||||
|
|
@ -210,33 +201,5 @@
|
|||
"tabWidth": 2,
|
||||
"trailingComma": "none",
|
||||
"useTabs": false
|
||||
},
|
||||
"eslintConfig": {
|
||||
"root": true,
|
||||
"extends": [
|
||||
"eslint:recommended",
|
||||
"plugin:@typescript-eslint/recommended"
|
||||
],
|
||||
"parser": "@typescript-eslint/parser",
|
||||
"plugins": [
|
||||
"@typescript-eslint"
|
||||
],
|
||||
"rules": {
|
||||
"@typescript-eslint/no-explicit-any": "off",
|
||||
"no-unused-vars": "off",
|
||||
"@typescript-eslint/no-unused-vars": [
|
||||
"warn",
|
||||
{
|
||||
"args": "after-used",
|
||||
"argsIgnorePattern": "^_"
|
||||
}
|
||||
],
|
||||
"semi": "off",
|
||||
"@typescript-eslint/semi": [
|
||||
"error",
|
||||
"never"
|
||||
],
|
||||
"no-extra-semi": "off"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue