From fa6b7e893969075e79298481f8a1240db80c468c Mon Sep 17 00:00:00 2001 From: newblacc Date: Sun, 29 Mar 2026 22:29:53 +0200 Subject: [PATCH] fix: rebuild better-sqlite3 on install to fix Node version mismatch Adds postinstall script to rebuild better-sqlite3 native bindings for the current Node.js version. Fixes ERR_DLOPEN_FAILED when installing via npx on a different Node version than was used to publish. Co-Authored-By: Claude Opus 4.6 --- CHANGELOG.md | 5 +++++ package-lock.json | 5 +++-- package.json | 3 ++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 905f6f5..8f2594b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,11 @@ Format: [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ## [Unreleased] +## [1.0.1] - 2026-03-29 + +### Fixed +- `better-sqlite3` native module now rebuilt on install via `postinstall` script, fixing Node.js version mismatch errors (e.g. Node v22 vs v25) when installing via npx + ## [1.0.0] - 2026-03-29 ### Changed diff --git a/package-lock.json b/package-lock.json index 3836788..ecea6cb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,13 @@ { "name": "excalidraw-mcp-sentinel", - "version": "1.0.0", + "version": "1.0.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "excalidraw-mcp-sentinel", - "version": "1.0.0", + "version": "1.0.1", + "hasInstallScript": true, "license": "MIT", "dependencies": { "@excalidraw/excalidraw": "^0.18.0", diff --git a/package.json b/package.json index ea40517..0ca1571 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "excalidraw-mcp-sentinel", - "version": "1.0.0", + "version": "1.0.1", "description": "Hardened, self-hosted Excalidraw MCP server with SQLite persistence, multi-tenancy, auto-sync, security middleware, and 369 tests", "main": "dist/index.js", "type": "module", @@ -17,6 +17,7 @@ "dev": "concurrently \"npm run dev:server\" \"vite\"", "dev:server": "npx tsc --watch", "production": "npm run build && npm run canvas", + "postinstall": "npm rebuild better-sqlite3 --update-binary 2>/dev/null || true", "prepublishOnly": "npm run build", "setup": "node dist/index.js setup", "update": "node dist/index.js update",