everything-dev
Version:
A consolidated product package for building Module Federation apps with oRPC APIs.
1 lines • 3.07 kB
Source Map (JSON)
{"version":3,"file":"framework-version.cjs","names":[],"sources":["../../src/cli/framework-version.ts"],"sourcesContent":["import { existsSync, readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\n\nfunction stripVersionPrefix(version: string): string {\n return version.replace(/^[\\^~>=]+/, \"\");\n}\n\nexport function readRootCatalogVersion(\n projectDir: string,\n packageName: string,\n): string | undefined {\n const pkgPath = join(projectDir, \"package.json\");\n if (!existsSync(pkgPath)) return undefined;\n const pkg = JSON.parse(readFileSync(pkgPath, \"utf-8\")) as {\n workspaces?: { catalog?: Record<string, string> };\n };\n const version = pkg.workspaces?.catalog?.[packageName];\n return version ? stripVersionPrefix(version) : undefined;\n}\n\nexport function readNodeModulesVersion(\n projectDir: string,\n packageName: string,\n): string | undefined {\n const pkgPath = join(projectDir, \"node_modules\", packageName, \"package.json\");\n if (!existsSync(pkgPath)) return undefined;\n const pkg = JSON.parse(readFileSync(pkgPath, \"utf-8\")) as { version?: string };\n return pkg.version;\n}\n\nexport function readInstalledFrameworkVersion(\n projectDir: string,\n packageName: string,\n): string | undefined {\n const pkgPath = join(projectDir, \"package.json\");\n if (!existsSync(pkgPath)) return undefined;\n const pkg = JSON.parse(readFileSync(pkgPath, \"utf-8\")) as Record<string, unknown>;\n const deps = (pkg.dependencies ?? {}) as Record<string, string>;\n const devDeps = (pkg.devDependencies ?? {}) as Record<string, string>;\n const version = deps[packageName] || devDeps[packageName];\n\n if (!version) {\n return (\n readRootCatalogVersion(projectDir, packageName) ??\n readNodeModulesVersion(projectDir, packageName)\n );\n }\n\n if (version.startsWith(\"catalog:\")) {\n return (\n readRootCatalogVersion(projectDir, packageName) ??\n readNodeModulesVersion(projectDir, packageName)\n );\n }\n\n if (version.startsWith(\"workspace:\") || version.startsWith(\"file:\")) {\n return readNodeModulesVersion(projectDir, packageName);\n }\n\n return stripVersionPrefix(version);\n}\n"],"mappings":";;;;;AAGA,SAAS,mBAAmB,SAAyB;AACnD,QAAO,QAAQ,QAAQ,aAAa,GAAG;;AAGzC,SAAgB,uBACd,YACA,aACoB;CACpB,MAAM,8BAAe,YAAY,eAAe;AAChD,KAAI,yBAAY,QAAQ,CAAE,QAAO;CAIjC,MAAM,UAHM,KAAK,gCAAmB,SAAS,QAAQ,CAGlC,CAAC,YAAY,UAAU;AAC1C,QAAO,UAAU,mBAAmB,QAAQ,GAAG;;AAGjD,SAAgB,uBACd,YACA,aACoB;CACpB,MAAM,8BAAe,YAAY,gBAAgB,aAAa,eAAe;AAC7E,KAAI,yBAAY,QAAQ,CAAE,QAAO;AAEjC,QADY,KAAK,gCAAmB,SAAS,QAAQ,CAC3C,CAAC;;AAGb,SAAgB,8BACd,YACA,aACoB;CACpB,MAAM,8BAAe,YAAY,eAAe;AAChD,KAAI,yBAAY,QAAQ,CAAE,QAAO;CACjC,MAAM,MAAM,KAAK,gCAAmB,SAAS,QAAQ,CAAC;CACtD,MAAM,OAAQ,IAAI,gBAAgB,EAAE;CACpC,MAAM,UAAW,IAAI,mBAAmB,EAAE;CAC1C,MAAM,UAAU,KAAK,gBAAgB,QAAQ;AAE7C,KAAI,CAAC,QACH,QACE,uBAAuB,YAAY,YAAY,IAC/C,uBAAuB,YAAY,YAAY;AAInD,KAAI,QAAQ,WAAW,WAAW,CAChC,QACE,uBAAuB,YAAY,YAAY,IAC/C,uBAAuB,YAAY,YAAY;AAInD,KAAI,QAAQ,WAAW,aAAa,IAAI,QAAQ,WAAW,QAAQ,CACjE,QAAO,uBAAuB,YAAY,YAAY;AAGxD,QAAO,mBAAmB,QAAQ"}