@pnpm/installing.deps-resolver 1100.0.8 → 1100.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/replaceVersionInBareSpecifier.d.ts +1 -1
- package/lib/replaceVersionInBareSpecifier.js +20 -2
- package/lib/resolveDependencies.d.ts +1 -0
- package/lib/resolveDependencies.js +3 -1
- package/lib/resolveDependencyTree.d.ts +1 -0
- package/lib/resolveDependencyTree.js +5 -0
- package/package.json +25 -25
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function replaceVersionInBareSpecifier(bareSpecifier: string, version: string): string;
|
|
1
|
+
export declare function replaceVersionInBareSpecifier(bareSpecifier: string, version: string, namedRegistryPrefixes?: readonly string[]): string;
|
|
@@ -1,11 +1,29 @@
|
|
|
1
1
|
import semver from 'semver';
|
|
2
|
-
export function replaceVersionInBareSpecifier(bareSpecifier, version) {
|
|
2
|
+
export function replaceVersionInBareSpecifier(bareSpecifier, version, namedRegistryPrefixes = []) {
|
|
3
3
|
if (semver.validRange(bareSpecifier)) {
|
|
4
4
|
return version;
|
|
5
5
|
}
|
|
6
|
-
|
|
6
|
+
let prefix;
|
|
7
|
+
if (bareSpecifier.startsWith('npm:')) {
|
|
8
|
+
prefix = 'npm:';
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
for (const candidate of namedRegistryPrefixes) {
|
|
12
|
+
if (bareSpecifier.startsWith(candidate)) {
|
|
13
|
+
prefix = candidate;
|
|
14
|
+
break;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
if (prefix == null) {
|
|
7
19
|
return bareSpecifier;
|
|
8
20
|
}
|
|
21
|
+
// `<prefix>:<version_selector>` paired with a package alias — replace the
|
|
22
|
+
// whole body. Covers both `npm:^1.0.0` and named-registry forms like
|
|
23
|
+
// `gh:^1.0.0`, where the package name comes from the dependency alias.
|
|
24
|
+
if (semver.validRange(bareSpecifier.slice(prefix.length))) {
|
|
25
|
+
return `${prefix}${version}`;
|
|
26
|
+
}
|
|
9
27
|
const versionDelimiter = bareSpecifier.lastIndexOf('@');
|
|
10
28
|
if (versionDelimiter === -1 || bareSpecifier.indexOf('/') > versionDelimiter) {
|
|
11
29
|
return `${bareSpecifier}@${version}`;
|
|
@@ -99,6 +99,7 @@ export interface ResolutionContext {
|
|
|
99
99
|
nodeVersion?: string;
|
|
100
100
|
pnpmVersion: string;
|
|
101
101
|
registries: Registries;
|
|
102
|
+
namedRegistryPrefixes: readonly string[];
|
|
102
103
|
resolutionMode?: 'highest' | 'time-based' | 'lowest-direct';
|
|
103
104
|
virtualStoreDir: string;
|
|
104
105
|
virtualStoreDirMaxLength: number;
|
|
@@ -748,7 +748,7 @@ async function resolveDependency(wantedDependency, ctx, options) {
|
|
|
748
748
|
try {
|
|
749
749
|
const calcSpecifier = options.currentDepth === 0;
|
|
750
750
|
if (!options.update && currentPkg.version && currentPkg.pkgId?.endsWith(`@${currentPkg.version}`) && !calcSpecifier) {
|
|
751
|
-
wantedDependency.bareSpecifier = replaceVersionInBareSpecifier(wantedDependency.bareSpecifier, currentPkg.version);
|
|
751
|
+
wantedDependency.bareSpecifier = replaceVersionInBareSpecifier(wantedDependency.bareSpecifier, currentPkg.version, ctx.namedRegistryPrefixes);
|
|
752
752
|
}
|
|
753
753
|
pkgResponse = await ctx.storeController.requestPackage(wantedDependency, {
|
|
754
754
|
allowBuild: ctx.allowBuild,
|
|
@@ -759,6 +759,7 @@ async function resolveDependency(wantedDependency, ctx, options) {
|
|
|
759
759
|
name: currentPkg.name,
|
|
760
760
|
resolution: currentPkg.resolution,
|
|
761
761
|
version: currentPkg.version,
|
|
762
|
+
publishedAt: currentPkg.pkgId ? ctx.wantedLockfile.time?.[currentPkg.pkgId] : undefined,
|
|
762
763
|
}
|
|
763
764
|
: undefined,
|
|
764
765
|
expectedPkg: currentPkg,
|
|
@@ -1172,6 +1173,7 @@ const NON_EXOTIC_RESOLVED_VIA = new Set([
|
|
|
1172
1173
|
'github.com/oven-sh/bun',
|
|
1173
1174
|
'jsr-registry',
|
|
1174
1175
|
'local-filesystem',
|
|
1176
|
+
'named-registry',
|
|
1175
1177
|
'nodejs.org',
|
|
1176
1178
|
'npm-registry',
|
|
1177
1179
|
'workspace',
|
|
@@ -2,6 +2,7 @@ import { resolveFromCatalog } from '@pnpm/catalogs.resolver';
|
|
|
2
2
|
import { createPackageVersionPolicy } from '@pnpm/config.version-policy';
|
|
3
3
|
import { PnpmError } from '@pnpm/error';
|
|
4
4
|
import { globalWarn } from '@pnpm/logger';
|
|
5
|
+
import { BUILTIN_NAMED_REGISTRIES } from '@pnpm/resolving.npm-resolver';
|
|
5
6
|
import { partition } from 'ramda';
|
|
6
7
|
import { nextNodeId } from './nextNodeId.js';
|
|
7
8
|
import { parentIdsContainSequence } from './parentIdsContainSequence.js';
|
|
@@ -35,6 +36,10 @@ export async function resolveDependencyTree(importers, opts) {
|
|
|
35
36
|
preferWorkspacePackages: opts.preferWorkspacePackages,
|
|
36
37
|
readPackageHook: opts.hooks.readPackage,
|
|
37
38
|
registries: opts.registries,
|
|
39
|
+
namedRegistryPrefixes: Array.from(new Set([
|
|
40
|
+
...Object.keys(BUILTIN_NAMED_REGISTRIES),
|
|
41
|
+
...Object.keys(opts.namedRegistries ?? {}),
|
|
42
|
+
])).map((alias) => `${alias}:`),
|
|
38
43
|
resolvedPkgsById: {},
|
|
39
44
|
resolvePeersFromWorkspaceRoot: opts.resolvePeersFromWorkspaceRoot,
|
|
40
45
|
resolutionMode: opts.resolutionMode,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pnpm/installing.deps-resolver",
|
|
3
|
-
"version": "1100.0.
|
|
3
|
+
"version": "1100.0.10",
|
|
4
4
|
"description": "Resolves dependency graph of a package",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pnpm",
|
|
@@ -36,44 +36,44 @@
|
|
|
36
36
|
"ramda": "npm:@pnpm/ramda@0.28.1",
|
|
37
37
|
"rename-overwrite": "^7.0.1",
|
|
38
38
|
"safe-promise-defer": "^2.0.0",
|
|
39
|
-
"semver": "^7.7.
|
|
39
|
+
"semver": "^7.7.2",
|
|
40
40
|
"semver-range-intersect": "^0.3.1",
|
|
41
41
|
"version-selector-type": "^3.0.0",
|
|
42
42
|
"@pnpm/catalogs.resolver": "1100.0.0",
|
|
43
|
-
"@pnpm/config.version-policy": "1100.0.2",
|
|
44
|
-
"@pnpm/constants": "1100.0.0",
|
|
45
43
|
"@pnpm/catalogs.types": "1100.0.0",
|
|
46
|
-
"@pnpm/
|
|
47
|
-
"@pnpm/deps.path": "1100.0.
|
|
48
|
-
"@pnpm/deps.graph-hasher": "1100.1.4",
|
|
49
|
-
"@pnpm/error": "1100.0.0",
|
|
44
|
+
"@pnpm/config.version-policy": "1100.0.3",
|
|
45
|
+
"@pnpm/deps.path": "1100.0.3",
|
|
50
46
|
"@pnpm/deps.peer-range": "1100.0.1",
|
|
51
|
-
"@pnpm/fetching.pick-fetcher": "1100.0.
|
|
52
|
-
"@pnpm/
|
|
53
|
-
"@pnpm/
|
|
54
|
-
"@pnpm/lockfile.
|
|
55
|
-
"@pnpm/lockfile.
|
|
56
|
-
"@pnpm/lockfile.
|
|
57
|
-
"@pnpm/
|
|
47
|
+
"@pnpm/fetching.pick-fetcher": "1100.0.6",
|
|
48
|
+
"@pnpm/core-loggers": "1100.0.2",
|
|
49
|
+
"@pnpm/deps.graph-hasher": "1100.1.5",
|
|
50
|
+
"@pnpm/lockfile.pruner": "1100.0.5",
|
|
51
|
+
"@pnpm/lockfile.types": "1100.0.5",
|
|
52
|
+
"@pnpm/lockfile.preferred-versions": "1100.0.9",
|
|
53
|
+
"@pnpm/error": "1100.0.0",
|
|
54
|
+
"@pnpm/lockfile.utils": "1100.0.7",
|
|
58
55
|
"@pnpm/patching.types": "1100.0.0",
|
|
59
|
-
"@pnpm/pkg-manifest.utils": "1100.1.
|
|
60
|
-
"@pnpm/
|
|
61
|
-
"@pnpm/
|
|
62
|
-
"@pnpm/
|
|
63
|
-
"@pnpm/
|
|
64
|
-
"@pnpm/
|
|
65
|
-
"@pnpm/workspace.spec-parser": "1100.0.0"
|
|
56
|
+
"@pnpm/pkg-manifest.utils": "1100.1.3",
|
|
57
|
+
"@pnpm/patching.config": "1100.0.3",
|
|
58
|
+
"@pnpm/pkg-manifest.reader": "1100.0.3",
|
|
59
|
+
"@pnpm/resolving.npm-resolver": "1101.1.1",
|
|
60
|
+
"@pnpm/hooks.types": "1100.0.6",
|
|
61
|
+
"@pnpm/store.controller-types": "1100.0.7",
|
|
62
|
+
"@pnpm/workspace.spec-parser": "1100.0.0",
|
|
63
|
+
"@pnpm/types": "1101.1.0",
|
|
64
|
+
"@pnpm/resolving.resolver-base": "1100.1.3",
|
|
65
|
+
"@pnpm/constants": "1100.0.0"
|
|
66
66
|
},
|
|
67
67
|
"peerDependencies": {
|
|
68
|
-
"@pnpm/logger": "
|
|
68
|
+
"@pnpm/logger": ">=1001.0.0 <1002.0.0"
|
|
69
69
|
},
|
|
70
70
|
"devDependencies": {
|
|
71
71
|
"@jest/globals": "30.3.0",
|
|
72
72
|
"@types/normalize-path": "^3.0.2",
|
|
73
73
|
"@types/ramda": "0.31.1",
|
|
74
74
|
"@types/semver": "7.7.1",
|
|
75
|
-
"@pnpm/
|
|
76
|
-
"@pnpm/
|
|
75
|
+
"@pnpm/installing.deps-resolver": "1100.0.10",
|
|
76
|
+
"@pnpm/logger": "1100.0.0"
|
|
77
77
|
},
|
|
78
78
|
"engines": {
|
|
79
79
|
"node": ">=22.13"
|