@pnpm/workspace.pkgs-graph
Advanced tools
Comparing version 3.0.6 to 4.0.0
@@ -1,9 +0,9 @@ | ||
import { type BaseManifest } from '@pnpm/types'; | ||
import { type ProjectRootDir, type BaseManifest } from '@pnpm/types'; | ||
export interface Package { | ||
manifest: BaseManifest; | ||
dir: string; | ||
rootDir: ProjectRootDir; | ||
} | ||
export interface PackageNode<Pkg extends Package> { | ||
package: Pkg; | ||
dependencies: string[]; | ||
dependencies: ProjectRootDir[]; | ||
} | ||
@@ -14,3 +14,3 @@ export declare function createPkgGraph<Pkg extends Package>(pkgs: Pkg[], opts?: { | ||
}): { | ||
graph: Record<string, PackageNode<Pkg>>; | ||
graph: Record<ProjectRootDir, PackageNode<Pkg>>; | ||
unmatched: Array<{ | ||
@@ -17,0 +17,0 @@ pkgName: string; |
@@ -40,3 +40,3 @@ "use strict"; | ||
} | ||
spec = npm_package_arg_1.default.resolve(depName, rawSpec, pkg.dir); | ||
spec = npm_package_arg_1.default.resolve(depName, rawSpec, pkg.rootDir); | ||
} | ||
@@ -48,9 +48,9 @@ catch { | ||
pkgMapByDir ??= getPkgMapByDir(pkgMapValues); | ||
const resolvedPath = path_1.default.resolve(pkg.dir, spec.fetchSpec); | ||
const resolvedPath = path_1.default.resolve(pkg.rootDir, spec.fetchSpec); | ||
const found = pkgMapByDir[resolvedPath]; | ||
if (found) { | ||
return found.dir; | ||
return found.rootDir; | ||
} | ||
// Slow path; only needed when there are case mismatches on case-insensitive filesystems. | ||
const matchedPkg = pkgMapValues.find(pkg => path_1.default.relative(pkg.dir, spec.fetchSpec) === ''); | ||
const matchedPkg = pkgMapValues.find(pkg => path_1.default.relative(pkg.rootDir, spec.fetchSpec) === ''); | ||
if (matchedPkg == null) { | ||
@@ -60,3 +60,3 @@ return ''; | ||
pkgMapByDir[resolvedPath] = matchedPkg; | ||
return matchedPkg.dir; | ||
return matchedPkg.rootDir; | ||
} | ||
@@ -79,7 +79,7 @@ if (spec.type !== 'version' && spec.type !== 'range') | ||
const matchedPkg = pkgs.find(pkg => pkg.manifest.name === depName); | ||
return matchedPkg.dir; | ||
return matchedPkg.rootDir; | ||
} | ||
if (versions.includes(rawSpec)) { | ||
const matchedPkg = pkgs.find(pkg => pkg.manifest.name === depName && pkg.manifest.version === rawSpec); | ||
return matchedPkg.dir; | ||
return matchedPkg.rootDir; | ||
} | ||
@@ -92,3 +92,3 @@ const matched = (0, resolve_workspace_range_1.resolveWorkspaceRange)(rawSpec, versions); | ||
const matchedPkg = pkgs.find(pkg => pkg.manifest.name === depName && pkg.manifest.version === matched); | ||
return matchedPkg.dir; | ||
return matchedPkg.rootDir; | ||
}) | ||
@@ -102,3 +102,3 @@ .filter(Boolean); | ||
for (const pkg of pkgs) { | ||
pkgMap[pkg.dir] = pkg; | ||
pkgMap[pkg.rootDir] = pkg; | ||
} | ||
@@ -119,3 +119,3 @@ return pkgMap; | ||
for (const pkg of pkgMapValues) { | ||
pkgMapByDir[path_1.default.resolve(pkg.dir)] = pkg; | ||
pkgMapByDir[path_1.default.resolve(pkg.rootDir)] = pkg; | ||
} | ||
@@ -122,0 +122,0 @@ return pkgMapByDir; |
{ | ||
"name": "@pnpm/workspace.pkgs-graph", | ||
"version": "3.0.6", | ||
"version": "4.0.0", | ||
"description": "Create a graph from an array of packages", | ||
@@ -23,3 +23,3 @@ "main": "lib/index.js", | ||
"better-path-resolve": "1.0.0", | ||
"@pnpm/workspace.pkgs-graph": "3.0.6" | ||
"@pnpm/workspace.pkgs-graph": "4.0.0" | ||
}, | ||
@@ -29,5 +29,5 @@ "dependencies": { | ||
"ramda": "npm:@pnpm/ramda@0.28.1", | ||
"@pnpm/npm-resolver": "20.0.1", | ||
"@pnpm/types": "10.1.1", | ||
"@pnpm/resolve-workspace-range": "6.0.0" | ||
"@pnpm/npm-resolver": "21.0.0", | ||
"@pnpm/resolve-workspace-range": "6.0.0", | ||
"@pnpm/types": "11.0.0" | ||
}, | ||
@@ -34,0 +34,0 @@ "funding": "https://opencollective.com/pnpm", |
Sorry, the diff of this file is not supported yet
13204
+ Added@pnpm/core-loggers@10.0.3(transitive)
+ Added@pnpm/npm-resolver@21.0.0(transitive)
+ Added@pnpm/resolver-base@13.0.0(transitive)
+ Added@pnpm/types@11.0.0(transitive)
- Removed@pnpm/core-loggers@10.0.2(transitive)
- Removed@pnpm/npm-resolver@20.0.1(transitive)
- Removed@pnpm/resolver-base@12.0.2(transitive)
- Removed@pnpm/types@10.1.1(transitive)
Updated@pnpm/npm-resolver@21.0.0
Updated@pnpm/types@11.0.0