@proteinjs/build 2.0.2 → 2.2.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 +23 -0
- package/LICENSE +21 -0
- package/dist/src/buildWorkspace.d.ts +6 -1
- package/dist/src/buildWorkspace.d.ts.map +1 -1
- package/dist/src/buildWorkspace.js +12 -3
- package/dist/src/buildWorkspace.js.map +1 -1
- package/dist/src/mergeToMain.d.ts +32 -0
- package/dist/src/mergeToMain.d.ts.map +1 -0
- package/dist/src/mergeToMain.js +274 -0
- package/dist/src/mergeToMain.js.map +1 -0
- package/dist/src/versionWorkspace.d.ts.map +1 -1
- package/dist/src/versionWorkspace.js +117 -50
- package/dist/src/versionWorkspace.js.map +1 -1
- package/dist/test/parseMergeToMainSpec.test.d.ts +2 -0
- package/dist/test/parseMergeToMainSpec.test.d.ts.map +1 -0
- package/dist/test/parseMergeToMainSpec.test.js +40 -0
- package/dist/test/parseMergeToMainSpec.test.js.map +1 -0
- package/package.json +3 -2
- package/src/buildWorkspace.ts +12 -2
- package/src/mergeToMain.ts +187 -0
- package/src/versionWorkspace.ts +96 -16
- package/test/parseMergeToMainSpec.test.ts +43 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,29 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [2.2.0](https://github.com/proteinjs/build/compare/@proteinjs/build@2.1.0...@proteinjs/build@2.2.0) (2026-07-21)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* version-workspace --merge-to-main — opt-in pre-phase merging feature branches into main before versioning ([1eda265](https://github.com/proteinjs/build/commit/1eda2655ce752d1ecd36baa4d5c76540f9a31369))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# [2.1.0](https://github.com/proteinjs/build/compare/@proteinjs/build@2.0.2...@proteinjs/build@2.1.0) (2026-07-03)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
* build-workspace lints on CI only (CI=true) or behind an explicit --lint ([6c8d25b](https://github.com/proteinjs/build/commit/6c8d25b030ebe3cfc61daf911e34783c11d9afac))
|
|
23
|
+
* **version-workspace:** add --skip flag to freeze a package for a run [skip ci] ([803d1d0](https://github.com/proteinjs/build/commit/803d1d09e74fdc89564d1f06ab6e936923385924))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
6
29
|
## [2.0.1](https://github.com/proteinjs/build/compare/@proteinjs/build@2.0.0...@proteinjs/build@2.0.1) (2026-05-21)
|
|
7
30
|
|
|
8
31
|
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023 Brent Bahry
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Install and build workspace, in dependency order.
|
|
3
3
|
*
|
|
4
|
+
* Linting (prettier --write + eslint --fix) runs on CI ONLY (CI=true, set by GitHub Actions) or
|
|
5
|
+
* locally behind an explicit `--lint`. A default local lint --fix reformats files across the whole
|
|
6
|
+
* workspace and strands them unstaged on top of unrelated work; CI commits its own lint fallout.
|
|
7
|
+
*
|
|
4
8
|
* Optional args:
|
|
5
9
|
*
|
|
10
|
+
* --lint (force linting locally)
|
|
6
11
|
* --no-install=@some/package,@another/package
|
|
7
12
|
* --no-build=@some/package,@another/package
|
|
8
|
-
* --no-lint=@some/package,@another/package
|
|
13
|
+
* --no-lint=@some/package,@another/package (CI: skip linting these packages)
|
|
9
14
|
* --skip=@some/package,@another/package
|
|
10
15
|
*/
|
|
11
16
|
export declare function buildWorkspace(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildWorkspace.d.ts","sourceRoot":"","sources":["../../src/buildWorkspace.ts"],"names":[],"mappings":"AAMA
|
|
1
|
+
{"version":3,"file":"buildWorkspace.d.ts","sourceRoot":"","sources":["../../src/buildWorkspace.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,cAAc,kBAiDnC"}
|
|
@@ -68,16 +68,21 @@ var lintWorkspace_1 = require("./lintWorkspace");
|
|
|
68
68
|
/**
|
|
69
69
|
* Install and build workspace, in dependency order.
|
|
70
70
|
*
|
|
71
|
+
* Linting (prettier --write + eslint --fix) runs on CI ONLY (CI=true, set by GitHub Actions) or
|
|
72
|
+
* locally behind an explicit `--lint`. A default local lint --fix reformats files across the whole
|
|
73
|
+
* workspace and strands them unstaged on top of unrelated work; CI commits its own lint fallout.
|
|
74
|
+
*
|
|
71
75
|
* Optional args:
|
|
72
76
|
*
|
|
77
|
+
* --lint (force linting locally)
|
|
73
78
|
* --no-install=@some/package,@another/package
|
|
74
79
|
* --no-build=@some/package,@another/package
|
|
75
|
-
* --no-lint=@some/package,@another/package
|
|
80
|
+
* --no-lint=@some/package,@another/package (CI: skip linting these packages)
|
|
76
81
|
* --skip=@some/package,@another/package
|
|
77
82
|
*/
|
|
78
83
|
function buildWorkspace() {
|
|
79
84
|
return __awaiter(this, void 0, void 0, function () {
|
|
80
|
-
var cw, logger, args, workspacePath, _a, packageMap, sortedPackageNames, skippedPackages, filteredPackageNames, _i, filteredPackageNames_1, packageName, localPackage, packageDir;
|
|
85
|
+
var cw, logger, args, lintEnabled, workspacePath, _a, packageMap, sortedPackageNames, skippedPackages, filteredPackageNames, _i, filteredPackageNames_1, packageName, localPackage, packageDir;
|
|
81
86
|
return __generator(this, function (_b) {
|
|
82
87
|
switch (_b.label) {
|
|
83
88
|
case 0:
|
|
@@ -86,6 +91,7 @@ function buildWorkspace() {
|
|
|
86
91
|
name: cw.color('workspace:', logColors_1.primaryLogColor) + cw.color('build', logColors_1.secondaryLogColor),
|
|
87
92
|
});
|
|
88
93
|
args = getArgs();
|
|
94
|
+
lintEnabled = process.env.CI === 'true' || !!args.lint;
|
|
89
95
|
workspacePath = process.cwd();
|
|
90
96
|
return [4 /*yield*/, util_node_1.PackageUtil.getWorkspaceMetadata(workspacePath)];
|
|
91
97
|
case 1:
|
|
@@ -126,7 +132,7 @@ function buildWorkspace() {
|
|
|
126
132
|
logger.info({ message: "Built ".concat(cw.color(packageName), " (").concat(packageDir, ")") });
|
|
127
133
|
_b.label = 7;
|
|
128
134
|
case 7:
|
|
129
|
-
if (!((0, lintWorkspace_1.hasLintConfig)(packageMap[packageName]) && (!args.noLint || !args.noLint.includes(packageName)))) return [3 /*break*/, 10];
|
|
135
|
+
if (!(lintEnabled && (0, lintWorkspace_1.hasLintConfig)(packageMap[packageName]) && (!args.noLint || !args.noLint.includes(packageName)))) return [3 /*break*/, 10];
|
|
130
136
|
return [4 /*yield*/, (0, util_node_1.cmd)('npx', ['prettier', '.', '--write'], { cwd: packageDir }, { logPrefix: "[".concat(cw.color(packageName), "] ") })];
|
|
131
137
|
case 8:
|
|
132
138
|
_b.sent();
|
|
@@ -165,6 +171,9 @@ function getArgs() {
|
|
|
165
171
|
else if (argName == 'skip' && typeof argValue === 'string') {
|
|
166
172
|
args.skip = argValue.split(',');
|
|
167
173
|
}
|
|
174
|
+
else if (argName == 'lint') {
|
|
175
|
+
args.lint = true;
|
|
176
|
+
}
|
|
168
177
|
}
|
|
169
178
|
return args;
|
|
170
179
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildWorkspace.js","sourceRoot":"","sources":["../../src/buildWorkspace.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA6B;AAC7B,kDAAuF;AACvF,4CAA2C;AAC3C,yCAAiE;AACjE,iDAAgD;AAEhD
|
|
1
|
+
{"version":3,"file":"buildWorkspace.js","sourceRoot":"","sources":["../../src/buildWorkspace.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA6B;AAC7B,kDAAuF;AACvF,4CAA2C;AAC3C,yCAAiE;AACjE,iDAAgD;AAEhD;;;;;;;;;;;;;;GAcG;AACH,SAAsB,cAAc;;;;;;oBAC5B,EAAE,GAAG,IAAI,2BAAe,EAAE,CAAC;oBAC3B,MAAM,GAAG,IAAI,eAAM,CAAC;wBACxB,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,2BAAe,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,6BAAiB,CAAC;qBACrF,CAAC,CAAC;oBACG,IAAI,GAAG,OAAO,EAAE,CAAC;oBAEjB,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oBACvD,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;oBACO,qBAAM,uBAAW,CAAC,oBAAoB,CAAC,aAAa,CAAC,EAAA;;oBAA1F,KAAqC,SAAqD,EAAxF,UAAU,gBAAA,EAAE,kBAAkB,wBAAA;oBAChC,eAAe,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC3B,oBAAoB,GAAG,kBAAkB,CAAC,MAAM,CAAC,UAAC,WAAW;;wBACjE,OAAO,CACL,CAAC,CAAC,CAAA,MAAA,UAAU,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,OAAO,0CAAE,KAAK,CAAA;4BACpD,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;4BAC/C,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,CACvC,CAAC;oBACJ,CAAC,CAAC,CAAC;oBAEH,MAAM,CAAC,IAAI,CAAC;wBACV,OAAO,EAAE,8CAAuC,EAAE,CAAC,KAAK,CAAC,UAAG,oBAAoB,CAAC,MAAM,CAAE,EAAE,6BAAiB,CAAC,qBAAW,oBAAoB,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,4BAAkB,aAAa,MAAG;qBACtM,CAAC,CAAC;oBACH,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;oBAC1D,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,GAAG,EAAE,oBAAoB,EAAE,CAAC,CAAC;0BAChC,EAApB,6CAAoB;;;yBAApB,CAAA,kCAAoB,CAAA;oBAAnC,WAAW;oBACd,YAAY,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;oBACvC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;yBAEnD,CAAA,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA,EAAxD,wBAAwD;oBAC1D,qBAAM,IAAA,eAAG,EAAC,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,WAAI,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,OAAI,EAAE,CAAC,EAAA;;oBAAhG,SAAgG,CAAC;oBACjG,qBAAM,uBAAW,CAAC,mBAAmB,CAAC,YAAY,EAAE,UAAU,CAAC,EAAA;;oBAA/D,SAA+D,CAAC;oBAChE,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,oBAAa,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,eAAK,UAAU,MAAG,EAAE,CAAC,CAAC;;;yBAG7E,CAAA,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA,EAApD,wBAAoD;oBACtD,qBAAM,IAAA,eAAG,EAAC,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,WAAI,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,OAAI,EAAE,CAAC,EAAA;;oBAArG,SAAqG,CAAC;oBACtG,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,gBAAS,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,eAAK,UAAU,MAAG,EAAE,CAAC,CAAC;;;yBAGzE,CAAA,WAAW,IAAI,IAAA,6BAAa,EAAC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAA,EAA7G,yBAA6G;oBAC/G,qBAAM,IAAA,eAAG,EAAC,KAAK,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,WAAI,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,OAAI,EAAE,CAAC,EAAA;;oBAAjH,SAAiH,CAAC;oBAClH,qBAAM,IAAA,eAAG,EAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,WAAI,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,OAAI,EAAE,CAAC,EAAA;;oBAA7G,SAA6G,CAAC;oBAC9G,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,iBAAU,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,eAAK,UAAU,MAAG,EAAE,CAAC,CAAC;;;oBAlBtD,IAAoB,CAAA;;;oBAsB9C,MAAM,CAAC,IAAI,CAAC;wBACV,OAAO,EAAE,yCAAkC,EAAE,CAAC,KAAK,CAAC,UAAG,oBAAoB,CAAC,MAAM,CAAE,EAAE,6BAAiB,CAAC,qBAAW,oBAAoB,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,4BAAkB,aAAa,MAAG;qBACjM,CAAC,CAAC;;;;;CACJ;AAjDD,wCAiDC;AAUD,SAAS,OAAO;IACd,IAAM,IAAI,GAAS,EAAE,CAAC;IACtB,IAAM,OAAO,GAAG,IAAA,wBAAY,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,KAAK,IAAM,OAAO,IAAI,OAAO,EAAE;QAC7B,IAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,OAAO,IAAI,YAAY,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAC3D,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACtC;aAAM,IAAI,OAAO,IAAI,UAAU,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAChE,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACpC;aAAM,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAC/D,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACnC;aAAM,IAAI,OAAO,IAAI,MAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAC5D,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACjC;aAAM,IAAI,OAAO,IAAI,MAAM,EAAE;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SAClB;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Opt-in pre-phase for `version-workspace`: merge feature-branch work into `main` in each leaf git
|
|
3
|
+
* repo BEFORE versioning, so the release runs on main. Without the flag, behavior is unchanged —
|
|
4
|
+
* the workspace versions in place on whatever branch each repo is on (the "stay on feature
|
|
5
|
+
* branches and just bump deps" mode).
|
|
6
|
+
*
|
|
7
|
+
* version-workspace --merge-to-main
|
|
8
|
+
* Every leaf repo whose current branch != main merges its current branch HEAD into main.
|
|
9
|
+
*
|
|
10
|
+
* version-workspace --merge-to-main=chat:17dda73,thought:ffdc105
|
|
11
|
+
* Only the named repos (matched by git-repo directory name), each merged at the PINNED sha —
|
|
12
|
+
* work pushed to the feature branch after the pin simply isn't in this release. A bare name
|
|
13
|
+
* (no `:sha`) merges that repo's current branch HEAD.
|
|
14
|
+
*
|
|
15
|
+
* Also accepted via env: VERSION_WORKSPACE_MERGE_TO_MAIN (same syntax; `1`/`true` = bare mode).
|
|
16
|
+
*
|
|
17
|
+
* Semantics per repo: fetch; checkout main; sync with origin/main FAST-FORWARD-ONLY (never rebase
|
|
18
|
+
* — local main legitimately holds an unpushed merge commit on resume, and a rebase would
|
|
19
|
+
* linearize it; true local/origin divergence stops loudly); merge the sha with a merge commit
|
|
20
|
+
* (`--no-ff`). Already-merged shas are skipped (idempotent — safe to re-run after fixing a
|
|
21
|
+
* conflict). A conflict stops the run with the repo + conflicted files named, leaving the merge in
|
|
22
|
+
* progress in that repo for resolution; re-running continues past it. Repos are LEFT ON MAIN
|
|
23
|
+
* afterward (the feature branch itself is never modified); the workspace root/metarepos are never
|
|
24
|
+
* touched by this phase.
|
|
25
|
+
*/
|
|
26
|
+
export type MergeToMainSpec = {
|
|
27
|
+
enabled: boolean;
|
|
28
|
+
pins: Map<string, string | undefined>;
|
|
29
|
+
};
|
|
30
|
+
export declare function parseMergeToMainSpec(args: string[], envValue?: string): MergeToMainSpec;
|
|
31
|
+
export declare function mergeToMain(workspacePath: string, spec: MergeToMainSpec, planOnly: boolean): Promise<void>;
|
|
32
|
+
//# sourceMappingURL=mergeToMain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergeToMain.d.ts","sourceRoot":"","sources":["../../src/mergeToMain.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,MAAM,eAAe,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;CAAE,CAAC;AAE1F,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,eAAe,CAkCvF;AAED,wBAAsB,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA6FhH"}
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
35
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
36
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
37
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
38
|
+
function step(op) {
|
|
39
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
40
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
41
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
42
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
43
|
+
switch (op[0]) {
|
|
44
|
+
case 0: case 1: t = op; break;
|
|
45
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
46
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
47
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
48
|
+
default:
|
|
49
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
50
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
51
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
52
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
53
|
+
if (t[2]) _.ops.pop();
|
|
54
|
+
_.trys.pop(); continue;
|
|
55
|
+
}
|
|
56
|
+
op = body.call(thisArg, _);
|
|
57
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
58
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
62
|
+
exports.mergeToMain = exports.parseMergeToMainSpec = void 0;
|
|
63
|
+
var path = __importStar(require("path"));
|
|
64
|
+
var child_process_1 = require("child_process");
|
|
65
|
+
var util_node_1 = require("@proteinjs/util-node");
|
|
66
|
+
var logger_1 = require("@proteinjs/logger");
|
|
67
|
+
var logColors_1 = require("./logColors");
|
|
68
|
+
var cw = new util_node_1.LogColorWrapper();
|
|
69
|
+
var logger = new logger_1.Logger({ name: cw.color('workspace:', logColors_1.primaryLogColor) + cw.color('merge', logColors_1.secondaryLogColor) });
|
|
70
|
+
function parseMergeToMainSpec(args, envValue) {
|
|
71
|
+
var pins = new Map();
|
|
72
|
+
var enabled = false;
|
|
73
|
+
var consume = function (value) {
|
|
74
|
+
enabled = true;
|
|
75
|
+
if (value === '' || value === 'true' || value === '1') {
|
|
76
|
+
return; // bare mode: all repos at branch HEAD
|
|
77
|
+
}
|
|
78
|
+
for (var _i = 0, _a = value.split(','); _i < _a.length; _i++) {
|
|
79
|
+
var entry = _a[_i];
|
|
80
|
+
var trimmed = entry.trim();
|
|
81
|
+
if (!trimmed) {
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
var _b = trimmed.split(':').map(function (s) { return s.trim(); }), repo = _b[0], sha = _b[1];
|
|
85
|
+
pins.set(repo, sha || undefined);
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
for (var _i = 0, args_1 = args; _i < args_1.length; _i++) {
|
|
89
|
+
var arg = args_1[_i];
|
|
90
|
+
if (arg === '--merge-to-main') {
|
|
91
|
+
consume('');
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
var match = arg.match(/^--merge-to-main=(.*)$/);
|
|
95
|
+
if (match) {
|
|
96
|
+
consume(match[1]);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
if (!enabled && envValue) {
|
|
101
|
+
consume(envValue);
|
|
102
|
+
}
|
|
103
|
+
return { enabled: enabled, pins: pins };
|
|
104
|
+
}
|
|
105
|
+
exports.parseMergeToMainSpec = parseMergeToMainSpec;
|
|
106
|
+
function mergeToMain(workspacePath, spec, planOnly) {
|
|
107
|
+
var _a;
|
|
108
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
109
|
+
var repoRoots, _i, repoRoots_1, repoRoot, repoName, pinned, branch, sha, _b, _c, _d, _e, originIsAncestor, alreadyMerged, error_1, conflicted;
|
|
110
|
+
return __generator(this, function (_f) {
|
|
111
|
+
switch (_f.label) {
|
|
112
|
+
case 0:
|
|
113
|
+
if (!spec.enabled) {
|
|
114
|
+
return [2 /*return*/];
|
|
115
|
+
}
|
|
116
|
+
return [4 /*yield*/, leafRepoRoots(workspacePath)];
|
|
117
|
+
case 1:
|
|
118
|
+
repoRoots = _f.sent();
|
|
119
|
+
_i = 0, repoRoots_1 = repoRoots;
|
|
120
|
+
_f.label = 2;
|
|
121
|
+
case 2:
|
|
122
|
+
if (!(_i < repoRoots_1.length)) return [3 /*break*/, 26];
|
|
123
|
+
repoRoot = repoRoots_1[_i];
|
|
124
|
+
repoName = path.basename(repoRoot);
|
|
125
|
+
pinned = spec.pins.size > 0;
|
|
126
|
+
if (pinned && !spec.pins.has(repoName)) {
|
|
127
|
+
return [3 /*break*/, 25];
|
|
128
|
+
}
|
|
129
|
+
return [4 /*yield*/, git(repoRoot, 'rev-parse --abbrev-ref HEAD')];
|
|
130
|
+
case 3:
|
|
131
|
+
branch = _f.sent();
|
|
132
|
+
if (!((_a = spec.pins.get(repoName)) !== null && _a !== void 0)) return [3 /*break*/, 4];
|
|
133
|
+
_b = _a;
|
|
134
|
+
return [3 /*break*/, 8];
|
|
135
|
+
case 4:
|
|
136
|
+
if (!(branch === 'main')) return [3 /*break*/, 5];
|
|
137
|
+
_c = undefined;
|
|
138
|
+
return [3 /*break*/, 7];
|
|
139
|
+
case 5: return [4 /*yield*/, git(repoRoot, 'rev-parse HEAD')];
|
|
140
|
+
case 6:
|
|
141
|
+
_c = _f.sent();
|
|
142
|
+
_f.label = 7;
|
|
143
|
+
case 7:
|
|
144
|
+
_b = (_c);
|
|
145
|
+
_f.label = 8;
|
|
146
|
+
case 8:
|
|
147
|
+
sha = _b;
|
|
148
|
+
if (!sha) {
|
|
149
|
+
// Bare mode and already on main with no pin: nothing to merge.
|
|
150
|
+
return [3 /*break*/, 25];
|
|
151
|
+
}
|
|
152
|
+
if (planOnly) {
|
|
153
|
+
logger.info({
|
|
154
|
+
message: "(".concat(cw.color(repoName), ") would merge ").concat(sha.slice(0, 9), " (").concat(branch, ") into main. NOTE: plan-only bump levels below reflect PRE-merge state; run with --dry-run after merging for post-merge planning."),
|
|
155
|
+
});
|
|
156
|
+
return [3 /*break*/, 25];
|
|
157
|
+
}
|
|
158
|
+
return [4 /*yield*/, (0, util_node_1.cmd)('git', ['fetch', '-q'], { cwd: repoRoot }, { logPrefix: "[".concat(cw.color(repoName), "] ") })];
|
|
159
|
+
case 9:
|
|
160
|
+
_f.sent();
|
|
161
|
+
_f.label = 10;
|
|
162
|
+
case 10:
|
|
163
|
+
_f.trys.push([10, 12, , 13]);
|
|
164
|
+
return [4 /*yield*/, git(repoRoot, "cat-file -e ".concat(sha, "^{commit}"))];
|
|
165
|
+
case 11:
|
|
166
|
+
_f.sent();
|
|
167
|
+
return [3 /*break*/, 13];
|
|
168
|
+
case 12:
|
|
169
|
+
_d = _f.sent();
|
|
170
|
+
throw new Error("(".concat(repoName, ") --merge-to-main sha ").concat(sha, " is not a commit in this repo"));
|
|
171
|
+
case 13:
|
|
172
|
+
if (!(branch !== 'main')) return [3 /*break*/, 15];
|
|
173
|
+
return [4 /*yield*/, (0, util_node_1.cmd)('git', ['checkout', 'main'], { cwd: repoRoot }, { logPrefix: "[".concat(cw.color(repoName), "] ") })];
|
|
174
|
+
case 14:
|
|
175
|
+
_f.sent();
|
|
176
|
+
_f.label = 15;
|
|
177
|
+
case 15:
|
|
178
|
+
_f.trys.push([15, 17, , 19]);
|
|
179
|
+
return [4 /*yield*/, (0, util_node_1.cmd)('git', ['merge', '--ff-only', 'origin/main'], { cwd: repoRoot }, { logPrefix: "[".concat(cw.color(repoName), "] ") })];
|
|
180
|
+
case 16:
|
|
181
|
+
_f.sent();
|
|
182
|
+
return [3 /*break*/, 19];
|
|
183
|
+
case 17:
|
|
184
|
+
_e = _f.sent();
|
|
185
|
+
return [4 /*yield*/, git(repoRoot, 'merge-base --is-ancestor origin/main HEAD')
|
|
186
|
+
.then(function () { return true; })
|
|
187
|
+
.catch(function () { return false; })];
|
|
188
|
+
case 18:
|
|
189
|
+
originIsAncestor = _f.sent();
|
|
190
|
+
if (!originIsAncestor) {
|
|
191
|
+
throw new Error("(".concat(repoName, ") local main and origin/main have DIVERGED (local holds unpushed commits AND origin moved). ") +
|
|
192
|
+
"Reconcile manually (e.g. merge origin/main into main), then re-run.");
|
|
193
|
+
}
|
|
194
|
+
logger.info({
|
|
195
|
+
message: "(".concat(cw.color(repoName), ") local main is ahead of origin (unpushed merge from a prior run) \u2014 continuing"),
|
|
196
|
+
});
|
|
197
|
+
return [3 /*break*/, 19];
|
|
198
|
+
case 19: return [4 /*yield*/, git(repoRoot, "merge-base --is-ancestor ".concat(sha, " HEAD"))
|
|
199
|
+
.then(function () { return true; })
|
|
200
|
+
.catch(function () { return false; })];
|
|
201
|
+
case 20:
|
|
202
|
+
alreadyMerged = _f.sent();
|
|
203
|
+
if (alreadyMerged) {
|
|
204
|
+
logger.info({ message: "(".concat(cw.color(repoName), ") ").concat(sha.slice(0, 9), " already on main \u2014 skipping merge") });
|
|
205
|
+
return [3 /*break*/, 25];
|
|
206
|
+
}
|
|
207
|
+
logger.info({ message: "(".concat(cw.color(repoName), ") merging ").concat(sha.slice(0, 9), " (").concat(branch, ") into main") });
|
|
208
|
+
_f.label = 21;
|
|
209
|
+
case 21:
|
|
210
|
+
_f.trys.push([21, 23, , 25]);
|
|
211
|
+
return [4 /*yield*/, (0, util_node_1.cmd)('git', [
|
|
212
|
+
'merge',
|
|
213
|
+
'--no-ff',
|
|
214
|
+
'-m',
|
|
215
|
+
"merge: ".concat(branch, " @ ").concat(sha.slice(0, 9), " -> main (version-workspace --merge-to-main)"),
|
|
216
|
+
sha,
|
|
217
|
+
], { cwd: repoRoot }, { logPrefix: "[".concat(cw.color(repoName), "] ") })];
|
|
218
|
+
case 22:
|
|
219
|
+
_f.sent();
|
|
220
|
+
return [3 /*break*/, 25];
|
|
221
|
+
case 23:
|
|
222
|
+
error_1 = _f.sent();
|
|
223
|
+
return [4 /*yield*/, git(repoRoot, 'diff --name-only --diff-filter=U').catch(function () { return ''; })];
|
|
224
|
+
case 24:
|
|
225
|
+
conflicted = _f.sent();
|
|
226
|
+
throw new Error("(".concat(repoName, ") merge of ").concat(sha.slice(0, 9), " into main has conflicts: [").concat(conflicted.split('\n').filter(Boolean).join(', '), "]. ") +
|
|
227
|
+
"Resolve + commit the merge in ".concat(repoRoot, ", then re-run \u2014 already-merged repos are skipped."));
|
|
228
|
+
case 25:
|
|
229
|
+
_i++;
|
|
230
|
+
return [3 /*break*/, 2];
|
|
231
|
+
case 26: return [2 /*return*/];
|
|
232
|
+
}
|
|
233
|
+
});
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
exports.mergeToMain = mergeToMain;
|
|
237
|
+
/** Unique git-repo roots that directly contain workspace packages — never the workspace root. */
|
|
238
|
+
function leafRepoRoots(workspacePath) {
|
|
239
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
240
|
+
var _a, packageMap, sortedPackageNames, roots, _i, sortedPackageNames_1, packageName, localPackage, packageDir, repoRoot;
|
|
241
|
+
return __generator(this, function (_b) {
|
|
242
|
+
switch (_b.label) {
|
|
243
|
+
case 0: return [4 /*yield*/, util_node_1.PackageUtil.getWorkspaceMetadata(workspacePath)];
|
|
244
|
+
case 1:
|
|
245
|
+
_a = _b.sent(), packageMap = _a.packageMap, sortedPackageNames = _a.sortedPackageNames;
|
|
246
|
+
roots = new Set();
|
|
247
|
+
_i = 0, sortedPackageNames_1 = sortedPackageNames;
|
|
248
|
+
_b.label = 2;
|
|
249
|
+
case 2:
|
|
250
|
+
if (!(_i < sortedPackageNames_1.length)) return [3 /*break*/, 5];
|
|
251
|
+
packageName = sortedPackageNames_1[_i];
|
|
252
|
+
localPackage = packageMap[packageName];
|
|
253
|
+
packageDir = path.dirname(localPackage.filePath);
|
|
254
|
+
return [4 /*yield*/, git(packageDir, 'rev-parse --show-toplevel').catch(function () { return undefined; })];
|
|
255
|
+
case 3:
|
|
256
|
+
repoRoot = _b.sent();
|
|
257
|
+
if (repoRoot && path.resolve(repoRoot) !== path.resolve(workspacePath)) {
|
|
258
|
+
roots.add(repoRoot);
|
|
259
|
+
}
|
|
260
|
+
_b.label = 4;
|
|
261
|
+
case 4:
|
|
262
|
+
_i++;
|
|
263
|
+
return [3 /*break*/, 2];
|
|
264
|
+
case 5: return [2 /*return*/, Array.from(roots).sort()];
|
|
265
|
+
}
|
|
266
|
+
});
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
function git(cwd, args) {
|
|
270
|
+
return new Promise(function (resolve, reject) {
|
|
271
|
+
(0, child_process_1.exec)("git ".concat(args), { cwd: cwd }, function (error, stdout) { return (error ? reject(error) : resolve(stdout.trim())); });
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
//# sourceMappingURL=mergeToMain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergeToMain.js","sourceRoot":"","sources":["../../src/mergeToMain.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versionWorkspace.d.ts","sourceRoot":"","sources":["../../src/versionWorkspace.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"versionWorkspace.d.ts","sourceRoot":"","sources":["../../src/versionWorkspace.ts"],"names":[],"mappings":"AAcA,wBAAsB,gBAAgB,kBA0KrC;AA40BD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAcrD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAsB1F;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAuB7E;AAED,wBAAsB,aAAa,CAAC,aAAa,EAAE,MAAM,iBAUxD"}
|