UNPKG

everything-dev

Version:

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

71 lines (69 loc) 2.74 kB
const require_runtime = require('../_virtual/_rolldown/runtime.cjs'); let node_fs = require("node:fs"); let node_path = require("node:path"); //#region src/cli/framework-version.ts function stripVersionPrefix(version) { return version.replace(/^[\^~>=]+/, ""); } function readRootCatalogVersion(projectDir, packageName) { const pkgPath = (0, node_path.join)(projectDir, "package.json"); if (!(0, node_fs.existsSync)(pkgPath)) return void 0; const version = JSON.parse((0, node_fs.readFileSync)(pkgPath, "utf-8")).workspaces?.catalog?.[packageName]; return version ? stripVersionPrefix(version) : void 0; } function readNodeModulesVersion(projectDir, packageName) { const pkgPath = (0, node_path.join)(projectDir, "node_modules", packageName, "package.json"); if (!(0, node_fs.existsSync)(pkgPath)) return void 0; return JSON.parse((0, node_fs.readFileSync)(pkgPath, "utf-8")).version; } function readSpecifier(pkg, packageName) { const deps = pkg.dependencies ?? {}; const devDeps = pkg.devDependencies ?? {}; const peerDeps = pkg.peerDependencies ?? {}; return deps[packageName] || devDeps[packageName] || peerDeps[packageName]; } function resolveFrameworkPackage(projectDir, packageName) { const pkgPath = (0, node_path.join)(projectDir, "package.json"); if (!(0, node_fs.existsSync)(pkgPath)) return { isLinked: false, isWorkspaceLike: false }; const specifier = readSpecifier(JSON.parse((0, node_fs.readFileSync)(pkgPath, "utf-8")), packageName); if (!specifier) return { specifier, installedVersion: readRootCatalogVersion(projectDir, packageName) ?? readNodeModulesVersion(projectDir, packageName), isLinked: false, isWorkspaceLike: false }; if (specifier.startsWith("link:")) return { specifier, installedVersion: readNodeModulesVersion(projectDir, packageName), isLinked: true, isWorkspaceLike: false }; if (specifier.startsWith("workspace:") || specifier.startsWith("file:")) return { specifier, installedVersion: readNodeModulesVersion(projectDir, packageName), isLinked: false, isWorkspaceLike: true }; if (specifier === "catalog:") return { specifier, installedVersion: readRootCatalogVersion(projectDir, packageName) ?? readNodeModulesVersion(projectDir, packageName), isLinked: false, isWorkspaceLike: false }; return { specifier, installedVersion: stripVersionPrefix(specifier), isLinked: false, isWorkspaceLike: false }; } function readInstalledFrameworkVersion(projectDir, packageName) { return resolveFrameworkPackage(projectDir, packageName).installedVersion; } //#endregion exports.readInstalledFrameworkVersion = readInstalledFrameworkVersion; exports.resolveFrameworkPackage = resolveFrameworkPackage; //# sourceMappingURL=framework-version.cjs.map