UNPKG

zephyr-xpack-internal

Version:

Xpack internals for Zephyr

104 lines (103 loc) • 4.59 kB
"use strict"; var __webpack_require__ = {}; (()=>{ __webpack_require__.d = (exports1, getters, values)=>{ var define = (defs, kind)=>{ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, { enumerable: true, [kind]: defs[key] }); }; define(getters, "get"); define(values, "value"); }; })(); (()=>{ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop); })(); (()=>{ __webpack_require__.r = (exports1)=>{ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, { value: 'Module' }); Object.defineProperty(exports1, '__esModule', { value: true }); }; })(); var __webpack_exports__ = {}; __webpack_require__.r(__webpack_exports__); __webpack_require__.d(__webpack_exports__, { buildVersionedDependencyMap: ()=>buildVersionedDependencyMap, findPackageJson: ()=>findPackageJson, resolveInstalledPackageVersion: ()=>resolveInstalledPackageVersion }); const external_node_fs_namespaceObject = require("node:fs"); const external_node_path_namespaceObject = require("node:path"); const findPackageJson = (filePath)=>{ if (!filePath || 0 === filePath.length) return; if ((0, external_node_fs_namespaceObject.existsSync)((0, external_node_path_namespaceObject.join)(filePath.join(external_node_path_namespaceObject.sep), 'package.json'))) try { const file = (0, external_node_fs_namespaceObject.readFileSync)((0, external_node_path_namespaceObject.join)(filePath.join(external_node_path_namespaceObject.sep), 'package.json'), 'utf-8'); return JSON.parse(file); } catch (e) { console.error(e); } filePath.pop(); return findPackageJson(filePath); }; function buildVersionedDependencyMap(packageJson, dependencyGroup, resolveVersion) { const dependencyNames = Object.keys(packageJson[dependencyGroup] ?? {}); return dependencyNames.reduce((dependencies, name)=>{ const version = resolveVersion(name); if (!version) return dependencies; const versionWithoutPatch = version.split(/[+-]/, 1)[0].split('.').slice(0, 2).join('.'); dependencies[`${name}-${versionWithoutPatch}`] = name; return dependencies; }, {}); } function resolveInstalledPackageVersion(packageName, projectRequire) { const packageJsonSpecifier = `${packageName}/package.json`; try { const packageJsonPath = projectRequire.resolve(packageJsonSpecifier); return readPackageVersion(packageJsonPath); } catch { for (const lookupPath of projectRequire.resolve.paths(packageName) ?? []){ const version = readPackageVersion((0, external_node_path_namespaceObject.join)(lookupPath, packageJsonSpecifier)); if (version) return version; } } try { let currentDirectory = (0, external_node_path_namespaceObject.dirname)(projectRequire.resolve(packageName)); while(true){ const packageJsonPath = (0, external_node_path_namespaceObject.join)(currentDirectory, 'package.json'); const version = readPackageVersion(packageJsonPath); if (version) return version; const parentDirectory = (0, external_node_path_namespaceObject.dirname)(currentDirectory); if (parentDirectory === currentDirectory) return; currentDirectory = parentDirectory; } } catch { return; } } function readPackageVersion(packageJsonPath) { if (!(0, external_node_fs_namespaceObject.existsSync)(packageJsonPath)) return; try { const packageJson = JSON.parse((0, external_node_fs_namespaceObject.readFileSync)(packageJsonPath, 'utf8')); return 'string' == typeof packageJson.version ? packageJson.version : void 0; } catch { return; } } exports.buildVersionedDependencyMap = __webpack_exports__.buildVersionedDependencyMap; exports.findPackageJson = __webpack_exports__.findPackageJson; exports.resolveInstalledPackageVersion = __webpack_exports__.resolveInstalledPackageVersion; for(var __rspack_i in __webpack_exports__)if (-1 === [ "buildVersionedDependencyMap", "findPackageJson", "resolveInstalledPackageVersion" ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i]; Object.defineProperty(exports, '__esModule', { value: true }); //# sourceMappingURL=find-package-json.js.map