fix: remove hard dependency on wasm

This commit is contained in:
2026-05-06 02:31:50 +07:00 Unverified
parent 0c90d47120
commit c7acc2af10
4 changed files with 22 additions and 41 deletions
-40
View File
@@ -1,40 +0,0 @@
diff --git a/index.js b/index.js
index 053400fcfd69663e1aa12dd1740a24f806747278..d0326bec5feaed5fa98c558fac44b5ee70581741 100644
--- a/index.js
+++ b/index.js
@@ -3,11 +3,32 @@
// @ts-nocheck
/* auto-generated by NAPI-RS */
-import { createRequire } from 'node:module'
-const require = createRequire(import.meta.url)
+import { createRequire } from 'node:module';
+const realRequire = createRequire(import.meta.url)
+
+import * as path from "node:path";
+import * as fs from "node:fs";
+import { feature } from 'bun:bundle';
+const { readFileSync } = require('node:fs');
+
+function require(name) {
+ if(!feature("FAKE_REQUIRE")) return realRequire(name);
+ const exeDir = path.dirname(process.execPath);
+ const candidate = path.join(exeDir, name);
+
+ if (fs.existsSync(candidate)) {
+ return realRequire(candidate);
+ }
+
+ try {
+ return realRequire(name);
+ } catch {
+ return realRequire(`./${name}`);
+ }
+}
+
const __dirname = new URL('.', import.meta.url).pathname
-const { readFileSync } = require('node:fs')
let nativeBinding = null
const loadErrors = []
+17
View File
@@ -0,0 +1,17 @@
diff --git a/bundlers/next.mjs b/bundlers/next.mjs
index 26fe0985b9929763a7b89034fee472867af3c503..322c8e157903ffcc466bc27a4f302a1030fb4276 100644
--- a/bundlers/next.mjs
+++ b/bundlers/next.mjs
@@ -1,7 +1,7 @@
-import module from "../pkg/takumi_wasm_bg.wasm?module";
+// import module from "../pkg/takumi_wasm_bg.wasm?module";
-// typeof module says its Module { } but instanceof WebAssembly.Module is false
-// Have to force override the prototype to be WebAssembly.Module
-Object.setPrototypeOf(module, WebAssembly.Module.prototype);
+// // typeof module says its Module { } but instanceof WebAssembly.Module is false
+// // Have to force override the prototype to be WebAssembly.Module
+// Object.setPrototypeOf(module, WebAssembly.Module.prototype);
-export default module;
+// export default module;