fix(FN-4789): avoid bundling optional keytar native module

Fusion-Task-Id: FN-4789
Fusion-Task-Lineage: cef0d12e-556e-43d8-9ce0-e4962c2d091b
This commit is contained in:
Fusion (runfusion.ai)
2026-05-16 19:57:15 -07:00
committed by gsxdsm
parent 937bed90b9
commit 9a249dfe2b

View File

@@ -1,6 +1,7 @@
import { randomBytes } from "node:crypto";
import * as fs from "node:fs/promises";
import { join } from "node:path";
import { createRequire } from "node:module";
import { resolveGlobalDir } from "./global-settings.js";
export const MASTER_KEY_KEYCHAIN_SERVICE = "fusion";
@@ -228,7 +229,9 @@ export class MasterKeyManager {
}
try {
const module = (await import("keytar")) as { default?: KeytarLike } & KeytarLike;
const require = createRequire(import.meta.url);
const modName = `key${"tar"}`;
const module = require(modName) as { default?: KeytarLike } & KeytarLike;
return module.default ?? module;
} catch {
return null;