UNPKG

pncat

Version:

A unified cli tool that enhances package managers catalogs feature.

39 lines (36 loc) 2.15 kB
import { a as __toESM } from "./chunk-6qLfnLNH.mjs"; import "./semver-Df1PSY8l.mjs"; import { C as isCatalogWorkspace, S as isCatalogSpecifier, T as normalizeCatalogName, a as BunCatalog, b as inferCatalogName, c as require_lodash, i as PnpmCatalog, n as YarnCatalog, r as VltCatalog, t as createCatalogHandler, u as toArray, v as createDepCatalogIndex, w as isDepMatched, x as isCatalogPackageName, y as extractCatalogName } from "./catalog-handler-C1GrDpDU.mjs"; import { n as require_cjs, r as DEFAULT_CATALOG_RULES, t as Workspace } from "./workspace-manager-C0ZBpw-G.mjs"; //#region src/utils/merge.ts var import_cjs = /* @__PURE__ */ __toESM(require_cjs(), 1); var import_lodash = /* @__PURE__ */ __toESM(require_lodash(), 1); function mergeCatalogRules(...args) { const hasOptions = typeof args[0] === "object" && !Array.isArray(args[0]); const options = hasOptions ? args[0] : { mergeDefaults: true }; const rules = hasOptions ? args.slice(1) : args; const { mergeDefaults = true, arrayMerge = mergeByName } = options; const sources = mergeDefaults ? [(0, import_lodash.default)(DEFAULT_CATALOG_RULES), ...rules] : [...rules]; return sources.length === 0 ? [] : sortCatalogRules(import_cjs.default.all(sources, { arrayMerge })); } function mergeByName(target, source) { return source.reduce((result, item) => { const existing = result.find((x) => x.name === item.name); if (existing) { existing.match = toArray(existing.match); item.match = toArray(item.match); Object.assign(existing, (0, import_cjs.default)(existing, item)); } else result.push(item); return result; }, [...target]); } function sortCatalogRules(rules) { return rules.sort((a, b) => (a.priority ?? Infinity) - (b.priority ?? Infinity)); } //#endregion //#region src/index.ts function defineConfig(config) { return config; } //#endregion export { BunCatalog, DEFAULT_CATALOG_RULES, PnpmCatalog, VltCatalog, Workspace, YarnCatalog, createCatalogHandler, createDepCatalogIndex, defineConfig, extractCatalogName, inferCatalogName, isCatalogPackageName, isCatalogSpecifier, isCatalogWorkspace, isDepMatched, mergeCatalogRules, normalizeCatalogName };