UNPKG

everything-dev

Version:

A consolidated product package for building Module Federation apps with oRPC APIs.

34 lines (32 loc) 1.65 kB
import { existsSync, readFileSync } from "node:fs"; import { join } from "node:path"; //#region src/cli/framework-version.ts function stripVersionPrefix(version) { return version.replace(/^[\^~>=]+/, ""); } function readRootCatalogVersion(projectDir, packageName) { const pkgPath = join(projectDir, "package.json"); if (!existsSync(pkgPath)) return void 0; const version = JSON.parse(readFileSync(pkgPath, "utf-8")).workspaces?.catalog?.[packageName]; return version ? stripVersionPrefix(version) : void 0; } function readNodeModulesVersion(projectDir, packageName) { const pkgPath = join(projectDir, "node_modules", packageName, "package.json"); if (!existsSync(pkgPath)) return void 0; return JSON.parse(readFileSync(pkgPath, "utf-8")).version; } function readInstalledFrameworkVersion(projectDir, packageName) { const pkgPath = join(projectDir, "package.json"); if (!existsSync(pkgPath)) return void 0; const pkg = JSON.parse(readFileSync(pkgPath, "utf-8")); const deps = pkg.dependencies ?? {}; const devDeps = pkg.devDependencies ?? {}; const version = deps[packageName] || devDeps[packageName]; if (!version) return readRootCatalogVersion(projectDir, packageName) ?? readNodeModulesVersion(projectDir, packageName); if (version.startsWith("catalog:")) return readRootCatalogVersion(projectDir, packageName) ?? readNodeModulesVersion(projectDir, packageName); if (version.startsWith("workspace:") || version.startsWith("file:")) return readNodeModulesVersion(projectDir, packageName); return stripVersionPrefix(version); } //#endregion export { readInstalledFrameworkVersion }; //# sourceMappingURL=framework-version.mjs.map