@pnpm/resolving.resolver-base 1101.1.1 → 1101.3.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,36 @@
1
1
  # @pnpm/resolver-base
2
2
 
3
+ ## 1101.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Install warnings no longer carry the text of a package's deprecation notice. The warning names the deprecated package and version, and the `pnpm:deprecation` event no longer carries the notice either. `pnpm view` still shows it on request.
8
+
9
+ A deprecation warning now names the newest version of the package that is not deprecated, and says when reaching it means widening the range you declared:
10
+
11
+ ```
12
+ WARN deprecated foo@1.0.0. 2.3.1 is not deprecated, outside the range you declared.
13
+ ```
14
+
15
+ pnpm works this out from the metadata it already fetched, so it costs no extra request. An install that reuses the lockfile without fetching metadata names no version.
16
+
17
+ pnpm strips control characters from the package name and version in a deprecation warning, and from the notice `pnpm outdated --long` prints.
18
+
19
+ The text sanitizer now also strips the Unicode line and paragraph separators U+2028 and U+2029.
20
+
21
+ ## 1101.2.0
22
+
23
+ ### Minor Changes
24
+
25
+ - Added explicit registry revision selection with `<version>+rN` and `pnpm update --patches` for refreshing revision artifacts without changing package versions. Registry-backed lockfile policy checks recognize historical revisions, and pnpr now preserves safe revision histories from upstream registries.
26
+
27
+ - Added support for registry replacement tarballs using standard integrity values, explicit revision fields, registry routing from the `registries` setting, non-redirecting integrity-addressed URLs, canonical safe-integer revision numbers, and pnpr proxying for immutable upstream revision artifacts.
28
+
29
+ ### Patch Changes
30
+
31
+ - Updated dependencies:
32
+ - @pnpm/types@1102.1.0
33
+
3
34
  ## 1101.1.1
4
35
 
5
36
  ### Patch Changes
package/lib/index.d.ts CHANGED
@@ -7,6 +7,7 @@ export interface TarballResolution {
7
7
  type?: undefined;
8
8
  tarball: string;
9
9
  integrity?: string;
10
+ revision?: number;
10
11
  path?: string;
11
12
  /**
12
13
  * True for tarballs sourced from a git host (codeload.github.com /
@@ -181,9 +182,29 @@ export declare function resolvePlatformSelector(supportedArchitectures: Supporte
181
182
  * is nullish).
182
183
  */
183
184
  export declare function selectPlatformVariant(variants: PlatformAssetResolution[], selector: PlatformSelector): PlatformAssetResolution | undefined;
185
+ /**
186
+ * A version of the same package the registry does not report as deprecated.
187
+ *
188
+ * Only the resolver can work this out, since only it holds the packument.
189
+ */
190
+ export interface NonDeprecatedAlternative {
191
+ version: string;
192
+ /**
193
+ * Whether reaching it means widening the declared range. Only ever true
194
+ * for a dependency that declared a range: a tag says nothing about which
195
+ * versions are acceptable, so there is no range to be outside of.
196
+ */
197
+ outsideDeclaredRange: boolean;
198
+ }
184
199
  export interface ResolveResult {
185
200
  id: PkgResolutionId;
186
201
  latest?: string;
202
+ /**
203
+ * Set only when the resolved version is deprecated, so that the
204
+ * deprecation warning can name a version to move to. Absent when the
205
+ * resolution was reused from the lockfile, which holds no packument.
206
+ */
207
+ nonDeprecatedAlternative?: NonDeprecatedAlternative;
187
208
  publishedAt?: string;
188
209
  manifest?: DependencyManifest;
189
210
  resolution: Resolution;
@@ -241,6 +262,7 @@ export interface ResolveOptions {
241
262
  preferWorkspacePackages?: boolean;
242
263
  workspacePackages?: WorkspacePackages;
243
264
  update?: false | 'compatible' | 'latest';
265
+ updatePatches?: boolean;
244
266
  /**
245
267
  * True only when this specific package matches the user's update target
246
268
  * (e.g. `pnpm up <name>`). Unlike `update`, this is false for unrelated
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pnpm/resolving.resolver-base",
3
- "version": "1101.1.1",
3
+ "version": "1101.3.0",
4
4
  "description": "Types for pnpm-compatible resolvers",
5
5
  "keywords": [
6
6
  "pnpm",
@@ -28,11 +28,11 @@
28
28
  "!*.map"
29
29
  ],
30
30
  "dependencies": {
31
- "@pnpm/types": "1102.0.0"
31
+ "@pnpm/types": "1102.1.0"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@jest/globals": "30.4.1",
35
- "@pnpm/resolving.resolver-base": "1101.1.1"
35
+ "@pnpm/resolving.resolver-base": "1101.3.0"
36
36
  },
37
37
  "engines": {
38
38
  "node": ">=22.13"