UNPKG

every-plugin

Version:
83 lines (81 loc) 2.7 kB
import { peerDependencies } from "../package.mjs"; import { createRequire } from "node:module"; import { existsSync, readFileSync } from "node:fs"; import { dirname, join } from "node:path"; //#region src/runtime/mf-config.ts const require = createRequire(import.meta.url); function getInstalledPackageVersion(packageName, fallbackRange) { try { let currentDir = dirname(require.resolve(packageName)); for (let i = 0; i < 5; i += 1) { const packageJsonPath = join(currentDir, "package.json"); if (existsSync(packageJsonPath)) return JSON.parse(readFileSync(packageJsonPath, "utf-8")).version; currentDir = dirname(currentDir); } throw new Error(`Could not resolve installed version for ${packageName}`); } catch { const match = fallbackRange.match(/\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?/); return match ? match[0] : fallbackRange.replace(/^[\^~>=<\s]+/, ""); } } const PLUGIN_VERSION = "2.10.0"; const SHARE_CONFIG = { singleton: true, requiredVersion: false, strictVersion: false, eager: false }; const MF_CORE_SHARED_DEPS = { "every-plugin": { version: PLUGIN_VERSION, shareScope: "default", shareConfig: SHARE_CONFIG }, effect: { version: getInstalledPackageVersion("effect", peerDependencies.effect), shareScope: "default", shareConfig: SHARE_CONFIG }, zod: { version: getInstalledPackageVersion("zod", peerDependencies.zod), shareScope: "default", shareConfig: SHARE_CONFIG }, "@orpc/contract": { version: getInstalledPackageVersion("@orpc/contract", peerDependencies["@orpc/contract"]), shareScope: "default", shareConfig: SHARE_CONFIG }, "@orpc/client": { version: getInstalledPackageVersion("@orpc/client", peerDependencies["@orpc/client"]), shareScope: "default", shareConfig: SHARE_CONFIG }, "@orpc/server": { version: getInstalledPackageVersion("@orpc/server", peerDependencies["@orpc/server"]), shareScope: "default", shareConfig: SHARE_CONFIG } }; function buildMergedSharedDeps(appShared) { const merged = {}; for (const [name, config] of Object.entries(MF_CORE_SHARED_DEPS)) merged[name] = { version: config.version, shareScope: config.shareScope, shareConfig: config.shareConfig }; if (appShared) for (const [name, config] of Object.entries(appShared)) merged[name] = { version: config.version, shareScope: config.shareScope ?? "default", shareConfig: { singleton: config.singleton ?? false, requiredVersion: config.requiredVersion ?? false, strictVersion: config.strictVersion ?? false, eager: config.eager ?? false } }; return merged; } //#endregion export { MF_CORE_SHARED_DEPS, PLUGIN_VERSION, SHARE_CONFIG, buildMergedSharedDeps }; //# sourceMappingURL=mf-config.mjs.map