@cogenta/cli 0.4.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3951 -0
- package/dist/admin-assets/assets/index-Bc_X94A_.js +1090 -0
- package/dist/admin-assets/assets/index-CxZHGwVA.css +1 -0
- package/dist/admin-assets/assets/vips-_dmTUXFO.wasm +0 -0
- package/dist/admin-assets/assets/vips-es6-DrQTTS8Q.js +7 -0
- package/dist/admin-assets/branding/logo-cogenta-dark.png +0 -0
- package/dist/admin-assets/branding/logo-cogenta-icon.png +0 -0
- package/dist/admin-assets/branding/logo-cogenta-light.png +0 -0
- package/dist/admin-assets/branding/logo-cogenta-small.png +0 -0
- package/dist/admin-assets/branding/logo-cogenta-transparent.png +0 -0
- package/dist/admin-assets/branding/logo-cogenta.png +0 -0
- package/dist/admin-assets/favicon.png +0 -0
- package/dist/admin-assets/fonts/jetbrains-mono-var.woff2 +0 -0
- package/dist/admin-assets/fonts/space-grotesk-var.woff2 +0 -0
- package/dist/admin-assets/index.html +3 -2
- package/dist/bin.js +6 -0
- package/dist/bin.js.map +1 -1
- package/dist/commands/admin-assets.d.ts +1 -0
- package/dist/commands/admin-assets.d.ts.map +1 -1
- package/dist/commands/admin-assets.js +19 -1
- package/dist/commands/admin-assets.js.map +1 -1
- package/dist/commands/agent-runtime.d.ts +160 -0
- package/dist/commands/agent-runtime.d.ts.map +1 -0
- package/dist/commands/agent-runtime.js +524 -0
- package/dist/commands/agent-runtime.js.map +1 -0
- package/dist/commands/assistant.d.ts +89 -3
- package/dist/commands/assistant.d.ts.map +1 -1
- package/dist/commands/assistant.js +209 -41
- package/dist/commands/assistant.js.map +1 -1
- package/dist/commands/audit-integrity-alert.d.ts +23 -0
- package/dist/commands/audit-integrity-alert.d.ts.map +1 -0
- package/dist/commands/audit-integrity-alert.js +33 -0
- package/dist/commands/audit-integrity-alert.js.map +1 -0
- package/dist/commands/backup.d.ts +78 -0
- package/dist/commands/backup.d.ts.map +1 -0
- package/dist/commands/backup.js +238 -0
- package/dist/commands/backup.js.map +1 -0
- package/dist/commands/channels.d.ts +47 -0
- package/dist/commands/channels.d.ts.map +1 -0
- package/dist/commands/channels.js +284 -0
- package/dist/commands/channels.js.map +1 -0
- package/dist/commands/default-logo.d.ts +27 -0
- package/dist/commands/default-logo.d.ts.map +1 -0
- package/dist/commands/default-logo.js +30 -0
- package/dist/commands/default-logo.js.map +1 -0
- package/dist/commands/doctor.d.ts +5 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +74 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/export.d.ts +22 -0
- package/dist/commands/export.d.ts.map +1 -0
- package/dist/commands/export.js +182 -0
- package/dist/commands/export.js.map +1 -0
- package/dist/commands/forms-page.d.ts +75 -0
- package/dist/commands/forms-page.d.ts.map +1 -0
- package/dist/commands/forms-page.js +191 -0
- package/dist/commands/forms-page.js.map +1 -0
- package/dist/commands/import.d.ts.map +1 -1
- package/dist/commands/import.js +13 -1
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/mcp.d.ts +35 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/mcp.js +277 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/roles.d.ts +22 -0
- package/dist/commands/roles.d.ts.map +1 -0
- package/dist/commands/roles.js +79 -0
- package/dist/commands/roles.js.map +1 -0
- package/dist/commands/search-page.d.ts +15 -0
- package/dist/commands/search-page.d.ts.map +1 -1
- package/dist/commands/search-page.js +22 -16
- package/dist/commands/search-page.js.map +1 -1
- package/dist/commands/seo.d.ts +92 -4
- package/dist/commands/seo.d.ts.map +1 -1
- package/dist/commands/seo.js +168 -4
- package/dist/commands/seo.js.map +1 -1
- package/dist/commands/serve.d.ts +439 -7
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +3515 -181
- package/dist/commands/serve.js.map +1 -1
- package/dist/commands/site-plan.d.ts +27 -1
- package/dist/commands/site-plan.d.ts.map +1 -1
- package/dist/commands/site-plan.js +79 -8
- package/dist/commands/site-plan.js.map +1 -1
- package/dist/commands/skin.d.ts.map +1 -1
- package/dist/commands/skin.js +7 -2
- package/dist/commands/skin.js.map +1 -1
- package/dist/commands/term-archive-page.d.ts +94 -0
- package/dist/commands/term-archive-page.d.ts.map +1 -0
- package/dist/commands/term-archive-page.js +195 -0
- package/dist/commands/term-archive-page.js.map +1 -0
- package/dist/commands/theme-css.d.ts +22 -7
- package/dist/commands/theme-css.d.ts.map +1 -1
- package/dist/commands/theme-css.js +33 -8
- package/dist/commands/theme-css.js.map +1 -1
- package/dist/commands/theme-registry.d.ts +94 -0
- package/dist/commands/theme-registry.d.ts.map +1 -0
- package/dist/commands/theme-registry.js +130 -0
- package/dist/commands/theme-registry.js.map +1 -0
- package/dist/commands/theme-render.d.ts +330 -9
- package/dist/commands/theme-render.d.ts.map +1 -1
- package/dist/commands/theme-render.js +932 -66
- package/dist/commands/theme-render.js.map +1 -1
- package/dist/commands/theme-wiring.d.ts +107 -0
- package/dist/commands/theme-wiring.d.ts.map +1 -0
- package/dist/commands/theme-wiring.js +308 -0
- package/dist/commands/theme-wiring.js.map +1 -0
- package/dist/commands/tools.d.ts +71 -0
- package/dist/commands/tools.d.ts.map +1 -0
- package/dist/commands/tools.js +330 -0
- package/dist/commands/tools.js.map +1 -0
- package/dist/commands/update.d.ts +25 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +193 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +146 -4
- package/dist/index.js.map +1 -1
- package/dist/invite-mail.d.ts +39 -0
- package/dist/invite-mail.d.ts.map +1 -0
- package/dist/invite-mail.js +39 -0
- package/dist/invite-mail.js.map +1 -0
- package/dist/update/apply.d.ts +54 -0
- package/dist/update/apply.d.ts.map +1 -0
- package/dist/update/apply.js +77 -0
- package/dist/update/apply.js.map +1 -0
- package/dist/update/changelog-risk.d.ts +20 -0
- package/dist/update/changelog-risk.d.ts.map +1 -0
- package/dist/update/changelog-risk.js +55 -0
- package/dist/update/changelog-risk.js.map +1 -0
- package/dist/update/check.d.ts +60 -0
- package/dist/update/check.d.ts.map +1 -0
- package/dist/update/check.js +56 -0
- package/dist/update/check.js.map +1 -0
- package/dist/update/contract-risk.d.ts +55 -0
- package/dist/update/contract-risk.d.ts.map +1 -0
- package/dist/update/contract-risk.js +75 -0
- package/dist/update/contract-risk.js.map +1 -0
- package/dist/update/history.d.ts +30 -0
- package/dist/update/history.d.ts.map +1 -0
- package/dist/update/history.js +38 -0
- package/dist/update/history.js.map +1 -0
- package/dist/update/index.d.ts +28 -0
- package/dist/update/index.d.ts.map +1 -0
- package/dist/update/index.js +11 -0
- package/dist/update/index.js.map +1 -0
- package/dist/update/list-restore-points.d.ts +20 -0
- package/dist/update/list-restore-points.d.ts.map +1 -0
- package/dist/update/list-restore-points.js +35 -0
- package/dist/update/list-restore-points.js.map +1 -0
- package/dist/update/npm-registry.d.ts +11 -0
- package/dist/update/npm-registry.d.ts.map +1 -0
- package/dist/update/npm-registry.js +74 -0
- package/dist/update/npm-registry.js.map +1 -0
- package/dist/update/restore-point.d.ts +26 -0
- package/dist/update/restore-point.d.ts.map +1 -0
- package/dist/update/restore-point.js +23 -0
- package/dist/update/restore-point.js.map +1 -0
- package/dist/update/tar.d.ts +27 -0
- package/dist/update/tar.d.ts.map +1 -0
- package/dist/update/tar.js +56 -0
- package/dist/update/tar.js.map +1 -0
- package/dist/update/version-compare.d.ts +17 -0
- package/dist/update/version-compare.d.ts.map +1 -0
- package/dist/update/version-compare.js +42 -0
- package/dist/update/version-compare.js.map +1 -0
- package/dist/version.d.ts +13 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +18 -0
- package/dist/version.js.map +1 -0
- package/package.json +33 -16
- package/dist/admin-assets/assets/index-C9a7O_Xs.css +0 -1
- package/dist/admin-assets/assets/index-DXvMgWvn.js +0 -74
package/dist/index.js
CHANGED
|
@@ -1,24 +1,38 @@
|
|
|
1
1
|
import process from 'node:process';
|
|
2
2
|
import { parseArgs } from 'node:util';
|
|
3
3
|
import { createLogger, isCogentaError } from '@cogenta/core';
|
|
4
|
+
import { runBackup, runRestore } from './commands/backup.js';
|
|
5
|
+
import { runChannels } from './commands/channels.js';
|
|
4
6
|
import { formatDoctorReport, runDoctor } from './commands/doctor.js';
|
|
7
|
+
import { runExport, runImportContent } from './commands/export.js';
|
|
5
8
|
import { runGenerate } from './commands/generate.js';
|
|
6
9
|
import { runImport } from './commands/import.js';
|
|
7
10
|
import { runLinks } from './commands/links.js';
|
|
11
|
+
import { runMcp } from './commands/mcp.js';
|
|
8
12
|
import { runMigrate } from './commands/migrate.js';
|
|
13
|
+
import { runRoles } from './commands/roles.js';
|
|
9
14
|
import { runServe } from './commands/serve.js';
|
|
10
15
|
import { runSkin } from './commands/skin.js';
|
|
16
|
+
import { runUpdate } from './commands/update.js';
|
|
11
17
|
import { runUsers } from './commands/users.js';
|
|
12
18
|
import { createOutput, shouldUseColour } from './output.js';
|
|
19
|
+
export { runBackup, runRestore } from './commands/backup.js';
|
|
20
|
+
export { CHANNELS_USAGE, runChannels } from './commands/channels.js';
|
|
13
21
|
export { formatDoctorReport, runDoctor } from './commands/doctor.js';
|
|
22
|
+
export { runExport, runImportContent } from './commands/export.js';
|
|
14
23
|
export { runGenerate } from './commands/generate.js';
|
|
15
24
|
export { runImport } from './commands/import.js';
|
|
16
25
|
export { runLinks } from './commands/links.js';
|
|
26
|
+
export { runMcp } from './commands/mcp.js';
|
|
27
|
+
export { contentTypeOf, createMediaImageProcessor, selectMediaImageProcessor, VARIANT_FORMAT, variantName, variantWidthsFor, } from './commands/media-images.js';
|
|
17
28
|
export { loadMigrations, MIGRATIONS_DIRECTORY, runMigrate } from './commands/migrate.js';
|
|
29
|
+
export { runRoles } from './commands/roles.js';
|
|
18
30
|
export { loadCollections, runServe } from './commands/serve.js';
|
|
19
31
|
export { runSkin } from './commands/skin.js';
|
|
32
|
+
export { runUpdate } from './commands/update.js';
|
|
20
33
|
export { runUsers } from './commands/users.js';
|
|
21
34
|
export { createOutput, shouldUseColour } from './output.js';
|
|
35
|
+
export { getCliVersion } from './version.js';
|
|
22
36
|
const USAGE = `cogenta — the command line for a Cogenta site
|
|
23
37
|
|
|
24
38
|
Usage
|
|
@@ -32,27 +46,48 @@ Commands
|
|
|
32
46
|
users create Create a user — the first admin account is made this way
|
|
33
47
|
users reset-password Send a single-use reset token, or redeem one
|
|
34
48
|
import wordpress <file.xml> Import a WordPress WXR export, with a report
|
|
49
|
+
export <file.ndjson> Export content — entries, terms, menus, redirects
|
|
50
|
+
import content <file.ndjson> Re-import an export produced by "export"
|
|
51
|
+
backup create Back up every table (content, users, audit…) to a file
|
|
52
|
+
backup list List backups in the backup directory
|
|
53
|
+
restore preview <file.zip> Show what a backup would add or overwrite
|
|
54
|
+
restore apply <file.zip> Restore a backup — CLI only (fiche 26)
|
|
35
55
|
generate types Write TypeScript declarations for the content schema
|
|
36
56
|
links check Crawl published content and report links that lead nowhere
|
|
37
57
|
skin list Show the site's active skin
|
|
38
58
|
skin validate <tokens.json> Check a token file against contract D
|
|
39
59
|
skin apply <tokens.json> Validate, then make it the active skin
|
|
40
60
|
skin generate --description "…" Generate a skin from a description
|
|
61
|
+
roles export Freeze the role permission override table into a file
|
|
41
62
|
serve, dev Run the content and auth API over HTTP
|
|
63
|
+
mcp Run an MCP server over stdin/stdout, exposing this site's tools
|
|
64
|
+
channels Connect Telegram/Slack/Discord and chat with an agent from there
|
|
65
|
+
update check Compare the installed @cogenta/core / @cogenta/cli against npm
|
|
66
|
+
update apply Apply an available update — always takes a restore point first
|
|
67
|
+
update history Show past checks, applies, and the restore points they took
|
|
42
68
|
help Show this message
|
|
43
69
|
version Print the version
|
|
44
70
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
71
|
+
"update" bumps this site's npm packages only — it never runs a migration for
|
|
72
|
+
you (run "cogenta migrate status"/"migrate up" yourself afterward, with the
|
|
73
|
+
same destructive-change confirmation migrate already requires). That is also
|
|
74
|
+
what separates it from the still-unbuilt "cogenta upgrade" L9 envisioned
|
|
75
|
+
("mise à jour avec migrations et vérification" combined) — not built here,
|
|
76
|
+
along with build, deploy, theme, agent, and generate schema/generate
|
|
77
|
+
migrations — see CLAUDE.md for why each is deferred rather than stubbed.
|
|
48
78
|
|
|
49
79
|
Options
|
|
50
80
|
--cwd <path> Run as if from this directory
|
|
51
81
|
--no-color Never colour the output (NO_COLOR is honoured too)
|
|
52
82
|
--verbose Send structured driver logs to stderr
|
|
53
|
-
--out <path> generate types: where to write the declarations
|
|
83
|
+
--out <path> generate types: where to write the declarations;
|
|
84
|
+
roles export: where to write the file (default cogenta.role-permissions.json)
|
|
54
85
|
--description <text> skin generate: free text describing the site
|
|
55
86
|
--external links check: also follow links that leave the site
|
|
87
|
+
--collections <a,b,c> export: only these collections (default: all)
|
|
88
|
+
--dir <path> backup / update: where to write/read backups (default .cogenta/backups)
|
|
89
|
+
--passphrase <text> backup create / restore: encrypt or decrypt the backup
|
|
90
|
+
--confirm-breaking update apply: proceed even though a contract-risk warning was found
|
|
56
91
|
|
|
57
92
|
Migration options
|
|
58
93
|
--to <id> Stop at this migration, inclusive
|
|
@@ -71,6 +106,11 @@ User options
|
|
|
71
106
|
Serve options
|
|
72
107
|
--port <n> Port to listen on (default 4000)
|
|
73
108
|
--host <host> Host to bind to (default 127.0.0.1)
|
|
109
|
+
|
|
110
|
+
MCP options
|
|
111
|
+
--email <email> mcp: run as this real user (looked up in the user store)
|
|
112
|
+
--role <role,role> mcp: run as a synthetic actor with these roles (testing only)
|
|
113
|
+
--api-key <key> mcp: run as the actor a "cogenta_sk_…" API key was granted
|
|
74
114
|
`;
|
|
75
115
|
/**
|
|
76
116
|
* Runs one command and returns its exit code.
|
|
@@ -101,6 +141,8 @@ export async function run(options) {
|
|
|
101
141
|
'backup-verified': { type: 'boolean' },
|
|
102
142
|
email: { type: 'string' },
|
|
103
143
|
roles: { type: 'string' },
|
|
144
|
+
role: { type: 'string' },
|
|
145
|
+
'api-key': { type: 'string' },
|
|
104
146
|
admin: { type: 'boolean' },
|
|
105
147
|
token: { type: 'string' },
|
|
106
148
|
password: { type: 'string' },
|
|
@@ -110,6 +152,10 @@ export async function run(options) {
|
|
|
110
152
|
out: { type: 'string' },
|
|
111
153
|
description: { type: 'string' },
|
|
112
154
|
external: { type: 'boolean' },
|
|
155
|
+
collections: { type: 'string' },
|
|
156
|
+
dir: { type: 'string' },
|
|
157
|
+
passphrase: { type: 'string' },
|
|
158
|
+
'confirm-breaking': { type: 'boolean' },
|
|
113
159
|
},
|
|
114
160
|
});
|
|
115
161
|
}
|
|
@@ -173,6 +219,16 @@ export async function run(options) {
|
|
|
173
219
|
...(verboseLogger === undefined ? {} : { logger: verboseLogger }),
|
|
174
220
|
});
|
|
175
221
|
}
|
|
222
|
+
if (command === 'import' && parsed.positionals[1] === 'content') {
|
|
223
|
+
return runImportContent({
|
|
224
|
+
file: parsed.positionals[2],
|
|
225
|
+
out,
|
|
226
|
+
stderr,
|
|
227
|
+
env,
|
|
228
|
+
...(typeof parsed.values.cwd === 'string' ? { cwd: parsed.values.cwd } : {}),
|
|
229
|
+
...(verboseLogger === undefined ? {} : { logger: verboseLogger }),
|
|
230
|
+
});
|
|
231
|
+
}
|
|
176
232
|
if (command === 'import') {
|
|
177
233
|
return runImport({
|
|
178
234
|
subcommand: parsed.positionals[1],
|
|
@@ -184,6 +240,59 @@ export async function run(options) {
|
|
|
184
240
|
...(verboseLogger === undefined ? {} : { logger: verboseLogger }),
|
|
185
241
|
});
|
|
186
242
|
}
|
|
243
|
+
if (command === 'export') {
|
|
244
|
+
return runExport({
|
|
245
|
+
file: parsed.positionals[1],
|
|
246
|
+
out,
|
|
247
|
+
stderr,
|
|
248
|
+
env,
|
|
249
|
+
...(typeof parsed.values.cwd === 'string' ? { cwd: parsed.values.cwd } : {}),
|
|
250
|
+
...(typeof parsed.values.collections === 'string'
|
|
251
|
+
? { collections: parsed.values.collections.split(',').map((name) => name.trim()) }
|
|
252
|
+
: {}),
|
|
253
|
+
...(verboseLogger === undefined ? {} : { logger: verboseLogger }),
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
if (command === 'backup') {
|
|
257
|
+
return runBackup({
|
|
258
|
+
subcommand: parsed.positionals[1],
|
|
259
|
+
out,
|
|
260
|
+
stderr,
|
|
261
|
+
env,
|
|
262
|
+
...(typeof parsed.values.cwd === 'string' ? { cwd: parsed.values.cwd } : {}),
|
|
263
|
+
...(typeof parsed.values.dir === 'string' ? { dir: parsed.values.dir } : {}),
|
|
264
|
+
...(typeof parsed.values.passphrase === 'string'
|
|
265
|
+
? { passphrase: parsed.values.passphrase }
|
|
266
|
+
: {}),
|
|
267
|
+
...(verboseLogger === undefined ? {} : { logger: verboseLogger }),
|
|
268
|
+
});
|
|
269
|
+
}
|
|
270
|
+
if (command === 'restore') {
|
|
271
|
+
return runRestore({
|
|
272
|
+
subcommand: parsed.positionals[1],
|
|
273
|
+
file: parsed.positionals[2],
|
|
274
|
+
out,
|
|
275
|
+
stderr,
|
|
276
|
+
env,
|
|
277
|
+
...(typeof parsed.values.cwd === 'string' ? { cwd: parsed.values.cwd } : {}),
|
|
278
|
+
...(typeof parsed.values.passphrase === 'string'
|
|
279
|
+
? { passphrase: parsed.values.passphrase }
|
|
280
|
+
: {}),
|
|
281
|
+
...(verboseLogger === undefined ? {} : { logger: verboseLogger }),
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
if (command === 'update') {
|
|
285
|
+
return runUpdate({
|
|
286
|
+
subcommand: parsed.positionals[1],
|
|
287
|
+
out,
|
|
288
|
+
stderr,
|
|
289
|
+
env,
|
|
290
|
+
...(typeof parsed.values.cwd === 'string' ? { cwd: parsed.values.cwd } : {}),
|
|
291
|
+
...(typeof parsed.values.dir === 'string' ? { dir: parsed.values.dir } : {}),
|
|
292
|
+
...(parsed.values['confirm-breaking'] === true ? { confirmBreaking: true } : {}),
|
|
293
|
+
...(verboseLogger === undefined ? {} : { logger: verboseLogger }),
|
|
294
|
+
});
|
|
295
|
+
}
|
|
187
296
|
if (command === 'generate') {
|
|
188
297
|
return runGenerate({
|
|
189
298
|
subcommand: parsed.positionals[1],
|
|
@@ -220,6 +329,17 @@ export async function run(options) {
|
|
|
220
329
|
...(verboseLogger === undefined ? {} : { logger: verboseLogger }),
|
|
221
330
|
});
|
|
222
331
|
}
|
|
332
|
+
if (command === 'roles') {
|
|
333
|
+
return runRoles({
|
|
334
|
+
subcommand: parsed.positionals[1],
|
|
335
|
+
out,
|
|
336
|
+
stderr,
|
|
337
|
+
env,
|
|
338
|
+
...(typeof parsed.values.cwd === 'string' ? { cwd: parsed.values.cwd } : {}),
|
|
339
|
+
...(typeof parsed.values.out === 'string' ? { file: parsed.values.out } : {}),
|
|
340
|
+
...(verboseLogger === undefined ? {} : { logger: verboseLogger }),
|
|
341
|
+
});
|
|
342
|
+
}
|
|
223
343
|
if (command === 'serve' || command === 'dev') {
|
|
224
344
|
let port;
|
|
225
345
|
if (typeof parsed.values.port === 'string') {
|
|
@@ -244,6 +364,28 @@ export async function run(options) {
|
|
|
244
364
|
...(options.onListening === undefined ? {} : { onListening: options.onListening }),
|
|
245
365
|
});
|
|
246
366
|
}
|
|
367
|
+
if (command === 'mcp') {
|
|
368
|
+
return runMcp({
|
|
369
|
+
out,
|
|
370
|
+
stderr,
|
|
371
|
+
env,
|
|
372
|
+
...(typeof parsed.values.cwd === 'string' ? { cwd: parsed.values.cwd } : {}),
|
|
373
|
+
...(typeof parsed.values.email === 'string' ? { email: parsed.values.email } : {}),
|
|
374
|
+
...(typeof parsed.values.role === 'string' ? { role: parsed.values.role } : {}),
|
|
375
|
+
...(typeof parsed.values['api-key'] === 'string' ? { apiKey: parsed.values['api-key'] } : {}),
|
|
376
|
+
...(verboseLogger === undefined ? {} : { logger: verboseLogger }),
|
|
377
|
+
});
|
|
378
|
+
}
|
|
379
|
+
if (command === 'channels') {
|
|
380
|
+
return runChannels({
|
|
381
|
+
out,
|
|
382
|
+
stderr,
|
|
383
|
+
env,
|
|
384
|
+
...(typeof parsed.values.cwd === 'string' ? { cwd: parsed.values.cwd } : {}),
|
|
385
|
+
...(verboseLogger === undefined ? {} : { logger: verboseLogger }),
|
|
386
|
+
...(options.signal === undefined ? {} : { signal: options.signal }),
|
|
387
|
+
});
|
|
388
|
+
}
|
|
247
389
|
if (command !== 'doctor') {
|
|
248
390
|
stderr(`Unknown command "${command}".\n\n${USAGE}`);
|
|
249
391
|
return 2;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAe,MAAM,aAAa,CAAA;AAGxE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAExF,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE3D,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDb,CAAA;AAeD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,OAAmB;IAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAA;IACtC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IAC5E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IAE5E,IAAI,MAAoC,CAAA;IACxC,IAAI,CAAC;QACH,MAAM,GAAG,SAAS,CAAC;YACjB,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YACvB,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE;gBACP,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvB,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC/B,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;gBACrC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;gBACxC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACtB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,qBAAqB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1C,iBAAiB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBACtC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC/B,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAC9B;SACF,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,CAAC,CAAA;QAC/E,OAAO,CAAC,CAAA;IACV,CAAC;IAED,MAAM,MAAM,GACV,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,CAAA;IAC3F,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAExC,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;IAE9F,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,CAAA;QACb,OAAO,CAAC,CAAA;IACV,CAAC;IAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,CAAA;QACzC,OAAO,CAAC,CAAA;IACV,CAAC;IAED,MAAM,aAAa,GACjB,MAAM,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI;QAC5B,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;QACvD,CAAC,CAAC,SAAS,CAAA;IAEf,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,qEAAqE;QACrE,yEAAyE;QACzE,IAAI,KAAyB,CAAA;QAC7B,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5C,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACnC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC1C,MAAM,CAAC,sDAAsD,MAAM,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,CAAA;gBACvF,OAAO,CAAC,CAAA;YACV,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;YAChB,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;YACjC,GAAG;YACH,MAAM;YACN,GAAG;YACH,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;YACzC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtF,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;SAClE,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC;YACd,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;YACjC,GAAG;YACH,MAAM;YACN,GAAG;YACH,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,QAAQ;gBAC/C,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;gBACxC,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;SAClE,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;YACf,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;YACjC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;YAC3B,GAAG;YACH,MAAM;YACN,GAAG;YACH,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;SAClE,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3B,OAAO,WAAW,CAAC;YACjB,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;YACjC,GAAG;YACH,MAAM;YACN,GAAG;YACH,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChF,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;SAClE,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC;YACd,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;YACjC,GAAG;YACH,MAAM;YACN,GAAG;YACH,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;SAClE,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;QACvB,OAAO,OAAO,CAAC;YACb,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;YACjC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;YAC3B,GAAG;YACH,MAAM;YACN,GAAG;YACH,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,KAAK,QAAQ;gBAC/C,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;gBAC5C,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;SAClE,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QAC7C,IAAI,IAAwB,CAAA;QAC5B,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3C,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACjC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;gBACxD,MAAM,CAAC,2DAA2D,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,CAAA;gBAC3F,OAAO,CAAC,CAAA;YACV,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;YACd,GAAG;YACH,MAAM;YACN,GAAG;YACH,oEAAoE;YACpE,uDAAuD;YACvD,WAAW,EAAE,OAAO,KAAK,KAAK;YAC9B,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YACvC,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;YACjE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YACnE,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;SACnF,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,CAAC,oBAAoB,OAAO,SAAS,KAAK,EAAE,CAAC,CAAA;QACnD,OAAO,CAAC,CAAA;IACV,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;YAC7B,GAAG;YACH,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,sEAAsE;YACtE,oBAAoB;YACpB,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;SAClE,CAAC,CAAA;QACF,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QAC/B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,yEAAyE;QACzE,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,IAAI,CAAC,CAAA;YAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;gBAAE,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,CAAA;QACzD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACrE,CAAC;QACD,OAAO,CAAC,CAAA;IACV,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one place an account invitation (fiche 17 task 1) becomes an email —
|
|
3
|
+
* `commands/serve.ts`'s `createUsersRouter` wiring, on both the initial
|
|
4
|
+
* `POST /api/users` (`invite: true`) and the resend route.
|
|
5
|
+
*
|
|
6
|
+
* Sibling of `reset-mail.ts`, deliberately not merged into it: the wording is
|
|
7
|
+
* different enough (a role, not a security warning; a "set your password"
|
|
8
|
+
* link, not a "reset it" one) that folding both into one function would need
|
|
9
|
+
* a branch parameter standing in for what is really two different mails
|
|
10
|
+
* sharing one transport.
|
|
11
|
+
*/
|
|
12
|
+
export interface InviteMailSite {
|
|
13
|
+
readonly name: string;
|
|
14
|
+
readonly url: string;
|
|
15
|
+
}
|
|
16
|
+
export interface SendInviteMailOptions {
|
|
17
|
+
/** Where the outgoing mail is written. Defaults to `.cogenta/mail` under the project. */
|
|
18
|
+
readonly mailDir: string;
|
|
19
|
+
/**
|
|
20
|
+
* The admin screen the invitee's link opens, with the token appended as
|
|
21
|
+
* `?token=` — the same screen `/forgot-password`'s link opens, since
|
|
22
|
+
* redeeming a token is redeeming a token regardless of which reason issued
|
|
23
|
+
* it (`POST /api/auth/reset-password` does not know or care).
|
|
24
|
+
*/
|
|
25
|
+
readonly acceptUrl: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Sends the invitation through `@cogenta/channels`, not through a second
|
|
29
|
+
* mailer of this command's own — same reasoning as `sendResetMail`.
|
|
30
|
+
*
|
|
31
|
+
* The transport is the file one, because it is the only one that exists: a
|
|
32
|
+
* real SMTP transport is a documented, deliberate gap in that package. This
|
|
33
|
+
* writes a real message to a real file and says exactly where, rather than
|
|
34
|
+
* pretending mail left the machine — and it is only ever called at all when
|
|
35
|
+
* `onInvite` was wired, which `createUsersRouter`'s R1 fallback treats as
|
|
36
|
+
* "email is available" (see that file's header).
|
|
37
|
+
*/
|
|
38
|
+
export declare function sendInviteMail(options: SendInviteMailOptions, site: InviteMailSite, address: string, roles: readonly string[], token: string, expiresAt: string): Promise<string>;
|
|
39
|
+
//# sourceMappingURL=invite-mail.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invite-mail.d.ts","sourceRoot":"","sources":["../src/invite-mail.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,yFAAyF;IACzF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,qBAAqB,EAC9B,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAgCjB"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { createEmailAdapter, createFileEmailTransport } from '@cogenta/channels';
|
|
2
|
+
/**
|
|
3
|
+
* Sends the invitation through `@cogenta/channels`, not through a second
|
|
4
|
+
* mailer of this command's own — same reasoning as `sendResetMail`.
|
|
5
|
+
*
|
|
6
|
+
* The transport is the file one, because it is the only one that exists: a
|
|
7
|
+
* real SMTP transport is a documented, deliberate gap in that package. This
|
|
8
|
+
* writes a real message to a real file and says exactly where, rather than
|
|
9
|
+
* pretending mail left the machine — and it is only ever called at all when
|
|
10
|
+
* `onInvite` was wired, which `createUsersRouter`'s R1 fallback treats as
|
|
11
|
+
* "email is available" (see that file's header).
|
|
12
|
+
*/
|
|
13
|
+
export async function sendInviteMail(options, site, address, roles, token, expiresAt) {
|
|
14
|
+
const { mailDir: directory, acceptUrl } = options;
|
|
15
|
+
const adapter = createEmailAdapter({
|
|
16
|
+
transport: createFileEmailTransport({ directory }),
|
|
17
|
+
});
|
|
18
|
+
const link = `${acceptUrl}${acceptUrl.includes('?') ? '&' : '?'}token=${token}`;
|
|
19
|
+
await adapter.send({ id: address }, {
|
|
20
|
+
level: 'report',
|
|
21
|
+
title: `${site.name} — you have been invited`,
|
|
22
|
+
keyFigures: [
|
|
23
|
+
{ label: 'Role(s)', value: roles.join(', ') },
|
|
24
|
+
{ label: 'Valid until', value: expiresAt },
|
|
25
|
+
],
|
|
26
|
+
sections: [
|
|
27
|
+
{
|
|
28
|
+
heading: 'Join the team',
|
|
29
|
+
body: `You have been invited to ${site.name} with the role(s): ${roles.join(', ')}.`,
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
heading: 'How to accept',
|
|
33
|
+
body: `Open this link and choose your own password: ${link}\n\nThe link works once and expires at ${expiresAt}. If you were not expecting this, ignore this message — the invitation is useless without it.`,
|
|
34
|
+
},
|
|
35
|
+
],
|
|
36
|
+
});
|
|
37
|
+
return directory;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=invite-mail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invite-mail.js","sourceRoot":"","sources":["../src/invite-mail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AA+BhF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAA8B,EAC9B,IAAoB,EACpB,OAAe,EACf,KAAwB,EACxB,KAAa,EACb,SAAiB;IAEjB,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,OAAO,CAAA;IAEjD,MAAM,OAAO,GAAG,kBAAkB,CAAC;QACjC,SAAS,EAAE,wBAAwB,CAAC,EAAE,SAAS,EAAE,CAAC;KACnD,CAAC,CAAA;IAEF,MAAM,IAAI,GAAG,GAAG,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,KAAK,EAAE,CAAA;IAE/E,MAAM,OAAO,CAAC,IAAI,CAChB,EAAE,EAAE,EAAE,OAAO,EAAE,EACf;QACE,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,0BAA0B;QAC7C,UAAU,EAAE;YACV,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC7C,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE;SAC3C;QACD,QAAQ,EAAE;YACR;gBACE,OAAO,EAAE,eAAe;gBACxB,IAAI,EAAE,4BAA4B,IAAI,CAAC,IAAI,sBAAsB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;aACrF;YACD;gBACE,OAAO,EAAE,eAAe;gBACxB,IAAI,EAAE,gDAAgD,IAAI,0CAA0C,SAAS,+FAA+F;aAC7M;SACF;KACF,CACF,CAAA;IAED,OAAO,SAAS,CAAA;AAClB,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { type Logger } from '@cogenta/core';
|
|
2
|
+
import { type PackageUpdateStatus, type UpdateCheckReport } from './check.js';
|
|
3
|
+
import { type UpdateRestorePoint } from './restore-point.js';
|
|
4
|
+
export interface RunPackageInstallInput {
|
|
5
|
+
readonly cwd: string;
|
|
6
|
+
/** `@cogenta/core@0.5.0`-shaped specs — one target version per package, pinned exactly (`--save-exact`). */
|
|
7
|
+
readonly specs: readonly string[];
|
|
8
|
+
}
|
|
9
|
+
export interface RunPackageInstallResult {
|
|
10
|
+
readonly stdout: string;
|
|
11
|
+
readonly stderr: string;
|
|
12
|
+
}
|
|
13
|
+
export type RunPackageInstall = (input: RunPackageInstallInput) => Promise<RunPackageInstallResult>;
|
|
14
|
+
/** Real `npm install --save-exact <specs>`, run in the site's own directory. */
|
|
15
|
+
export declare const runNpmInstall: RunPackageInstall;
|
|
16
|
+
export type ApplyUpdateResult = {
|
|
17
|
+
readonly kind: 'up-to-date';
|
|
18
|
+
readonly report: UpdateCheckReport;
|
|
19
|
+
} | {
|
|
20
|
+
readonly kind: 'confirmation-required';
|
|
21
|
+
readonly report: UpdateCheckReport;
|
|
22
|
+
readonly risky: readonly PackageUpdateStatus[];
|
|
23
|
+
} | {
|
|
24
|
+
readonly kind: 'applied';
|
|
25
|
+
readonly report: UpdateCheckReport;
|
|
26
|
+
readonly restorePoint: UpdateRestorePoint;
|
|
27
|
+
readonly installed: readonly {
|
|
28
|
+
readonly name: string;
|
|
29
|
+
readonly version: string;
|
|
30
|
+
}[];
|
|
31
|
+
readonly installOutput: RunPackageInstallResult;
|
|
32
|
+
};
|
|
33
|
+
export interface ApplyUpdateInput {
|
|
34
|
+
readonly cwd?: string;
|
|
35
|
+
readonly env?: Record<string, string | undefined>;
|
|
36
|
+
readonly logger?: Logger;
|
|
37
|
+
readonly packages: readonly {
|
|
38
|
+
readonly name: string;
|
|
39
|
+
readonly installed: string;
|
|
40
|
+
}[];
|
|
41
|
+
/**
|
|
42
|
+
* Required once `check()` has flagged a contract-risk warning for any
|
|
43
|
+
* package in scope — the human-in-the-loop half of point 4 ("proposer
|
|
44
|
+
* d'annuler"). Absent or `false` with a warning present refuses before
|
|
45
|
+
* touching anything, `kind: 'confirmation-required'`.
|
|
46
|
+
*/
|
|
47
|
+
readonly confirmBreakingChange?: boolean;
|
|
48
|
+
readonly fetchImpl?: typeof fetch;
|
|
49
|
+
readonly now?: () => Date;
|
|
50
|
+
readonly backupDir?: string;
|
|
51
|
+
readonly runInstall?: RunPackageInstall;
|
|
52
|
+
}
|
|
53
|
+
export declare function applyUpdate(input: ApplyUpdateInput): Promise<ApplyUpdateResult>;
|
|
54
|
+
//# sourceMappingURL=apply.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../src/update/apply.ts"],"names":[],"mappings":"AAGA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EAAmB,KAAK,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9F,OAAO,EAA4B,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAoBtF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,4GAA4G;IAC5G,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAClC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,sBAAsB,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAA;AAInG,gFAAgF;AAChF,eAAO,MAAM,aAAa,EAAE,iBAkB3B,CAAA;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;CAAE,GACnE;IACE,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAA;IACtC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,mBAAmB,EAAE,CAAA;CAC/C,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;IAClC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAClF,QAAQ,CAAC,aAAa,EAAE,uBAAuB,CAAA;CAChD,CAAA;AAEL,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IACjD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACnF;;;;;OAKG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAA;IACxC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAA;CACxC;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAsCrF"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { execFile } from 'node:child_process';
|
|
2
|
+
import process from 'node:process';
|
|
3
|
+
import { promisify } from 'node:util';
|
|
4
|
+
import { CogentaError } from '@cogenta/core';
|
|
5
|
+
import { checkForUpdates } from './check.js';
|
|
6
|
+
import { createUpdateRestorePoint } from './restore-point.js';
|
|
7
|
+
/**
|
|
8
|
+
* "Mise à jour en un clic depuis l'admin (ou `cogenta update` en CLI) — avec
|
|
9
|
+
* un point de restauration obligatoire avant toute mise à jour... jamais une
|
|
10
|
+
* mise à jour sans filet" (L22 task 9, point 2).
|
|
11
|
+
*
|
|
12
|
+
* The order is deliberate: a package whose update the caller has not
|
|
13
|
+
* confirmed yet (because `check()` found a contract-risk warning) is refused
|
|
14
|
+
* with `kind: 'confirmation-required'` **before** anything is backed up or
|
|
15
|
+
* installed — there is nothing to protect yet. Once every risky package is
|
|
16
|
+
* confirmed, the restore point is created unconditionally, and only then
|
|
17
|
+
* does `npm install` run. If the backup step itself fails, this throws
|
|
18
|
+
* (`UPDATE_RESTORE_POINT_FAILED`, from `restore-point.ts`) and nothing is
|
|
19
|
+
* installed — a failed safety net cancels the update, it never becomes a
|
|
20
|
+
* warning that gets ignored.
|
|
21
|
+
*/
|
|
22
|
+
const execFileAsync = promisify(execFile);
|
|
23
|
+
const MAX_INSTALL_OUTPUT_BYTES = 10 * 1024 * 1024;
|
|
24
|
+
/** Real `npm install --save-exact <specs>`, run in the site's own directory. */
|
|
25
|
+
export const runNpmInstall = async ({ cwd, specs }) => {
|
|
26
|
+
const npmCommand = process.platform === 'win32' ? 'npm.cmd' : 'npm';
|
|
27
|
+
try {
|
|
28
|
+
const result = await execFileAsync(npmCommand, ['install', '--save-exact', ...specs], {
|
|
29
|
+
cwd,
|
|
30
|
+
maxBuffer: MAX_INSTALL_OUTPUT_BYTES,
|
|
31
|
+
});
|
|
32
|
+
return { stdout: result.stdout, stderr: result.stderr };
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
const withOutput = error;
|
|
36
|
+
throw new CogentaError({
|
|
37
|
+
code: 'UPDATE_APPLY_FAILED',
|
|
38
|
+
message: `npm install failed: ${withOutput.message}`,
|
|
39
|
+
hint: 'The restore point taken just before this was not touched — restore it with "cogenta restore apply" if the site is now in a broken state, or fix the underlying npm error (check network access and the npm registry) and try again.',
|
|
40
|
+
cause: error,
|
|
41
|
+
details: { stdout: withOutput.stdout, stderr: withOutput.stderr },
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
export async function applyUpdate(input) {
|
|
46
|
+
const report = await checkForUpdates({
|
|
47
|
+
packages: input.packages,
|
|
48
|
+
...(input.fetchImpl === undefined ? {} : { fetchImpl: input.fetchImpl }),
|
|
49
|
+
...(input.now === undefined ? {} : { now: input.now }),
|
|
50
|
+
});
|
|
51
|
+
const updatable = report.packages.filter((pkg) => pkg.updateAvailable && pkg.latest !== null);
|
|
52
|
+
if (updatable.length === 0)
|
|
53
|
+
return { kind: 'up-to-date', report };
|
|
54
|
+
const risky = updatable.filter((pkg) => (pkg.contractRisk?.warnings.length ?? 0) > 0);
|
|
55
|
+
if (risky.length > 0 && input.confirmBreakingChange !== true) {
|
|
56
|
+
return { kind: 'confirmation-required', report, risky };
|
|
57
|
+
}
|
|
58
|
+
// The safety net, unconditional, before anything else changes.
|
|
59
|
+
const restorePoint = await createUpdateRestorePoint({
|
|
60
|
+
...(input.cwd === undefined ? {} : { cwd: input.cwd }),
|
|
61
|
+
...(input.env === undefined ? {} : { env: input.env }),
|
|
62
|
+
...(input.logger === undefined ? {} : { logger: input.logger }),
|
|
63
|
+
...(input.backupDir === undefined ? {} : { dir: input.backupDir }),
|
|
64
|
+
});
|
|
65
|
+
const cwd = input.cwd ?? process.cwd();
|
|
66
|
+
const runInstall = input.runInstall ?? runNpmInstall;
|
|
67
|
+
const specs = updatable.map((pkg) => `${pkg.name}@${pkg.latest}`);
|
|
68
|
+
const installOutput = await runInstall({ cwd, specs });
|
|
69
|
+
return {
|
|
70
|
+
kind: 'applied',
|
|
71
|
+
report,
|
|
72
|
+
restorePoint,
|
|
73
|
+
installed: updatable.map((pkg) => ({ name: pkg.name, version: pkg.latest })),
|
|
74
|
+
installOutput,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=apply.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/update/apply.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Splits a Changesets-generated `CHANGELOG.md` into per-version sections, and
|
|
3
|
+
* flags the ones that look like they touch a frozen contract (A/B/C/D/E) —
|
|
4
|
+
* a **heuristic keyword scan of prose**, not a structured signal, and it says
|
|
5
|
+
* so everywhere it is surfaced. See `contract-risk.ts`'s module comment for
|
|
6
|
+
* the honest limits of what this can actually detect.
|
|
7
|
+
*/
|
|
8
|
+
export interface ChangelogSection {
|
|
9
|
+
readonly version: string;
|
|
10
|
+
readonly body: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function splitChangelogSections(markdown: string): readonly ChangelogSection[];
|
|
13
|
+
export interface ContractRiskWarning {
|
|
14
|
+
readonly version: string;
|
|
15
|
+
/** The matched section's own text, trimmed to a readable excerpt — never invented, always a substring of the real changelog. */
|
|
16
|
+
readonly excerpt: string;
|
|
17
|
+
}
|
|
18
|
+
/** The versions in `sections` whose body matches `FROZEN_CONTRACT_PATTERN`. */
|
|
19
|
+
export declare function sectionsMentioningContractRisk(sections: readonly ChangelogSection[]): readonly ContractRiskWarning[];
|
|
20
|
+
//# sourceMappingURL=changelog-risk.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"changelog-risk.d.ts","sourceRoot":"","sources":["../../src/update/changelog-risk.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAKD,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,gBAAgB,EAAE,CAmBpF;AAaD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,gIAAgI;IAChI,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,+EAA+E;AAC/E,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,SAAS,gBAAgB,EAAE,GACpC,SAAS,mBAAmB,EAAE,CAOhC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Splits a Changesets-generated `CHANGELOG.md` into per-version sections, and
|
|
3
|
+
* flags the ones that look like they touch a frozen contract (A/B/C/D/E) —
|
|
4
|
+
* a **heuristic keyword scan of prose**, not a structured signal, and it says
|
|
5
|
+
* so everywhere it is surfaced. See `contract-risk.ts`'s module comment for
|
|
6
|
+
* the honest limits of what this can actually detect.
|
|
7
|
+
*/
|
|
8
|
+
/** `## 0.5.0` — Changesets' own heading format (`@changesets/changelog-github` and the default changelog both use it). */
|
|
9
|
+
const VERSION_HEADING = /^##\s+(\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?)\s*$/u;
|
|
10
|
+
export function splitChangelogSections(markdown) {
|
|
11
|
+
const lines = markdown.split(/\r\n|\r|\n/u);
|
|
12
|
+
const sections = [];
|
|
13
|
+
let current = null;
|
|
14
|
+
for (const line of lines) {
|
|
15
|
+
const match = VERSION_HEADING.exec(line);
|
|
16
|
+
if (match?.[1] !== undefined) {
|
|
17
|
+
if (current !== null)
|
|
18
|
+
sections.push({ version: current.version, body: current.lines.join('\n').trim() });
|
|
19
|
+
current = { version: match[1], lines: [] };
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
if (current !== null)
|
|
23
|
+
current.lines.push(line);
|
|
24
|
+
}
|
|
25
|
+
if (current !== null)
|
|
26
|
+
sections.push({ version: current.version, body: current.lines.join('\n').trim() });
|
|
27
|
+
return sections;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Deliberately broad rather than precise: this is a warning, not a
|
|
31
|
+
* certification, and a missed keyword is worse than a false positive here
|
|
32
|
+
* (a human reviews every flagged version before an update is applied). Covers
|
|
33
|
+
* both languages this codebase's own changesets are written in (English,
|
|
34
|
+
* per AGENTS.md) and the French vocabulary this project's own design docs
|
|
35
|
+
* use for the same idea, in case a changeset note quotes one.
|
|
36
|
+
*/
|
|
37
|
+
const FROZEN_CONTRACT_PATTERN = /\bcontract\s+[a-e]\b|\bcontrat\s+[a-e]\b|schema@\d|tools@\d|blocks?@\d|theme@\d|breaking change|changement cassant|frozen contract|contrat\s+fig[eé]|\badr-\d{4}\b/iu;
|
|
38
|
+
/** The versions in `sections` whose body matches `FROZEN_CONTRACT_PATTERN`. */
|
|
39
|
+
export function sectionsMentioningContractRisk(sections) {
|
|
40
|
+
const warnings = [];
|
|
41
|
+
for (const section of sections) {
|
|
42
|
+
if (!FROZEN_CONTRACT_PATTERN.test(section.body))
|
|
43
|
+
continue;
|
|
44
|
+
warnings.push({ version: section.version, excerpt: excerptOf(section.body) });
|
|
45
|
+
}
|
|
46
|
+
return warnings;
|
|
47
|
+
}
|
|
48
|
+
const MAX_EXCERPT_LENGTH = 400;
|
|
49
|
+
function excerptOf(body) {
|
|
50
|
+
const collapsed = body.replace(/\s+/gu, ' ').trim();
|
|
51
|
+
return collapsed.length > MAX_EXCERPT_LENGTH
|
|
52
|
+
? `${collapsed.slice(0, MAX_EXCERPT_LENGTH)}…`
|
|
53
|
+
: collapsed;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=changelog-risk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"changelog-risk.js","sourceRoot":"","sources":["../../src/update/changelog-risk.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,0HAA0H;AAC1H,MAAM,eAAe,GAAG,gDAAgD,CAAA;AAExE,MAAM,UAAU,sBAAsB,CAAC,QAAgB;IACrD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;IAC3C,MAAM,QAAQ,GAAuB,EAAE,CAAA;IACvC,IAAI,OAAO,GAAgD,IAAI,CAAA;IAE/D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,OAAO,KAAK,IAAI;gBAClB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YACpF,OAAO,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;YAC1C,SAAQ;QACV,CAAC;QACD,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC;IACD,IAAI,OAAO,KAAK,IAAI;QAClB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IAEpF,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,uBAAuB,GAC3B,sKAAsK,CAAA;AAQxK,+EAA+E;AAC/E,MAAM,UAAU,8BAA8B,CAC5C,QAAqC;IAErC,MAAM,QAAQ,GAA0B,EAAE,CAAA;IAC1C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,SAAQ;QACzD,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC/E,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,kBAAkB,GAAG,GAAG,CAAA;AAE9B,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IACnD,OAAO,SAAS,CAAC,MAAM,GAAG,kBAAkB;QAC1C,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,GAAG;QAC9C,CAAC,CAAC,SAAS,CAAA;AACf,CAAC"}
|