@specverse/engines 6.30.2 → 6.32.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/ai/analyse-runner.d.ts.map +1 -1
- package/dist/ai/analyse-runner.js +12 -0
- package/dist/ai/analyse-runner.js.map +1 -1
- package/dist/ai/behaviours-runner.d.ts.map +1 -1
- package/dist/ai/behaviours-runner.js +12 -0
- package/dist/ai/behaviours-runner.js.map +1 -1
- package/dist/ai/microcall-orchestrator.d.ts +8 -0
- package/dist/ai/microcall-orchestrator.d.ts.map +1 -1
- package/dist/ai/microcall-orchestrator.js +195 -12
- package/dist/ai/microcall-orchestrator.js.map +1 -1
- package/dist/ai/processes-to-microcall-context.d.ts +66 -0
- package/dist/ai/processes-to-microcall-context.d.ts.map +1 -0
- package/dist/ai/processes-to-microcall-context.js +148 -0
- package/dist/ai/processes-to-microcall-context.js.map +1 -0
- package/dist/ai/providers/claude-cli.d.ts +18 -0
- package/dist/ai/providers/claude-cli.d.ts.map +1 -1
- package/dist/ai/providers/claude-cli.js +49 -0
- package/dist/ai/providers/claude-cli.js.map +1 -1
- package/dist/ai/skeleton-emitter.d.ts +1 -1
- package/dist/ai/skeleton-emitter.d.ts.map +1 -1
- package/dist/ai/skeleton-emitter.js +100 -7
- package/dist/ai/skeleton-emitter.js.map +1 -1
- package/dist/analyse-prepass/adapters/react-views.d.ts +89 -0
- package/dist/analyse-prepass/adapters/react-views.d.ts.map +1 -1
- package/dist/analyse-prepass/adapters/react-views.js +381 -1
- package/dist/analyse-prepass/adapters/react-views.js.map +1 -1
- package/dist/analyse-prepass/index.d.ts +22 -0
- package/dist/analyse-prepass/index.d.ts.map +1 -1
- package/dist/analyse-prepass/index.js +5 -0
- package/dist/analyse-prepass/index.js.map +1 -1
- package/dist/libs/instance-factories/cli/templates/commander/command-generator.js +10 -3
- package/libs/instance-factories/cli/templates/commander/command-generator.ts +10 -3
- package/package.json +3 -3
|
@@ -197,12 +197,30 @@ export function parseReactViews(filePath, source) {
|
|
|
197
197
|
return; // Per-file dedup.
|
|
198
198
|
const startLine = offsetToLine(cleaned, offset);
|
|
199
199
|
const endLine = endOffset !== undefined ? offsetToLine(cleaned, endOffset) : startLine;
|
|
200
|
+
// Engines 6.30.3+: extract a leading JSDoc / line-comment block above
|
|
201
|
+
// the declaration (within 3 source lines). Looks at the ORIGINAL
|
|
202
|
+
// source so comments aren't already stripped.
|
|
203
|
+
const docstring = extractLeadingDocstring(source, startLine);
|
|
204
|
+
// Engines 6.31.0+: extract richer structural facts from the
|
|
205
|
+
// component body. Body is the text between the start and end of
|
|
206
|
+
// the declaration in the cleaned (comment-stripped) source.
|
|
207
|
+
const bodyEnd = endOffset !== undefined ? endOffset : Math.min(cleaned.length, offset + 4000);
|
|
208
|
+
const body = cleaned.slice(offset, bodyEnd);
|
|
209
|
+
const viewType = classifyViewType({ name, kind, filePath, body });
|
|
210
|
+
const usesComponents = extractUsesComponents(body);
|
|
211
|
+
const actions = extractActions(body);
|
|
212
|
+
const emptyState = detectEmptyState(body);
|
|
200
213
|
found.set(name, {
|
|
201
214
|
name,
|
|
202
215
|
filePath,
|
|
203
216
|
sourceLineRange: [startLine, endLine],
|
|
204
217
|
kind,
|
|
205
218
|
isScreen: name.endsWith('Screen'),
|
|
219
|
+
...(docstring ? { docstring } : {}),
|
|
220
|
+
viewType,
|
|
221
|
+
...(usesComponents.length > 0 ? { usesComponents } : {}),
|
|
222
|
+
...(actions.length > 0 ? { actions } : {}),
|
|
223
|
+
...(emptyState ? { emptyState: true } : {}),
|
|
206
224
|
});
|
|
207
225
|
};
|
|
208
226
|
// 1. Class components: `class Name extends (React.)Component`
|
|
@@ -262,7 +280,9 @@ export function parseReactViews(filePath, source) {
|
|
|
262
280
|
const body = cleaned.slice(arrowAt, bodyEnd + 1);
|
|
263
281
|
if (!body.includes('<') && !/return\s*\(/.test(body))
|
|
264
282
|
continue;
|
|
265
|
-
|
|
283
|
+
// JSX detection: uppercase tag, lowercase tag + whitespace OR self-
|
|
284
|
+
// closing slash OR closing `>`, closing tag, or fragment.
|
|
285
|
+
if (!/<[A-Z]|<[a-z]+[\s/>]|<\/|<>/.test(body))
|
|
266
286
|
continue;
|
|
267
287
|
record(name, 'arrow-component', m.index, bodyEnd);
|
|
268
288
|
}
|
|
@@ -282,6 +302,366 @@ function bodyContainsJsxReturn(body) {
|
|
|
282
302
|
return true;
|
|
283
303
|
return false;
|
|
284
304
|
}
|
|
305
|
+
/**
|
|
306
|
+
* Extract a leading docstring from the original source, scanning upward
|
|
307
|
+
* from the declaration line. Handles three comment shapes (engines 6.30.3+):
|
|
308
|
+
*
|
|
309
|
+
* - JSDoc block: `/** description */ ` (multi-line stripped, joined on space)
|
|
310
|
+
* - Block comment: `; /* description *\/`
|
|
311
|
+
* - Line comments: `// description` runs (consecutive lines joined)
|
|
312
|
+
*
|
|
313
|
+
* Returns null when no comment is found within 3 lines of the declaration
|
|
314
|
+
* or when the comment looks like a directive (`@ts-ignore`, `eslint-disable`, etc).
|
|
315
|
+
*/
|
|
316
|
+
function extractLeadingDocstring(source, declStartLine) {
|
|
317
|
+
const lines = source.split('\n');
|
|
318
|
+
// Scan up from the line BEFORE the declaration. Skip blank lines.
|
|
319
|
+
let i = declStartLine - 2; // 0-indexed; one above declStartLine (which is 1-indexed)
|
|
320
|
+
while (i >= 0 && lines[i].trim() === '')
|
|
321
|
+
i--;
|
|
322
|
+
if (i < 0)
|
|
323
|
+
return null;
|
|
324
|
+
// Limit search to 3 source lines back from the declaration.
|
|
325
|
+
const minLine = Math.max(0, declStartLine - 2 - 5);
|
|
326
|
+
// Try block comment ending on this line.
|
|
327
|
+
if (lines[i].trimEnd().endsWith('*/')) {
|
|
328
|
+
// Walk up to find the opening `/*` or `/**`.
|
|
329
|
+
const collected = [];
|
|
330
|
+
while (i >= minLine) {
|
|
331
|
+
const line = lines[i];
|
|
332
|
+
collected.unshift(line);
|
|
333
|
+
if (/^\s*\/\*\*?/.test(line))
|
|
334
|
+
break;
|
|
335
|
+
i--;
|
|
336
|
+
}
|
|
337
|
+
if (i < minLine)
|
|
338
|
+
return null;
|
|
339
|
+
return cleanBlockComment(collected.join('\n'));
|
|
340
|
+
}
|
|
341
|
+
// Try line comments (consecutive `//`).
|
|
342
|
+
if (/^\s*\/\//.test(lines[i])) {
|
|
343
|
+
const collected = [];
|
|
344
|
+
while (i >= minLine && /^\s*\/\//.test(lines[i])) {
|
|
345
|
+
collected.unshift(lines[i]);
|
|
346
|
+
i--;
|
|
347
|
+
}
|
|
348
|
+
return cleanLineComments(collected.join('\n'));
|
|
349
|
+
}
|
|
350
|
+
return null;
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Clean a multi-line JSDoc / block comment to a single readable line.
|
|
354
|
+
* Strips comment markers, removes leading `*`s, ignores @-directives and
|
|
355
|
+
* empty lines, joins on spaces.
|
|
356
|
+
*/
|
|
357
|
+
function cleanBlockComment(raw) {
|
|
358
|
+
const stripped = raw
|
|
359
|
+
.replace(/^\s*\/\*\*?/, '') // opening `/*` or `/**`
|
|
360
|
+
.replace(/\*\/\s*$/, ''); // closing `*/`
|
|
361
|
+
const lines = stripped
|
|
362
|
+
.split('\n')
|
|
363
|
+
.map((l) => l.replace(/^\s*\*\s?/, '').trim())
|
|
364
|
+
.filter((l) => l && !l.startsWith('@')); // drop @param / @returns / @ts-ignore / etc.
|
|
365
|
+
if (lines.length === 0)
|
|
366
|
+
return null;
|
|
367
|
+
const joined = lines.join(' ').trim();
|
|
368
|
+
if (!joined)
|
|
369
|
+
return null;
|
|
370
|
+
// Skip directives.
|
|
371
|
+
if (/^(eslint-|ts-|@)/i.test(joined))
|
|
372
|
+
return null;
|
|
373
|
+
// Cap length so over-long descriptions don't bloat the spec.
|
|
374
|
+
return joined.length > 240 ? joined.slice(0, 237) + '...' : joined;
|
|
375
|
+
}
|
|
376
|
+
function cleanLineComments(raw) {
|
|
377
|
+
const lines = raw
|
|
378
|
+
.split('\n')
|
|
379
|
+
.map((l) => l.replace(/^\s*\/\/\s?/, '').trim())
|
|
380
|
+
.filter(Boolean);
|
|
381
|
+
if (lines.length === 0)
|
|
382
|
+
return null;
|
|
383
|
+
const joined = lines.join(' ');
|
|
384
|
+
if (/^(eslint-|ts-|@)/i.test(joined))
|
|
385
|
+
return null;
|
|
386
|
+
return joined.length > 240 ? joined.slice(0, 237) + '...' : joined;
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* Engines 6.31.0+. Classify a React component into one of SpecVerse's
|
|
390
|
+
* standard view types from JSX shape + filename hints. Returns the
|
|
391
|
+
* canonical type string. Falls back to `page` (the catch-all
|
|
392
|
+
* top-level type) when no specific pattern matches.
|
|
393
|
+
*
|
|
394
|
+
* Detection table (first match wins, ordered most-specific first):
|
|
395
|
+
*
|
|
396
|
+
* `provider` — Renders `Context.Provider` or `<XContext.Provider>` and
|
|
397
|
+
* little else. Distinguished from generic wrappers by
|
|
398
|
+
* being focused on the Provider alone.
|
|
399
|
+
* `layout` — Filename ends `Layout` AND component renders children
|
|
400
|
+
* via `{children}` or `<Outlet/>` (Next.js / RR shapes).
|
|
401
|
+
* `screen` — Filename ends `Screen` OR uses `SafeAreaView` /
|
|
402
|
+
* `<Screen>` wrapper (RN convention).
|
|
403
|
+
* `modal` — Renders `<Modal>` / `<Dialog>` / `createPortal` /
|
|
404
|
+
* `<dialog>`.
|
|
405
|
+
* `wizard` — Multi-step flow detected by `step` state + numeric
|
|
406
|
+
* progression (heuristic).
|
|
407
|
+
* `dashboard` — Multiple grid/panel children at top level.
|
|
408
|
+
* `form` — Renders a `<form>` with submit handler, or has
|
|
409
|
+
* `onSubmit` / `useForm` patterns.
|
|
410
|
+
* `list` — Renders `<table>`, `.map(item =>`, or `<ul>`/`<ol>`
|
|
411
|
+
* with iteration.
|
|
412
|
+
* `widget` — Tiny render — single root element, no state, ≤2 JSX
|
|
413
|
+
* nodes deep. Pills, badges, icons, status chips.
|
|
414
|
+
* `detail` — Single-entity readonly render (h1 + dl/dt/dd or
|
|
415
|
+
* similar information-display shape).
|
|
416
|
+
* `page` — Default catch-all when nothing more specific matches.
|
|
417
|
+
*/
|
|
418
|
+
export function classifyViewType(input) {
|
|
419
|
+
const { name, filePath, body } = input;
|
|
420
|
+
const filenameStem = filePath.split('/').pop()?.replace(/\.(tsx|jsx)$/, '') ?? '';
|
|
421
|
+
// Provider — most specific, check first.
|
|
422
|
+
if (/<\w+\s*\.\s*Provider\b/.test(body) || /createContext\b[\s\S]{0,200}\.\s*Provider/.test(body)) {
|
|
423
|
+
return 'provider';
|
|
424
|
+
}
|
|
425
|
+
// Layout — RootLayout / TabLayout pattern (Next.js / Expo Router).
|
|
426
|
+
if (/Layout$/.test(name) || /Layout$/.test(filenameStem)) {
|
|
427
|
+
if (/\{\s*children\s*\}/.test(body) || /<Outlet\b/.test(body) || /<Slot\b/.test(body)) {
|
|
428
|
+
return 'layout';
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
// Screen — RN convention.
|
|
432
|
+
if (/Screen$/.test(name) || /Screen$/.test(filenameStem))
|
|
433
|
+
return 'screen';
|
|
434
|
+
if (/<SafeAreaView\b/.test(body))
|
|
435
|
+
return 'screen';
|
|
436
|
+
// Modal / Dialog / Portal.
|
|
437
|
+
if (/<Modal\b|<Dialog\b|<Drawer\b|createPortal\b|<dialog\b/.test(body))
|
|
438
|
+
return 'modal';
|
|
439
|
+
// Wizard heuristic — multi-step state.
|
|
440
|
+
if (/useState[\s\S]{0,100}\bstep\b/.test(body) && /(setStep|nextStep|step\s*\+)/.test(body)) {
|
|
441
|
+
return 'wizard';
|
|
442
|
+
}
|
|
443
|
+
// Form — submit handler or useForm hook.
|
|
444
|
+
if (/<form\b/.test(body) || /\buseForm\s*\(/.test(body) || /onSubmit\s*=/.test(body)) {
|
|
445
|
+
return 'form';
|
|
446
|
+
}
|
|
447
|
+
// List — table / array.map() / ul/ol with iteration.
|
|
448
|
+
if (/<table\b/.test(body))
|
|
449
|
+
return 'list';
|
|
450
|
+
if (/\.\s*map\s*\(\s*[\w(]+\s*=>/.test(body) && /<(ul|ol|tbody|tr)\b/.test(body)) {
|
|
451
|
+
return 'list';
|
|
452
|
+
}
|
|
453
|
+
if (/\.\s*map\s*\(\s*[\w(]+\s*=>\s*<\w/.test(body)) {
|
|
454
|
+
// Generic .map → JSX (e.g. .map(g => <Card key={g.id}>...))
|
|
455
|
+
return 'list';
|
|
456
|
+
}
|
|
457
|
+
// Dashboard — multiple top-level panels in a grid.
|
|
458
|
+
if (/(grid-cols-|<Grid\b|<Stack\b)/.test(body) && (body.match(/<Card\b|<Panel\b|<Section\b/g) || []).length >= 2) {
|
|
459
|
+
return 'dashboard';
|
|
460
|
+
}
|
|
461
|
+
// Detail — readonly single-entity display shape.
|
|
462
|
+
if (/<dl\b/.test(body) || (/<h1\b/.test(body) && /<dd\b|<p>\s*\{[\w.]+\}/.test(body))) {
|
|
463
|
+
return 'detail';
|
|
464
|
+
}
|
|
465
|
+
// Widget — small/single-element render, no state machinery.
|
|
466
|
+
// Heuristic: short body (<800 chars after JSX trim) AND no useState AND
|
|
467
|
+
// few JSX nodes (≤3 distinct tag opens).
|
|
468
|
+
const tagOpens = (body.match(/<[A-Za-z]/g) || []).length;
|
|
469
|
+
if (body.length < 1500 && !/useState\s*\(/.test(body) && tagOpens <= 5) {
|
|
470
|
+
return 'widget';
|
|
471
|
+
}
|
|
472
|
+
// Default — page (top-level navigable / catch-all).
|
|
473
|
+
return 'page';
|
|
474
|
+
}
|
|
475
|
+
/**
|
|
476
|
+
* Engines 6.31.0+. Extract sub-component names rendered in this view.
|
|
477
|
+
* Captures `<UpperCaseTag` patterns; consumer (skeleton-emitter) can
|
|
478
|
+
* filter against detected views to keep only known refs. PascalCase-
|
|
479
|
+
* gated to skip HTML tags (`<div>`, `<span>`, etc.).
|
|
480
|
+
*/
|
|
481
|
+
export function extractUsesComponents(body) {
|
|
482
|
+
const found = new Set();
|
|
483
|
+
const re = /<([A-Z][A-Za-z0-9_]+)/g;
|
|
484
|
+
let m;
|
|
485
|
+
while ((m = re.exec(body)) !== null) {
|
|
486
|
+
const tag = m[1];
|
|
487
|
+
// Skip Context.Provider / Fragment / known React internals.
|
|
488
|
+
if (tag === 'Fragment')
|
|
489
|
+
continue;
|
|
490
|
+
found.add(tag);
|
|
491
|
+
}
|
|
492
|
+
return [...found];
|
|
493
|
+
}
|
|
494
|
+
/**
|
|
495
|
+
* Engines 6.31.0+. Extract action declarations from button/link click
|
|
496
|
+
* handlers. Each action gets a name (the handler reference), an
|
|
497
|
+
* optional label (the button's visible text), and an optional variant
|
|
498
|
+
* inferred from context (destructive / primary / secondary).
|
|
499
|
+
*
|
|
500
|
+
* Patterns recognised:
|
|
501
|
+
* <button onClick={handler}>Label</button>
|
|
502
|
+
* <Button onClick={handler} variant="destructive">Label</Button>
|
|
503
|
+
* <Pressable onPress={handler}>Label</Pressable> (RN)
|
|
504
|
+
* <Link onClick={handler}>Label</Link>
|
|
505
|
+
*/
|
|
506
|
+
export function extractActions(body) {
|
|
507
|
+
const out = [];
|
|
508
|
+
const seen = new Set();
|
|
509
|
+
// Match opening tag with onClick OR onPress + handler ref + capture
|
|
510
|
+
// tag content up to closing tag.
|
|
511
|
+
const re = /<(?:button|Button|Pressable|TouchableOpacity|Link|a)\b([^>]*?)on(?:Click|Press)\s*=\s*\{([\s\S]*?)\}([^>]*)>([\s\S]*?)<\/(?:button|Button|Pressable|TouchableOpacity|Link|a)>/g;
|
|
512
|
+
let m;
|
|
513
|
+
while ((m = re.exec(body)) !== null) {
|
|
514
|
+
const beforeAttrs = m[1];
|
|
515
|
+
const rawHandlerExpr = m[2];
|
|
516
|
+
const afterAttrs = m[3];
|
|
517
|
+
const innerText = m[4];
|
|
518
|
+
const handler = parseHandlerName(rawHandlerExpr);
|
|
519
|
+
if (!handler || seen.has(handler))
|
|
520
|
+
continue;
|
|
521
|
+
seen.add(handler);
|
|
522
|
+
// Extract label — first plain-text content inside the tag. Use the
|
|
523
|
+
// balanced-brace stripper so nested template literals + ternaries
|
|
524
|
+
// (`{cond ? `${x}` : ''}`) don't leak partial expression fragments
|
|
525
|
+
// through the label.
|
|
526
|
+
const labelMatch = stripJsxNoise(innerText)
|
|
527
|
+
.replace(/\s+/g, ' ')
|
|
528
|
+
.trim();
|
|
529
|
+
const label = labelMatch.length > 0 && labelMatch.length < 80
|
|
530
|
+
? labelMatch.slice(0, 80)
|
|
531
|
+
: undefined;
|
|
532
|
+
// Extract variant from class / variant attribute.
|
|
533
|
+
let variant;
|
|
534
|
+
const attrs = beforeAttrs + afterAttrs;
|
|
535
|
+
if (/variant\s*=\s*["']destructive["']|delete|destructive|red-/.test(attrs + handler.toLowerCase())) {
|
|
536
|
+
variant = 'destructive';
|
|
537
|
+
}
|
|
538
|
+
else if (/variant\s*=\s*["']primary["']|primary|cta/.test(attrs)) {
|
|
539
|
+
variant = 'primary';
|
|
540
|
+
}
|
|
541
|
+
else if (/variant\s*=\s*["']secondary["']|secondary/.test(attrs)) {
|
|
542
|
+
variant = 'secondary';
|
|
543
|
+
}
|
|
544
|
+
out.push({
|
|
545
|
+
name: handler,
|
|
546
|
+
...(label ? { label } : {}),
|
|
547
|
+
...(variant ? { variant } : {}),
|
|
548
|
+
});
|
|
549
|
+
}
|
|
550
|
+
return out;
|
|
551
|
+
}
|
|
552
|
+
/**
|
|
553
|
+
* Engines 6.31.2+. Pick the most useful identifier out of a JSX-event
|
|
554
|
+
* handler expression. Walks the expression in order of preference:
|
|
555
|
+
*
|
|
556
|
+
* 1. Bare identifier ref (`save`, `props.deleteItem` → `deleteItem`)
|
|
557
|
+
* 2. First call inside an arrow / async arrow / function body
|
|
558
|
+
* (`async () => doStuff()` → `doStuff`)
|
|
559
|
+
*
|
|
560
|
+
* Reserved JS keywords (`async`, `function`, `return`, `await`, `void`,
|
|
561
|
+
* `null`, `undefined`, `true`, `false`) are rejected as handler names so
|
|
562
|
+
* we don't end up emitting `actions: { async: {} }` from
|
|
563
|
+
* `onClick={async () => ...}`.
|
|
564
|
+
*/
|
|
565
|
+
function parseHandlerName(expr) {
|
|
566
|
+
const RESERVED = new Set([
|
|
567
|
+
'async', 'await', 'function', 'return', 'void',
|
|
568
|
+
'null', 'undefined', 'true', 'false', 'new', 'this',
|
|
569
|
+
]);
|
|
570
|
+
const cleaned = expr.trim();
|
|
571
|
+
// Bare identifier or dotted access (`save`, `props.save`, `this.save`).
|
|
572
|
+
const bare = cleaned.match(/^[\w.$]+$/);
|
|
573
|
+
if (bare) {
|
|
574
|
+
const tail = cleaned.replace(/^.*\./, '');
|
|
575
|
+
if (!RESERVED.has(tail))
|
|
576
|
+
return tail;
|
|
577
|
+
}
|
|
578
|
+
// Find the first call expression `someFn(...)` inside the handler body.
|
|
579
|
+
const callRe = /\b([A-Za-z_$][\w$]*)\s*\(/g;
|
|
580
|
+
let m;
|
|
581
|
+
while ((m = callRe.exec(cleaned)) !== null) {
|
|
582
|
+
const candidate = m[1];
|
|
583
|
+
if (RESERVED.has(candidate))
|
|
584
|
+
continue;
|
|
585
|
+
return candidate;
|
|
586
|
+
}
|
|
587
|
+
return '';
|
|
588
|
+
}
|
|
589
|
+
/**
|
|
590
|
+
* Engines 6.31.2+. Strip JSX noise (tags + balanced `{...}` expressions
|
|
591
|
+
* including nested template literals) so the visible inner text falls
|
|
592
|
+
* through cleanly. The naive `\{[^}]*\}` regex breaks on
|
|
593
|
+
* `{cond ? `${x}` : ''}` because the first `}` it finds is inside the
|
|
594
|
+
* template literal, not the JSX expression.
|
|
595
|
+
*/
|
|
596
|
+
function stripJsxNoise(s) {
|
|
597
|
+
let out = '';
|
|
598
|
+
let i = 0;
|
|
599
|
+
while (i < s.length) {
|
|
600
|
+
const c = s[i];
|
|
601
|
+
if (c === '<') {
|
|
602
|
+
// Skip a balanced tag `<...>`.
|
|
603
|
+
const end = s.indexOf('>', i);
|
|
604
|
+
if (end === -1) {
|
|
605
|
+
i = s.length;
|
|
606
|
+
break;
|
|
607
|
+
}
|
|
608
|
+
i = end + 1;
|
|
609
|
+
continue;
|
|
610
|
+
}
|
|
611
|
+
if (c === '{') {
|
|
612
|
+
// Skip a balanced JSX expression, tracking braces + template
|
|
613
|
+
// literals so embedded `${...}` doesn't terminate us early.
|
|
614
|
+
let depth = 1;
|
|
615
|
+
let inBacktick = false;
|
|
616
|
+
i++;
|
|
617
|
+
while (i < s.length && depth > 0) {
|
|
618
|
+
const ch = s[i];
|
|
619
|
+
if (ch === '\\') {
|
|
620
|
+
i += 2;
|
|
621
|
+
continue;
|
|
622
|
+
}
|
|
623
|
+
if (ch === '`') {
|
|
624
|
+
inBacktick = !inBacktick;
|
|
625
|
+
i++;
|
|
626
|
+
continue;
|
|
627
|
+
}
|
|
628
|
+
if (!inBacktick) {
|
|
629
|
+
if (ch === '{')
|
|
630
|
+
depth++;
|
|
631
|
+
else if (ch === '}')
|
|
632
|
+
depth--;
|
|
633
|
+
}
|
|
634
|
+
i++;
|
|
635
|
+
}
|
|
636
|
+
out += ' ';
|
|
637
|
+
continue;
|
|
638
|
+
}
|
|
639
|
+
out += c;
|
|
640
|
+
i++;
|
|
641
|
+
}
|
|
642
|
+
return out;
|
|
643
|
+
}
|
|
644
|
+
/**
|
|
645
|
+
* Engines 6.31.0+. Detect a "no items" / empty-state branch in the JSX.
|
|
646
|
+
* Returns true when the body has a conditional render path for the
|
|
647
|
+
* zero-data case.
|
|
648
|
+
*/
|
|
649
|
+
export function detectEmptyState(body) {
|
|
650
|
+
// Common patterns:
|
|
651
|
+
// if (items.length === 0) return <Empty/>
|
|
652
|
+
// {items.length === 0 && <NoItems/>}
|
|
653
|
+
// {!items.length ? <Empty/> : ...}
|
|
654
|
+
// {isEmpty && <Empty/>}
|
|
655
|
+
if (/\.length\s*===\s*0/.test(body))
|
|
656
|
+
return true;
|
|
657
|
+
if (/!\w+\.length/.test(body))
|
|
658
|
+
return true;
|
|
659
|
+
if (/\bisEmpty\b/.test(body))
|
|
660
|
+
return true;
|
|
661
|
+
if (/<(Empty|NoItems|EmptyState|NoData|NoResults)\b/.test(body))
|
|
662
|
+
return true;
|
|
663
|
+
return false;
|
|
664
|
+
}
|
|
285
665
|
/** Lightweight paren-matcher (string-aware). Used by parseReactViews's function-decl path. */
|
|
286
666
|
function findMatchingParenLite(source, openIdx) {
|
|
287
667
|
let depth = 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-views.js","sourceRoot":"","sources":["../../../src/analyse-prepass/adapters/react-views.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react-views.js","sourceRoot":"","sources":["../../../src/analyse-prepass/adapters/react-views.ts"],"names":[],"mappings":"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"}
|
|
@@ -149,6 +149,28 @@ export interface SpecVerseFacts {
|
|
|
149
149
|
sourceLineRange: [number, number];
|
|
150
150
|
kind: 'function-component' | 'arrow-component' | 'class-component' | 'default-export';
|
|
151
151
|
isScreen: boolean;
|
|
152
|
+
/** Optional JSDoc / leading-comment text from above the declaration
|
|
153
|
+
* (engines 6.30.3+). Used by skeleton-emitter as the view's
|
|
154
|
+
* `description:` when present; falls back to humanized name otherwise. */
|
|
155
|
+
docstring?: string;
|
|
156
|
+
/** Engines 6.31.0+. Classified standard view type (`list`, `form`,
|
|
157
|
+
* `detail`, `dashboard`, `modal`, `provider`, `screen`, `layout`,
|
|
158
|
+
* `widget`, `page`, ...). Emitted into the spec as `type:`. */
|
|
159
|
+
viewType?: string;
|
|
160
|
+
/** Engines 6.31.0+. Sub-component names rendered inside this view's
|
|
161
|
+
* JSX. Skeleton-emitter cross-references against detected views to
|
|
162
|
+
* keep only known refs. */
|
|
163
|
+
usesComponents?: string[];
|
|
164
|
+
/** Engines 6.31.0+. Action handles extracted from button/link
|
|
165
|
+
* click handlers (handler name, optional label + variant). */
|
|
166
|
+
actions?: Array<{
|
|
167
|
+
name: string;
|
|
168
|
+
label?: string;
|
|
169
|
+
variant?: 'primary' | 'destructive' | 'secondary';
|
|
170
|
+
}>;
|
|
171
|
+
/** Engines 6.31.0+. True when the view has an explicit empty-state
|
|
172
|
+
* branch (zero-items / isEmpty). */
|
|
173
|
+
emptyState?: boolean;
|
|
152
174
|
}>;
|
|
153
175
|
/**
|
|
154
176
|
* HTTP routes detected via the backend's native route extraction
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/analyse-prepass/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/analyse-prepass/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -449,6 +449,11 @@ export async function runPrepass(sourceDir, options = {}) {
|
|
|
449
449
|
sourceLineRange: v.sourceLineRange,
|
|
450
450
|
kind: v.kind,
|
|
451
451
|
isScreen: v.isScreen,
|
|
452
|
+
...(v.docstring ? { docstring: v.docstring } : {}),
|
|
453
|
+
...(v.viewType ? { viewType: v.viewType } : {}),
|
|
454
|
+
...(v.usesComponents && v.usesComponents.length > 0 ? { usesComponents: v.usesComponents } : {}),
|
|
455
|
+
...(v.actions && v.actions.length > 0 ? { actions: v.actions } : {}),
|
|
456
|
+
...(v.emptyState ? { emptyState: true } : {}),
|
|
452
457
|
});
|
|
453
458
|
}
|
|
454
459
|
}
|