@pnpm/pkg-manifest.utils 1100.4.0 → 1100.4.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @pnpm/manifest-utils
2
2
 
3
+ ## 1100.4.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies:
8
+ - @pnpm/core-loggers@1100.3.4
9
+ - @pnpm/types@1102.1.0
10
+
11
+ ## 1100.4.1
12
+
13
+ ### Patch Changes
14
+
15
+ - `pnpm update` now preserves the existing range operator when updating a prerelease dependency. See pnpm/pnpm#7002.
16
+
17
+ - Updated dependencies:
18
+ - @pnpm/core-loggers@1100.3.3
19
+ - @pnpm/error@1100.1.3
20
+ - @pnpm/types@1102.0.0
21
+
3
22
  ## 1100.4.0
4
23
 
5
24
  ### Minor Changes
@@ -17,8 +17,8 @@ export declare function getRangeSpecStyle(opts: {
17
17
  *
18
18
  * The existing entry's range style wins over the requested specifier's, which
19
19
  * wins over the configured default, so a re-add keeps the pinning style the
20
- * manifest already used. A prerelease is pinned exactly: no range operator
21
- * expresses "this prerelease and later ones".
20
+ * manifest already used. A newly added prerelease is pinned exactly, while an
21
+ * updated prerelease keeps the existing entry's range style.
22
22
  */
23
23
  export declare function calcVersionRange(version: string, opts: {
24
24
  prevSpecifier?: string;
@@ -25,12 +25,13 @@ export function getRangeSpecStyle(opts) {
25
25
  *
26
26
  * The existing entry's range style wins over the requested specifier's, which
27
27
  * wins over the configured default, so a re-add keeps the pinning style the
28
- * manifest already used. A prerelease is pinned exactly: no range operator
29
- * expresses "this prerelease and later ones".
28
+ * manifest already used. A newly added prerelease is pinned exactly, while an
29
+ * updated prerelease keeps the existing entry's range style.
30
30
  */
31
31
  export function calcVersionRange(version, opts) {
32
32
  if (semver.parse(version)?.prerelease.length) {
33
- return version;
33
+ const prevRangeSpecStyle = opts.prevSpecifier ? inferRangeSpecStyle(opts.prevSpecifier) : undefined;
34
+ return prevRangeSpecStyle ? versionWithRangeSpecStyle(version, prevRangeSpecStyle) : version;
34
35
  }
35
36
  const rangeSpecStyle = (opts.prevSpecifier ? inferRangeSpecStyle(opts.prevSpecifier) : undefined) ??
36
37
  (opts.bareSpecifier ? inferRangeSpecStyle(opts.bareSpecifier) : undefined) ??
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pnpm/pkg-manifest.utils",
3
- "version": "1100.4.0",
3
+ "version": "1100.4.2",
4
4
  "description": "Utils for dealing with package manifest",
5
5
  "keywords": [
6
6
  "pnpm",
@@ -27,10 +27,10 @@
27
27
  "!*.map"
28
28
  ],
29
29
  "dependencies": {
30
- "@pnpm/core-loggers": "1100.3.2",
30
+ "@pnpm/core-loggers": "1100.3.4",
31
31
  "@pnpm/deps.peer-range": "1100.1.1",
32
- "@pnpm/error": "1100.1.2",
33
- "@pnpm/types": "1101.9.0",
32
+ "@pnpm/error": "1100.1.3",
33
+ "@pnpm/types": "1102.1.0",
34
34
  "semver": "^7.8.5",
35
35
  "semver-utils": "^1.1.4"
36
36
  },
@@ -40,7 +40,7 @@
40
40
  "devDependencies": {
41
41
  "@jest/globals": "30.4.1",
42
42
  "@pnpm/logger": "1100.0.0",
43
- "@pnpm/pkg-manifest.utils": "1100.4.0",
43
+ "@pnpm/pkg-manifest.utils": "1100.4.2",
44
44
  "@types/semver": "7.8.0"
45
45
  },
46
46
  "engines": {