release-monorepo-semantically 1.9.3 → 1.9.4
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/dist/domain/ReleaseTypes.d.ts +8 -0
- package/dist/domain/ReleaseTypes.d.ts.map +1 -1
- package/dist/domain/ReleaseTypes.js +10 -0
- package/dist/domain/ReleaseTypes.js.map +1 -1
- package/dist/features/packageJson/PackageController.d.ts.map +1 -1
- package/dist/features/packageJson/PackageController.js +18 -2
- package/dist/features/packageJson/PackageController.js.map +1 -1
- package/package.json +1 -1
|
@@ -8,6 +8,14 @@
|
|
|
8
8
|
*/
|
|
9
9
|
export declare const DEPENDENCY_SECTIONS: readonly ["dependencies", "devDependencies"];
|
|
10
10
|
export type DependencySection = (typeof DEPENDENCY_SECTIONS)[number];
|
|
11
|
+
/**
|
|
12
|
+
* A specifier using pnpm's `workspace:` protocol always points at the copy in
|
|
13
|
+
* this workspace, so it is never stale and must not be rewritten to an exact
|
|
14
|
+
* version. Rewriting it would replace a local link with a version that is only
|
|
15
|
+
* published later in the release, leaving the lockfile refresh with nothing to
|
|
16
|
+
* resolve. `pnpm publish` substitutes the real version into the tarball.
|
|
17
|
+
*/
|
|
18
|
+
export declare function isWorkspaceProtocol(specifier: string): boolean;
|
|
11
19
|
export interface DependencyVersionChange {
|
|
12
20
|
packageName: string;
|
|
13
21
|
oldVersion: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReleaseTypes.d.ts","sourceRoot":"","sources":["../../src/domain/ReleaseTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,8CAA+C,CAAC;AAEhF,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAErE,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B"}
|
|
1
|
+
{"version":3,"file":"ReleaseTypes.d.ts","sourceRoot":"","sources":["../../src/domain/ReleaseTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,8CAA+C,CAAC;AAEhF,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAErE;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B"}
|
|
@@ -7,4 +7,14 @@
|
|
|
7
7
|
* released version would be wrong.
|
|
8
8
|
*/
|
|
9
9
|
export const DEPENDENCY_SECTIONS = ['dependencies', 'devDependencies'];
|
|
10
|
+
/**
|
|
11
|
+
* A specifier using pnpm's `workspace:` protocol always points at the copy in
|
|
12
|
+
* this workspace, so it is never stale and must not be rewritten to an exact
|
|
13
|
+
* version. Rewriting it would replace a local link with a version that is only
|
|
14
|
+
* published later in the release, leaving the lockfile refresh with nothing to
|
|
15
|
+
* resolve. `pnpm publish` substitutes the real version into the tarball.
|
|
16
|
+
*/
|
|
17
|
+
export function isWorkspaceProtocol(specifier) {
|
|
18
|
+
return specifier.startsWith('workspace:');
|
|
19
|
+
}
|
|
10
20
|
//# sourceMappingURL=ReleaseTypes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReleaseTypes.js","sourceRoot":"","sources":["../../src/domain/ReleaseTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,cAAc,EAAE,iBAAiB,CAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"ReleaseTypes.js","sourceRoot":"","sources":["../../src/domain/ReleaseTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,cAAc,EAAE,iBAAiB,CAAU,CAAC;AAIhF;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,OAAO,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PackageController.d.ts","sourceRoot":"","sources":["../../../src/features/packageJson/PackageController.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAyB,MAAM,yCAAyC,CAAC;AACpG,OAAO,EAAE,OAAO,EAAc,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAc,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAI1E,OAAO,EAAuC,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAqB,MAAM,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"PackageController.d.ts","sourceRoot":"","sources":["../../../src/features/packageJson/PackageController.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAyB,MAAM,yCAAyC,CAAC;AACpG,OAAO,EAAE,OAAO,EAAc,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAc,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAI1E,OAAO,EAAuC,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAqB,MAAM,8CAA8C,CAAC;AAIjG,qBACa,iBAAiB;IAEsC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACxD,OAAO,CAAC,QAAQ,CAAC,EAAE;IACvB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC7B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACR,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAJiB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,EAC7E,EAAE,EAAE,kBAAkB,EAC1B,cAAc,EAAE,cAAc,EAC5B,GAAG,EAAE,MAAM,EACC,MAAM,EAAE,OAAO;IAO3E,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IA4D9C;;;;;OAKG;IACH,OAAO,CAAC,eAAe;CASxB"}
|
|
@@ -22,6 +22,7 @@ import { deserializeContext } from '../../domain/ReleaseControllerContext.js';
|
|
|
22
22
|
import { isDryRun, STEP_OPTIONS, stepCommand } from '../../utils/cli.js';
|
|
23
23
|
import { PackageManagerKey } from '../packageManager/services/PackageManager.js';
|
|
24
24
|
import { globalConfig } from '../../domain/GlobalConfig.js';
|
|
25
|
+
import { isWorkspaceProtocol } from '../../domain/ReleaseTypes.js';
|
|
25
26
|
let PackageController = class PackageController {
|
|
26
27
|
config;
|
|
27
28
|
fs;
|
|
@@ -45,19 +46,34 @@ let PackageController = class PackageController {
|
|
|
45
46
|
continue;
|
|
46
47
|
}
|
|
47
48
|
const packageJson = this.fs.readPackageJsonOrFail(pkg.dirname);
|
|
49
|
+
let manifestRewritten = false;
|
|
48
50
|
for (const change of changes) {
|
|
49
51
|
// The bump goes back into the blocks the outdated version was read
|
|
50
52
|
// from, and nowhere else. Writing it to `dependencies` unconditionally
|
|
51
53
|
// left the devDependency it came from stale and handed consumers a
|
|
52
54
|
// duplicate copy of a package they already had as a peer.
|
|
55
|
+
let changeApplied = false;
|
|
53
56
|
for (const section of change.sections) {
|
|
54
57
|
const declaredDependencies = packageJson[section];
|
|
55
|
-
if (declaredDependencies
|
|
58
|
+
if (declaredDependencies === undefined) {
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
const declaredVersion = declaredDependencies[change.packageName];
|
|
62
|
+
if (declaredVersion === undefined || isWorkspaceProtocol(declaredVersion)) {
|
|
56
63
|
continue;
|
|
57
64
|
}
|
|
58
65
|
declaredDependencies[change.packageName] = change.newVersion;
|
|
66
|
+
changeApplied = true;
|
|
67
|
+
}
|
|
68
|
+
if (changeApplied) {
|
|
69
|
+
manifestRewritten = true;
|
|
70
|
+
this.logger.info(`BUMP ${change.packageName}@${change.newVersion}`);
|
|
59
71
|
}
|
|
60
|
-
|
|
72
|
+
}
|
|
73
|
+
// Every declaration was on the workspace protocol, so the manifest on
|
|
74
|
+
// disk is already correct and neither it nor the lockfile needs writing.
|
|
75
|
+
if (!manifestRewritten) {
|
|
76
|
+
continue;
|
|
61
77
|
}
|
|
62
78
|
if (dryRun) {
|
|
63
79
|
this.logger.info(`SKIP SAVE ${pkg.name} package.json (dry-run)`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PackageController.js","sourceRoot":"","sources":["../../../src/features/packageJson/PackageController.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAsB,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AACpG,OAAO,EAAW,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,QAAQ,IAAI,CAAC,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAoB,MAAM,oBAAoB,CAAC;AAC3F,OAAO,EAAkB,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACjG,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"PackageController.js","sourceRoot":"","sources":["../../../src/features/packageJson/PackageController.ts"],"names":[],"mappings":"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"}
|