@hozu/cli 0.13.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/accept.d.ts +11 -0
- package/dist/commands/accept.d.ts.map +1 -0
- package/dist/commands/accept.js +55 -0
- package/dist/commands/accept.js.map +1 -0
- package/dist/commands/add.d.ts.map +1 -1
- package/dist/commands/add.js +4 -1
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/browse-tab.d.ts +2 -0
- package/dist/commands/browse-tab.d.ts.map +1 -1
- package/dist/commands/browse-tab.js +3 -1
- package/dist/commands/browse-tab.js.map +1 -1
- package/dist/commands/browse.d.ts +4 -0
- package/dist/commands/browse.d.ts.map +1 -1
- package/dist/commands/browse.js +80 -9
- package/dist/commands/browse.js.map +1 -1
- package/dist/commands/build.js +1 -1
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/call.d.ts +2 -0
- package/dist/commands/call.d.ts.map +1 -1
- package/dist/commands/call.js +73 -10
- package/dist/commands/call.js.map +1 -1
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +3 -4
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/docs.d.ts +3 -1
- package/dist/commands/docs.d.ts.map +1 -1
- package/dist/commands/docs.js +23 -3
- package/dist/commands/docs.js.map +1 -1
- package/dist/commands/explain.js +1 -1
- package/dist/commands/explain.js.map +1 -1
- package/dist/commands/impact.d.ts.map +1 -1
- package/dist/commands/impact.js +4 -2
- package/dist/commands/impact.js.map +1 -1
- package/dist/commands/locate.js +2 -2
- package/dist/commands/locate.js.map +1 -1
- package/dist/commands/map.d.ts.map +1 -1
- package/dist/commands/map.js +5 -3
- package/dist/commands/map.js.map +1 -1
- package/dist/commands/plan.d.ts.map +1 -1
- package/dist/commands/plan.js +8 -0
- package/dist/commands/plan.js.map +1 -1
- package/dist/commands/scaffold.d.ts.map +1 -1
- package/dist/commands/scaffold.js +19 -22
- package/dist/commands/scaffold.js.map +1 -1
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +2 -0
- package/dist/commands/serve.js.map +1 -1
- package/dist/commands/show.d.ts +11 -0
- package/dist/commands/show.d.ts.map +1 -0
- package/dist/commands/show.js +55 -0
- package/dist/commands/show.js.map +1 -0
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +9 -3
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/why.d.ts +6 -0
- package/dist/commands/why.d.ts.map +1 -0
- package/dist/commands/why.js +73 -0
- package/dist/commands/why.js.map +1 -0
- package/dist/contract.d.ts +47 -21
- package/dist/contract.d.ts.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts +2 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +127 -65
- package/dist/main.js.map +1 -1
- package/dist/migrate/step-0.11.d.ts +7 -1
- package/dist/migrate/step-0.11.d.ts.map +1 -1
- package/dist/migrate/step-0.11.js +6 -4
- package/dist/migrate/step-0.11.js.map +1 -1
- package/dist/migrate/step-0.14.d.ts +6 -0
- package/dist/migrate/step-0.14.d.ts.map +1 -0
- package/dist/migrate/step-0.14.js +40 -0
- package/dist/migrate/step-0.14.js.map +1 -0
- package/dist/migrate/step-0.15.d.ts +14 -0
- package/dist/migrate/step-0.15.d.ts.map +1 -0
- package/dist/migrate/step-0.15.js +94 -0
- package/dist/migrate/step-0.15.js.map +1 -0
- package/dist/migrate/steps.d.ts.map +1 -1
- package/dist/migrate/steps.js +22 -1
- package/dist/migrate/steps.js.map +1 -1
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +2 -76
- package/dist/output.js.map +1 -1
- package/package.json +8 -8
- package/schema/call.schema.json +6 -1
- package/schema/check.schema.json +48 -3
- package/schema/inspect.schema.json +103 -1
- package/schema/map.schema.json +14 -0
- package/schema/migrate.schema.json +48 -3
- package/schema/render.schema.json +6 -1
- package/schema/show.schema.json +79 -0
- package/schema/why.schema.json +983 -0
- package/dist/commands/graph.d.ts +0 -7
- package/dist/commands/graph.d.ts.map +0 -1
- package/dist/commands/graph.js +0 -137
- package/dist/commands/graph.js.map +0 -1
- package/schema/explain.schema.json +0 -171
- package/schema/graph.schema.json +0 -109
- package/schema/impact.schema.json +0 -242
- package/schema/locate.schema.json +0 -488
- package/schema/validate.schema.json +0 -383
package/dist/main.js
CHANGED
|
@@ -8,16 +8,12 @@ import { browseFailed, describeBrowse, runBrowse, } from './commands/browse.js';
|
|
|
8
8
|
import { runBuild } from './commands/build.js';
|
|
9
9
|
import { describeCall, runCall } from './commands/call.js';
|
|
10
10
|
import { runCheck, startTypes } from './commands/check.js';
|
|
11
|
-
import { describeComponent
|
|
11
|
+
import { describeComponent } from './commands/components.js';
|
|
12
12
|
import { runDev } from './commands/dev.js';
|
|
13
13
|
import { runDocs } from './commands/docs.js';
|
|
14
14
|
import { describeEnv, runEnv } from './commands/env.js';
|
|
15
|
-
import { describeExplain, runExplain } from './commands/explain.js';
|
|
16
|
-
import { mermaid, runGraph } from './commands/graph.js';
|
|
17
|
-
import { describeImpact, runImpact } from './commands/impact.js';
|
|
18
15
|
import { runInspect } from './commands/inspect.js';
|
|
19
16
|
import { describeAddKit, runAddKit } from './commands/kits.js';
|
|
20
|
-
import { describeLocate, runLocate } from './commands/locate.js';
|
|
21
17
|
import { describeMap, runMap } from './commands/map.js';
|
|
22
18
|
import { describeMigrate, runMigrate } from './commands/migrate.js';
|
|
23
19
|
import { describePlan, runPlan } from './commands/plan.js';
|
|
@@ -25,8 +21,10 @@ import { describeRender, runRender } from './commands/render.js';
|
|
|
25
21
|
import { describeRequest, runRequest } from './commands/request.js';
|
|
26
22
|
import { describeRequests, runRequests } from './commands/requests.js';
|
|
27
23
|
import { runServe } from './commands/serve.js';
|
|
24
|
+
import { describeShow, runShow } from './commands/show.js';
|
|
28
25
|
import { runSkill } from './commands/skill.js';
|
|
29
|
-
import { featuresCreated,
|
|
26
|
+
import { featuresCreated, seedLockIsolated } from './commands/validate.js';
|
|
27
|
+
import { describeWhy, runWhy } from './commands/why.js';
|
|
30
28
|
import { HozuCliError } from './errors.js';
|
|
31
29
|
import { load } from './load.js';
|
|
32
30
|
import { human, json } from './output.js';
|
|
@@ -34,31 +32,35 @@ import { describeOverrides } from './uses.js';
|
|
|
34
32
|
const usage = `Usage: hozu <command> [options]
|
|
35
33
|
|
|
36
34
|
Commands:
|
|
37
|
-
validate [feature] Build the IR, run contracts, report diagnostics (exit 1 on errors)
|
|
38
35
|
inspect <feature|id> Print a feature's canonical IR and summary, or a component (ui.Button) with its uses
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
plan <route> Derived render plan: regions, cache modes, hydration islands
|
|
36
|
+
why <target> What it is, where (file:line), what uses it and what it affects: a declaration
|
|
37
|
+
(cart.addItem), a component (ui.Button), a state (cart.idle) with its transitions
|
|
38
|
+
and contracts, a view node (DevTools id or IR pointer) or a page (page:home)
|
|
39
|
+
plan <route|path> Derived render plan of a route (home) or a path (/products/mug): regions, cache modes, islands
|
|
44
40
|
build Write dist/public, dist/server/render.js and dist/manifest.json for deployment
|
|
45
41
|
serve Start the app module (project({ app })) on PORT with adapter-node: what npm start runs
|
|
46
42
|
dev Start the dev server: reload on edits, hot CSS and Hozu DevTools
|
|
47
43
|
(--devtools builder|developer picks its mode, --no-devtools hides it)
|
|
48
44
|
requests [done <n>] The change requests saved from DevTools (--full: all open ones as one prompt);
|
|
49
45
|
done <n> --result "<what changed>" removes one
|
|
50
|
-
|
|
46
|
+
show [<target>] Show the person a note on the page under hozu dev: <target> is a DevTools id or
|
|
47
|
+
page:<route>, --note "<text>" (--page /path where it is); no target lists the notes;
|
|
48
|
+
--done <n> removes one, --clear all
|
|
49
|
+
docs [topic] [--more] Print one topic of the guide, its short form (--more: options and edge cases too);
|
|
50
|
+
no topic lists them; docs HZ083 prints one diagnostic; docs components adds the app's list
|
|
51
51
|
migrate [--dry-run] Upgrade the app from Hozu 0.10 or later: rewrite, raise the dependencies, then (run
|
|
52
52
|
again after installing) compare the IR and check; never writes the lock
|
|
53
53
|
render <id> Render one component alone (ui.Button): HTML, root class, owned properties, diagnostics
|
|
54
54
|
skill Rewrite the agent skill for this Hozu version (--agent claude|agents|both)
|
|
55
|
-
check
|
|
55
|
+
check [--no-types] Type-check the app and validate it: the one command to run after every edit
|
|
56
|
+
(--no-types: rules and contracts only)
|
|
56
57
|
map Outline the app (routes, queries, mutations, events, states, views) with file:line
|
|
57
58
|
get <path>... Request pages in-process (no server): status, title, alerts, visible text, forms
|
|
58
59
|
env [--example] Every env variable the app reads: side, required, default, set now, internal URL;
|
|
59
60
|
--example writes .env.example
|
|
60
|
-
call <feature>.<effect> Run one query or
|
|
61
|
-
--input '<json>', --session '<json>'
|
|
61
|
+
call <feature>.<effect> Run one query, mutation or endpoint in-process (no server) through the app's own
|
|
62
|
+
handler: --input '<json>', --session '<json>', --header 'Name: value' (endpoints);
|
|
63
|
+
a mutation or a POST endpoint writes real data and needs --write
|
|
62
64
|
browse <path> --do <step> Run the steps in headless Chrome with and without JS (no server): what each step changed
|
|
63
65
|
add feature <name> Scaffold a working feature (model, views, contracts, resolvers) and wire it in
|
|
64
66
|
add component <kit|feature> <Name> [--client]
|
|
@@ -70,21 +72,27 @@ Commands:
|
|
|
70
72
|
Options:
|
|
71
73
|
--json Machine-readable output (schemas in @hozu/cli/schema)
|
|
72
74
|
--config <path> Config file (default: hozu.config.ts)
|
|
73
|
-
--update-lock
|
|
75
|
+
--update-lock check: rewrite hozu.lock.json when there are no errors
|
|
74
76
|
--out <dir> build: output directory (default: dist)
|
|
75
77
|
--agent <agent> skill: claude, agents or both (default: the folders that exist)
|
|
78
|
+
--header <h> call/browse: a request header, 'Name: value' (repeatable), e.g. a bearer token; in browse,
|
|
79
|
+
before the first --as for every actor, after an --as for that actor
|
|
76
80
|
--session <json> get/browse: start signed in with this session (a real one: sign-out works); after --as, that actor's
|
|
77
81
|
--full get/browse: print the whole visible text and every changed line
|
|
78
82
|
--select <selector> get/browse: print matching elements with their attributes: button, #id, [role=alert], a[href]
|
|
79
83
|
--forms get: list the page's forms: fields with defaults, checkbox groups, form= controls, submit buttons
|
|
80
84
|
--do <step> browse: 'fill <label>=<value>', 'select <label>=<option>', 'check <label>', 'uncheck <label>',
|
|
81
|
-
'click <name>', 'submit "<form>"', 'press <key>', 'wait <ms>', 'goto <path>'
|
|
82
|
-
|
|
85
|
+
'click <name>', 'submit "<form>"', 'press <key>', 'wait <ms>', 'goto <path>',
|
|
86
|
+
'post <path> a=1&b=2', 'remember <name> from url|<selector> [@attr]' (later steps read $name)
|
|
87
|
+
(repeatable, in order); a target may end with in "<text>" (the list item, table row or form)
|
|
83
88
|
--js <on|off|both> browse: run the steps with JS, without JS, or both side by side (default both)
|
|
84
89
|
--as <name> browse: the steps after it are this actor's, in its own browser; repeat to switch actors
|
|
85
90
|
--screenshot <file> browse: save a PNG of the viewport after the steps
|
|
86
91
|
--reduced-motion browse: emulate prefers-reduced-motion: reduce
|
|
87
|
-
--page <path> add feature:
|
|
92
|
+
--page <path> add feature/show: the route and page to add (add feature), the page a note is on (show)
|
|
93
|
+
--note <text> show: what the person should see there, in their words
|
|
94
|
+
--done <n> show: remove note n
|
|
95
|
+
--clear show: remove every note
|
|
88
96
|
--with <parts> add feature: any of detail,toggle,filter,remove,auth (comma-separated)
|
|
89
97
|
--sync add kit: rewrite the generated block of <id>/tv.ts from the current design system
|
|
90
98
|
--client add component: a client component (browser code in its own module)
|
|
@@ -93,6 +101,32 @@ Options:
|
|
|
93
101
|
--slot <name=text> render: a slot's text (repeatable)
|
|
94
102
|
-h, --help Show this help
|
|
95
103
|
`;
|
|
104
|
+
const blocks = (section, indent) => {
|
|
105
|
+
const body = usage.split(`\n${section}:\n`)[1].split('\n\n')[0].split('\n');
|
|
106
|
+
const out = [];
|
|
107
|
+
for (const line of body)
|
|
108
|
+
if (line.startsWith(' '.repeat(indent)) && out.length)
|
|
109
|
+
out.at(-1).push(line);
|
|
110
|
+
else
|
|
111
|
+
out.push([line]);
|
|
112
|
+
return out;
|
|
113
|
+
};
|
|
114
|
+
/** `hozu <command> --help`: the command's own lines and options, plus the global ones (ADR 0056 A8). */
|
|
115
|
+
export function commandHelp(command, sub) {
|
|
116
|
+
const name = command === 'add' && sub ? `add ${sub}` : command;
|
|
117
|
+
const own = blocks('Commands', 28).filter((b) => {
|
|
118
|
+
const head = b[0].trim();
|
|
119
|
+
return head === name || head.startsWith(`${name} `) || head.split(' | ').includes(command);
|
|
120
|
+
});
|
|
121
|
+
if (!own.length)
|
|
122
|
+
return null;
|
|
123
|
+
const scope = (b) => /^\s+\S+(?: <[^>]+>)?\s+([a-z/ ]+):/.exec(b[0])?.[1]?.split('/') ?? [];
|
|
124
|
+
const options = blocks('Options', 23).filter((b) => {
|
|
125
|
+
const s = scope(b);
|
|
126
|
+
return s.length === 0 ? /--json|--config|--help/.test(b[0]) : s.some((x) => x === name || x === command);
|
|
127
|
+
});
|
|
128
|
+
return `Usage: hozu ${name} [options]\n\n${own.flat().join('\n')}\n\nOptions:\n${options.flat().join('\n')}\n`;
|
|
129
|
+
}
|
|
96
130
|
const browseJs = (value) => {
|
|
97
131
|
if (value === undefined)
|
|
98
132
|
return 'both';
|
|
@@ -104,9 +138,16 @@ export function browsePlan(tokens) {
|
|
|
104
138
|
const actors = [];
|
|
105
139
|
const plan = [];
|
|
106
140
|
const named = tokens.some((t) => t.kind === 'option' && t.name === 'as');
|
|
141
|
+
const shared = tokens.filter((t) => t.kind === 'option' && t.name === 'header').map((t) => t.value ?? '');
|
|
142
|
+
const before = named
|
|
143
|
+
? tokens
|
|
144
|
+
.slice(0, tokens.findIndex((t) => t.kind === 'option' && t.name === 'as'))
|
|
145
|
+
.filter((t) => t.kind === 'option' && t.name === 'header')
|
|
146
|
+
.map((t) => t.value ?? '')
|
|
147
|
+
: shared;
|
|
107
148
|
if (!named) {
|
|
108
149
|
const session = tokens.filter((t) => t.kind === 'option' && t.name === 'session').at(-1)?.value;
|
|
109
|
-
actors.push({ name: null, session });
|
|
150
|
+
actors.push({ name: null, session, headers: shared });
|
|
110
151
|
plan.push({ open: 0 });
|
|
111
152
|
}
|
|
112
153
|
let current = named ? -1 : 0;
|
|
@@ -117,7 +158,7 @@ export function browsePlan(tokens) {
|
|
|
117
158
|
const name = t.value ?? '';
|
|
118
159
|
current = actors.findIndex((a) => a.name === name);
|
|
119
160
|
if (current < 0) {
|
|
120
|
-
current = actors.push({ name, session: undefined }) - 1;
|
|
161
|
+
current = actors.push({ name, session: undefined, headers: [...before] }) - 1;
|
|
121
162
|
plan.push({ open: current });
|
|
122
163
|
}
|
|
123
164
|
}
|
|
@@ -131,6 +172,8 @@ export function browsePlan(tokens) {
|
|
|
131
172
|
throw new HozuCliError('usage', `--session for ${actor.name} must come right after its first --as`, []);
|
|
132
173
|
actor.session = t.value;
|
|
133
174
|
}
|
|
175
|
+
else if (t.name === 'header' && named && current >= 0)
|
|
176
|
+
actors[current].headers.push(t.value ?? '');
|
|
134
177
|
else if (t.name === 'do')
|
|
135
178
|
plan.push({ actor: current, step: t.value ?? '' });
|
|
136
179
|
}
|
|
@@ -148,9 +191,12 @@ export async function main(argv, cwd = process.cwd(), out = (s) => process.stdou
|
|
|
148
191
|
json: { type: 'boolean', default: false },
|
|
149
192
|
config: { type: 'string' },
|
|
150
193
|
'update-lock': { type: 'boolean', default: false },
|
|
194
|
+
'no-types': { type: 'boolean', default: false },
|
|
195
|
+
more: { type: 'boolean', default: false },
|
|
151
196
|
out: { type: 'string' },
|
|
152
197
|
agent: { type: 'string' },
|
|
153
198
|
session: { type: 'string' },
|
|
199
|
+
header: { type: 'string', multiple: true },
|
|
154
200
|
input: { type: 'string' },
|
|
155
201
|
write: { type: 'boolean', default: false },
|
|
156
202
|
example: { type: 'boolean', default: false },
|
|
@@ -170,6 +216,9 @@ export async function main(argv, cwd = process.cwd(), out = (s) => process.stdou
|
|
|
170
216
|
screenshot: { type: 'string' },
|
|
171
217
|
'reduced-motion': { type: 'boolean', default: false },
|
|
172
218
|
result: { type: 'string' },
|
|
219
|
+
note: { type: 'string' },
|
|
220
|
+
done: { type: 'string' },
|
|
221
|
+
clear: { type: 'boolean', default: false },
|
|
173
222
|
'no-devtools': { type: 'boolean', default: false },
|
|
174
223
|
devtools: { type: 'string' },
|
|
175
224
|
'dry-run': { type: 'boolean', default: false },
|
|
@@ -178,13 +227,19 @@ export async function main(argv, cwd = process.cwd(), out = (s) => process.stdou
|
|
|
178
227
|
});
|
|
179
228
|
asJson = values.json === true;
|
|
180
229
|
const [command, target] = positionals;
|
|
230
|
+
if (values.help && command) {
|
|
231
|
+
const help = commandHelp(command, command === 'add' ? target : undefined);
|
|
232
|
+
if (help) {
|
|
233
|
+
out(help);
|
|
234
|
+
return 0;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
181
237
|
if (values.help || !command) {
|
|
182
238
|
out(usage);
|
|
183
239
|
return command || values.help ? 0 : 2;
|
|
184
240
|
}
|
|
185
241
|
const commands = [
|
|
186
242
|
'docs',
|
|
187
|
-
'validate',
|
|
188
243
|
'check',
|
|
189
244
|
'map',
|
|
190
245
|
'get',
|
|
@@ -193,18 +248,28 @@ export async function main(argv, cwd = process.cwd(), out = (s) => process.stdou
|
|
|
193
248
|
'browse',
|
|
194
249
|
'add',
|
|
195
250
|
'inspect',
|
|
196
|
-
'
|
|
197
|
-
'explain',
|
|
198
|
-
'locate',
|
|
199
|
-
'impact',
|
|
251
|
+
'why',
|
|
200
252
|
'plan',
|
|
201
253
|
'render',
|
|
202
254
|
'build',
|
|
203
255
|
'serve',
|
|
204
256
|
'dev',
|
|
205
257
|
'requests',
|
|
258
|
+
'show',
|
|
206
259
|
'skill',
|
|
207
260
|
];
|
|
261
|
+
if (command === 'validate')
|
|
262
|
+
throw new HozuCliError('usage', 'hozu validate was replaced by hozu check (ADR 0053 B)', [
|
|
263
|
+
'hozu check # types, rules and contracts',
|
|
264
|
+
'hozu check --no-types # rules and contracts only',
|
|
265
|
+
]);
|
|
266
|
+
if (command === 'graph')
|
|
267
|
+
throw new HozuCliError('usage', 'hozu graph was removed in 0.14 (ADR 0053 F)', [
|
|
268
|
+
'hozu why <feature>.<state> # a state, its transitions and contracts',
|
|
269
|
+
'hozu inspect <feature> --json # the whole IR',
|
|
270
|
+
]);
|
|
271
|
+
if (command === 'impact' || command === 'locate' || command === 'explain')
|
|
272
|
+
throw new HozuCliError('usage', `hozu ${command} was removed in 0.15: hozu why answers it (ADR 0053 F)`, [`hozu why ${target ?? '<target>'}`]);
|
|
208
273
|
if (command === 'post')
|
|
209
274
|
throw new HozuCliError('usage', 'hozu post was replaced by hozu browse, which posts forms with JS off too', [
|
|
210
275
|
"hozu browse / --do 'fill Title=Milk' --do 'press Enter' # runs with and without JS",
|
|
@@ -218,7 +283,7 @@ export async function main(argv, cwd = process.cwd(), out = (s) => process.stdou
|
|
|
218
283
|
if (!commands.includes(command))
|
|
219
284
|
throw new HozuCliError('usage', `Unknown command "${command}"`, commands);
|
|
220
285
|
if (command === 'docs') {
|
|
221
|
-
const result = await runDocs(cwd, target, values.config);
|
|
286
|
+
const result = await runDocs(cwd, target, values.config, values.more === true);
|
|
222
287
|
out(asJson ? json(result) : result.text);
|
|
223
288
|
return 0;
|
|
224
289
|
}
|
|
@@ -261,13 +326,28 @@ export async function main(argv, cwd = process.cwd(), out = (s) => process.stdou
|
|
|
261
326
|
out(asJson ? json(result) : describeAdd(result));
|
|
262
327
|
return 0;
|
|
263
328
|
}
|
|
329
|
+
const showOptions = {
|
|
330
|
+
note: values.note,
|
|
331
|
+
page: values.page,
|
|
332
|
+
done: values.done,
|
|
333
|
+
clear: values.clear === true,
|
|
334
|
+
};
|
|
335
|
+
if (command === 'show' && !target) {
|
|
336
|
+
const result = runShow(null, cwd, undefined, showOptions);
|
|
337
|
+
out(asJson ? json(result) : describeShow(result));
|
|
338
|
+
return 0;
|
|
339
|
+
}
|
|
264
340
|
if (command === 'requests') {
|
|
265
341
|
const result = runRequests(cwd, target, positionals[2], values.result, values.full === true);
|
|
266
342
|
out(asJson ? json(result) : describeRequests(result));
|
|
267
343
|
return 0;
|
|
268
344
|
}
|
|
269
345
|
const configPath = resolve(cwd, values.config ?? 'hozu.config.ts');
|
|
270
|
-
const typeRun = command
|
|
346
|
+
const typeRun = command !== 'check' || !existsSync(configPath)
|
|
347
|
+
? undefined
|
|
348
|
+
: values['no-types'] === true
|
|
349
|
+
? Promise.resolve({ types: { ok: true, skipped: true, errors: [] }, ms: 0 })
|
|
350
|
+
: startTypes(configPath);
|
|
271
351
|
const loading = performance.now();
|
|
272
352
|
const loaded = await load(values.config, cwd);
|
|
273
353
|
const loadMs = performance.now() - loading;
|
|
@@ -286,15 +366,21 @@ export async function main(argv, cwd = process.cwd(), out = (s) => process.stdou
|
|
|
286
366
|
out('\n');
|
|
287
367
|
for (const d of result.validate.diagnostics)
|
|
288
368
|
out(`${human(d)}\n\n`);
|
|
369
|
+
for (const a of result.validate.accepted)
|
|
370
|
+
out(`accepted ${a.code} at ${a.at}: ${a.reason}\n`);
|
|
371
|
+
if (result.validate.lockAccepted?.length)
|
|
372
|
+
out(`lock accepted ${result.validate.lockAccepted.length} ${result.validate.lockAccepted.length === 1 ? 'change' : 'changes'} (list them in your summary):\n${result.validate.lockAccepted.map((l) => ` ${l}\n`).join('')}`);
|
|
289
373
|
for (const o of result.overrides)
|
|
290
374
|
out(`${describeOverrides(o)}\n`);
|
|
291
375
|
if (result.overrides.length)
|
|
292
376
|
out('\n');
|
|
293
377
|
const v = result.validate;
|
|
294
378
|
const types = result.types.skipped
|
|
295
|
-
? 'types
|
|
379
|
+
? values['no-types'] === true
|
|
380
|
+
? 'types not checked (--no-types)'
|
|
381
|
+
: 'types skipped (npm install -D typescript)'
|
|
296
382
|
: `types ${result.types.ok ? 'ok' : `${result.types.errors.length} errors`}`;
|
|
297
|
-
out(`${result.ok ? '✔' : '✖'} ${types} · ${v.summary.errors} errors, ${v.summary.warnings} warnings · contracts ${Object.values(v.coverage).reduce((n, c) => n + c.covered, 0)}/${Object.values(v.coverage).reduce((n, c) => n + c.total, 0)} decisions · lock ${v.lock}\n`);
|
|
383
|
+
out(`${result.ok ? '✔' : '✖'} ${types} · ${v.summary.errors} errors, ${v.summary.warnings} warnings${v.summary.accepted ? ` (${v.summary.accepted} accepted)` : ''} · contracts ${Object.values(v.coverage).reduce((n, c) => n + c.covered, 0)}/${Object.values(v.coverage).reduce((n, c) => n + c.total, 0)} decisions · lock ${v.lock}\n`);
|
|
298
384
|
}
|
|
299
385
|
return result.ok ? 0 : 1;
|
|
300
386
|
}
|
|
@@ -318,6 +404,7 @@ export async function main(argv, cwd = process.cwd(), out = (s) => process.stdou
|
|
|
318
404
|
input: values.input,
|
|
319
405
|
session: values.session,
|
|
320
406
|
write: values.write === true,
|
|
407
|
+
headers: values.header ?? [],
|
|
321
408
|
});
|
|
322
409
|
out(asJson ? json(result) : describeCall(result));
|
|
323
410
|
return result.result.ok ? 0 : 1;
|
|
@@ -346,20 +433,6 @@ export async function main(argv, cwd = process.cwd(), out = (s) => process.stdou
|
|
|
346
433
|
out(asJson ? json(result) : describeBrowse(result, values.full === true));
|
|
347
434
|
return browseFailed(result) ? 1 : 0;
|
|
348
435
|
}
|
|
349
|
-
if (command === 'validate') {
|
|
350
|
-
const result = await runValidate(loaded, target, cwd, values['update-lock'] === true);
|
|
351
|
-
if (asJson)
|
|
352
|
-
out(json(result));
|
|
353
|
-
else {
|
|
354
|
-
for (const d of result.diagnostics)
|
|
355
|
-
out(`${human(d)}\n\n`);
|
|
356
|
-
const coverage = Object.entries(result.coverage)
|
|
357
|
-
.map(([f, c]) => `${f} ${c.covered}/${c.total} decisions (${c.transitions} transitions)`)
|
|
358
|
-
.join(', ');
|
|
359
|
-
out(`${result.ok ? '✔' : '✖'} ${result.summary.errors} errors, ${result.summary.warnings} warnings · contracts cover ${coverage || 'n/a'} · styles ${result.styles} · lock ${result.lock} (ir ${result.hash.slice(0, 12)})\n`);
|
|
360
|
-
}
|
|
361
|
-
return result.ok ? 0 : 1;
|
|
362
|
-
}
|
|
363
436
|
if (command === 'inspect') {
|
|
364
437
|
const result = runInspect(loaded, target, cwd);
|
|
365
438
|
if (asJson)
|
|
@@ -380,13 +453,14 @@ export async function main(argv, cwd = process.cwd(), out = (s) => process.stdou
|
|
|
380
453
|
out(asJson ? json(result) : describePlan(result));
|
|
381
454
|
return 0;
|
|
382
455
|
}
|
|
383
|
-
if (command === '
|
|
384
|
-
const result =
|
|
385
|
-
out(asJson
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
456
|
+
if (command === 'show') {
|
|
457
|
+
const result = runShow(loaded, cwd, target, showOptions);
|
|
458
|
+
out(asJson ? json(result) : describeShow(result));
|
|
459
|
+
return 0;
|
|
460
|
+
}
|
|
461
|
+
if (command === 'why') {
|
|
462
|
+
const result = runWhy(loaded, target, cwd);
|
|
463
|
+
out(asJson ? json(result) : describeWhy(result));
|
|
390
464
|
return 0;
|
|
391
465
|
}
|
|
392
466
|
if (command === 'render') {
|
|
@@ -398,19 +472,7 @@ export async function main(argv, cwd = process.cwd(), out = (s) => process.stdou
|
|
|
398
472
|
out(asJson ? json(result) : describeRender(result));
|
|
399
473
|
return result.ok ? 0 : 1;
|
|
400
474
|
}
|
|
401
|
-
|
|
402
|
-
const result = runLocate(loaded, target);
|
|
403
|
-
out(asJson ? json(result) : describeLocate(result));
|
|
404
|
-
return 0;
|
|
405
|
-
}
|
|
406
|
-
if (command === 'explain') {
|
|
407
|
-
const result = runExplain(loaded, target);
|
|
408
|
-
out(asJson ? json(result) : describeExplain(result));
|
|
409
|
-
return 0;
|
|
410
|
-
}
|
|
411
|
-
const graph = runGraph(loaded, target);
|
|
412
|
-
out(asJson ? json(graph) : mermaid(graph));
|
|
413
|
-
return 0;
|
|
475
|
+
return 2;
|
|
414
476
|
}
|
|
415
477
|
catch (error) {
|
|
416
478
|
const e = error instanceof HozuCliError
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,13 @@ import { type Note } from './ast.ts';
|
|
|
5
5
|
* `'either'` and every 0.10 implementation lives in the server resolvers. Written in the style of the object: a new
|
|
6
6
|
* line with the indentation of its last property, or `, runs: 'server'` on one line.
|
|
7
7
|
*/
|
|
8
|
-
export declare
|
|
8
|
+
export declare const addRunsServer: (file: string, source: string) => {
|
|
9
|
+
code: string;
|
|
10
|
+
notes: Note[];
|
|
11
|
+
count: number;
|
|
12
|
+
};
|
|
13
|
+
/** Adds `runs: '<value>'` to every query and mutation without one, in the object's own style. */
|
|
14
|
+
export declare function addRuns(value: 'server' | 'either', file: string, source: string): {
|
|
9
15
|
code: string;
|
|
10
16
|
notes: Note[];
|
|
11
17
|
count: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-0.11.d.ts","sourceRoot":"","sources":["../../src/migrate/step-0.11.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAOL,KAAK,IAAI,EAGV,MAAM,UAAU,CAAA;AAajB;;;;GAIG;AACH,
|
|
1
|
+
{"version":3,"file":"step-0.11.d.ts","sourceRoot":"","sources":["../../src/migrate/step-0.11.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAOL,KAAK,IAAI,EAGV,MAAM,UAAU,CAAA;AAajB;;;;GAIG;AACH,eAAO,MAAM,aAAa,SAAU,MAAM,UAAU,MAAM;UAO/C,MAAM;WAAS,IAAI,EAAE;WAAS,MAAM;CAP+C,CAAA;AAE9F,iGAAiG;AACjG,wBAAgB,OAAO,CACrB,KAAK,EAAE,QAAQ,GAAG,QAAQ,EAC1B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,IAAI,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAqDhD;AAED,oGAAoG;AACpG,wBAAgB,YAAY,CAAC,EAAE,EAAE,IAAI,GAAG,IAAI,CAS3C"}
|
|
@@ -12,7 +12,9 @@ function quoteOf(source, object) {
|
|
|
12
12
|
* `'either'` and every 0.10 implementation lives in the server resolvers. Written in the style of the object: a new
|
|
13
13
|
* line with the indentation of its last property, or `, runs: 'server'` on one line.
|
|
14
14
|
*/
|
|
15
|
-
export
|
|
15
|
+
export const addRunsServer = (file, source) => addRuns('server', file, source);
|
|
16
|
+
/** Adds `runs: '<value>'` to every query and mutation without one, in the object's own style. */
|
|
17
|
+
export function addRuns(value, file, source) {
|
|
16
18
|
if (!source.includes('@hozu/core'))
|
|
17
19
|
return { code: source, notes: [], count: 0 };
|
|
18
20
|
let program;
|
|
@@ -37,7 +39,7 @@ export function addRunsServer(file, source) {
|
|
|
37
39
|
notes.push({
|
|
38
40
|
file,
|
|
39
41
|
line: lineOf(source, n.start),
|
|
40
|
-
message: `${locals.get(n.callee.name)}(…) without an object literal: add runs: '
|
|
42
|
+
message: `${locals.get(n.callee.name)}(…) without an object literal: add runs: '${value}' by hand`,
|
|
41
43
|
see: 'fetch',
|
|
42
44
|
});
|
|
43
45
|
return;
|
|
@@ -48,14 +50,14 @@ export function addRunsServer(file, source) {
|
|
|
48
50
|
notes.push({
|
|
49
51
|
file,
|
|
50
52
|
line: lineOf(source, n.start),
|
|
51
|
-
message: `${locals.get(n.callee.name)}({ ...spread }): add runs: '
|
|
53
|
+
message: `${locals.get(n.callee.name)}({ ...spread }): add runs: '${value}' by hand`,
|
|
52
54
|
see: 'fetch',
|
|
53
55
|
});
|
|
54
56
|
return;
|
|
55
57
|
}
|
|
56
58
|
const q = quoteOf(source, arg);
|
|
57
59
|
const last = arg.properties.at(-1);
|
|
58
|
-
const prop = `runs: ${q}
|
|
60
|
+
const prop = `runs: ${q}${value}${q}`;
|
|
59
61
|
if (!last) {
|
|
60
62
|
edits.push([arg.start, arg.end, `{ ${prop} }`]);
|
|
61
63
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-0.11.js","sourceRoot":"","sources":["../../src/migrate/step-0.11.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,UAAU,EAEV,KAAK,EACL,MAAM,EAGN,aAAa,EACb,IAAI,GACL,MAAM,UAAU,CAAA;AAEjB,MAAM,KAAK,GAAG,CAAC,CAAO,EAAE,EAAE,CACxB,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAEjG,2FAA2F;AAC3F,SAAS,OAAO,CAAC,MAAc,EAAE,MAAY;IAC3C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU;QAC/B,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ;YAC1F,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;IACpD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;AAC3F,CAAC;AAED;;;;GAIG;AACH,MAAM,
|
|
1
|
+
{"version":3,"file":"step-0.11.js","sourceRoot":"","sources":["../../src/migrate/step-0.11.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step-0.14.d.ts","sourceRoot":"","sources":["../../src/migrate/step-0.14.ts"],"names":[],"mappings":"AAMA,6GAA6G;AAC7G,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CA2B7F"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { existsSync, readFileSync, writeFileSync } from 'node:fs';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
const VALIDATE = /\bhozu validate(?:\s+(?!-)[\w.-]+)?/g;
|
|
4
|
+
const GRAPH = /\bhozu graph\b/;
|
|
5
|
+
/** 0.13 → 0.14 (ADR 0053 B, F): package.json scripts call `hozu check`; `hozu graph` scripts are removed. */
|
|
6
|
+
export function rewriteScripts(dir, write) {
|
|
7
|
+
const file = join(dir, 'package.json');
|
|
8
|
+
if (!existsSync(file))
|
|
9
|
+
return [];
|
|
10
|
+
const text = readFileSync(file, 'utf8');
|
|
11
|
+
const pkg = JSON.parse(text);
|
|
12
|
+
if (!pkg.scripts)
|
|
13
|
+
return [];
|
|
14
|
+
let edits = 0;
|
|
15
|
+
const scripts = {};
|
|
16
|
+
for (const [name, command] of Object.entries(pkg.scripts)) {
|
|
17
|
+
if (GRAPH.test(command)) {
|
|
18
|
+
edits++;
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
const next = command.replace(VALIDATE, 'hozu check');
|
|
22
|
+
const key = name === 'validate' && next === 'hozu check' && !('check' in pkg.scripts) ? 'check' : name;
|
|
23
|
+
if (key === name && next === command)
|
|
24
|
+
scripts[name] = command;
|
|
25
|
+
else if (!(key in scripts)) {
|
|
26
|
+
edits++;
|
|
27
|
+
scripts[key] = next;
|
|
28
|
+
}
|
|
29
|
+
else
|
|
30
|
+
edits++;
|
|
31
|
+
}
|
|
32
|
+
if (!edits)
|
|
33
|
+
return [];
|
|
34
|
+
if (write) {
|
|
35
|
+
const indent = /^[ \t]+(?=")/m.exec(text)?.[0] ?? ' ';
|
|
36
|
+
writeFileSync(file, `${JSON.stringify({ ...pkg, scripts }, null, indent)}\n`);
|
|
37
|
+
}
|
|
38
|
+
return [{ file: 'package.json', edits }];
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=step-0.14.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step-0.14.js","sourceRoot":"","sources":["../../src/migrate/step-0.14.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,QAAQ,GAAG,sCAAsC,CAAA;AACvD,MAAM,KAAK,GAAG,gBAAgB,CAAA;AAE9B,6GAA6G;AAC7G,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,KAAc;IACxD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;IACtC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAA;IAChC,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAyC,CAAA;IACpE,IAAI,CAAC,GAAG,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IAC3B,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,MAAM,OAAO,GAA2B,EAAE,CAAA;IAC1C,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1D,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,KAAK,EAAE,CAAA;YACP,SAAQ;QACV,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;QACpD,MAAM,GAAG,GAAG,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;QACtG,IAAI,GAAG,KAAK,IAAI,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAA;aACxD,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,EAAE,CAAC;YAC3B,KAAK,EAAE,CAAA;YACP,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;QACrB,CAAC;;YAAM,KAAK,EAAE,CAAA;IAChB,CAAC;IACD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAA;IACrB,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;QACtD,aAAa,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;IAC/E,CAAC;IACD,OAAO,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAA;AAC1C,CAAC"}
|