@git.zone/cli 2.13.13 → 2.14.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/dist_ts/00_commitinfo_data.js +2 -2
- package/dist_ts/gitzone.cli.js +46 -35
- package/dist_ts/helpers.climode.d.ts +22 -0
- package/dist_ts/helpers.climode.js +158 -0
- package/dist_ts/helpers.smartconfig.d.ts +11 -0
- package/dist_ts/helpers.smartconfig.js +139 -0
- package/dist_ts/mod_commit/index.d.ts +2 -0
- package/dist_ts/mod_commit/index.js +204 -92
- package/dist_ts/mod_config/index.d.ts +7 -2
- package/dist_ts/mod_config/index.js +390 -176
- package/dist_ts/mod_format/classes.formatcontext.d.ts +11 -2
- package/dist_ts/mod_format/classes.formatcontext.js +14 -4
- package/dist_ts/mod_format/formatters/packagejson.formatter.js +1 -67
- package/dist_ts/mod_format/formatters/smartconfig.formatter.d.ts +2 -7
- package/dist_ts/mod_format/formatters/smartconfig.formatter.js +57 -93
- package/dist_ts/mod_format/index.d.ts +4 -1
- package/dist_ts/mod_format/index.js +235 -67
- package/dist_ts/mod_format/mod.plugins.d.ts +1 -2
- package/dist_ts/mod_format/mod.plugins.js +2 -3
- package/dist_ts/mod_services/index.d.ts +2 -0
- package/dist_ts/mod_services/index.js +366 -168
- package/dist_ts/mod_standard/index.d.ts +3 -1
- package/dist_ts/mod_standard/index.js +159 -59
- package/package.json +1 -1
- package/readme.hints.md +25 -32
- package/readme.md +87 -65
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/gitzone.cli.ts +50 -38
- package/ts/helpers.climode.ts +212 -0
- package/ts/helpers.smartconfig.ts +192 -0
- package/ts/mod_commit/index.ts +325 -98
- package/ts/mod_config/index.ts +490 -182
- package/ts/mod_format/classes.formatcontext.ts +20 -3
- package/ts/mod_format/formatters/packagejson.formatter.ts +0 -91
- package/ts/mod_format/formatters/smartconfig.formatter.ts +67 -94
- package/ts/mod_format/index.ts +294 -81
- package/ts/mod_format/mod.plugins.ts +0 -2
- package/ts/mod_services/index.ts +550 -183
- package/ts/mod_standard/index.ts +191 -58
|
@@ -1,14 +1,32 @@
|
|
|
1
1
|
// this file contains code to create commits in a consistent way
|
|
2
|
-
import * as plugins from
|
|
3
|
-
import * as paths from
|
|
4
|
-
import { logger } from
|
|
5
|
-
import * as helpers from
|
|
6
|
-
import * as ui from
|
|
7
|
-
import { ReleaseConfig } from
|
|
2
|
+
import * as plugins from "./mod.plugins.js";
|
|
3
|
+
import * as paths from "../paths.js";
|
|
4
|
+
import { logger } from "../gitzone.logging.js";
|
|
5
|
+
import * as helpers from "./mod.helpers.js";
|
|
6
|
+
import * as ui from "./mod.ui.js";
|
|
7
|
+
import { ReleaseConfig } from "../mod_config/classes.releaseconfig.js";
|
|
8
|
+
import { getCliMode, printJson, runWithSuppressedOutput, } from "../helpers.climode.js";
|
|
8
9
|
export const run = async (argvArg) => {
|
|
10
|
+
const mode = await getCliMode(argvArg);
|
|
11
|
+
const subcommand = argvArg._?.[1];
|
|
12
|
+
if (mode.help || subcommand === "help") {
|
|
13
|
+
showHelp(mode);
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
if (subcommand === "recommend") {
|
|
17
|
+
await handleRecommend(mode);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (mode.json) {
|
|
21
|
+
printJson({
|
|
22
|
+
ok: false,
|
|
23
|
+
error: "JSON output is only supported for the read-only recommendation flow. Use `gitzone commit recommend --json`.",
|
|
24
|
+
});
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
9
27
|
// Read commit config from .smartconfig.json
|
|
10
28
|
const smartconfigInstance = new plugins.smartconfig.Smartconfig();
|
|
11
|
-
const gitzoneConfig = smartconfigInstance.dataFor(
|
|
29
|
+
const gitzoneConfig = smartconfigInstance.dataFor("@git.zone/cli", {});
|
|
12
30
|
const commitConfig = gitzoneConfig.commit || {};
|
|
13
31
|
// Check flags and merge with config options
|
|
14
32
|
const wantsRelease = !!(argvArg.r || argvArg.release);
|
|
@@ -18,10 +36,10 @@ export const run = async (argvArg) => {
|
|
|
18
36
|
if (wantsRelease) {
|
|
19
37
|
releaseConfig = await ReleaseConfig.fromCwd();
|
|
20
38
|
if (!releaseConfig.hasRegistries()) {
|
|
21
|
-
logger.log(
|
|
22
|
-
console.log(
|
|
23
|
-
console.log(
|
|
24
|
-
console.log(
|
|
39
|
+
logger.log("error", "No release registries configured.");
|
|
40
|
+
console.log("");
|
|
41
|
+
console.log(" Run `gitzone config add <registry-url>` to add registries.");
|
|
42
|
+
console.log("");
|
|
25
43
|
process.exit(1);
|
|
26
44
|
}
|
|
27
45
|
}
|
|
@@ -36,24 +54,24 @@ export const run = async (argvArg) => {
|
|
|
36
54
|
registries: releaseConfig?.getRegistries(),
|
|
37
55
|
});
|
|
38
56
|
if (argvArg.format) {
|
|
39
|
-
const formatMod = await import(
|
|
57
|
+
const formatMod = await import("../mod_format/index.js");
|
|
40
58
|
await formatMod.run();
|
|
41
59
|
}
|
|
42
60
|
// Run tests early to fail fast before analysis
|
|
43
61
|
if (wantsTest) {
|
|
44
|
-
ui.printHeader(
|
|
62
|
+
ui.printHeader("🧪 Running tests...");
|
|
45
63
|
const smartshellForTest = new plugins.smartshell.Smartshell({
|
|
46
|
-
executor:
|
|
64
|
+
executor: "bash",
|
|
47
65
|
sourceFilePaths: [],
|
|
48
66
|
});
|
|
49
|
-
const testResult = await smartshellForTest.exec(
|
|
67
|
+
const testResult = await smartshellForTest.exec("pnpm test");
|
|
50
68
|
if (testResult.exitCode !== 0) {
|
|
51
|
-
logger.log(
|
|
69
|
+
logger.log("error", "Tests failed. Aborting commit.");
|
|
52
70
|
process.exit(1);
|
|
53
71
|
}
|
|
54
|
-
logger.log(
|
|
72
|
+
logger.log("success", "All tests passed.");
|
|
55
73
|
}
|
|
56
|
-
ui.printHeader(
|
|
74
|
+
ui.printHeader("🔍 Analyzing repository changes...");
|
|
57
75
|
const aidoc = new plugins.tsdoc.AiDoc();
|
|
58
76
|
await aidoc.start();
|
|
59
77
|
const nextCommitObject = await aidoc.buildNextCommitObject(paths.cwd);
|
|
@@ -67,50 +85,50 @@ export const run = async (argvArg) => {
|
|
|
67
85
|
let answerBucket;
|
|
68
86
|
// Check if -y/--yes flag is set AND version is not a breaking change
|
|
69
87
|
// Breaking changes (major version bumps) always require manual confirmation
|
|
70
|
-
const isBreakingChange = nextCommitObject.recommendedNextVersionLevel ===
|
|
88
|
+
const isBreakingChange = nextCommitObject.recommendedNextVersionLevel === "BREAKING CHANGE";
|
|
71
89
|
const canAutoAccept = (argvArg.y || argvArg.yes) && !isBreakingChange;
|
|
72
90
|
if (canAutoAccept) {
|
|
73
91
|
// Auto-mode: create AnswerBucket programmatically
|
|
74
|
-
logger.log(
|
|
92
|
+
logger.log("info", "✓ Auto-accepting AI recommendations (--yes flag)");
|
|
75
93
|
answerBucket = new plugins.smartinteract.AnswerBucket();
|
|
76
94
|
answerBucket.addAnswer({
|
|
77
|
-
name:
|
|
95
|
+
name: "commitType",
|
|
78
96
|
value: nextCommitObject.recommendedNextVersionLevel,
|
|
79
97
|
});
|
|
80
98
|
answerBucket.addAnswer({
|
|
81
|
-
name:
|
|
99
|
+
name: "commitScope",
|
|
82
100
|
value: nextCommitObject.recommendedNextVersionScope,
|
|
83
101
|
});
|
|
84
102
|
answerBucket.addAnswer({
|
|
85
|
-
name:
|
|
103
|
+
name: "commitDescription",
|
|
86
104
|
value: nextCommitObject.recommendedNextVersionMessage,
|
|
87
105
|
});
|
|
88
106
|
answerBucket.addAnswer({
|
|
89
|
-
name:
|
|
107
|
+
name: "pushToOrigin",
|
|
90
108
|
value: !!(argvArg.p || argvArg.push), // Only push if -p flag also provided
|
|
91
109
|
});
|
|
92
110
|
answerBucket.addAnswer({
|
|
93
|
-
name:
|
|
111
|
+
name: "createRelease",
|
|
94
112
|
value: wantsRelease,
|
|
95
113
|
});
|
|
96
114
|
}
|
|
97
115
|
else {
|
|
98
116
|
// Warn if --yes was provided but we're requiring confirmation due to breaking change
|
|
99
117
|
if (isBreakingChange && (argvArg.y || argvArg.yes)) {
|
|
100
|
-
logger.log(
|
|
118
|
+
logger.log("warn", "⚠️ BREAKING CHANGE detected - manual confirmation required");
|
|
101
119
|
}
|
|
102
120
|
// Interactive mode: prompt user for input
|
|
103
121
|
const commitInteract = new plugins.smartinteract.SmartInteract();
|
|
104
122
|
commitInteract.addQuestions([
|
|
105
123
|
{
|
|
106
|
-
type:
|
|
124
|
+
type: "list",
|
|
107
125
|
name: `commitType`,
|
|
108
126
|
message: `Choose TYPE of the commit:`,
|
|
109
127
|
choices: [`fix`, `feat`, `BREAKING CHANGE`],
|
|
110
128
|
default: nextCommitObject.recommendedNextVersionLevel,
|
|
111
129
|
},
|
|
112
130
|
{
|
|
113
|
-
type:
|
|
131
|
+
type: "input",
|
|
114
132
|
name: `commitScope`,
|
|
115
133
|
message: `What is the SCOPE of the commit:`,
|
|
116
134
|
default: nextCommitObject.recommendedNextVersionScope,
|
|
@@ -122,13 +140,13 @@ export const run = async (argvArg) => {
|
|
|
122
140
|
default: nextCommitObject.recommendedNextVersionMessage,
|
|
123
141
|
},
|
|
124
142
|
{
|
|
125
|
-
type:
|
|
143
|
+
type: "confirm",
|
|
126
144
|
name: `pushToOrigin`,
|
|
127
145
|
message: `Do you want to push this version now?`,
|
|
128
146
|
default: true,
|
|
129
147
|
},
|
|
130
148
|
{
|
|
131
|
-
type:
|
|
149
|
+
type: "confirm",
|
|
132
150
|
name: `createRelease`,
|
|
133
151
|
message: `Do you want to publish to npm registries?`,
|
|
134
152
|
default: wantsRelease,
|
|
@@ -137,37 +155,43 @@ export const run = async (argvArg) => {
|
|
|
137
155
|
answerBucket = await commitInteract.runQueue();
|
|
138
156
|
}
|
|
139
157
|
const commitString = createCommitStringFromAnswerBucket(answerBucket);
|
|
140
|
-
const
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
158
|
+
const commitType = answerBucket.getAnswerFor("commitType");
|
|
159
|
+
let commitVersionType;
|
|
160
|
+
switch (commitType) {
|
|
161
|
+
case "fix":
|
|
162
|
+
commitVersionType = "patch";
|
|
163
|
+
break;
|
|
164
|
+
case "feat":
|
|
165
|
+
commitVersionType = "minor";
|
|
166
|
+
break;
|
|
167
|
+
case "BREAKING CHANGE":
|
|
168
|
+
commitVersionType = "major";
|
|
169
|
+
break;
|
|
170
|
+
default:
|
|
171
|
+
throw new Error(`Unsupported commit type: ${commitType}`);
|
|
172
|
+
}
|
|
173
|
+
ui.printHeader("✨ Creating Semantic Commit");
|
|
151
174
|
ui.printCommitMessage(commitString);
|
|
152
175
|
const smartshellInstance = new plugins.smartshell.Smartshell({
|
|
153
|
-
executor:
|
|
176
|
+
executor: "bash",
|
|
154
177
|
sourceFilePaths: [],
|
|
155
178
|
});
|
|
156
179
|
// Load release config if user wants to release (interactively selected)
|
|
157
|
-
if (answerBucket.getAnswerFor(
|
|
180
|
+
if (answerBucket.getAnswerFor("createRelease") && !releaseConfig) {
|
|
158
181
|
releaseConfig = await ReleaseConfig.fromCwd();
|
|
159
182
|
if (!releaseConfig.hasRegistries()) {
|
|
160
|
-
logger.log(
|
|
161
|
-
console.log(
|
|
162
|
-
console.log(
|
|
163
|
-
console.log(
|
|
183
|
+
logger.log("error", "No release registries configured.");
|
|
184
|
+
console.log("");
|
|
185
|
+
console.log(" Run `gitzone config add <registry-url>` to add registries.");
|
|
186
|
+
console.log("");
|
|
164
187
|
process.exit(1);
|
|
165
188
|
}
|
|
166
189
|
}
|
|
167
190
|
// Determine total steps based on options
|
|
168
191
|
// Note: test runs early (like format) so not counted in numbered steps
|
|
169
|
-
const willPush = answerBucket.getAnswerFor(
|
|
170
|
-
const willRelease = answerBucket.getAnswerFor(
|
|
192
|
+
const willPush = answerBucket.getAnswerFor("pushToOrigin") && !(process.env.CI === "true");
|
|
193
|
+
const willRelease = answerBucket.getAnswerFor("createRelease") &&
|
|
194
|
+
releaseConfig?.hasRegistries();
|
|
171
195
|
let totalSteps = 5; // Base steps: commitinfo, changelog, staging, commit, version
|
|
172
196
|
if (wantsBuild)
|
|
173
197
|
totalSteps += 2; // build step + verification step
|
|
@@ -178,38 +202,38 @@ export const run = async (argvArg) => {
|
|
|
178
202
|
let currentStep = 0;
|
|
179
203
|
// Step 1: Baking commitinfo
|
|
180
204
|
currentStep++;
|
|
181
|
-
ui.printStep(currentStep, totalSteps,
|
|
205
|
+
ui.printStep(currentStep, totalSteps, "🔧 Baking commit info into code", "in-progress");
|
|
182
206
|
const commitInfo = new plugins.commitinfo.CommitInfo(paths.cwd, commitVersionType);
|
|
183
207
|
await commitInfo.writeIntoPotentialDirs();
|
|
184
|
-
ui.printStep(currentStep, totalSteps,
|
|
208
|
+
ui.printStep(currentStep, totalSteps, "🔧 Baking commit info into code", "done");
|
|
185
209
|
// Step 2: Writing changelog
|
|
186
210
|
currentStep++;
|
|
187
|
-
ui.printStep(currentStep, totalSteps,
|
|
188
|
-
let changelog = nextCommitObject.changelog;
|
|
189
|
-
changelog = changelog.replaceAll(
|
|
190
|
-
changelog = changelog.replaceAll(
|
|
191
|
-
changelog = changelog.replaceAll(
|
|
211
|
+
ui.printStep(currentStep, totalSteps, "📄 Generating changelog.md", "in-progress");
|
|
212
|
+
let changelog = nextCommitObject.changelog || "# Changelog\n";
|
|
213
|
+
changelog = changelog.replaceAll("{{nextVersion}}", (await commitInfo.getNextPlannedVersion()).versionString);
|
|
214
|
+
changelog = changelog.replaceAll("{{nextVersionScope}}", `${await answerBucket.getAnswerFor("commitType")}(${await answerBucket.getAnswerFor("commitScope")})`);
|
|
215
|
+
changelog = changelog.replaceAll("{{nextVersionMessage}}", nextCommitObject.recommendedNextVersionMessage);
|
|
192
216
|
if (nextCommitObject.recommendedNextVersionDetails?.length > 0) {
|
|
193
|
-
changelog = changelog.replaceAll(
|
|
217
|
+
changelog = changelog.replaceAll("{{nextVersionDetails}}", "- " + nextCommitObject.recommendedNextVersionDetails.join("\n- "));
|
|
194
218
|
}
|
|
195
219
|
else {
|
|
196
|
-
changelog = changelog.replaceAll(
|
|
220
|
+
changelog = changelog.replaceAll("\n{{nextVersionDetails}}", "");
|
|
197
221
|
}
|
|
198
222
|
await plugins.smartfs
|
|
199
223
|
.file(plugins.path.join(paths.cwd, `changelog.md`))
|
|
200
|
-
.encoding(
|
|
224
|
+
.encoding("utf8")
|
|
201
225
|
.write(changelog);
|
|
202
|
-
ui.printStep(currentStep, totalSteps,
|
|
226
|
+
ui.printStep(currentStep, totalSteps, "📄 Generating changelog.md", "done");
|
|
203
227
|
// Step 3: Staging files
|
|
204
228
|
currentStep++;
|
|
205
|
-
ui.printStep(currentStep, totalSteps,
|
|
229
|
+
ui.printStep(currentStep, totalSteps, "📦 Staging files", "in-progress");
|
|
206
230
|
await smartshellInstance.exec(`git add -A`);
|
|
207
|
-
ui.printStep(currentStep, totalSteps,
|
|
231
|
+
ui.printStep(currentStep, totalSteps, "📦 Staging files", "done");
|
|
208
232
|
// Step 4: Creating commit
|
|
209
233
|
currentStep++;
|
|
210
|
-
ui.printStep(currentStep, totalSteps,
|
|
234
|
+
ui.printStep(currentStep, totalSteps, "💾 Creating git commit", "in-progress");
|
|
211
235
|
await smartshellInstance.exec(`git commit -m "${commitString}"`);
|
|
212
|
-
ui.printStep(currentStep, totalSteps,
|
|
236
|
+
ui.printStep(currentStep, totalSteps, "💾 Creating git commit", "done");
|
|
213
237
|
// Step 5: Bumping version
|
|
214
238
|
currentStep++;
|
|
215
239
|
const projectType = await helpers.detectProjectType();
|
|
@@ -217,42 +241,42 @@ export const run = async (argvArg) => {
|
|
|
217
241
|
// Step 6: Run build (optional)
|
|
218
242
|
if (wantsBuild) {
|
|
219
243
|
currentStep++;
|
|
220
|
-
ui.printStep(currentStep, totalSteps,
|
|
221
|
-
const buildResult = await smartshellInstance.exec(
|
|
244
|
+
ui.printStep(currentStep, totalSteps, "🔨 Running build", "in-progress");
|
|
245
|
+
const buildResult = await smartshellInstance.exec("pnpm build");
|
|
222
246
|
if (buildResult.exitCode !== 0) {
|
|
223
|
-
ui.printStep(currentStep, totalSteps,
|
|
224
|
-
logger.log(
|
|
247
|
+
ui.printStep(currentStep, totalSteps, "🔨 Running build", "error");
|
|
248
|
+
logger.log("error", "Build failed. Aborting release.");
|
|
225
249
|
process.exit(1);
|
|
226
250
|
}
|
|
227
|
-
ui.printStep(currentStep, totalSteps,
|
|
251
|
+
ui.printStep(currentStep, totalSteps, "🔨 Running build", "done");
|
|
228
252
|
// Step 7: Verify no uncommitted changes
|
|
229
253
|
currentStep++;
|
|
230
|
-
ui.printStep(currentStep, totalSteps,
|
|
231
|
-
const statusResult = await smartshellInstance.exec(
|
|
232
|
-
if (statusResult.stdout.trim() !==
|
|
233
|
-
ui.printStep(currentStep, totalSteps,
|
|
234
|
-
logger.log(
|
|
235
|
-
logger.log(
|
|
254
|
+
ui.printStep(currentStep, totalSteps, "🔍 Verifying clean working tree", "in-progress");
|
|
255
|
+
const statusResult = await smartshellInstance.exec("git status --porcelain");
|
|
256
|
+
if (statusResult.stdout.trim() !== "") {
|
|
257
|
+
ui.printStep(currentStep, totalSteps, "🔍 Verifying clean working tree", "error");
|
|
258
|
+
logger.log("error", "Build produced uncommitted changes. This usually means build output is not gitignored.");
|
|
259
|
+
logger.log("error", "Uncommitted files:");
|
|
236
260
|
console.log(statusResult.stdout);
|
|
237
|
-
logger.log(
|
|
261
|
+
logger.log("error", "Aborting release. Please ensure build artifacts are in .gitignore");
|
|
238
262
|
process.exit(1);
|
|
239
263
|
}
|
|
240
|
-
ui.printStep(currentStep, totalSteps,
|
|
264
|
+
ui.printStep(currentStep, totalSteps, "🔍 Verifying clean working tree", "done");
|
|
241
265
|
}
|
|
242
266
|
// Step: Push to remote (optional)
|
|
243
267
|
const currentBranch = await helpers.detectCurrentBranch();
|
|
244
268
|
if (willPush) {
|
|
245
269
|
currentStep++;
|
|
246
|
-
ui.printStep(currentStep, totalSteps, `🚀 Pushing to origin/${currentBranch}`,
|
|
270
|
+
ui.printStep(currentStep, totalSteps, `🚀 Pushing to origin/${currentBranch}`, "in-progress");
|
|
247
271
|
await smartshellInstance.exec(`git push origin ${currentBranch} --follow-tags`);
|
|
248
|
-
ui.printStep(currentStep, totalSteps, `🚀 Pushing to origin/${currentBranch}`,
|
|
272
|
+
ui.printStep(currentStep, totalSteps, `🚀 Pushing to origin/${currentBranch}`, "done");
|
|
249
273
|
}
|
|
250
274
|
// Step 7: Publish to npm registries (optional)
|
|
251
275
|
let releasedRegistries = [];
|
|
252
276
|
if (willRelease && releaseConfig) {
|
|
253
277
|
currentStep++;
|
|
254
278
|
const registries = releaseConfig.getRegistries();
|
|
255
|
-
ui.printStep(currentStep, totalSteps, `📦 Publishing to ${registries.length} registr${registries.length === 1 ?
|
|
279
|
+
ui.printStep(currentStep, totalSteps, `📦 Publishing to ${registries.length} registr${registries.length === 1 ? "y" : "ies"}`, "in-progress");
|
|
256
280
|
const accessLevel = releaseConfig.getAccessLevel();
|
|
257
281
|
for (const registry of registries) {
|
|
258
282
|
try {
|
|
@@ -260,27 +284,27 @@ export const run = async (argvArg) => {
|
|
|
260
284
|
releasedRegistries.push(registry);
|
|
261
285
|
}
|
|
262
286
|
catch (error) {
|
|
263
|
-
logger.log(
|
|
287
|
+
logger.log("error", `Failed to publish to ${registry}: ${error}`);
|
|
264
288
|
}
|
|
265
289
|
}
|
|
266
290
|
if (releasedRegistries.length === registries.length) {
|
|
267
|
-
ui.printStep(currentStep, totalSteps, `📦 Publishing to ${registries.length} registr${registries.length === 1 ?
|
|
291
|
+
ui.printStep(currentStep, totalSteps, `📦 Publishing to ${registries.length} registr${registries.length === 1 ? "y" : "ies"}`, "done");
|
|
268
292
|
}
|
|
269
293
|
else {
|
|
270
|
-
ui.printStep(currentStep, totalSteps, `📦 Publishing to ${registries.length} registr${registries.length === 1 ?
|
|
294
|
+
ui.printStep(currentStep, totalSteps, `📦 Publishing to ${registries.length} registr${registries.length === 1 ? "y" : "ies"}`, "error");
|
|
271
295
|
}
|
|
272
296
|
}
|
|
273
|
-
console.log(
|
|
297
|
+
console.log(""); // Add spacing before summary
|
|
274
298
|
// Get commit SHA for summary
|
|
275
|
-
const commitShaResult = await smartshellInstance.exec(
|
|
299
|
+
const commitShaResult = await smartshellInstance.exec("git rev-parse --short HEAD");
|
|
276
300
|
const commitSha = commitShaResult.stdout.trim();
|
|
277
301
|
// Print final summary
|
|
278
302
|
ui.printSummary({
|
|
279
303
|
projectType,
|
|
280
304
|
branch: currentBranch,
|
|
281
|
-
commitType: answerBucket.getAnswerFor(
|
|
282
|
-
commitScope: answerBucket.getAnswerFor(
|
|
283
|
-
commitMessage: answerBucket.getAnswerFor(
|
|
305
|
+
commitType: answerBucket.getAnswerFor("commitType"),
|
|
306
|
+
commitScope: answerBucket.getAnswerFor("commitScope"),
|
|
307
|
+
commitMessage: answerBucket.getAnswerFor("commitDescription"),
|
|
284
308
|
newVersion: newVersion,
|
|
285
309
|
commitSha: commitSha,
|
|
286
310
|
pushed: willPush,
|
|
@@ -288,10 +312,98 @@ export const run = async (argvArg) => {
|
|
|
288
312
|
releasedRegistries: releasedRegistries.length > 0 ? releasedRegistries : undefined,
|
|
289
313
|
});
|
|
290
314
|
};
|
|
315
|
+
async function handleRecommend(mode) {
|
|
316
|
+
const recommendationBuilder = async () => {
|
|
317
|
+
const aidoc = new plugins.tsdoc.AiDoc();
|
|
318
|
+
await aidoc.start();
|
|
319
|
+
try {
|
|
320
|
+
return await aidoc.buildNextCommitObject(paths.cwd);
|
|
321
|
+
}
|
|
322
|
+
finally {
|
|
323
|
+
await aidoc.stop();
|
|
324
|
+
}
|
|
325
|
+
};
|
|
326
|
+
const recommendation = mode.json
|
|
327
|
+
? await runWithSuppressedOutput(recommendationBuilder)
|
|
328
|
+
: await recommendationBuilder();
|
|
329
|
+
if (mode.json) {
|
|
330
|
+
printJson(recommendation);
|
|
331
|
+
return;
|
|
332
|
+
}
|
|
333
|
+
ui.printRecommendation({
|
|
334
|
+
recommendedNextVersion: recommendation.recommendedNextVersion,
|
|
335
|
+
recommendedNextVersionLevel: recommendation.recommendedNextVersionLevel,
|
|
336
|
+
recommendedNextVersionScope: recommendation.recommendedNextVersionScope,
|
|
337
|
+
recommendedNextVersionMessage: recommendation.recommendedNextVersionMessage,
|
|
338
|
+
});
|
|
339
|
+
console.log(`Suggested commit: ${recommendation.recommendedNextVersionLevel}(${recommendation.recommendedNextVersionScope}): ${recommendation.recommendedNextVersionMessage}`);
|
|
340
|
+
}
|
|
291
341
|
const createCommitStringFromAnswerBucket = (answerBucket) => {
|
|
292
|
-
const commitType = answerBucket.getAnswerFor(
|
|
293
|
-
const commitScope = answerBucket.getAnswerFor(
|
|
294
|
-
const commitDescription = answerBucket.getAnswerFor(
|
|
342
|
+
const commitType = answerBucket.getAnswerFor("commitType");
|
|
343
|
+
const commitScope = answerBucket.getAnswerFor("commitScope");
|
|
344
|
+
const commitDescription = answerBucket.getAnswerFor("commitDescription");
|
|
295
345
|
return `${commitType}(${commitScope}): ${commitDescription}`;
|
|
296
346
|
};
|
|
297
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfY29tbWl0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdFQUFnRTtBQUVoRSxPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQyxPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUV2RSxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLE9BQVksRUFBRSxFQUFFO0lBQ3hDLDRDQUE0QztJQUM1QyxNQUFNLG1CQUFtQixHQUFHLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsRSxNQUFNLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLENBSzlDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN4QixNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUVoRCw0Q0FBNEM7SUFDNUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMzRSxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksWUFBWSxDQUFDLFdBQVcsQ0FB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
|
|
347
|
+
export function showHelp(mode) {
|
|
348
|
+
if (mode?.json) {
|
|
349
|
+
printJson({
|
|
350
|
+
command: "commit",
|
|
351
|
+
usage: "gitzone commit [recommend] [options]",
|
|
352
|
+
description: "Creates semantic commits or emits a read-only recommendation.",
|
|
353
|
+
commands: [
|
|
354
|
+
{
|
|
355
|
+
name: "recommend",
|
|
356
|
+
description: "Generate a commit recommendation without mutating the repository",
|
|
357
|
+
},
|
|
358
|
+
],
|
|
359
|
+
flags: [
|
|
360
|
+
{ flag: "-y, --yes", description: "Auto-accept AI recommendations" },
|
|
361
|
+
{ flag: "-p, --push", description: "Push to origin after commit" },
|
|
362
|
+
{ flag: "-t, --test", description: "Run tests before the commit flow" },
|
|
363
|
+
{
|
|
364
|
+
flag: "-b, --build",
|
|
365
|
+
description: "Run the build after the commit flow",
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
flag: "-r, --release",
|
|
369
|
+
description: "Publish to configured registries after push",
|
|
370
|
+
},
|
|
371
|
+
{
|
|
372
|
+
flag: "--format",
|
|
373
|
+
description: "Run gitzone format before committing",
|
|
374
|
+
},
|
|
375
|
+
{
|
|
376
|
+
flag: "--json",
|
|
377
|
+
description: "Emit JSON for `commit recommend` only",
|
|
378
|
+
},
|
|
379
|
+
],
|
|
380
|
+
examples: [
|
|
381
|
+
"gitzone commit recommend --json",
|
|
382
|
+
"gitzone commit -y",
|
|
383
|
+
"gitzone commit -ypbr",
|
|
384
|
+
],
|
|
385
|
+
});
|
|
386
|
+
return;
|
|
387
|
+
}
|
|
388
|
+
console.log("");
|
|
389
|
+
console.log("Usage: gitzone commit [recommend] [options]");
|
|
390
|
+
console.log("");
|
|
391
|
+
console.log("Commands:");
|
|
392
|
+
console.log(" recommend Generate a commit recommendation without mutating the repository");
|
|
393
|
+
console.log("");
|
|
394
|
+
console.log("Flags:");
|
|
395
|
+
console.log(" -y, --yes Auto-accept AI recommendations");
|
|
396
|
+
console.log(" -p, --push Push to origin after commit");
|
|
397
|
+
console.log(" -t, --test Run tests before the commit flow");
|
|
398
|
+
console.log(" -b, --build Run the build after the commit flow");
|
|
399
|
+
console.log(" -r, --release Publish to configured registries after push");
|
|
400
|
+
console.log(" --format Run gitzone format before committing");
|
|
401
|
+
console.log(" --json Emit JSON for `commit recommend` only");
|
|
402
|
+
console.log("");
|
|
403
|
+
console.log("Examples:");
|
|
404
|
+
console.log(" gitzone commit recommend --json");
|
|
405
|
+
console.log(" gitzone commit -y");
|
|
406
|
+
console.log(" gitzone commit -ypbr");
|
|
407
|
+
console.log("");
|
|
408
|
+
}
|
|
409
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfY29tbWl0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdFQUFnRTtBQUVoRSxPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxLQUFLLE1BQU0sYUFBYSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQyxPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUV2RSxPQUFPLEVBQ0wsVUFBVSxFQUNWLFNBQVMsRUFDVCx1QkFBdUIsR0FDeEIsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLE9BQVksRUFBRSxFQUFFO0lBQ3hDLE1BQU0sSUFBSSxHQUFHLE1BQU0sVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVsQyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksVUFBVSxLQUFLLE1BQU0sRUFBRSxDQUFDO1FBQ3ZDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNmLE9BQU87SUFDVCxDQUFDO0lBRUQsSUFBSSxVQUFVLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDL0IsTUFBTSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsT0FBTztJQUNULENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNkLFNBQVMsQ0FBQztZQUNSLEVBQUUsRUFBRSxLQUFLO1lBQ1QsS0FBSyxFQUNILDZHQUE2RztTQUNoSCxDQUFDLENBQUM7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
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import { ReleaseConfig } from
|
|
2
|
-
import { CommitConfig } from
|
|
1
|
+
import { ReleaseConfig } from "./classes.releaseconfig.js";
|
|
2
|
+
import { CommitConfig } from "./classes.commitconfig.js";
|
|
3
|
+
import type { ICliMode } from "../helpers.climode.js";
|
|
3
4
|
export { ReleaseConfig, CommitConfig };
|
|
4
5
|
export declare const run: (argvArg: any) => Promise<void>;
|
|
6
|
+
/**
|
|
7
|
+
* Show help for config command
|
|
8
|
+
*/
|
|
9
|
+
export declare function showHelp(mode?: ICliMode): void;
|