@refrakt-md/cli 0.20.2 → 0.22.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/bin.js +93 -15
- package/dist/bin.js.map +1 -1
- package/dist/commands/gallery.d.ts +16 -0
- package/dist/commands/gallery.d.ts.map +1 -0
- package/dist/commands/gallery.js +323 -0
- package/dist/commands/gallery.js.map +1 -0
- package/dist/commands/inspect.js +5 -3
- package/dist/commands/inspect.js.map +1 -1
- package/dist/commands/plugin-validate.d.ts.map +1 -1
- package/dist/commands/plugin-validate.js +54 -6
- package/dist/commands/plugin-validate.js.map +1 -1
- package/dist/lib/fixtures.d.ts +9 -6
- package/dist/lib/fixtures.d.ts.map +1 -1
- package/dist/lib/fixtures.js +20 -119
- package/dist/lib/fixtures.js.map +1 -1
- package/dist/lib/gallery.d.ts +50 -0
- package/dist/lib/gallery.d.ts.map +1 -0
- package/dist/lib/gallery.js +169 -0
- package/dist/lib/gallery.js.map +1 -0
- package/package.json +7 -5
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
2
|
+
import { resolve } from 'node:path';
|
|
3
|
+
import { mkdirSync, writeFileSync } from 'node:fs';
|
|
4
|
+
import { toKebabCase, layoutTransform, defaultLayout, docsLayout, blogArticleLayout, planLayout } from '@refrakt-md/transform';
|
|
5
|
+
import { getFixture, hasFixture, applyFixtureOverrides } from '../lib/fixtures.js';
|
|
6
|
+
import { discoverVariants } from '../lib/variants.js';
|
|
7
|
+
import { flattenCssImports, renderGalleryDocument, renderLayoutDocument } from '../lib/gallery.js';
|
|
8
|
+
/**
|
|
9
|
+
* Generate the static rune gallery — every rune across its variant matrix,
|
|
10
|
+
* rendered through the identity transform, into self-contained light/dark HTML.
|
|
11
|
+
* Reuses the `inspect` pipeline (parse → transform → serialize → identity
|
|
12
|
+
* transform → `renderToHtml`); the project's assembled config drives the render
|
|
13
|
+
* (so plugin runes are covered) and `--theme`'s CSS is inlined.
|
|
14
|
+
*/
|
|
15
|
+
export async function galleryCommand(options, deps) {
|
|
16
|
+
const config = deps.baseConfig; // the assembled project config (core + plugins + theme)
|
|
17
|
+
const transform = deps.createTransform(config);
|
|
18
|
+
const cells = [];
|
|
19
|
+
const skipped = [];
|
|
20
|
+
const missing = [];
|
|
21
|
+
// Stable rune order for deterministic output.
|
|
22
|
+
const runes = Object.values(deps.runes).sort((a, b) => a.name.localeCompare(b.name));
|
|
23
|
+
// Resolve config the way the identity transform does: by kebab-casing the
|
|
24
|
+
// config key to match the rune. Plugin runes have no `typeName` (loadPlugin
|
|
25
|
+
// doesn't set one), so a typeName-only lookup drops every plugin rune
|
|
26
|
+
// (BUG-002). The match is also looser than `name === kebab(key)` because a
|
|
27
|
+
// rune's CLI name can differ from its `data-rune` / config key (e.g. `cta` →
|
|
28
|
+
// `call-to-action`/`CallToAction`, `howto` → `how-to`/`HowTo`), so we try the
|
|
29
|
+
// name, its aliases, and a separator-insensitive form.
|
|
30
|
+
const configByRune = new Map();
|
|
31
|
+
for (const [key, cfg] of Object.entries(config.runes)) {
|
|
32
|
+
const kebab = toKebabCase(key);
|
|
33
|
+
configByRune.set(kebab, cfg);
|
|
34
|
+
configByRune.set(kebab.replace(/-/g, ''), cfg);
|
|
35
|
+
}
|
|
36
|
+
const resolveConfig = (rune) => {
|
|
37
|
+
if (rune.typeName && config.runes[rune.typeName])
|
|
38
|
+
return config.runes[rune.typeName];
|
|
39
|
+
const keys = [rune.name, ...(rune.aliases ?? [])].flatMap(k => [k, k.replace(/-/g, '')]);
|
|
40
|
+
for (const k of keys) {
|
|
41
|
+
const cfg = configByRune.get(k);
|
|
42
|
+
if (cfg)
|
|
43
|
+
return cfg;
|
|
44
|
+
}
|
|
45
|
+
return undefined;
|
|
46
|
+
};
|
|
47
|
+
for (const rune of runes) {
|
|
48
|
+
const runeConfig = resolveConfig(rune);
|
|
49
|
+
if (!runeConfig)
|
|
50
|
+
continue; // component-only rune, no identity-transform config
|
|
51
|
+
if (runeConfig.requiresParent)
|
|
52
|
+
continue; // child rune — not standalone-renderable
|
|
53
|
+
// Child runes declare a specific `parent` (e.g. budget-line-item → Budget);
|
|
54
|
+
// they only make sense inside that parent's fixture. `parent: '*'` marks a
|
|
55
|
+
// wrapper (bg/tint) that applies to anything — keep those.
|
|
56
|
+
if (runeConfig.parent && runeConfig.parent !== '*')
|
|
57
|
+
continue;
|
|
58
|
+
// Runes with no real fixture get an honest gap marker, never the broken
|
|
59
|
+
// stub. Once WORK-412's corpus is complete this list should be empty.
|
|
60
|
+
if (!hasFixture(rune.name, deps.packageFixtures)) {
|
|
61
|
+
cells.push({ rune: rune.name, variant: 'no-fixture', html: gapMarker(rune.name) });
|
|
62
|
+
missing.push(rune.name);
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
const seenHtml = new Set();
|
|
66
|
+
// A fixture that demonstrates several instances of the rune inline (e.g.
|
|
67
|
+
// badge showing every sentiment in one sentence) can't be meaningfully
|
|
68
|
+
// variant-expanded: attribute injection only rewrites the first tag,
|
|
69
|
+
// producing redundant near-identical cells. Render those once.
|
|
70
|
+
const baseSource = deps.packageFixtures?.[rune.name] ?? getFixture(rune.name, {});
|
|
71
|
+
const ownTagCount = (baseSource.match(new RegExp(`\\{%\\s*${rune.name}\\b`, 'g')) ?? []).length;
|
|
72
|
+
const matrix = ownTagCount > 1 ? [{ variant: 'default', flags: {} }] : variantMatrix(rune);
|
|
73
|
+
for (const { variant, flags } of matrix) {
|
|
74
|
+
try {
|
|
75
|
+
const html = renderCell(transform, rune, flags, deps);
|
|
76
|
+
if (seenHtml.has(html))
|
|
77
|
+
continue; // dedupe variants that render identically
|
|
78
|
+
seenHtml.add(html);
|
|
79
|
+
cells.push({ rune: rune.name, variant, html });
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
skipped.push(`${rune.name}:${variant}`);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
if (cells.length === 0) {
|
|
87
|
+
throw new Error('No runes rendered — is a theme/plugin config available?');
|
|
88
|
+
}
|
|
89
|
+
const themeCss = loadThemeCss(options.theme);
|
|
90
|
+
const behaviorScript = await bundleBehaviors();
|
|
91
|
+
mkdirSync(options.outDir, { recursive: true });
|
|
92
|
+
const themeName = options.theme.replace(/^@[^/]+\//, '').replace(/[@/]/g, '-');
|
|
93
|
+
for (const mode of ['light', 'dark']) {
|
|
94
|
+
const doc = renderGalleryDocument({ mode, themeCss, cells, behaviorScript });
|
|
95
|
+
const file = resolve(options.outDir, `${themeName}.${mode}.html`);
|
|
96
|
+
writeFileSync(file, doc);
|
|
97
|
+
console.log(`Wrote ${file}`);
|
|
98
|
+
}
|
|
99
|
+
// Layout fixtures — the second subject class. Each built-in LayoutConfig is
|
|
100
|
+
// rendered over one synthetic multi-page context so the chrome (header, nav,
|
|
101
|
+
// breadcrumb, TOC, sidebar, footer, prev/next) populates. Emitted as
|
|
102
|
+
// standalone full-page documents (no gallery chrome) so the harness shoots
|
|
103
|
+
// each whole-page at multiple viewports.
|
|
104
|
+
const page = buildSyntheticPage(transform, deps);
|
|
105
|
+
const layouts = {
|
|
106
|
+
'default': defaultLayout,
|
|
107
|
+
docs: docsLayout,
|
|
108
|
+
'blog-article': blogArticleLayout,
|
|
109
|
+
plan: planLayout,
|
|
110
|
+
};
|
|
111
|
+
for (const [name, layout] of Object.entries(layouts)) {
|
|
112
|
+
let bodyHtml;
|
|
113
|
+
try {
|
|
114
|
+
const tree = layoutTransform(layout, { ...page, frontmatter: { ...page.frontmatter, layout: name } }, 'rf');
|
|
115
|
+
bodyHtml = deps.renderToHtml(tree, { pretty: false });
|
|
116
|
+
}
|
|
117
|
+
catch (err) {
|
|
118
|
+
console.warn(`Layout "${name}" skipped: ${err.message}`);
|
|
119
|
+
continue;
|
|
120
|
+
}
|
|
121
|
+
for (const mode of ['light', 'dark']) {
|
|
122
|
+
const doc = renderLayoutDocument({ mode, themeCss, behaviorScript, name, bodyHtml });
|
|
123
|
+
const file = resolve(options.outDir, `${themeName}.layout-${name}.${mode}.html`);
|
|
124
|
+
writeFileSync(file, doc);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
console.log(`Layouts: ${Object.keys(layouts).length} fixtures (× light/dark).`);
|
|
128
|
+
const runeCount = new Set(cells.map(c => c.rune)).size;
|
|
129
|
+
console.log(`Gallery: ${runeCount} runes, ${cells.length} variant cells.`);
|
|
130
|
+
if (missing.length > 0) {
|
|
131
|
+
console.warn(`No fixture (gap marker shown) for ${missing.length}: ${missing.join(', ')}`);
|
|
132
|
+
}
|
|
133
|
+
if (skipped.length > 0) {
|
|
134
|
+
const preview = skipped.slice(0, 12).join(', ');
|
|
135
|
+
console.warn(`Skipped ${skipped.length} cell(s) that failed to render: ${preview}${skipped.length > 12 ? '…' : ''}`);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
/** Honest placeholder for a rune with no standalone preview — either no fixture
|
|
139
|
+
* yet, or a directive/registry/post-process rune that can't render outside the
|
|
140
|
+
* cross-page pipeline (e.g. `aggregate`, `collection`, `bg`). */
|
|
141
|
+
function gapMarker(rune) {
|
|
142
|
+
return `<div class="rf-gallery__gap"><code>${rune}</code> — no standalone gallery preview</div>`;
|
|
143
|
+
}
|
|
144
|
+
/** Cross-cutting surface-model axes (SPEC-086–090) inherited by nearly every
|
|
145
|
+
* rune. They are a theme dimension, not a rune's identity, and are showcased
|
|
146
|
+
* once in the surfaces docs — expanding them per-rune produces thousands of
|
|
147
|
+
* redundant cells, so the gallery omits them and shows each rune's *own*
|
|
148
|
+
* semantic variants. Matched by exact name or these prefixes. */
|
|
149
|
+
const UNIVERSAL_AXIS_PREFIXES = ['bg', 'substrate', 'frame', 'scrim', 'tint'];
|
|
150
|
+
const UNIVERSAL_AXES = new Set([
|
|
151
|
+
'width', 'spacing', 'inset', 'elevation', 'density',
|
|
152
|
+
'cover', 'media-position', 'posture', 'guest-posture',
|
|
153
|
+
]);
|
|
154
|
+
/** Cap on variant cells per rune, so a rune with a large own enum (e.g. icon
|
|
155
|
+
* names) doesn't dominate the gallery. */
|
|
156
|
+
const MAX_CELLS_PER_RUNE = 16;
|
|
157
|
+
function isUniversalAxis(attr) {
|
|
158
|
+
if (UNIVERSAL_AXES.has(attr))
|
|
159
|
+
return true;
|
|
160
|
+
return UNIVERSAL_AXIS_PREFIXES.some(p => attr === p || attr.startsWith(`${p}-`));
|
|
161
|
+
}
|
|
162
|
+
/** The variant matrix for a rune: a base cell plus one per *own* enum modifier
|
|
163
|
+
* value (universal surface axes excluded), capped per rune. */
|
|
164
|
+
function variantMatrix(rune) {
|
|
165
|
+
const out = [{ variant: 'default', flags: {} }];
|
|
166
|
+
const variants = discoverVariants(rune.schema);
|
|
167
|
+
for (const [attr, values] of Object.entries(variants)) {
|
|
168
|
+
if (isUniversalAxis(attr))
|
|
169
|
+
continue;
|
|
170
|
+
for (const value of values) {
|
|
171
|
+
out.push({ variant: `${attr}-${value}`, flags: { [attr]: value } });
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return out.slice(0, MAX_CELLS_PER_RUNE);
|
|
175
|
+
}
|
|
176
|
+
/** Run the parse → transform → serialize → identity-transform pipeline for one
|
|
177
|
+
* variant, returning rendered HTML. Mirrors `inspect`'s `runPipeline`. */
|
|
178
|
+
/** Run the parse → transform → serialize → identity-transform pipeline on a
|
|
179
|
+
* Markdoc source string, returning the rendered tree (pre-`renderToHtml`).
|
|
180
|
+
* Shared by rune cells and layout-fixture content/regions. */
|
|
181
|
+
function sourceToTree(source, transform, deps) {
|
|
182
|
+
const ast = deps.Markdoc.parse(source);
|
|
183
|
+
const headings = deps.extractHeadings(ast);
|
|
184
|
+
const transformed = deps.Markdoc.transform(ast, {
|
|
185
|
+
tags: deps.tags,
|
|
186
|
+
nodes: deps.nodes,
|
|
187
|
+
variables: {
|
|
188
|
+
generatedIds: new Set(),
|
|
189
|
+
path: '/gallery.md',
|
|
190
|
+
headings,
|
|
191
|
+
__source: source,
|
|
192
|
+
frontmatter: {},
|
|
193
|
+
page: { url: '/gallery.md', filePath: 'gallery.md', draft: false },
|
|
194
|
+
},
|
|
195
|
+
});
|
|
196
|
+
const serialized = deps.serializeTree(transformed);
|
|
197
|
+
return transform(serialized);
|
|
198
|
+
}
|
|
199
|
+
function renderCell(transform, rune, flags, deps) {
|
|
200
|
+
const base = deps.packageFixtures?.[rune.name];
|
|
201
|
+
const source = base !== undefined
|
|
202
|
+
? applyFixtureOverrides(base, rune.name, flags)
|
|
203
|
+
: getFixture(rune.name, flags);
|
|
204
|
+
return deps.renderToHtml(sourceToTree(source, transform, deps), { pretty: false });
|
|
205
|
+
}
|
|
206
|
+
/** A representative article body for layout fixtures — headings (for the TOC) +
|
|
207
|
+
* prose + a rune, so the reading column has real content. */
|
|
208
|
+
const LAYOUT_MAIN_SOURCE = `# Building a theme
|
|
209
|
+
|
|
210
|
+
A representative paragraph of body copy so the layout's reading column has real text
|
|
211
|
+
to flow — demonstrating measure, rhythm, and how chrome frames content.
|
|
212
|
+
|
|
213
|
+
## Getting started
|
|
214
|
+
|
|
215
|
+
{% hint type="note" %}
|
|
216
|
+
A note inside the article body, to show how a rune sits within page chrome.
|
|
217
|
+
{% /hint %}
|
|
218
|
+
|
|
219
|
+
Body copy under the first section, long enough to give the column some height.
|
|
220
|
+
|
|
221
|
+
## Configuration
|
|
222
|
+
|
|
223
|
+
A second section so the on-this-page table of contents has more than one entry.
|
|
224
|
+
|
|
225
|
+
## Deployment
|
|
226
|
+
|
|
227
|
+
Closing section with a final paragraph of copy.
|
|
228
|
+
`;
|
|
229
|
+
/** Build one synthetic multi-page context shared across all layout fixtures, so
|
|
230
|
+
* computed chrome (breadcrumb, TOC, nav tree, prev/next) and regions populate. */
|
|
231
|
+
function buildSyntheticPage(transform, deps) {
|
|
232
|
+
const tree = (src) => sourceToTree(src, transform, deps);
|
|
233
|
+
const region = (name, src) => ({ name, mode: 'replace', content: [tree(src)] });
|
|
234
|
+
return {
|
|
235
|
+
renderable: tree(LAYOUT_MAIN_SOURCE),
|
|
236
|
+
title: 'Building a theme',
|
|
237
|
+
url: '/docs/building-a-theme',
|
|
238
|
+
regions: {
|
|
239
|
+
header: region('header', '[Docs](/docs) · [Blog](/blog) · [Reference](/docs/api)'),
|
|
240
|
+
nav: region('nav', deps.packageFixtures?.nav ?? getFixture('nav')),
|
|
241
|
+
footer: region('footer', 'Footer — [Docs](/docs) · [GitHub](https://github.com)'),
|
|
242
|
+
sidebar: region('sidebar', '### Related\n- [Tokens](/docs/tokens)\n- [Layouts](/docs/layouts)'),
|
|
243
|
+
pagination: region('pagination', deps.packageFixtures?.pagination ?? getFixture('pagination')),
|
|
244
|
+
},
|
|
245
|
+
pages: [
|
|
246
|
+
{ url: '/docs/intro', title: 'Introduction', draft: false },
|
|
247
|
+
{ url: '/docs/install', title: 'Installation', draft: false },
|
|
248
|
+
{ url: '/docs/building-a-theme', title: 'Building a theme', draft: false },
|
|
249
|
+
{ url: '/docs/configuration', title: 'Configuration', draft: false },
|
|
250
|
+
{ url: '/docs/api', title: 'Reference', draft: false },
|
|
251
|
+
{ url: '/blog/launch', title: 'Launch post', draft: false, date: '2026-01-15', author: 'Jane Doe' },
|
|
252
|
+
],
|
|
253
|
+
frontmatter: {
|
|
254
|
+
title: 'Building a theme',
|
|
255
|
+
description: 'A representative page exercising the layout chrome.',
|
|
256
|
+
date: '2026-01-15',
|
|
257
|
+
author: 'Jane Doe',
|
|
258
|
+
tags: ['guide', 'theme'],
|
|
259
|
+
},
|
|
260
|
+
headings: [
|
|
261
|
+
{ level: 1, text: 'Building a theme', id: 'building-a-theme' },
|
|
262
|
+
{ level: 2, text: 'Getting started', id: 'getting-started' },
|
|
263
|
+
{ level: 2, text: 'Configuration', id: 'configuration' },
|
|
264
|
+
{ level: 2, text: 'Deployment', id: 'deployment' },
|
|
265
|
+
],
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Bundle the HTML adapter's `initPage` (which registers the rune web components
|
|
270
|
+
* and wires behaviors) into a browser IIFE via esbuild, so interactive /
|
|
271
|
+
* lifecycle runes (tabs, diagram, chart, nav) enhance/render when the gallery
|
|
272
|
+
* is opened or screenshotted. Mirrors `create-refrakt`'s `template-html` client
|
|
273
|
+
* bundle. Returns `undefined` (with a warning) if bundling isn't possible, so
|
|
274
|
+
* the gallery degrades gracefully to its static form.
|
|
275
|
+
*/
|
|
276
|
+
async function bundleBehaviors() {
|
|
277
|
+
try {
|
|
278
|
+
const esbuild = await import('esbuild');
|
|
279
|
+
const entry = [
|
|
280
|
+
"import { initPage } from '@refrakt-md/html/client';",
|
|
281
|
+
'const run = () => { initPage(); };',
|
|
282
|
+
"if (document.readyState !== 'loading') run();",
|
|
283
|
+
"else document.addEventListener('DOMContentLoaded', run);",
|
|
284
|
+
].join('\n');
|
|
285
|
+
const result = await esbuild.build({
|
|
286
|
+
stdin: { contents: entry, resolveDir: process.cwd(), loader: 'ts' },
|
|
287
|
+
bundle: true,
|
|
288
|
+
format: 'iife',
|
|
289
|
+
platform: 'browser',
|
|
290
|
+
target: 'es2020',
|
|
291
|
+
minify: true,
|
|
292
|
+
write: false,
|
|
293
|
+
});
|
|
294
|
+
const out = result.outputFiles?.[0]?.text;
|
|
295
|
+
if (!out)
|
|
296
|
+
throw new Error('esbuild produced no output');
|
|
297
|
+
return out;
|
|
298
|
+
}
|
|
299
|
+
catch (err) {
|
|
300
|
+
console.warn(`Behaviors not bundled (gallery will be static): ${err.message}`);
|
|
301
|
+
return undefined;
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
/** Resolve and flatten the theme package's entry CSS into a self-contained
|
|
305
|
+
* string. Resolves the theme's `.` export (its CSS entry, per the theme
|
|
306
|
+
* package convention) from the project CWD, where the theme is installed. */
|
|
307
|
+
function loadThemeCss(themePackage) {
|
|
308
|
+
const require = createRequire(resolve(process.cwd(), 'noop.js'));
|
|
309
|
+
let indexCss;
|
|
310
|
+
try {
|
|
311
|
+
indexCss = require.resolve(themePackage);
|
|
312
|
+
}
|
|
313
|
+
catch {
|
|
314
|
+
throw new Error(`Could not resolve theme package "${themePackage}". Install it or pass --theme <package>.`);
|
|
315
|
+
}
|
|
316
|
+
try {
|
|
317
|
+
return flattenCssImports(indexCss);
|
|
318
|
+
}
|
|
319
|
+
catch (err) {
|
|
320
|
+
throw new Error(`Could not read theme CSS at ${indexCss}: ${err.message}`);
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
//# sourceMappingURL=gallery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gallery.js","sourceRoot":"","sources":["../../src/commands/gallery.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/inspect.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { extractComponentInterface } from '@refrakt-md/transform';
|
|
2
|
-
import { getFixture } from '../lib/fixtures.js';
|
|
2
|
+
import { getFixture, applyFixtureOverrides } from '../lib/fixtures.js';
|
|
3
3
|
import { discoverVariants } from '../lib/variants.js';
|
|
4
4
|
import { parseCssFile, auditSelectors, collectAllSelectors, } from '../lib/css-audit.js';
|
|
5
5
|
import { resolveCssDir, readCssForBlock, readAllCss } from '../lib/css-resolve.js';
|
|
@@ -199,7 +199,8 @@ function outputFormatted(rune, config, flags, deps) {
|
|
|
199
199
|
}
|
|
200
200
|
/** Run the Markdoc parse → transform → serialize → identity transform pipeline */
|
|
201
201
|
function runPipeline(rune, config, flags, deps) {
|
|
202
|
-
const
|
|
202
|
+
const base = deps.packageFixtures?.[rune.name];
|
|
203
|
+
const source = base !== undefined ? applyFixtureOverrides(base, rune.name, flags) : getFixture(rune.name, flags);
|
|
203
204
|
const ast = deps.Markdoc.parse(source);
|
|
204
205
|
const headings = deps.extractHeadings(ast);
|
|
205
206
|
const transformed = deps.Markdoc.transform(ast, {
|
|
@@ -287,7 +288,8 @@ function runDimensionAudit(config, options) {
|
|
|
287
288
|
/** Show the component override interface for a rune (ADR-008) */
|
|
288
289
|
function showComponentInterface(rune, config, options, deps) {
|
|
289
290
|
// Run the pipeline to get the serialized (pre-identity-transform) tree
|
|
290
|
-
const
|
|
291
|
+
const base = deps.packageFixtures?.[rune.name];
|
|
292
|
+
const source = base !== undefined ? applyFixtureOverrides(base, rune.name, options.flags) : getFixture(rune.name, options.flags);
|
|
291
293
|
const ast = deps.Markdoc.parse(source);
|
|
292
294
|
const headings = deps.extractHeadings(ast);
|
|
293
295
|
const transformed = deps.Markdoc.transform(ast, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../src/commands/inspect.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-validate.d.ts","sourceRoot":"","sources":["../../src/commands/plugin-validate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin-validate.d.ts","sourceRoot":"","sources":["../../src/commands/plugin-validate.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,qBAAqB;IACrC,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AASD;;;;;;;;;;;GAWG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CActF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { readFileSync, existsSync } from 'fs';
|
|
1
|
+
import { readFileSync, existsSync, readdirSync } from 'fs';
|
|
2
2
|
import { resolve, join, relative, dirname } from 'path';
|
|
3
|
+
import { parseFixture } from '@refrakt-md/runes';
|
|
3
4
|
import { discoverPlugins } from '../lib/plugins.js';
|
|
4
5
|
/**
|
|
5
6
|
* Validate a plugin before publishing.
|
|
@@ -133,12 +134,15 @@ async function validatePlugin(pluginDir) {
|
|
|
133
134
|
}
|
|
134
135
|
}
|
|
135
136
|
}
|
|
136
|
-
// Step 8: Check fixture coverage
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
137
|
+
// Step 8: Check fixture coverage + role coverage (SPEC-102 / WORK-414).
|
|
138
|
+
// Fixtures come from two sources: an inline `fixture` string on the rune
|
|
139
|
+
// entry (implicitly canonical) and standardised files in the plugin's
|
|
140
|
+
// fixtures/ directory (whose frontmatter carries an explicit `role`).
|
|
141
|
+
const fileFixtureRoles = readFileFixtureRoles(pluginDir, warnings);
|
|
142
|
+
const hasAnyFixture = (name, entry) => Boolean(entry.fixture) || (fileFixtureRoles.get(name)?.size ?? 0) > 0;
|
|
143
|
+
const hasCanonical = (name, entry) => Boolean(entry.fixture) || fileFixtureRoles.get(name)?.has('canonical') === true;
|
|
140
144
|
const runesWithoutFixtures = Object.entries(pkg.runes)
|
|
141
|
-
.filter(([, entry]) => !entry
|
|
145
|
+
.filter(([name, entry]) => !isChildRune(entry) && !hasAnyFixture(name, entry))
|
|
142
146
|
.map(([name]) => name);
|
|
143
147
|
if (runesWithoutFixtures.length > 0) {
|
|
144
148
|
warnings.push({
|
|
@@ -146,6 +150,17 @@ async function validatePlugin(pluginDir) {
|
|
|
146
150
|
message: `${runesWithoutFixtures.length} non-child rune(s) without fixtures: ${runesWithoutFixtures.join(', ')}. Fixtures improve the inspect command experience.`,
|
|
147
151
|
});
|
|
148
152
|
}
|
|
153
|
+
// Runes that have some fixture but no `canonical` one — the role consumers
|
|
154
|
+
// (gallery structural coverage, inspect) select by.
|
|
155
|
+
const runesWithoutCanonical = Object.entries(pkg.runes)
|
|
156
|
+
.filter(([name, entry]) => !isChildRune(entry) && hasAnyFixture(name, entry) && !hasCanonical(name, entry))
|
|
157
|
+
.map(([name]) => name);
|
|
158
|
+
if (runesWithoutCanonical.length > 0) {
|
|
159
|
+
warnings.push({
|
|
160
|
+
path: 'fixtures.role',
|
|
161
|
+
message: `${runesWithoutCanonical.length} rune(s) with no \`canonical\` fixture: ${runesWithoutCanonical.join(', ')}. Add a \`<rune>.md\` (or \`role: canonical\`) fixture for structural coverage.`,
|
|
162
|
+
});
|
|
163
|
+
}
|
|
149
164
|
// Step 9: Check for descriptions (helpful for AI integration)
|
|
150
165
|
const runesWithoutDescription = Object.entries(pkg.runes)
|
|
151
166
|
.filter(([, entry]) => !entry.description && !isChildRune(entry))
|
|
@@ -369,6 +384,39 @@ function validatePluginAttribute(attrName, attrDef, parentPath, errors) {
|
|
|
369
384
|
}
|
|
370
385
|
}
|
|
371
386
|
}
|
|
387
|
+
/**
|
|
388
|
+
* Read the plugin's standardised file fixtures (SPEC-102) and map each rune to
|
|
389
|
+
* the set of roles its fixtures declare. A fixture without an explicit `role`
|
|
390
|
+
* defaults to `canonical` (`<rune>.md` is the canonical scenario). A malformed
|
|
391
|
+
* fixture is surfaced as a warning rather than aborting validation.
|
|
392
|
+
*/
|
|
393
|
+
function readFileFixtureRoles(pluginDir, warnings) {
|
|
394
|
+
const roles = new Map();
|
|
395
|
+
const fixturesDir = join(pluginDir, 'fixtures');
|
|
396
|
+
if (!existsSync(fixturesDir))
|
|
397
|
+
return roles;
|
|
398
|
+
for (const file of readdirSync(fixturesDir).sort()) {
|
|
399
|
+
if (!file.endsWith('.md'))
|
|
400
|
+
continue;
|
|
401
|
+
const raw = readFileSync(join(fixturesDir, file), 'utf-8');
|
|
402
|
+
if (!raw.trim())
|
|
403
|
+
continue;
|
|
404
|
+
try {
|
|
405
|
+
const fx = parseFixture(raw, file);
|
|
406
|
+
const role = fx.frontmatter.role ?? 'canonical';
|
|
407
|
+
if (!roles.has(fx.rune))
|
|
408
|
+
roles.set(fx.rune, new Set());
|
|
409
|
+
roles.get(fx.rune).add(role);
|
|
410
|
+
}
|
|
411
|
+
catch (err) {
|
|
412
|
+
warnings.push({
|
|
413
|
+
path: `fixtures/${file}`,
|
|
414
|
+
message: err instanceof Error ? err.message : String(err),
|
|
415
|
+
});
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
return roles;
|
|
419
|
+
}
|
|
372
420
|
/** Check if a rune entry is likely a child/internal rune (no need for fixture) */
|
|
373
421
|
function isChildRune(entry) {
|
|
374
422
|
// Heuristic: child runes typically have no description or a brief one,
|