@humanbased/crosscheck 1.3.0-beta.93 → 1.3.0-beta.94
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/__tests__/superseded-fix-pr.test.d.ts +2 -0
- package/dist/__tests__/superseded-fix-pr.test.d.ts.map +1 -0
- package/dist/__tests__/superseded-fix-pr.test.js +225 -0
- package/dist/__tests__/superseded-fix-pr.test.js.map +1 -0
- package/dist/__tests__/webhook.test.js +60 -0
- package/dist/__tests__/webhook.test.js.map +1 -1
- package/dist/commands/watch.d.ts.map +1 -1
- package/dist/commands/watch.js +24 -0
- package/dist/commands/watch.js.map +1 -1
- package/dist/github/superseded-fix-pr.d.ts +19 -0
- package/dist/github/superseded-fix-pr.d.ts.map +1 -0
- package/dist/github/superseded-fix-pr.js +97 -0
- package/dist/github/superseded-fix-pr.js.map +1 -0
- package/dist/github/webhook.d.ts +3 -1
- package/dist/github/webhook.d.ts.map +1 -1
- package/dist/github/webhook.js +8 -1
- package/dist/github/webhook.js.map +1 -1
- package/dist/lib/runner.d.ts.map +1 -1
- package/dist/lib/runner.js +13 -3
- package/dist/lib/runner.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"superseded-fix-pr.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/superseded-fix-pr.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import { describe, it, expect, vi } from 'vitest';
|
|
2
|
+
import { autoFixBranchName, autoFixPRIntro, isCrosscheckAutoFixPR, buildSupersededComment, closeSupersededAutoFixPRs, sourcePRHasMerged, } from '../github/superseded-fix-pr.js';
|
|
3
|
+
const OWNER = 'humanbased-ai';
|
|
4
|
+
const REPO = 'monorepo';
|
|
5
|
+
// The pair from the reported regression: #2527 merged as 8ae3dc694, and the auto-fix
|
|
6
|
+
// PR #2532 cut from its pre-fix state stayed open and mergeable.
|
|
7
|
+
const SOURCE_PR = 2527;
|
|
8
|
+
const FIX_PR = 2532;
|
|
9
|
+
const MERGE_SHA = '8ae3dc694b1f2a3c5d7e9f0a1b2c3d4e5f60718a';
|
|
10
|
+
function makeOctokit(options = {}) {
|
|
11
|
+
const list = vi.fn(async () => {
|
|
12
|
+
if (options.listError)
|
|
13
|
+
throw options.listError;
|
|
14
|
+
return { data: options.open ?? [] };
|
|
15
|
+
});
|
|
16
|
+
const createComment = vi.fn(async () => {
|
|
17
|
+
if (options.commentError)
|
|
18
|
+
throw options.commentError;
|
|
19
|
+
return { data: { id: 1 } };
|
|
20
|
+
});
|
|
21
|
+
const update = vi.fn(async () => {
|
|
22
|
+
if (options.updateError)
|
|
23
|
+
throw options.updateError;
|
|
24
|
+
return { data: {} };
|
|
25
|
+
});
|
|
26
|
+
return {
|
|
27
|
+
octokit: {
|
|
28
|
+
rest: { pulls: { list, update }, issues: { createComment } },
|
|
29
|
+
},
|
|
30
|
+
list,
|
|
31
|
+
createComment,
|
|
32
|
+
update,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
function autoFixPR(number = FIX_PR, sourcePrNumber = SOURCE_PR) {
|
|
36
|
+
return {
|
|
37
|
+
number,
|
|
38
|
+
body: [
|
|
39
|
+
autoFixPRIntro(sourcePrNumber),
|
|
40
|
+
'',
|
|
41
|
+
`Review: https://github.com/${OWNER}/${REPO}/pull/${sourcePrNumber}`,
|
|
42
|
+
].join('\n'),
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
describe('autoFixBranchName', () => {
|
|
46
|
+
it('matches the branch the fix step pushes', () => {
|
|
47
|
+
expect(autoFixBranchName(SOURCE_PR)).toBe('fix/cr-2527-review-issues');
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
describe('isCrosscheckAutoFixPR', () => {
|
|
51
|
+
it('recognises the body the fix step writes', () => {
|
|
52
|
+
expect(isCrosscheckAutoFixPR(autoFixPR().body, SOURCE_PR)).toBe(true);
|
|
53
|
+
});
|
|
54
|
+
it('rejects a body naming a different source PR', () => {
|
|
55
|
+
expect(isCrosscheckAutoFixPR(autoFixPR(FIX_PR, 2444).body, SOURCE_PR)).toBe(false);
|
|
56
|
+
});
|
|
57
|
+
it('rejects a hand-written PR that only shares the branch name', () => {
|
|
58
|
+
expect(isCrosscheckAutoFixPR('Picking up the review findings from #2527 by hand.', SOURCE_PR)).toBe(false);
|
|
59
|
+
});
|
|
60
|
+
it('rejects an empty body', () => {
|
|
61
|
+
expect(isCrosscheckAutoFixPR(null, SOURCE_PR)).toBe(false);
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
describe('buildSupersededComment', () => {
|
|
65
|
+
it('names the merged source PR and links the merge commit', () => {
|
|
66
|
+
const body = buildSupersededComment({ owner: OWNER, repo: REPO, sourcePrNumber: SOURCE_PR, mergeCommitSha: MERGE_SHA });
|
|
67
|
+
expect(body).toContain('Superseded');
|
|
68
|
+
expect(body).toContain(`#${SOURCE_PR} merged`);
|
|
69
|
+
expect(body).toContain(`https://github.com/${OWNER}/${REPO}/commit/${MERGE_SHA}`);
|
|
70
|
+
});
|
|
71
|
+
it('omits the merge link when the merge commit is unknown', () => {
|
|
72
|
+
const body = buildSupersededComment({ owner: OWNER, repo: REPO, sourcePrNumber: SOURCE_PR, mergeCommitSha: null });
|
|
73
|
+
expect(body).toContain(`#${SOURCE_PR} merged,`);
|
|
74
|
+
expect(body).not.toContain('/commit/');
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
describe('closeSupersededAutoFixPRs', () => {
|
|
78
|
+
it('comments then closes the auto-fix PR cut from the merged PR', async () => {
|
|
79
|
+
const { octokit, list, createComment, update } = makeOctokit({ open: [autoFixPR()] });
|
|
80
|
+
const outcomes = await closeSupersededAutoFixPRs(octokit, OWNER, REPO, SOURCE_PR, MERGE_SHA);
|
|
81
|
+
expect(outcomes).toEqual([{ prNumber: FIX_PR, status: 'closed' }]);
|
|
82
|
+
expect(list).toHaveBeenCalledWith({
|
|
83
|
+
owner: OWNER, repo: REPO, state: 'open', head: `${OWNER}:fix/cr-2527-review-issues`,
|
|
84
|
+
});
|
|
85
|
+
expect(createComment).toHaveBeenCalledWith(expect.objectContaining({
|
|
86
|
+
issue_number: FIX_PR,
|
|
87
|
+
body: expect.stringContaining('Superseded'),
|
|
88
|
+
}));
|
|
89
|
+
expect(update).toHaveBeenCalledWith({ owner: OWNER, repo: REPO, pull_number: FIX_PR, state: 'closed' });
|
|
90
|
+
// The reason must land before the PR closes, or a reader sees a bare closed PR.
|
|
91
|
+
expect(createComment.mock.invocationCallOrder[0]).toBeLessThan(update.mock.invocationCallOrder[0]);
|
|
92
|
+
});
|
|
93
|
+
it('returns no outcomes when the merged PR had no auto-fix PR', async () => {
|
|
94
|
+
const { octokit, update } = makeOctokit({ open: [] });
|
|
95
|
+
const outcomes = await closeSupersededAutoFixPRs(octokit, OWNER, REPO, SOURCE_PR, MERGE_SHA);
|
|
96
|
+
expect(outcomes).toEqual([]);
|
|
97
|
+
expect(update).not.toHaveBeenCalled();
|
|
98
|
+
});
|
|
99
|
+
it('leaves a PR crosscheck did not author open', async () => {
|
|
100
|
+
const { octokit, createComment, update } = makeOctokit({
|
|
101
|
+
open: [{ number: 2540, body: 'Manual follow-up on the same branch name.' }],
|
|
102
|
+
});
|
|
103
|
+
const outcomes = await closeSupersededAutoFixPRs(octokit, OWNER, REPO, SOURCE_PR, MERGE_SHA);
|
|
104
|
+
expect(outcomes).toEqual([{ prNumber: 2540, status: 'not_crosscheck' }]);
|
|
105
|
+
expect(createComment).not.toHaveBeenCalled();
|
|
106
|
+
expect(update).not.toHaveBeenCalled();
|
|
107
|
+
});
|
|
108
|
+
it('reports a close failure instead of throwing', async () => {
|
|
109
|
+
const { octokit } = makeOctokit({ open: [autoFixPR()], updateError: new Error('Resource not accessible by integration') });
|
|
110
|
+
const outcomes = await closeSupersededAutoFixPRs(octokit, OWNER, REPO, SOURCE_PR, MERGE_SHA);
|
|
111
|
+
expect(outcomes).toEqual([
|
|
112
|
+
{ prNumber: FIX_PR, status: 'failed', reason: 'Resource not accessible by integration' },
|
|
113
|
+
]);
|
|
114
|
+
});
|
|
115
|
+
it('does not close the PR when the superseded comment could not be posted', async () => {
|
|
116
|
+
const { octokit, update } = makeOctokit({ open: [autoFixPR()], commentError: new Error('403 Forbidden') });
|
|
117
|
+
const outcomes = await closeSupersededAutoFixPRs(octokit, OWNER, REPO, SOURCE_PR, MERGE_SHA);
|
|
118
|
+
expect(outcomes[0].status).toBe('failed');
|
|
119
|
+
expect(update).not.toHaveBeenCalled();
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
describe('closeSupersededAutoFixPRs — concurrency', () => {
|
|
123
|
+
// AGENTS.md: never await inside a loop. Serialising the candidates makes every
|
|
124
|
+
// later one wait on the comment+close round-trips of the earlier ones.
|
|
125
|
+
it('processes candidates concurrently', async () => {
|
|
126
|
+
const started = [];
|
|
127
|
+
let releaseAll = () => { };
|
|
128
|
+
const gate = new Promise(resolve => { releaseAll = resolve; });
|
|
129
|
+
const createComment = vi.fn(async ({ issue_number }) => {
|
|
130
|
+
started.push(issue_number);
|
|
131
|
+
await gate;
|
|
132
|
+
return { data: { id: 1 } };
|
|
133
|
+
});
|
|
134
|
+
const octokit = {
|
|
135
|
+
rest: {
|
|
136
|
+
pulls: {
|
|
137
|
+
list: vi.fn(async () => ({ data: [autoFixPR(2532), autoFixPR(2533), autoFixPR(2534)] })),
|
|
138
|
+
update: vi.fn(async () => ({ data: {} })),
|
|
139
|
+
},
|
|
140
|
+
issues: { createComment },
|
|
141
|
+
},
|
|
142
|
+
};
|
|
143
|
+
const pending = closeSupersededAutoFixPRs(octokit, OWNER, REPO, SOURCE_PR, MERGE_SHA);
|
|
144
|
+
// Every candidate must be in flight before any of them is allowed to finish.
|
|
145
|
+
await Promise.resolve();
|
|
146
|
+
expect(started).toEqual([2532, 2533, 2534]);
|
|
147
|
+
releaseAll();
|
|
148
|
+
const outcomes = await pending;
|
|
149
|
+
expect(outcomes.map(o => o.prNumber)).toEqual([2532, 2533, 2534]);
|
|
150
|
+
expect(outcomes.every(o => o.status === 'closed')).toBe(true);
|
|
151
|
+
});
|
|
152
|
+
it('still comments before closing within each candidate', async () => {
|
|
153
|
+
const order = [];
|
|
154
|
+
const octokit = {
|
|
155
|
+
rest: {
|
|
156
|
+
pulls: {
|
|
157
|
+
list: vi.fn(async () => ({ data: [autoFixPR(2532), autoFixPR(2533)] })),
|
|
158
|
+
update: vi.fn(async ({ pull_number }) => {
|
|
159
|
+
order.push(`close:${pull_number}`);
|
|
160
|
+
return { data: {} };
|
|
161
|
+
}),
|
|
162
|
+
},
|
|
163
|
+
issues: {
|
|
164
|
+
createComment: vi.fn(async ({ issue_number }) => {
|
|
165
|
+
order.push(`comment:${issue_number}`);
|
|
166
|
+
return { data: { id: 1 } };
|
|
167
|
+
}),
|
|
168
|
+
},
|
|
169
|
+
},
|
|
170
|
+
};
|
|
171
|
+
await closeSupersededAutoFixPRs(octokit, OWNER, REPO, SOURCE_PR, MERGE_SHA);
|
|
172
|
+
expect(order.indexOf('comment:2532')).toBeLessThan(order.indexOf('close:2532'));
|
|
173
|
+
expect(order.indexOf('comment:2533')).toBeLessThan(order.indexOf('close:2533'));
|
|
174
|
+
});
|
|
175
|
+
it('keeps one candidate failing from taking down the others', async () => {
|
|
176
|
+
const octokit = {
|
|
177
|
+
rest: {
|
|
178
|
+
pulls: {
|
|
179
|
+
list: vi.fn(async () => ({ data: [autoFixPR(2532), autoFixPR(2533)] })),
|
|
180
|
+
update: vi.fn(async ({ pull_number }) => {
|
|
181
|
+
if (pull_number === 2532)
|
|
182
|
+
throw new Error('403 Forbidden');
|
|
183
|
+
return { data: {} };
|
|
184
|
+
}),
|
|
185
|
+
},
|
|
186
|
+
issues: { createComment: vi.fn(async () => ({ data: { id: 1 } })) },
|
|
187
|
+
},
|
|
188
|
+
};
|
|
189
|
+
const outcomes = await closeSupersededAutoFixPRs(octokit, OWNER, REPO, SOURCE_PR, MERGE_SHA);
|
|
190
|
+
expect(outcomes).toEqual([
|
|
191
|
+
{ prNumber: 2532, status: 'failed', reason: '403 Forbidden' },
|
|
192
|
+
{ prNumber: 2533, status: 'closed' },
|
|
193
|
+
]);
|
|
194
|
+
});
|
|
195
|
+
});
|
|
196
|
+
describe('sourcePRHasMerged', () => {
|
|
197
|
+
// The merge handler sweeps once. A fallback auto-fix PR created after that
|
|
198
|
+
// sweep is never seen by it, so it stays open and mergeable — the exact
|
|
199
|
+
// stale-snapshot regression this feature exists to prevent. The fix step
|
|
200
|
+
// asks this immediately before it pushes and opens the PR.
|
|
201
|
+
const octokitWith = (result) => ({
|
|
202
|
+
rest: { pulls: { get: vi.fn(async () => {
|
|
203
|
+
if (result instanceof Error)
|
|
204
|
+
throw result;
|
|
205
|
+
return { data: result };
|
|
206
|
+
}) } },
|
|
207
|
+
});
|
|
208
|
+
it('is true once the source PR has merged', async () => {
|
|
209
|
+
expect(await sourcePRHasMerged(octokitWith({ merged: true, state: 'closed' }), OWNER, REPO, SOURCE_PR)).toBe(true);
|
|
210
|
+
});
|
|
211
|
+
it('is false while the source PR is still open', async () => {
|
|
212
|
+
expect(await sourcePRHasMerged(octokitWith({ merged: false, state: 'open' }), OWNER, REPO, SOURCE_PR)).toBe(false);
|
|
213
|
+
});
|
|
214
|
+
it('is false for a PR closed without merging', async () => {
|
|
215
|
+
// The source branch is still where that finding gets addressed.
|
|
216
|
+
expect(await sourcePRHasMerged(octokitWith({ merged: false, state: 'closed' }), OWNER, REPO, SOURCE_PR)).toBe(false);
|
|
217
|
+
});
|
|
218
|
+
it('fails open when the state cannot be read', async () => {
|
|
219
|
+
// A dropped fix is invisible; an unreadable lookup must not silently discard
|
|
220
|
+
// work. Today's behaviour is to always create, so failing open is no
|
|
221
|
+
// regression — the merge webhook remains the primary mechanism.
|
|
222
|
+
expect(await sourcePRHasMerged(octokitWith(new Error('502 Bad Gateway')), OWNER, REPO, SOURCE_PR)).toBe(false);
|
|
223
|
+
});
|
|
224
|
+
});
|
|
225
|
+
//# sourceMappingURL=superseded-fix-pr.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"superseded-fix-pr.test.js","sourceRoot":"","sources":["../../src/__tests__/superseded-fix-pr.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -194,4 +194,64 @@ describe('createWebhookServer — issue_comment handling', () => {
|
|
|
194
194
|
}
|
|
195
195
|
});
|
|
196
196
|
});
|
|
197
|
+
const closedPREvent = (merged) => ({
|
|
198
|
+
action: 'closed', number: 2527,
|
|
199
|
+
pull_request: {
|
|
200
|
+
title: 'feat: campaign chip', body: '', html_url: 'https://github.com/acme/repo/pull/2527',
|
|
201
|
+
head: { ref: 'feat/chip', sha: 'e358bdba7', repo: { full_name: 'acme/repo' } },
|
|
202
|
+
base: { ref: 'staging', repo: { full_name: 'acme/repo' } },
|
|
203
|
+
user: { login: 'bob' },
|
|
204
|
+
merged,
|
|
205
|
+
merge_commit_sha: merged ? '8ae3dc694' : null,
|
|
206
|
+
},
|
|
207
|
+
repository: { name: 'repo', owner: { login: 'acme' }, clone_url: '' },
|
|
208
|
+
});
|
|
209
|
+
describe('createWebhookServer — merged pull_request handling', () => {
|
|
210
|
+
it('calls onMerged for a PR closed as merged', async () => {
|
|
211
|
+
const merged = [];
|
|
212
|
+
const prReceived = [];
|
|
213
|
+
const server = createWebhookServer(config, secret, e => prReceived.push(e), () => { }, undefined, undefined, e => merged.push(e));
|
|
214
|
+
await startServer(server);
|
|
215
|
+
try {
|
|
216
|
+
const status = await postWebhook(server, 'pull_request', closedPREvent(true));
|
|
217
|
+
await new Promise(r => setImmediate(r));
|
|
218
|
+
expect(status).toBe(200);
|
|
219
|
+
expect(merged).toHaveLength(1);
|
|
220
|
+
expect(merged[0].pull_request.merge_commit_sha).toBe('8ae3dc694');
|
|
221
|
+
// A merge is not a review trigger.
|
|
222
|
+
expect(prReceived).toHaveLength(0);
|
|
223
|
+
}
|
|
224
|
+
finally {
|
|
225
|
+
await stopServer(server);
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
it('does not call onMerged for a PR closed unmerged', async () => {
|
|
229
|
+
const merged = [];
|
|
230
|
+
const server = createWebhookServer(config, secret, () => { }, () => { }, undefined, undefined, e => merged.push(e));
|
|
231
|
+
await startServer(server);
|
|
232
|
+
try {
|
|
233
|
+
const status = await postWebhook(server, 'pull_request', closedPREvent(false));
|
|
234
|
+
await new Promise(r => setImmediate(r));
|
|
235
|
+
expect(status).toBe(200);
|
|
236
|
+
expect(merged).toHaveLength(0);
|
|
237
|
+
}
|
|
238
|
+
finally {
|
|
239
|
+
await stopServer(server);
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
it('acknowledges a merged PR when no onMerged handler is provided', async () => {
|
|
243
|
+
const prReceived = [];
|
|
244
|
+
const server = createWebhookServer(config, secret, e => prReceived.push(e), () => { });
|
|
245
|
+
await startServer(server);
|
|
246
|
+
try {
|
|
247
|
+
const status = await postWebhook(server, 'pull_request', closedPREvent(true));
|
|
248
|
+
await new Promise(r => setImmediate(r));
|
|
249
|
+
expect(status).toBe(200);
|
|
250
|
+
expect(prReceived).toHaveLength(0);
|
|
251
|
+
}
|
|
252
|
+
finally {
|
|
253
|
+
await stopServer(server);
|
|
254
|
+
}
|
|
255
|
+
});
|
|
256
|
+
});
|
|
197
257
|
//# sourceMappingURL=webhook.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook.test.js","sourceRoot":"","sources":["../../src/__tests__/webhook.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"webhook.test.js","sourceRoot":"","sources":["../../src/__tests__/webhook.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAEjD,OAAO,EAAE,mBAAmB,EAAwC,MAAM,sBAAsB,CAAA;AAEhG,sBAAsB;AACtB,MAAM,MAAM,GAAG,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,EAA+C,CAAA;AAC7G,MAAM,MAAM,GAAG,aAAa,CAAA;AAE5B,KAAK,UAAU,WAAW,CACxB,MAAuC,EACvC,WAAmB,EACnB,IAAa,EACb,SAAS,GAAG,gBAAgB;IAE5B,MAAM,IAAI,GAAI,MAAM,CAAC,OAAO,EAAuB,CAAC,IAAI,CAAA;IACxD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAChC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,oBAAoB,IAAI,UAAU,EAAE;QAC1D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,gBAAgB,EAAE,WAAW;YAC7B,qBAAqB,EAAE,SAAS;SACjC;QACD,IAAI,EAAE,GAAG;KACV,CAAC,CAAA;IACF,OAAO,GAAG,CAAC,MAAM,CAAA;AACnB,CAAC;AAED,SAAS,WAAW,CAAC,MAAuC;IAC1D,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;AAC1D,CAAC;AAED,SAAS,UAAU,CAAC,MAAuC;IACzD,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;AAC9D,CAAC;AAED,+CAA+C;AAC/C,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC;IACpC,sBAAsB,EAAE,GAAG,EAAE,CAAC,IAAI;CACnC,CAAC,CAAC,CAAA;AAEH,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAE,GAAW,EAAqB,EAAE,CAAC,CAAC;IAC3E,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE;QACL,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;QACxB,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;KAClC;IACD,OAAO,EAAE;QACP,EAAE,EAAE,CAAC;QACL,IAAI,EAAE,6HAA6H,GAAG,sBAAsB;QAC5J,IAAI,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE;KACnC;IACD,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;CACvD,CAAC,CAAA;AAEF,QAAQ,CAAC,8CAA8C,EAAE,GAAG,EAAE;IAC5D,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,QAAQ,GAAwB,EAAE,CAAA;QACxC,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACxG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAA;QACzB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAA;YACtF,mCAAmC;YACnC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACxB,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;YAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC1C,CAAC;gBAAS,CAAC;YACT,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,sFAAsF;QACtF,MAAM,QAAQ,GAAwB,EAAE,CAAA;QACxC,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACxG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAA;QACzB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,EAAE,GAAG,aAAa,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAA;YACjD,MAAM,CAAC,OAAO,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,CAAA,CAAE,kBAAkB;YAC7F,MAAM,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,CAAA;YAClD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;YACvC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAClC,CAAC;gBAAS,CAAC;YACT,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,QAAQ,GAAwB,EAAE,CAAA;QACxC,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACxG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAA;QACzB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,EAAE,GAAG,aAAa,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;YACnE,MAAM,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,CAAC,CAAA;YAClD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;YACvC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAClC,CAAC;gBAAS,CAAC;YACT,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,QAAQ,GAAwB,EAAE,CAAA;QACxC,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACxG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAA;QACzB,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,EAAE,GAAG,aAAa,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAEtD;YAAC,YAAY,CAAC,KAAa,CAAC,YAAY,GAAG,SAAS,CAAA;YACrD,MAAM,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,YAAY,CAAC,CAAA;YACxD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;YACvC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAClC,CAAC;gBAAS,CAAC;YACT,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2FAA2F,EAAE,KAAK,IAAI,EAAE;QACzG,6EAA6E;QAC7E,8EAA8E;QAC9E,MAAM,QAAQ,GAAwB,EAAE,CAAA;QACxC,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACxG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAA;QACzB,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAA;YACvE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;YACvC,uEAAuE;YACvE,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAClC,CAAC;gBAAS,CAAC;YACT,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,MAAM,QAAQ,GAAwB,EAAE,CAAA;QACxC,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACxG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAA;QACzB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,EAAE,GAAG,aAAa,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAA;YAChD,KAAK,CAAC,OAAO,GAAG,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;YACnD,MAAM,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,CAAA;YACjD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;YACvC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAClC,CAAC;gBAAS,CAAC;YACT,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,QAAQ,GAAwB,EAAE,CAAA;QACxC,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACxG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAA;QACzB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,GAAG,aAAa,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAA;YAClD,OAAO,CAAC,OAAO,GAAG;gBAChB,GAAG,OAAO,CAAC,OAAO;gBAClB,IAAI,EAAE,qIAAqI;aAC5I,CAAA;YACD,MAAM,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,CAAA;YACnD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;YACvC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAClC,CAAC;gBAAS,CAAC;YACT,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,UAAU,GAAc,EAAE,CAAA;QAChC,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QACrF,MAAM,WAAW,CAAC,MAAM,CAAC,CAAA;QACzB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAA;YACtF,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACxB,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QACpC,CAAC;gBAAS,CAAC;YACT,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;QAC1F,MAAM,UAAU,GAAc,EAAE,CAAA;QAChC,MAAM,eAAe,GAAwB,EAAE,CAAA;QAC/C,MAAM,MAAM,GAAG,mBAAmB,CAChC,MAAM,EAAE,MAAM,EACd,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,SAAS,EAC5C,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAC7B,CAAA;QACD,MAAM,WAAW,CAAC,MAAM,CAAC,CAAA;QACzB,IAAI,CAAC;YACH,MAAM,OAAO,GAAY;gBACvB,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC;gBAChC,YAAY,EAAE;oBACZ,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,qCAAqC;oBACvE,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE;oBACrE,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE;oBACvD,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;iBACvB;gBACD,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;aACtE,CAAA;YACD,MAAM,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,CAAA;YAClD,MAAM,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAA;YACvE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;YACvC,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;YAClC,MAAM,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QACzC,CAAC;gBAAS,CAAC;YACT,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEF,MAAM,aAAa,GAAG,CAAC,MAAe,EAAW,EAAE,CAAC,CAAC;IACnD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI;IAC9B,YAAY,EAAE;QACZ,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,wCAAwC;QAC1F,IAAI,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE;QAC9E,IAAI,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE;QAC1D,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QACtB,MAAM;QACN,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;KAC9C;IACD,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;CACtE,CAAC,CAAA;AAEF,QAAQ,CAAC,oDAAoD,EAAE,GAAG,EAAE;IAClE,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,MAAM,GAAc,EAAE,CAAA;QAC5B,MAAM,UAAU,GAAc,EAAE,CAAA;QAChC,MAAM,MAAM,GAAG,mBAAmB,CAChC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,SAAS,EAAE,SAAS,EACvE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CACpB,CAAA;QACD,MAAM,WAAW,CAAC,MAAM,CAAC,CAAA;QACzB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAA;YAC7E,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACxB,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;YAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACjE,mCAAmC;YACnC,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QACpC,CAAC;gBAAS,CAAC;YACT,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,MAAM,GAAc,EAAE,CAAA;QAC5B,MAAM,MAAM,GAAG,mBAAmB,CAChC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,SAAS,EAAE,SAAS,EACxD,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CACpB,CAAA;QACD,MAAM,WAAW,CAAC,MAAM,CAAC,CAAA;QACzB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAA;YAC9E,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACxB,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAChC,CAAC;gBAAS,CAAC;YACT,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,UAAU,GAAc,EAAE,CAAA;QAChC,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QACrF,MAAM,WAAW,CAAC,MAAM,CAAC,CAAA;QACzB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAA;YAC7E,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACxB,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QACpC,CAAC;gBAAS,CAAC;YACT,MAAM,UAAU,CAAC,MAAM,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/commands/watch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../src/commands/watch.ts"],"names":[],"mappings":"AA4KA,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAuBD,wBAAsB,QAAQ,CAAC,IAAI,GAAE,SAAc,iBAo4ClD"}
|
package/dist/commands/watch.js
CHANGED
|
@@ -2,6 +2,7 @@ import { execSync, spawn } from 'child_process';
|
|
|
2
2
|
import chalk from 'chalk';
|
|
3
3
|
import { createWebhookServer } from '../github/webhook.js';
|
|
4
4
|
import { createGithubClient, getCommitMessage, registerOrgWebhook, deleteOrgWebhook, registerRepoWebhook, deleteRepoWebhook, patchOrgWebhookEvents, patchRepoWebhookEvents, findOrgWebhook, findRepoWebhook, listUserRepos, checkRepoAccessible, } from '../github/client.js';
|
|
5
|
+
import { closeSupersededAutoFixPRs } from '../github/superseded-fix-pr.js';
|
|
5
6
|
import { detectOriginFull, assignReviewer } from '../github/detector.js';
|
|
6
7
|
import { loadConfig, getGithubToken, getWebhookSecret, resolveConfigPath, promptDeploymentMode, detectScopesForDeployment, patchDeploymentConfig, detectGitHubLogin, getLinearCredentials, } from '../config/loader.js';
|
|
7
8
|
import { randomFortune } from '../lib/fortune.js';
|
|
@@ -872,6 +873,29 @@ export async function runWatch(opts = {}) {
|
|
|
872
873
|
catch (err) {
|
|
873
874
|
logError({ repo: `${owner}/${repoName}`, pr: prNumber, phase: 'comment_trigger' }, err);
|
|
874
875
|
}
|
|
876
|
+
}, async (event) => {
|
|
877
|
+
const owner = event.repository.owner.login;
|
|
878
|
+
const repoName = event.repository.name;
|
|
879
|
+
const prNumber = event.number;
|
|
880
|
+
try {
|
|
881
|
+
const octokit = createGithubClient(token);
|
|
882
|
+
const outcomes = await closeSupersededAutoFixPRs(octokit, owner, repoName, prNumber, event.pull_request.merge_commit_sha ?? null);
|
|
883
|
+
for (const outcome of outcomes) {
|
|
884
|
+
fileLog({
|
|
885
|
+
level: outcome.status === 'failed' ? 'warn' : 'info',
|
|
886
|
+
event: 'auto_fix_pr_superseded',
|
|
887
|
+
repo: `${owner}/${repoName}`, pr: prNumber,
|
|
888
|
+
fix_pr: outcome.prNumber, status: outcome.status,
|
|
889
|
+
...(outcome.reason && { reason: outcome.reason }),
|
|
890
|
+
});
|
|
891
|
+
if (outcome.status === 'closed') {
|
|
892
|
+
bLog(chalk.dim(fmtTime()) + ` closed superseded auto-fix PR ${owner}/${repoName}#${outcome.prNumber} (${prNumber} merged)`);
|
|
893
|
+
}
|
|
894
|
+
}
|
|
895
|
+
}
|
|
896
|
+
catch (err) {
|
|
897
|
+
logError({ repo: `${owner}/${repoName}`, pr: prNumber, phase: 'auto_fix_supersede' }, err);
|
|
898
|
+
}
|
|
875
899
|
});
|
|
876
900
|
await new Promise((resolve, reject) => {
|
|
877
901
|
server.on('error', (err) => {
|