@reqord/cli 0.1.0 → 0.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/dist/commands/req/approve.d.ts.map +1 -1
- package/dist/commands/req/approve.js +43 -12
- package/dist/commands/req/approve.js.map +1 -1
- package/dist/commands/req/approve.test.js +90 -4
- package/dist/commands/req/approve.test.js.map +1 -1
- package/dist/commands/req/draft.d.ts.map +1 -1
- package/dist/commands/req/draft.js +3 -1
- package/dist/commands/req/draft.js.map +1 -1
- package/dist/commands/req/draft.test.js +16 -2
- package/dist/commands/req/draft.test.js.map +1 -1
- package/dist/commands/req/implement.d.ts.map +1 -1
- package/dist/commands/req/implement.js +70 -21
- package/dist/commands/req/implement.js.map +1 -1
- package/dist/commands/req/implement.test.js +113 -0
- package/dist/commands/req/implement.test.js.map +1 -1
- package/dist/commands/req/update.d.ts.map +1 -1
- package/dist/commands/req/update.js +3 -0
- package/dist/commands/req/update.js.map +1 -1
- package/dist/commands/req/update.test.d.ts +2 -0
- package/dist/commands/req/update.test.d.ts.map +1 -0
- package/dist/commands/req/update.test.js +93 -0
- package/dist/commands/req/update.test.js.map +1 -0
- package/dist/commands/spec/approve.d.ts.map +1 -1
- package/dist/commands/spec/approve.js +37 -17
- package/dist/commands/spec/approve.js.map +1 -1
- package/dist/commands/spec/approve.test.js +79 -5
- package/dist/commands/spec/approve.test.js.map +1 -1
- package/dist/commands/spec/draft.d.ts.map +1 -1
- package/dist/commands/spec/draft.js +3 -1
- package/dist/commands/spec/draft.js.map +1 -1
- package/dist/commands/spec/draft.test.js +16 -2
- package/dist/commands/spec/draft.test.js.map +1 -1
- package/dist/commands/spec/implement.d.ts.map +1 -1
- package/dist/commands/spec/implement.js +52 -15
- package/dist/commands/spec/implement.js.map +1 -1
- package/dist/commands/spec/spec-approval-flow.integration.test.js +25 -5
- package/dist/commands/spec/spec-approval-flow.integration.test.js.map +1 -1
- package/dist/repositories/project-settings.d.ts +2 -0
- package/dist/repositories/project-settings.d.ts.map +1 -0
- package/dist/repositories/project-settings.js +18 -0
- package/dist/repositories/project-settings.js.map +1 -0
- package/dist/repositories/project-settings.test.d.ts +2 -0
- package/dist/repositories/project-settings.test.d.ts.map +1 -0
- package/dist/repositories/project-settings.test.js +42 -0
- package/dist/repositories/project-settings.test.js.map +1 -0
- package/dist/repositories/requirement.d.ts +1 -0
- package/dist/repositories/requirement.d.ts.map +1 -1
- package/dist/repositories/requirement.js +7 -0
- package/dist/repositories/requirement.js.map +1 -1
- package/dist/services/approval-service.d.ts +5 -4
- package/dist/services/approval-service.d.ts.map +1 -1
- package/dist/services/approval-service.js +56 -40
- package/dist/services/approval-service.js.map +1 -1
- package/dist/services/approval-service.test.js +127 -10
- package/dist/services/approval-service.test.js.map +1 -1
- package/dist/services/draft-reversion-service.d.ts +2 -1
- package/dist/services/draft-reversion-service.d.ts.map +1 -1
- package/dist/services/draft-reversion-service.js +49 -33
- package/dist/services/draft-reversion-service.js.map +1 -1
- package/dist/services/draft-reversion-service.test.js +172 -17
- package/dist/services/draft-reversion-service.test.js.map +1 -1
- package/dist/services/feedback-validation.d.ts +7 -0
- package/dist/services/feedback-validation.d.ts.map +1 -0
- package/dist/services/feedback-validation.js +16 -0
- package/dist/services/feedback-validation.js.map +1 -0
- package/dist/services/feedback-validation.test.d.ts +2 -0
- package/dist/services/feedback-validation.test.d.ts.map +1 -0
- package/dist/services/feedback-validation.test.js +221 -0
- package/dist/services/feedback-validation.test.js.map +1 -0
- package/dist/services/init-service.d.ts.map +1 -1
- package/dist/services/init-service.js +7 -16
- package/dist/services/init-service.js.map +1 -1
- package/dist/services/init-service.test.js +7 -34
- package/dist/services/init-service.test.js.map +1 -1
- package/dist/services/project-settings-service.d.ts +4 -0
- package/dist/services/project-settings-service.d.ts.map +1 -0
- package/dist/services/project-settings-service.js +22 -0
- package/dist/services/project-settings-service.js.map +1 -0
- package/dist/services/project-settings-service.test.d.ts +2 -0
- package/dist/services/project-settings-service.test.d.ts.map +1 -0
- package/dist/services/project-settings-service.test.js +64 -0
- package/dist/services/project-settings-service.test.js.map +1 -0
- package/dist/services/requirement-service.d.ts +7 -1
- package/dist/services/requirement-service.d.ts.map +1 -1
- package/dist/services/requirement-service.js +30 -1
- package/dist/services/requirement-service.js.map +1 -1
- package/dist/services/requirement-service.test.js +208 -4
- package/dist/services/requirement-service.test.js.map +1 -1
- package/dist/services/specification-service.d.ts +2 -2
- package/dist/services/specification-service.d.ts.map +1 -1
- package/dist/services/specification-service.js +23 -10
- package/dist/services/specification-service.js.map +1 -1
- package/dist/services/specification-service.test.js +117 -10
- package/dist/services/specification-service.test.js.map +1 -1
- package/dist/services/status-transition-service.d.ts +30 -0
- package/dist/services/status-transition-service.d.ts.map +1 -0
- package/dist/services/status-transition-service.js +61 -0
- package/dist/services/status-transition-service.js.map +1 -0
- package/dist/services/status-transition-service.test.d.ts +2 -0
- package/dist/services/status-transition-service.test.d.ts.map +1 -0
- package/dist/services/status-transition-service.test.js +161 -0
- package/dist/services/status-transition-service.test.js.map +1 -0
- package/dist/services/version-service.d.ts +6 -1
- package/dist/services/version-service.d.ts.map +1 -1
- package/dist/services/version-service.js +20 -2
- package/dist/services/version-service.js.map +1 -1
- package/dist/services/version-service.test.js +45 -4
- package/dist/services/version-service.test.js.map +1 -1
- package/dist/utils/templates.d.ts +1 -0
- package/dist/utils/templates.d.ts.map +1 -1
- package/dist/utils/templates.js +41 -0
- package/dist/utils/templates.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approval-service.d.ts","sourceRoot":"","sources":["../../src/services/approval-service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"approval-service.d.ts","sourceRoot":"","sources":["../../src/services/approval-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAItD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,aAAa,GAAG,eAAe,CAAC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,+DAA+D;IAC/D,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,4DAA4D;IAC5D,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACnE,qBAAqB;IACrB,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC;IAC7C,oBAAoB;IACpB,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAAC;CAC7C;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAOD,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,eAAe,EACzB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,cAAc,CAAC,CA4EzB"}
|
|
@@ -1,59 +1,75 @@
|
|
|
1
1
|
import * as gitRepo from "../repositories/git.js";
|
|
2
2
|
import * as githubRepo from "../repositories/github.js";
|
|
3
|
-
function buildBranchName(target) {
|
|
4
|
-
|
|
3
|
+
function buildBranchName(target, settings) {
|
|
4
|
+
const prefix = settings.branchNaming.toApprovedPrefix;
|
|
5
|
+
return `${prefix}/${target.id}-approve-v${target.version}`;
|
|
5
6
|
}
|
|
6
|
-
export async function startApproval(cwd, target, handler, options) {
|
|
7
|
+
export async function startApproval(cwd, target, handler, settings, options) {
|
|
7
8
|
// 1. Precondition check
|
|
8
9
|
if (target.status !== "draft") {
|
|
9
10
|
throw new Error(`Cannot start approval: ${target.id} status is "${target.status}", expected "draft".`);
|
|
10
11
|
}
|
|
11
|
-
const branchName = buildBranchName(target);
|
|
12
|
+
const branchName = buildBranchName(target, settings);
|
|
12
13
|
// 2. Dry-run mode
|
|
13
14
|
if (options?.dryRun) {
|
|
14
15
|
const prTitle = handler.buildPrTitle(target);
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
if (settings.statusTransitionPr.draftToApproved) {
|
|
17
|
+
console.log(`[dry-run] Create branch: ${branchName}`);
|
|
18
|
+
console.log(`[dry-run] Status change: draft → approved`);
|
|
19
|
+
console.log(`[dry-run] Create PR: ${prTitle}`);
|
|
20
|
+
return { branchName, prNumber: 0, prUrl: "" };
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
console.log(`[dry-run] Status change: draft → approved (direct commit)`);
|
|
24
|
+
return {};
|
|
25
|
+
}
|
|
19
26
|
}
|
|
20
27
|
// 3. Re-validate
|
|
21
28
|
await handler.revalidate(cwd, target);
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
// 5. Create and switch to approval branch
|
|
26
|
-
await gitRepo.createBranch(cwd, branchName);
|
|
27
|
-
await gitRepo.checkout(cwd, branchName);
|
|
28
|
-
// 6. Update status via handler
|
|
29
|
-
const newVersion = await handler.updateStatus(cwd, target);
|
|
30
|
-
// 7. Stage and commit
|
|
31
|
-
await gitRepo.add(cwd, target.files);
|
|
32
|
-
await gitRepo.commit(cwd, `chore(reqord): request approval for ${target.id}`);
|
|
33
|
-
await gitRepo.push(cwd, branchName);
|
|
34
|
-
// 8. Build PR title/body AFTER updateStatus to use newVersion
|
|
35
|
-
const updatedTarget = { ...target, version: newVersion };
|
|
36
|
-
const prTitle = handler.buildPrTitle(updatedTarget);
|
|
37
|
-
const prBody = handler.buildPrBody(updatedTarget);
|
|
38
|
-
// 9. Create PR
|
|
39
|
-
const prInfo = await githubRepo.createPullRequest({
|
|
40
|
-
title: prTitle,
|
|
41
|
-
body: prBody,
|
|
42
|
-
head: branchName,
|
|
43
|
-
});
|
|
44
|
-
return {
|
|
45
|
-
branchName,
|
|
46
|
-
prNumber: prInfo.number,
|
|
47
|
-
prUrl: prInfo.url,
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
finally {
|
|
29
|
+
if (settings.statusTransitionPr.draftToApproved) {
|
|
30
|
+
// PR flow: branch → update → commit → push → PR
|
|
31
|
+
const originalBranch = await gitRepo.getCurrentBranch(cwd);
|
|
51
32
|
try {
|
|
52
|
-
|
|
33
|
+
// 4. Create and switch to approval branch
|
|
34
|
+
await gitRepo.createBranch(cwd, branchName);
|
|
35
|
+
await gitRepo.checkout(cwd, branchName);
|
|
36
|
+
// 5. Update status via handler
|
|
37
|
+
const newVersion = await handler.updateStatus(cwd, target);
|
|
38
|
+
// 6. Stage and commit
|
|
39
|
+
await gitRepo.add(cwd, target.files);
|
|
40
|
+
await gitRepo.commit(cwd, `chore(reqord): request approval for ${target.id}`);
|
|
41
|
+
await gitRepo.push(cwd, branchName);
|
|
42
|
+
// 7. Build PR title/body AFTER updateStatus to use newVersion
|
|
43
|
+
const updatedTarget = { ...target, version: newVersion };
|
|
44
|
+
const prTitle = handler.buildPrTitle(updatedTarget);
|
|
45
|
+
const prBody = handler.buildPrBody(updatedTarget);
|
|
46
|
+
// 8. Create PR
|
|
47
|
+
const prInfo = await githubRepo.createPullRequest({
|
|
48
|
+
title: prTitle,
|
|
49
|
+
body: prBody,
|
|
50
|
+
head: branchName,
|
|
51
|
+
});
|
|
52
|
+
return {
|
|
53
|
+
branchName,
|
|
54
|
+
prNumber: prInfo.number,
|
|
55
|
+
prUrl: prInfo.url,
|
|
56
|
+
};
|
|
53
57
|
}
|
|
54
|
-
|
|
55
|
-
|
|
58
|
+
finally {
|
|
59
|
+
try {
|
|
60
|
+
await gitRepo.checkout(cwd, originalBranch);
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
// Best-effort restore
|
|
64
|
+
}
|
|
56
65
|
}
|
|
57
66
|
}
|
|
67
|
+
else {
|
|
68
|
+
// Direct commit flow: update status on current branch
|
|
69
|
+
await handler.updateStatus(cwd, target);
|
|
70
|
+
await gitRepo.add(cwd, target.files);
|
|
71
|
+
await gitRepo.commit(cwd, `chore(reqord): approve ${target.id} (direct commit)`);
|
|
72
|
+
return {};
|
|
73
|
+
}
|
|
58
74
|
}
|
|
59
75
|
//# sourceMappingURL=approval-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approval-service.js","sourceRoot":"","sources":["../../src/services/approval-service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"approval-service.js","sourceRoot":"","sources":["../../src/services/approval-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,42 @@ vi.mock("../repositories/github.js", () => ({
|
|
|
14
14
|
import * as gitRepo from "../repositories/git.js";
|
|
15
15
|
import * as githubRepo from "../repositories/github.js";
|
|
16
16
|
import { startApproval } from "./approval-service.js";
|
|
17
|
+
function makeSettings(overrides = {}) {
|
|
18
|
+
return {
|
|
19
|
+
invariants: {
|
|
20
|
+
versioning: true,
|
|
21
|
+
cyclicDependencyCheck: true,
|
|
22
|
+
statusTransitionRules: true,
|
|
23
|
+
schemaValidation: true,
|
|
24
|
+
},
|
|
25
|
+
approvalPrerequisites: {
|
|
26
|
+
designMdCheck: true,
|
|
27
|
+
descriptionMdCheck: false,
|
|
28
|
+
customFiles: [],
|
|
29
|
+
},
|
|
30
|
+
statusTransitionPr: {
|
|
31
|
+
draftToApproved: true,
|
|
32
|
+
approvedToImplemented: false,
|
|
33
|
+
toDraft: true,
|
|
34
|
+
...overrides,
|
|
35
|
+
},
|
|
36
|
+
branchNaming: {
|
|
37
|
+
toApprovedPrefix: "reqord",
|
|
38
|
+
toImplementedPrefix: "reqord",
|
|
39
|
+
toDraftPrefix: "reqord",
|
|
40
|
+
},
|
|
41
|
+
feedbackValidation: {
|
|
42
|
+
blockOnUnresolved: false,
|
|
43
|
+
severityThreshold: "critical",
|
|
44
|
+
},
|
|
45
|
+
autoRevert: {
|
|
46
|
+
onContentChange: "always",
|
|
47
|
+
},
|
|
48
|
+
consistencyCheck: {
|
|
49
|
+
specNotImplementedLevel: "warning",
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
}
|
|
17
53
|
function makeApprovalTarget(overrides = {}) {
|
|
18
54
|
return {
|
|
19
55
|
type: "requirement",
|
|
@@ -60,7 +96,8 @@ describe("startApproval", () => {
|
|
|
60
96
|
it("正常系: draft状態のRequirementで承認フロー開始", async () => {
|
|
61
97
|
const target = makeApprovalTarget();
|
|
62
98
|
const mockHandler = makeMockHandler();
|
|
63
|
-
const
|
|
99
|
+
const settings = makeSettings();
|
|
100
|
+
const result = await startApproval("/test/cwd", target, mockHandler, settings);
|
|
64
101
|
// Verify revalidate called
|
|
65
102
|
expect(mockHandler.revalidate).toHaveBeenCalledWith("/test/cwd", target);
|
|
66
103
|
// Verify branch created and checked out BEFORE file modifications
|
|
@@ -88,7 +125,8 @@ describe("startApproval", () => {
|
|
|
88
125
|
it("エラー: draft以外のステータスでエラー", async () => {
|
|
89
126
|
const target = makeApprovalTarget({ status: "approved" });
|
|
90
127
|
const mockHandler = makeMockHandler();
|
|
91
|
-
|
|
128
|
+
const settings = makeSettings();
|
|
129
|
+
await expect(startApproval("/test/cwd", target, mockHandler, settings)).rejects.toThrow('Cannot start approval: req-000011 status is "approved", expected "draft".');
|
|
92
130
|
// Verify no side effects
|
|
93
131
|
expect(mockHandler.revalidate).not.toHaveBeenCalled();
|
|
94
132
|
expect(gitRepo.createBranch).not.toHaveBeenCalled();
|
|
@@ -96,26 +134,30 @@ describe("startApproval", () => {
|
|
|
96
134
|
it("エラー: implemented等の非draftステータスでもエラー", async () => {
|
|
97
135
|
const target = makeApprovalTarget({ status: "implemented" });
|
|
98
136
|
const mockHandler = makeMockHandler();
|
|
99
|
-
|
|
137
|
+
const settings = makeSettings();
|
|
138
|
+
await expect(startApproval("/test/cwd", target, mockHandler, settings)).rejects.toThrow('Cannot start approval: req-000011 status is "implemented", expected "draft".');
|
|
100
139
|
});
|
|
101
140
|
it("エラー: handler.revalidateがエラーをthrowした場合", async () => {
|
|
102
141
|
const target = makeApprovalTarget();
|
|
103
142
|
const mockHandler = makeMockHandler();
|
|
143
|
+
const settings = makeSettings();
|
|
104
144
|
vi.mocked(mockHandler.revalidate).mockRejectedValue(new Error('Cannot start approval: req-000011 current status is "approved", expected "draft".'));
|
|
105
|
-
await expect(startApproval("/test/cwd", target, mockHandler)).rejects.toThrow('Cannot start approval: req-000011 current status is "approved", expected "draft".');
|
|
145
|
+
await expect(startApproval("/test/cwd", target, mockHandler, settings)).rejects.toThrow('Cannot start approval: req-000011 current status is "approved", expected "draft".');
|
|
106
146
|
// Git operations should not have been called
|
|
107
147
|
expect(gitRepo.createBranch).not.toHaveBeenCalled();
|
|
108
148
|
});
|
|
109
149
|
it("エラー: handler.revalidateでバージョン不一致", async () => {
|
|
110
150
|
const target = makeApprovalTarget({ version: "1.0.0" });
|
|
111
151
|
const mockHandler = makeMockHandler();
|
|
152
|
+
const settings = makeSettings();
|
|
112
153
|
vi.mocked(mockHandler.revalidate).mockRejectedValue(new Error('Cannot start approval: req-000011 current version is "2.0.0", expected "1.0.0".'));
|
|
113
|
-
await expect(startApproval("/test/cwd", target, mockHandler)).rejects.toThrow('Cannot start approval: req-000011 current version is "2.0.0", expected "1.0.0".');
|
|
154
|
+
await expect(startApproval("/test/cwd", target, mockHandler, settings)).rejects.toThrow('Cannot start approval: req-000011 current version is "2.0.0", expected "1.0.0".');
|
|
114
155
|
});
|
|
115
156
|
it("ブランチ名の命名規則", async () => {
|
|
116
157
|
const target = makeApprovalTarget({ id: "req-000011", version: "1.0.0" });
|
|
117
158
|
const mockHandler = makeMockHandler();
|
|
118
|
-
|
|
159
|
+
const settings = makeSettings();
|
|
160
|
+
await startApproval("/test/cwd", target, mockHandler, settings);
|
|
119
161
|
expect(gitRepo.createBranch).toHaveBeenCalledWith("/test/cwd", "reqord/req-000011-approve-v1.0.0");
|
|
120
162
|
});
|
|
121
163
|
it("PR本文にRequirement情報と手動更新の案内が含まれる", async () => {
|
|
@@ -125,7 +167,8 @@ describe("startApproval", () => {
|
|
|
125
167
|
title: "Feature X",
|
|
126
168
|
});
|
|
127
169
|
const mockHandler = makeMockHandler();
|
|
128
|
-
|
|
170
|
+
const settings = makeSettings();
|
|
171
|
+
await startApproval("/test/cwd", target, mockHandler, settings);
|
|
129
172
|
const prBody = vi.mocked(githubRepo.createPullRequest).mock.calls[0][0].body;
|
|
130
173
|
expect(prBody).toContain("req-000022");
|
|
131
174
|
expect(prBody).toContain("Feature X");
|
|
@@ -134,7 +177,8 @@ describe("startApproval", () => {
|
|
|
134
177
|
it("dry-runモード", async () => {
|
|
135
178
|
const target = makeApprovalTarget();
|
|
136
179
|
const mockHandler = makeMockHandler();
|
|
137
|
-
const
|
|
180
|
+
const settings = makeSettings();
|
|
181
|
+
const result = await startApproval("/test/cwd", target, mockHandler, settings, { dryRun: true });
|
|
138
182
|
// Git/GitHub operations NOT called
|
|
139
183
|
expect(gitRepo.getCurrentBranch).not.toHaveBeenCalled();
|
|
140
184
|
expect(mockHandler.revalidate).not.toHaveBeenCalled();
|
|
@@ -156,7 +200,8 @@ describe("startApproval", () => {
|
|
|
156
200
|
vi.mocked(gitRepo.getCurrentBranch).mockResolvedValue("feature-123");
|
|
157
201
|
const target = makeApprovalTarget();
|
|
158
202
|
const mockHandler = makeMockHandler();
|
|
159
|
-
|
|
203
|
+
const settings = makeSettings();
|
|
204
|
+
await startApproval("/test/cwd", target, mockHandler, settings);
|
|
160
205
|
// Verify getCurrentBranch called before operations
|
|
161
206
|
expect(gitRepo.getCurrentBranch).toHaveBeenCalledWith("/test/cwd");
|
|
162
207
|
// Verify checkout called: approval branch + restore
|
|
@@ -165,9 +210,33 @@ describe("startApproval", () => {
|
|
|
165
210
|
// Last checkout should restore original branch
|
|
166
211
|
expect(checkoutCalls[checkoutCalls.length - 1]).toEqual(["/test/cwd", "feature-123"]);
|
|
167
212
|
});
|
|
213
|
+
describe("ブランチ命名規則カスタマイズ (spec-000038)", () => {
|
|
214
|
+
it("デフォルト設定ではブランチ名が reqord/{id}-approve-v{version} になること", async () => {
|
|
215
|
+
const target = makeApprovalTarget({ id: "req-000011", version: "1.0.0" });
|
|
216
|
+
const mockHandler = makeMockHandler();
|
|
217
|
+
const settings = makeSettings();
|
|
218
|
+
await startApproval("/test/cwd", target, mockHandler, settings);
|
|
219
|
+
expect(gitRepo.createBranch).toHaveBeenCalledWith("/test/cwd", "reqord/req-000011-approve-v1.0.0");
|
|
220
|
+
});
|
|
221
|
+
it("カスタムプレフィックスでブランチ名が {toApprovedPrefix}/{id}-approve-v{version} になること", async () => {
|
|
222
|
+
const target = makeApprovalTarget({ id: "req-000011", version: "1.0.0" });
|
|
223
|
+
const mockHandler = makeMockHandler();
|
|
224
|
+
const settings = { ...makeSettings(), branchNaming: { ...makeSettings().branchNaming, toApprovedPrefix: "approve" } };
|
|
225
|
+
await startApproval("/test/cwd", target, mockHandler, settings);
|
|
226
|
+
expect(gitRepo.createBranch).toHaveBeenCalledWith("/test/cwd", "approve/req-000011-approve-v1.0.0");
|
|
227
|
+
});
|
|
228
|
+
it("カスタムプレフィックスがdryRunのブランチ名にも適用されること", async () => {
|
|
229
|
+
const target = makeApprovalTarget({ id: "req-000022", version: "2.0.0" });
|
|
230
|
+
const mockHandler = makeMockHandler();
|
|
231
|
+
const settings = { ...makeSettings(), branchNaming: { ...makeSettings().branchNaming, toApprovedPrefix: "feature" } };
|
|
232
|
+
const result = await startApproval("/test/cwd", target, mockHandler, settings, { dryRun: true });
|
|
233
|
+
expect(result.branchName).toBe("feature/req-000022-approve-v2.0.0");
|
|
234
|
+
});
|
|
235
|
+
});
|
|
168
236
|
it("ブランチ作成後にJSON更新される(書き込み順序の安全性)", async () => {
|
|
169
237
|
const target = makeApprovalTarget();
|
|
170
238
|
const mockHandler = makeMockHandler();
|
|
239
|
+
const settings = makeSettings();
|
|
171
240
|
const callOrder = [];
|
|
172
241
|
vi.mocked(gitRepo.createBranch).mockImplementation(async () => { callOrder.push("createBranch"); });
|
|
173
242
|
vi.mocked(gitRepo.checkout).mockImplementation(async () => { callOrder.push("checkout"); });
|
|
@@ -175,7 +244,7 @@ describe("startApproval", () => {
|
|
|
175
244
|
callOrder.push("updateStatus");
|
|
176
245
|
return "2.0.0";
|
|
177
246
|
});
|
|
178
|
-
await startApproval("/test/cwd", target, mockHandler);
|
|
247
|
+
await startApproval("/test/cwd", target, mockHandler, settings);
|
|
179
248
|
const createIdx = callOrder.indexOf("createBranch");
|
|
180
249
|
const checkoutIdx = callOrder.indexOf("checkout");
|
|
181
250
|
const updateIdx = callOrder.indexOf("updateStatus");
|
|
@@ -183,5 +252,53 @@ describe("startApproval", () => {
|
|
|
183
252
|
expect(createIdx).toBeLessThan(updateIdx);
|
|
184
253
|
expect(checkoutIdx).toBeLessThan(updateIdx);
|
|
185
254
|
});
|
|
255
|
+
describe("draftToApproved: false(PRスキップ)", () => {
|
|
256
|
+
it("draftToApproved=false の場合、ブランチ作成・プッシュ・PR作成をスキップする", async () => {
|
|
257
|
+
const target = makeApprovalTarget();
|
|
258
|
+
const mockHandler = makeMockHandler();
|
|
259
|
+
const settings = makeSettings({ draftToApproved: false });
|
|
260
|
+
const result = await startApproval("/test/cwd", target, mockHandler, settings);
|
|
261
|
+
// revalidate is called
|
|
262
|
+
expect(mockHandler.revalidate).toHaveBeenCalledWith("/test/cwd", target);
|
|
263
|
+
// Status update is called
|
|
264
|
+
expect(mockHandler.updateStatus).toHaveBeenCalledWith("/test/cwd", target);
|
|
265
|
+
// git add and commit are called on current branch
|
|
266
|
+
expect(gitRepo.add).toHaveBeenCalledWith("/test/cwd", [".reqord/requirements/req-000011.yaml"]);
|
|
267
|
+
expect(gitRepo.commit).toHaveBeenCalledWith("/test/cwd", "chore(reqord): approve req-000011 (direct commit)");
|
|
268
|
+
// branch creation, push, PR creation are skipped
|
|
269
|
+
expect(gitRepo.createBranch).not.toHaveBeenCalled();
|
|
270
|
+
expect(gitRepo.push).not.toHaveBeenCalled();
|
|
271
|
+
expect(githubRepo.createPullRequest).not.toHaveBeenCalled();
|
|
272
|
+
// Result has no PR info
|
|
273
|
+
expect(result.prNumber).toBeUndefined();
|
|
274
|
+
expect(result.prUrl).toBeUndefined();
|
|
275
|
+
});
|
|
276
|
+
it("draftToApproved=false の場合、元のブランチへの復帰もしない", async () => {
|
|
277
|
+
const target = makeApprovalTarget();
|
|
278
|
+
const mockHandler = makeMockHandler();
|
|
279
|
+
const settings = makeSettings({ draftToApproved: false });
|
|
280
|
+
await startApproval("/test/cwd", target, mockHandler, settings);
|
|
281
|
+
// getCurrentBranch is not called (no need to save/restore branch)
|
|
282
|
+
expect(gitRepo.getCurrentBranch).not.toHaveBeenCalled();
|
|
283
|
+
expect(gitRepo.checkout).not.toHaveBeenCalled();
|
|
284
|
+
});
|
|
285
|
+
it("draftToApproved=false の場合、branchNameはundefinedを返す", async () => {
|
|
286
|
+
const target = makeApprovalTarget();
|
|
287
|
+
const mockHandler = makeMockHandler();
|
|
288
|
+
const settings = makeSettings({ draftToApproved: false });
|
|
289
|
+
const result = await startApproval("/test/cwd", target, mockHandler, settings);
|
|
290
|
+
expect(result.branchName).toBeUndefined();
|
|
291
|
+
});
|
|
292
|
+
it("draftToApproved=false かつ dry-run の場合、何もしない", async () => {
|
|
293
|
+
const target = makeApprovalTarget();
|
|
294
|
+
const mockHandler = makeMockHandler();
|
|
295
|
+
const settings = makeSettings({ draftToApproved: false });
|
|
296
|
+
await startApproval("/test/cwd", target, mockHandler, settings, { dryRun: true });
|
|
297
|
+
expect(mockHandler.revalidate).not.toHaveBeenCalled();
|
|
298
|
+
expect(mockHandler.updateStatus).not.toHaveBeenCalled();
|
|
299
|
+
expect(gitRepo.add).not.toHaveBeenCalled();
|
|
300
|
+
expect(gitRepo.commit).not.toHaveBeenCalled();
|
|
301
|
+
});
|
|
302
|
+
});
|
|
186
303
|
});
|
|
187
304
|
//# sourceMappingURL=approval-service.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approval-service.test.js","sourceRoot":"","sources":["../../src/services/approval-service.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"approval-service.test.js","sourceRoot":"","sources":["../../src/services/approval-service.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ProjectSettings } from "@reqord/shared";
|
|
1
2
|
export interface DraftReversionResult {
|
|
2
3
|
previousStatus: string;
|
|
3
4
|
impactedRequirements: string[];
|
|
@@ -7,5 +8,5 @@ export interface DraftReversionResult {
|
|
|
7
8
|
export interface DraftReversionOptions {
|
|
8
9
|
dryRun?: boolean;
|
|
9
10
|
}
|
|
10
|
-
export declare function revertToDraft(cwd: string, id: string, options?: DraftReversionOptions): Promise<DraftReversionResult>;
|
|
11
|
+
export declare function revertToDraft(cwd: string, id: string, settings: ProjectSettings, options?: DraftReversionOptions): Promise<DraftReversionResult>;
|
|
11
12
|
//# sourceMappingURL=draft-reversion-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"draft-reversion-service.d.ts","sourceRoot":"","sources":["../../src/services/draft-reversion-service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"draft-reversion-service.d.ts","sourceRoot":"","sources":["../../src/services/draft-reversion-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AActD,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAyFD,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,eAAe,EACzB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,oBAAoB,CAAC,CA0F/B"}
|
|
@@ -6,8 +6,9 @@ import * as specRepo from "../repositories/specification.js";
|
|
|
6
6
|
import { updateRequirement } from "./requirement-service.js";
|
|
7
7
|
import { updateSpecification } from "./specification-service.js";
|
|
8
8
|
import { analyzeImpact } from "./impact-service.js";
|
|
9
|
-
function buildBranchName(id) {
|
|
10
|
-
|
|
9
|
+
function buildBranchName(id, settings) {
|
|
10
|
+
const prefix = settings.branchNaming.toDraftPrefix;
|
|
11
|
+
return `${prefix}/${id}-revert-to-draft`;
|
|
11
12
|
}
|
|
12
13
|
function buildPrTitle(id, title) {
|
|
13
14
|
return `[Reqord] Revert ${id} to draft: ${title}`;
|
|
@@ -51,7 +52,7 @@ async function loadEntity(cwd, id) {
|
|
|
51
52
|
const { type } = getEntityInfo(id);
|
|
52
53
|
if (type === "specification") {
|
|
53
54
|
const spec = await specRepo.findByIdOrThrow(cwd, id);
|
|
54
|
-
return { status: spec.status, title: id, version: spec.version };
|
|
55
|
+
return { status: spec.status, title: spec.title ?? id, version: spec.version };
|
|
55
56
|
}
|
|
56
57
|
const req = await reqRepo.findByIdOrThrow(cwd, id);
|
|
57
58
|
return { status: req.status, title: req.title, version: req.version };
|
|
@@ -69,7 +70,7 @@ async function analyzeSpecImpact(cwd, impact) {
|
|
|
69
70
|
}
|
|
70
71
|
return [];
|
|
71
72
|
}
|
|
72
|
-
export async function revertToDraft(cwd, id, options) {
|
|
73
|
+
export async function revertToDraft(cwd, id, settings, options) {
|
|
73
74
|
// 1. Load entity and check precondition
|
|
74
75
|
const entity = await loadEntity(cwd, id);
|
|
75
76
|
if (entity.status === "draft") {
|
|
@@ -86,47 +87,62 @@ export async function revertToDraft(cwd, id, options) {
|
|
|
86
87
|
if (options?.dryRun) {
|
|
87
88
|
return { previousStatus, impactedRequirements };
|
|
88
89
|
}
|
|
89
|
-
// 4. Save original branch
|
|
90
|
-
const originalBranch = await gitRepo.getCurrentBranch(cwd);
|
|
91
|
-
const branchName = buildBranchName(id);
|
|
92
90
|
const filePath = `${REQORD_DIR}/${dir}/${id}.yaml`;
|
|
93
|
-
|
|
94
|
-
// 5. Create and switch to reversion branch
|
|
95
|
-
await gitRepo.createBranch(cwd, branchName);
|
|
96
|
-
await gitRepo.checkout(cwd, branchName);
|
|
97
|
-
// 6. Update status to draft (no version bump)
|
|
91
|
+
async function performStatusUpdate() {
|
|
98
92
|
if (id.startsWith("spec-")) {
|
|
99
93
|
await updateSpecification(cwd, id, { status: "draft" });
|
|
100
94
|
}
|
|
101
95
|
else {
|
|
102
96
|
await updateRequirement(cwd, id, { status: "draft" });
|
|
103
97
|
}
|
|
104
|
-
|
|
98
|
+
}
|
|
99
|
+
if (settings.statusTransitionPr.toDraft) {
|
|
100
|
+
// PR flow: save original branch, create reversion branch, update status, commit, push, PR
|
|
101
|
+
const originalBranch = await gitRepo.getCurrentBranch(cwd);
|
|
102
|
+
const branchName = buildBranchName(id, settings);
|
|
103
|
+
try {
|
|
104
|
+
// Create and switch to reversion branch
|
|
105
|
+
await gitRepo.createBranch(cwd, branchName);
|
|
106
|
+
await gitRepo.checkout(cwd, branchName);
|
|
107
|
+
// Update status on the PR branch
|
|
108
|
+
await performStatusUpdate();
|
|
109
|
+
// Stage, commit, push
|
|
110
|
+
await gitRepo.add(cwd, [filePath]);
|
|
111
|
+
await gitRepo.commit(cwd, `chore(reqord): revert ${id} to draft`);
|
|
112
|
+
await gitRepo.push(cwd, branchName);
|
|
113
|
+
// Create PR
|
|
114
|
+
const prTitle = buildPrTitle(id, entity.title);
|
|
115
|
+
const prBody = buildPrBody(id, entity.title, entity.version, previousStatus, impactedRequirements, entityType);
|
|
116
|
+
const prInfo = await githubRepo.createPullRequest({
|
|
117
|
+
title: prTitle,
|
|
118
|
+
body: prBody,
|
|
119
|
+
head: branchName,
|
|
120
|
+
});
|
|
121
|
+
return {
|
|
122
|
+
previousStatus,
|
|
123
|
+
impactedRequirements,
|
|
124
|
+
prNumber: prInfo.number,
|
|
125
|
+
prUrl: prInfo.url,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
finally {
|
|
129
|
+
try {
|
|
130
|
+
await gitRepo.checkout(cwd, originalBranch);
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
console.warn(`Warning: Failed to restore original branch "${originalBranch}".`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
// Direct commit flow: update status and commit on current branch, no PR
|
|
139
|
+
await performStatusUpdate();
|
|
105
140
|
await gitRepo.add(cwd, [filePath]);
|
|
106
|
-
await gitRepo.commit(cwd, `chore(reqord): revert ${id} to draft`);
|
|
107
|
-
await gitRepo.push(cwd, branchName);
|
|
108
|
-
// 8. Create PR
|
|
109
|
-
const prTitle = buildPrTitle(id, entity.title);
|
|
110
|
-
const prBody = buildPrBody(id, entity.title, entity.version, previousStatus, impactedRequirements, entityType);
|
|
111
|
-
const prInfo = await githubRepo.createPullRequest({
|
|
112
|
-
title: prTitle,
|
|
113
|
-
body: prBody,
|
|
114
|
-
head: branchName,
|
|
115
|
-
});
|
|
141
|
+
await gitRepo.commit(cwd, `chore(reqord): revert ${id} to draft (direct commit)`);
|
|
116
142
|
return {
|
|
117
143
|
previousStatus,
|
|
118
144
|
impactedRequirements,
|
|
119
|
-
prNumber: prInfo.number,
|
|
120
|
-
prUrl: prInfo.url,
|
|
121
145
|
};
|
|
122
146
|
}
|
|
123
|
-
finally {
|
|
124
|
-
try {
|
|
125
|
-
await gitRepo.checkout(cwd, originalBranch);
|
|
126
|
-
}
|
|
127
|
-
catch {
|
|
128
|
-
console.warn(`Warning: Failed to restore original branch "${originalBranch}".`);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
147
|
}
|
|
132
148
|
//# sourceMappingURL=draft-reversion-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"draft-reversion-service.js","sourceRoot":"","sources":["../../src/services/draft-reversion-service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"draft-reversion-service.js","sourceRoot":"","sources":["../../src/services/draft-reversion-service.ts"],"names":[],"mappings":"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"}
|