commit b5364339ba418bd6b362b202609c708a68b6a256
parent b1371b37ef48b503b01e5f536e71c0997f5b8d68
Author: Florian Dold <florian@dold.me>
Date: Thu, 12 Dec 2024 14:36:20 +0100
build: give a nice hint about broken node module
Diffstat:
2 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/Makefile b/Makefile
@@ -276,6 +276,7 @@ install:
$(MAKE) -C packages/merchant-backoffice-ui install-nodeps
$(MAKE) -C packages/aml-backoffice-ui install-nodeps
$(MAKE) -C packages/auditor-backoffice-ui install-nodeps
+ node packages/idb-bridge/check.js
.PHONY: install-tools
@@ -286,6 +287,7 @@ install-tools:
$(MAKE) -C packages/taler-wallet-cli install-nodeps
$(MAKE) -C packages/anastasis-cli install-nodeps
$(MAKE) -C packages/taler-harness install-nodeps
+ node packages/idb-bridge/check.js
.PHONY: check-migration
diff --git a/packages/idb-bridge/check.js b/packages/idb-bridge/check.js
@@ -0,0 +1,18 @@
+import bsq from "better-sqlite3";
+
+// Check if we can load the native module of better-sqlite3.
+// If not, give a nice error message.
+
+try {
+ const db = bsq(":memory:");
+} catch (e) {
+ console.log(e.message);
+ console.warn()
+ console.warn("WARNING: Unable to use better-sqlite3.");
+ console.warn("Please run \n\n pnpm rebuild --recursive better-sqlite3 --loglevel debug\n");
+ console.warn("to rebuild the native module.");
+ console.warn()
+ console.warn("Alternatively, check\n\n https://nodejs.org/en/about/previous-releases\n");
+ console.warn("for a node version compatible with the native module.");
+ process.exit(1);
+}