taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

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:
MMakefile | 2++
Apackages/idb-bridge/check.js | 18++++++++++++++++++
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); +}