@pnpm/resolving.default-resolver 1100.1.0 → 1100.1.2

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.
Files changed (2) hide show
  1. package/lib/index.js +13 -10
  2. package/package.json +15 -12
package/lib/index.js CHANGED
@@ -4,7 +4,7 @@ import { resolveNodeRuntime } from '@pnpm/engine.runtime.node-resolver';
4
4
  import { PnpmError } from '@pnpm/error';
5
5
  import { checkCustomResolverCanResolve } from '@pnpm/hooks.types';
6
6
  import { createGitResolver } from '@pnpm/resolving.git-resolver';
7
- import { resolveFromLocal } from '@pnpm/resolving.local-resolver';
7
+ import { resolveFromLocalPath, resolveFromLocalScheme } from '@pnpm/resolving.local-resolver';
8
8
  import { createNpmResolver, } from '@pnpm/resolving.npm-resolver';
9
9
  import { resolveFromTarball } from '@pnpm/resolving.tarball-resolver';
10
10
  async function resolveFromCustomResolvers(customResolvers, wantedDependency, opts) {
@@ -36,9 +36,9 @@ async function resolveFromCustomResolvers(customResolvers, wantedDependency, opt
36
36
  export function createResolver(fetchFromRegistry, getAuthHeader, pnpmOpts) {
37
37
  const { resolveFromNpm, resolveFromJsr, resolveFromNamedRegistry, clearCache } = createNpmResolver(fetchFromRegistry, getAuthHeader, pnpmOpts);
38
38
  const resolveFromGit = createGitResolver(pnpmOpts);
39
- const _resolveFromLocal = resolveFromLocal.bind(null, {
40
- preserveAbsolutePaths: pnpmOpts.preserveAbsolutePaths,
41
- });
39
+ const localCtx = { preserveAbsolutePaths: pnpmOpts.preserveAbsolutePaths };
40
+ const _resolveFromLocalScheme = resolveFromLocalScheme.bind(null, localCtx);
41
+ const _resolveFromLocalPath = resolveFromLocalPath.bind(null, localCtx);
42
42
  const _resolveNodeRuntime = resolveNodeRuntime.bind(null, { fetchFromRegistry, offline: pnpmOpts.offline, nodeDownloadMirrors: pnpmOpts.nodeDownloadMirrors });
43
43
  const _resolveDenoRuntime = resolveDenoRuntime.bind(null, { fetchFromRegistry, offline: pnpmOpts.offline, resolveFromNpm });
44
44
  const _resolveBunRuntime = resolveBunRuntime.bind(null, { fetchFromRegistry, offline: pnpmOpts.offline, resolveFromNpm });
@@ -52,15 +52,18 @@ export function createResolver(fetchFromRegistry, getAuthHeader, pnpmOpts) {
52
52
  await resolveFromJsr(wantedDependency, opts) ??
53
53
  (wantedDependency.bareSpecifier && (await resolveFromGit(wantedDependency, opts) ??
54
54
  await resolveFromTarball(fetchFromRegistry, wantedDependency) ??
55
- await _resolveFromLocal(wantedDependency, opts))) ??
55
+ await _resolveFromLocalScheme(wantedDependency, opts))) ??
56
56
  await _resolveNodeRuntime(wantedDependency, opts) ??
57
57
  await _resolveDenoRuntime(wantedDependency, opts) ??
58
58
  await _resolveBunRuntime(wantedDependency, opts) ??
59
- // Named-registry resolution runs last so that built-in schemes
60
- // (`npm:`, `jsr:`, `git:`/`github:`/`gitlab:`/…, `file:`, `link:`,
61
- // tarball URLs, etc.) are always claimed by their dedicated resolver
62
- // before a user-configured alias gets a chance to shadow them.
63
- await resolveFromNamedRegistry(wantedDependency, opts);
59
+ // Named-registry runs between the explicit local schemes above and the
60
+ // path-shape match below, so `<alias>:@scope/pkg` reaches the configured
61
+ // registry while a colliding `file:`/`link:`/`workspace:` alias cannot
62
+ // hijack the built-in protocols.
63
+ await resolveFromNamedRegistry(wantedDependency, opts) ??
64
+ (wantedDependency.bareSpecifier
65
+ ? await _resolveFromLocalPath(wantedDependency, opts)
66
+ : null);
64
67
  if (!resolution) {
65
68
  let specifier = `${wantedDependency.alias ? wantedDependency.alias + '@' : ''}${wantedDependency.bareSpecifier ?? ''}`;
66
69
  if (specifier !== '') {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pnpm/resolving.default-resolver",
3
- "version": "1100.1.0",
3
+ "version": "1100.1.2",
4
4
  "description": "pnpm's default package resolver",
5
5
  "keywords": [
6
6
  "pnpm",
@@ -26,25 +26,28 @@
26
26
  "!*.map"
27
27
  ],
28
28
  "dependencies": {
29
- "@pnpm/engine.runtime.bun-resolver": "1101.0.5",
30
- "@pnpm/engine.runtime.deno-resolver": "1101.0.5",
31
- "@pnpm/error": "1100.0.0",
29
+ "@pnpm/engine.runtime.deno-resolver": "1101.0.6",
32
30
  "@pnpm/fetching.types": "1100.0.1",
31
+ "@pnpm/error": "1100.0.0",
32
+ "@pnpm/engine.runtime.node-resolver": "1101.0.8",
33
+ "@pnpm/resolving.git-resolver": "1100.0.7",
33
34
  "@pnpm/hooks.types": "1100.0.6",
34
- "@pnpm/engine.runtime.node-resolver": "1101.0.7",
35
- "@pnpm/resolving.git-resolver": "1100.0.6",
36
- "@pnpm/resolving.local-resolver": "1100.0.6",
35
+ "@pnpm/resolving.local-resolver": "1101.0.1",
36
+ "@pnpm/resolving.npm-resolver": "1101.1.1",
37
37
  "@pnpm/resolving.resolver-base": "1100.1.3",
38
- "@pnpm/resolving.npm-resolver": "1101.1.0",
38
+ "@pnpm/types": "1101.1.0",
39
39
  "@pnpm/resolving.tarball-resolver": "1100.0.5",
40
- "@pnpm/types": "1101.1.0"
40
+ "@pnpm/engine.runtime.bun-resolver": "1101.0.6"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@jest/globals": "30.3.0",
44
+ "load-json-file": "^7.0.1",
45
+ "tempy": "3.0.0",
44
46
  "@pnpm/fetching.fetcher-base": "1100.1.3",
45
- "@pnpm/fetching.tarball-fetcher": "1101.0.5",
46
- "@pnpm/network.fetch": "1100.0.3",
47
- "@pnpm/resolving.default-resolver": "1100.1.0",
47
+ "@pnpm/resolving.default-resolver": "1100.1.2",
48
+ "@pnpm/network.fetch": "1100.0.4",
49
+ "@pnpm/testing.mock-agent": "1100.0.4",
50
+ "@pnpm/fetching.tarball-fetcher": "1101.0.7",
48
51
  "@pnpm/store.cafs-types": "1100.0.1"
49
52
  },
50
53
  "engines": {