{"version":3,"sources":["../../source/json/json.ts","../../source/dependencies/dependencies.ts"],"names":["RuntimeError","IN_BROWSER","readPackageUpSync","readPackageJSON","file","getDependenciesMap","dependencies","devDependencies","optionalDependencies","peerDependencies","getDepedencies","getPackagesNames","hasPackage","name"],"mappings":"AAAA,OAAS,gBAAAA,MAAoB,wCAC7B,OAAS,cAAAC,MAAkB,+CAC3B,OAAqC,qBAAAC,MAAyB,cAEvD,SAASC,GAAyC,CACxD,GAAIF,EAAY,MAAM,IAAID,EAAa,sDAAsD,EAE7F,IAAMI,EAAOF,EAAkB,EAE/B,GAAIE,EACH,OAAOA,EAAK,YAEZ,MAAM,IAAI,MAAM,4CAA4C,CAE9D,CCRO,SAASC,GAAkE,CACjF,GAAM,CAAE,aAAAC,EAAc,gBAAAC,EAAiB,qBAAAC,EAAsB,iBAAAC,CAAiB,EAAIN,EAAgB,EAElG,OAAO,IAAI,IACV,OAAO,QAAQ,CACd,aAAAG,EACA,gBAAAC,EACA,qBAAAC,EACA,iBAAAC,CACD,CAAC,CACF,CACD,CAGO,SAASC,GAA8B,CAC7C,GAAM,CAAE,aAAAJ,EAAc,gBAAAC,EAAiB,qBAAAC,EAAsB,iBAAAC,CAAiB,EAAIN,EAAgB,EAElG,MAAO,CAAE,GAAGG,EAAc,GAAGC,EAAiB,GAAGC,EAAsB,GAAGC,CAAiB,CAC5F,CAEO,SAASE,GAAqC,CACpD,OAAO,IAAI,IAAI,OAAO,KAAKD,EAAe,CAAC,CAAC,CAC7C,CAKO,SAASE,EAAWC,EAAuB,CACjD,OAAOF,EAAiB,EAAE,IAAIE,CAAI,CACnC","sourcesContent":["import { RuntimeError } from \"@terminal-nerds/snippets-error/custom\";\nimport { IN_BROWSER } from \"@terminal-nerds/snippets-runtime/environment\";\nimport { type NormalizedPackageJson, readPackageUpSync } from \"read-pkg-up\";\n\nexport function readPackageJSON(): NormalizedPackageJson {\n\tif (IN_BROWSER) throw new RuntimeError(`You cannot read the package.json inside the browser.`);\n\n\tconst file = readPackageUpSync();\n\n\tif (file) {\n\t\treturn file.packageJson;\n\t} else {\n\t\tthrow new Error('Cannot locate nearest \"package.json\" file!');\n\t}\n}\n","import { readPackageJSON } from \"../json/json.ts\";\nimport type { PackageName, PackageVersion } from \"../schema/schema.ts\";\n\nexport type DepedencyType = \"dependencies\" | \"devDependencies\" | \"optionalDependencies\" | \"peerDependencies\";\nexport type Depedencies = Partial<Record<PackageName, PackageVersion>>;\n\nexport function getDependenciesMap(): Map<DepedencyType, Depedencies | undefined> {\n\tconst { dependencies, devDependencies, optionalDependencies, peerDependencies } = readPackageJSON();\n\n\treturn new Map(\n\t\tObject.entries({\n\t\t\tdependencies,\n\t\t\tdevDependencies,\n\t\t\toptionalDependencies,\n\t\t\tpeerDependencies,\n\t\t}) as Array<[DepedencyType, Depedencies]>,\n\t);\n}\n\n/** TODO: Add targetting, for better debugging (required, dev, optional or peer) */\nexport function getDepedencies(): Depedencies {\n\tconst { dependencies, devDependencies, optionalDependencies, peerDependencies } = readPackageJSON();\n\n\treturn { ...dependencies, ...devDependencies, ...optionalDependencies, ...peerDependencies };\n}\n\nexport function getPackagesNames(): Set<PackageName> {\n\treturn new Set(Object.keys(getDepedencies()));\n}\n\n/**\n * TODO: Add targetting, for better debugging (required, dev, optional or peer)\n */\nexport function hasPackage(name: string): boolean {\n\treturn getPackagesNames().has(name);\n}\n"]}