patchdrill 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/README.ja.md +597 -0
- package/README.ko.md +597 -0
- package/README.md +29 -33
- package/README.zh.md +597 -0
- package/dist/cli.js +0 -0
- package/dist/release-readiness.js +4 -4
- package/dist/release-readiness.js.map +1 -1
- package/dist/report-html.js +140 -84
- package/dist/report-html.js.map +1 -1
- package/docs/media/patchdrill-dashboard.png +0 -0
- package/docs/media/patchdrill-demo.gif +0 -0
- package/examples/demo/patchdrill-demo.html +140 -84
- package/examples/risky-agent-pr/patchdrill-demo.html +140 -84
- package/package.json +1 -1
|
@@ -8,22 +8,31 @@
|
|
|
8
8
|
<style>
|
|
9
9
|
:root {
|
|
10
10
|
color-scheme: light;
|
|
11
|
-
--bg: #
|
|
11
|
+
--bg: #ffffff;
|
|
12
12
|
--panel: #ffffff;
|
|
13
|
-
--
|
|
14
|
-
--
|
|
15
|
-
--
|
|
16
|
-
--
|
|
17
|
-
--
|
|
18
|
-
--
|
|
19
|
-
--
|
|
20
|
-
--
|
|
21
|
-
--
|
|
22
|
-
--
|
|
23
|
-
--
|
|
24
|
-
--
|
|
25
|
-
--
|
|
13
|
+
--surface: #fafafa;
|
|
14
|
+
--text: #18181b;
|
|
15
|
+
--muted: #6b7280;
|
|
16
|
+
--faint: #9ca3af;
|
|
17
|
+
--border: #d4d8e0;
|
|
18
|
+
--border-strong: #bcc2ce;
|
|
19
|
+
--code-bg: #f5f5f6;
|
|
20
|
+
--accent: #4f46e5;
|
|
21
|
+
--pass: #15803d;
|
|
22
|
+
--pass-bg: #f1faf4;
|
|
23
|
+
--pass-border: #cdead8;
|
|
24
|
+
--warn: #b45309;
|
|
25
|
+
--warn-bg: #fdf6ec;
|
|
26
|
+
--warn-border: #f3e0bf;
|
|
27
|
+
--fail: #b42318;
|
|
28
|
+
--fail-bg: #fef4f2;
|
|
29
|
+
--fail-border: #f5d2cc;
|
|
30
|
+
--info: #2563eb;
|
|
31
|
+
--info-bg: #f0f4ff;
|
|
32
|
+
--info-border: #d3e0fd;
|
|
33
|
+
--shadow: 0 1px 2px rgb(16 24 40 / 4%);
|
|
26
34
|
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
35
|
+
font-feature-settings: "cv05", "ss01";
|
|
27
36
|
}
|
|
28
37
|
|
|
29
38
|
* {
|
|
@@ -34,19 +43,24 @@
|
|
|
34
43
|
margin: 0;
|
|
35
44
|
background: var(--bg);
|
|
36
45
|
color: var(--text);
|
|
37
|
-
|
|
46
|
+
font-size: 15px;
|
|
47
|
+
line-height: 1.6;
|
|
48
|
+
-webkit-font-smoothing: antialiased;
|
|
49
|
+
text-rendering: optimizeLegibility;
|
|
38
50
|
}
|
|
39
51
|
|
|
40
52
|
main {
|
|
41
|
-
width: min(
|
|
53
|
+
width: min(1120px, calc(100% - 48px));
|
|
42
54
|
margin: 0 auto;
|
|
43
|
-
padding:
|
|
55
|
+
padding: 56px 0 80px;
|
|
44
56
|
}
|
|
45
57
|
|
|
46
58
|
header {
|
|
47
59
|
display: grid;
|
|
48
|
-
gap:
|
|
49
|
-
|
|
60
|
+
gap: 16px;
|
|
61
|
+
border-bottom: 1px solid var(--border);
|
|
62
|
+
margin-bottom: 36px;
|
|
63
|
+
padding-bottom: 28px;
|
|
50
64
|
}
|
|
51
65
|
|
|
52
66
|
h1,
|
|
@@ -57,28 +71,33 @@
|
|
|
57
71
|
}
|
|
58
72
|
|
|
59
73
|
h1 {
|
|
60
|
-
font-size:
|
|
61
|
-
|
|
62
|
-
|
|
74
|
+
font-size: 30px;
|
|
75
|
+
font-weight: 680;
|
|
76
|
+
line-height: 1.2;
|
|
77
|
+
letter-spacing: -.021em;
|
|
63
78
|
}
|
|
64
79
|
|
|
65
80
|
h2 {
|
|
66
|
-
font-size:
|
|
67
|
-
|
|
68
|
-
|
|
81
|
+
font-size: 16px;
|
|
82
|
+
font-weight: 650;
|
|
83
|
+
line-height: 1.3;
|
|
84
|
+
letter-spacing: -.011em;
|
|
69
85
|
}
|
|
70
86
|
|
|
71
87
|
h3 {
|
|
72
|
-
|
|
88
|
+
color: var(--muted);
|
|
89
|
+
font-size: 12px;
|
|
90
|
+
font-weight: 600;
|
|
91
|
+
letter-spacing: .04em;
|
|
73
92
|
line-height: 1.3;
|
|
74
|
-
|
|
93
|
+
text-transform: uppercase;
|
|
75
94
|
}
|
|
76
95
|
|
|
77
96
|
.eyebrow {
|
|
78
|
-
color: var(--
|
|
79
|
-
font-size:
|
|
80
|
-
font-weight:
|
|
81
|
-
letter-spacing: .
|
|
97
|
+
color: var(--accent);
|
|
98
|
+
font-size: 12px;
|
|
99
|
+
font-weight: 600;
|
|
100
|
+
letter-spacing: .14em;
|
|
82
101
|
text-transform: uppercase;
|
|
83
102
|
}
|
|
84
103
|
|
|
@@ -102,7 +121,7 @@
|
|
|
102
121
|
|
|
103
122
|
.grid {
|
|
104
123
|
display: grid;
|
|
105
|
-
gap:
|
|
124
|
+
gap: 14px;
|
|
106
125
|
}
|
|
107
126
|
|
|
108
127
|
.metrics {
|
|
@@ -119,49 +138,52 @@
|
|
|
119
138
|
details {
|
|
120
139
|
background: var(--panel);
|
|
121
140
|
border: 1px solid var(--border);
|
|
122
|
-
border-radius:
|
|
141
|
+
border-radius: 10px;
|
|
123
142
|
box-shadow: var(--shadow);
|
|
124
143
|
}
|
|
125
144
|
|
|
126
145
|
section {
|
|
127
146
|
display: grid;
|
|
128
|
-
gap:
|
|
129
|
-
margin-top:
|
|
147
|
+
gap: 16px;
|
|
148
|
+
margin-top: 44px;
|
|
130
149
|
padding: 0;
|
|
131
150
|
}
|
|
132
151
|
|
|
133
152
|
.metric {
|
|
134
153
|
min-width: 0;
|
|
135
|
-
padding:
|
|
154
|
+
padding: 18px;
|
|
136
155
|
}
|
|
137
156
|
|
|
138
157
|
.metric-label {
|
|
139
158
|
color: var(--muted);
|
|
140
|
-
font-size:
|
|
141
|
-
font-weight:
|
|
159
|
+
font-size: 11px;
|
|
160
|
+
font-weight: 600;
|
|
161
|
+
letter-spacing: .07em;
|
|
142
162
|
text-transform: uppercase;
|
|
143
163
|
}
|
|
144
164
|
|
|
145
165
|
.metric-value {
|
|
146
|
-
font-size:
|
|
147
|
-
font-weight:
|
|
148
|
-
|
|
149
|
-
|
|
166
|
+
font-size: 27px;
|
|
167
|
+
font-weight: 680;
|
|
168
|
+
font-variant-numeric: tabular-nums;
|
|
169
|
+
letter-spacing: -.02em;
|
|
170
|
+
line-height: 1.15;
|
|
171
|
+
margin-top: 8px;
|
|
150
172
|
overflow-wrap: anywhere;
|
|
151
173
|
}
|
|
152
174
|
|
|
153
175
|
.metric-detail {
|
|
154
176
|
color: var(--muted);
|
|
155
|
-
font-size:
|
|
156
|
-
margin-top:
|
|
177
|
+
font-size: 12.5px;
|
|
178
|
+
margin-top: 5px;
|
|
157
179
|
overflow-wrap: anywhere;
|
|
158
180
|
}
|
|
159
181
|
|
|
160
182
|
.bar {
|
|
161
|
-
background: #
|
|
183
|
+
background: #eceef1;
|
|
162
184
|
border-radius: 999px;
|
|
163
|
-
height:
|
|
164
|
-
margin-top:
|
|
185
|
+
height: 6px;
|
|
186
|
+
margin-top: 14px;
|
|
165
187
|
overflow: hidden;
|
|
166
188
|
}
|
|
167
189
|
|
|
@@ -195,13 +217,16 @@
|
|
|
195
217
|
}
|
|
196
218
|
|
|
197
219
|
.pill {
|
|
198
|
-
|
|
220
|
+
align-items: center;
|
|
221
|
+
border: 1px solid var(--border);
|
|
222
|
+
border-radius: 6px;
|
|
199
223
|
display: inline-flex;
|
|
200
|
-
font-size:
|
|
201
|
-
font-weight:
|
|
224
|
+
font-size: 11px;
|
|
225
|
+
font-weight: 600;
|
|
202
226
|
gap: 6px;
|
|
227
|
+
letter-spacing: .03em;
|
|
203
228
|
line-height: 1;
|
|
204
|
-
padding:
|
|
229
|
+
padding: 4px 8px;
|
|
205
230
|
text-transform: uppercase;
|
|
206
231
|
white-space: nowrap;
|
|
207
232
|
}
|
|
@@ -234,6 +259,26 @@
|
|
|
234
259
|
color: var(--info);
|
|
235
260
|
}
|
|
236
261
|
|
|
262
|
+
.pill.pass {
|
|
263
|
+
border-color: var(--pass-border);
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
.pill.warn,
|
|
267
|
+
.pill.medium {
|
|
268
|
+
border-color: var(--warn-border);
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
.pill.fail,
|
|
272
|
+
.pill.critical,
|
|
273
|
+
.pill.high {
|
|
274
|
+
border-color: var(--fail-border);
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
.pill.low,
|
|
278
|
+
.pill.info {
|
|
279
|
+
border-color: var(--info-border);
|
|
280
|
+
}
|
|
281
|
+
|
|
237
282
|
.muted,
|
|
238
283
|
.empty {
|
|
239
284
|
color: var(--muted);
|
|
@@ -241,13 +286,13 @@
|
|
|
241
286
|
|
|
242
287
|
.table-wrap {
|
|
243
288
|
overflow-x: auto;
|
|
244
|
-
border-radius:
|
|
289
|
+
border-radius: 10px;
|
|
245
290
|
box-shadow: var(--shadow);
|
|
246
291
|
}
|
|
247
292
|
|
|
248
293
|
table {
|
|
249
294
|
border-collapse: collapse;
|
|
250
|
-
font-size:
|
|
295
|
+
font-size: 13.5px;
|
|
251
296
|
min-width: 720px;
|
|
252
297
|
width: 100%;
|
|
253
298
|
}
|
|
@@ -255,17 +300,25 @@
|
|
|
255
300
|
th,
|
|
256
301
|
td {
|
|
257
302
|
border-bottom: 1px solid var(--border);
|
|
258
|
-
padding:
|
|
303
|
+
padding: 12px 14px;
|
|
259
304
|
text-align: left;
|
|
260
305
|
vertical-align: top;
|
|
261
306
|
}
|
|
262
307
|
|
|
263
|
-
th {
|
|
308
|
+
thead th {
|
|
309
|
+
background: var(--surface);
|
|
310
|
+
border-bottom: 1px solid var(--border-strong);
|
|
264
311
|
color: var(--muted);
|
|
265
|
-
font-size:
|
|
312
|
+
font-size: 11px;
|
|
313
|
+
font-weight: 600;
|
|
314
|
+
letter-spacing: .05em;
|
|
266
315
|
text-transform: uppercase;
|
|
267
316
|
}
|
|
268
317
|
|
|
318
|
+
tbody tr:hover {
|
|
319
|
+
background: var(--surface);
|
|
320
|
+
}
|
|
321
|
+
|
|
269
322
|
tr:last-child td {
|
|
270
323
|
border-bottom: 0;
|
|
271
324
|
}
|
|
@@ -273,20 +326,21 @@
|
|
|
273
326
|
code,
|
|
274
327
|
pre {
|
|
275
328
|
background: var(--code-bg);
|
|
329
|
+
border: 1px solid var(--border);
|
|
276
330
|
border-radius: 6px;
|
|
277
|
-
font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
|
|
278
|
-
font-size:
|
|
331
|
+
font-family: ui-monospace, "SF Mono", "SFMono-Regular", "JetBrains Mono", Menlo, Consolas, "Liberation Mono", monospace;
|
|
332
|
+
font-size: 12.5px;
|
|
279
333
|
}
|
|
280
334
|
|
|
281
335
|
code {
|
|
282
|
-
padding:
|
|
336
|
+
padding: 1.5px 5px;
|
|
283
337
|
}
|
|
284
338
|
|
|
285
339
|
pre {
|
|
286
|
-
margin:
|
|
340
|
+
margin: 12px 0 0;
|
|
287
341
|
max-height: 360px;
|
|
288
342
|
overflow: auto;
|
|
289
|
-
padding:
|
|
343
|
+
padding: 14px;
|
|
290
344
|
white-space: pre-wrap;
|
|
291
345
|
word-break: break-word;
|
|
292
346
|
}
|
|
@@ -299,30 +353,33 @@
|
|
|
299
353
|
.finding {
|
|
300
354
|
display: grid;
|
|
301
355
|
gap: 8px;
|
|
302
|
-
padding:
|
|
356
|
+
padding: 18px;
|
|
303
357
|
}
|
|
304
358
|
|
|
305
359
|
.finding-title {
|
|
306
|
-
font-
|
|
360
|
+
font-size: 15px;
|
|
361
|
+
font-weight: 650;
|
|
362
|
+
letter-spacing: -.006em;
|
|
307
363
|
overflow-wrap: anywhere;
|
|
308
364
|
}
|
|
309
365
|
|
|
310
366
|
.detail-list {
|
|
311
367
|
display: grid;
|
|
312
|
-
gap:
|
|
313
|
-
grid-template-columns: repeat(
|
|
368
|
+
gap: 10px;
|
|
369
|
+
grid-template-columns: repeat(auto-fill, minmax(228px, 1fr));
|
|
314
370
|
}
|
|
315
371
|
|
|
316
372
|
.detail-item {
|
|
317
373
|
border: 1px solid var(--border);
|
|
318
|
-
border-radius:
|
|
319
|
-
padding:
|
|
374
|
+
border-radius: 10px;
|
|
375
|
+
padding: 14px;
|
|
320
376
|
}
|
|
321
377
|
|
|
322
378
|
.detail-label {
|
|
323
379
|
color: var(--muted);
|
|
324
|
-
font-size:
|
|
325
|
-
font-weight:
|
|
380
|
+
font-size: 11px;
|
|
381
|
+
font-weight: 600;
|
|
382
|
+
letter-spacing: .06em;
|
|
326
383
|
text-transform: uppercase;
|
|
327
384
|
}
|
|
328
385
|
|
|
@@ -337,9 +394,9 @@
|
|
|
337
394
|
|
|
338
395
|
summary {
|
|
339
396
|
cursor: pointer;
|
|
340
|
-
font-weight:
|
|
397
|
+
font-weight: 600;
|
|
341
398
|
list-style: none;
|
|
342
|
-
padding:
|
|
399
|
+
padding: 16px;
|
|
343
400
|
}
|
|
344
401
|
|
|
345
402
|
summary::-webkit-details-marker {
|
|
@@ -348,7 +405,7 @@
|
|
|
348
405
|
|
|
349
406
|
.command-body {
|
|
350
407
|
border-top: 1px solid var(--border);
|
|
351
|
-
padding:
|
|
408
|
+
padding: 4px 16px 16px;
|
|
352
409
|
}
|
|
353
410
|
|
|
354
411
|
@media (max-width: 900px) {
|
|
@@ -367,8 +424,8 @@
|
|
|
367
424
|
}
|
|
368
425
|
|
|
369
426
|
main {
|
|
370
|
-
width: min(100% -
|
|
371
|
-
padding-top:
|
|
427
|
+
width: min(100% - 24px, 1120px);
|
|
428
|
+
padding-top: 32px;
|
|
372
429
|
}
|
|
373
430
|
}
|
|
374
431
|
</style>
|
|
@@ -595,10 +652,9 @@ built in 4.2s</pre>
|
|
|
595
652
|
</div>
|
|
596
653
|
</section>
|
|
597
654
|
|
|
598
|
-
<
|
|
599
|
-
<
|
|
600
|
-
|
|
601
|
-
<div class="table-wrap">
|
|
655
|
+
<section>
|
|
656
|
+
<h2>Project Signals</h2>
|
|
657
|
+
<div class="table-wrap">
|
|
602
658
|
<table>
|
|
603
659
|
<thead>
|
|
604
660
|
<tr><th>Ecosystem</th><th>Framework</th><th>Entrypoint</th><th>Manifest</th><th>Package manager</th><th>Task runner</th></tr>
|
|
@@ -608,10 +664,11 @@ built in 4.2s</pre>
|
|
|
608
664
|
</tbody>
|
|
609
665
|
</table>
|
|
610
666
|
</div>
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
667
|
+
</section>
|
|
668
|
+
|
|
669
|
+
<section>
|
|
670
|
+
<h2>Review Context</h2>
|
|
671
|
+
<div class="detail-list">
|
|
615
672
|
<div class="detail-item">
|
|
616
673
|
<div class="detail-label">Policy</div>
|
|
617
674
|
<div class="detail-value">.patchdrill.yml (4 rules)</div>
|
|
@@ -641,8 +698,7 @@ built in 4.2s</pre>
|
|
|
641
698
|
<div class="detail-value">@acme/web</div>
|
|
642
699
|
</div>
|
|
643
700
|
</div>
|
|
644
|
-
|
|
645
|
-
</div>
|
|
701
|
+
</section>
|
|
646
702
|
|
|
647
703
|
<section>
|
|
648
704
|
<h2>Dependency Changes</h2>
|