@rsaglobaltech/specgate 0.8.1 → 0.9.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 +98 -0
- package/README.md +8 -8
- package/bin/specgate.ts +13 -2
- package/dist/bin/specgate.js +11 -1
- package/dist/bin/specgate.js.map +1 -1
- package/dist/packages/core/src/application/GenerateAgentPromptUseCase.js +56 -0
- package/dist/packages/core/src/application/GenerateAgentPromptUseCase.js.map +1 -1
- package/dist/packages/core/src/application/ValidateProjectUseCase.js +54 -0
- package/dist/packages/core/src/application/ValidateProjectUseCase.js.map +1 -1
- package/dist/packages/core/src/domain/AdversarialProbe.js +75 -0
- package/dist/packages/core/src/domain/AdversarialProbe.js.map +1 -0
- package/dist/packages/core/src/domain/AgentPrompt.js +52 -3
- package/dist/packages/core/src/domain/AgentPrompt.js.map +1 -1
- package/dist/packages/core/src/domain/DeclaredArtifacts.js +25 -0
- package/dist/packages/core/src/domain/DeclaredArtifacts.js.map +1 -1
- package/dist/packages/core/src/domain/DoneVerification.js +68 -0
- package/dist/packages/core/src/domain/DoneVerification.js.map +1 -0
- package/dist/packages/core/src/domain/GateCommandIntegrity.js +139 -0
- package/dist/packages/core/src/domain/GateCommandIntegrity.js.map +1 -0
- package/dist/packages/core/src/domain/HarnessConfig.js +6 -0
- package/dist/packages/core/src/domain/HarnessConfig.js.map +1 -1
- package/dist/packages/core/src/domain/MultiStack.js +96 -0
- package/dist/packages/core/src/domain/MultiStack.js.map +1 -0
- package/dist/packages/core/src/domain/Precedents.js +96 -0
- package/dist/packages/core/src/domain/Precedents.js.map +1 -0
- package/dist/packages/core/src/domain/RequirementRemoval.js +161 -0
- package/dist/packages/core/src/domain/RequirementRemoval.js.map +1 -0
- package/dist/packages/core/src/domain/ScenarioCoverage.js +178 -0
- package/dist/packages/core/src/domain/ScenarioCoverage.js.map +1 -0
- package/dist/packages/core/src/domain/SpecSections.js +206 -0
- package/dist/packages/core/src/domain/SpecSections.js.map +1 -0
- package/dist/packages/core/src/domain/TestCommand.js +82 -0
- package/dist/packages/core/src/domain/TestCommand.js.map +1 -0
- package/dist/packages/core/src/domain/TraceabilityFormat.js +37 -1
- package/dist/packages/core/src/domain/TraceabilityFormat.js.map +1 -1
- package/dist/packages/core/src/infrastructure/HarnessConfigFile.js +31 -0
- package/dist/packages/core/src/infrastructure/HarnessConfigFile.js.map +1 -1
- package/dist/packages/core/test/unit/adversarial-probe.test.js +81 -0
- package/dist/packages/core/test/unit/adversarial-probe.test.js.map +1 -0
- package/dist/packages/core/test/unit/done-verification.test.js +83 -0
- package/dist/packages/core/test/unit/done-verification.test.js.map +1 -0
- package/dist/packages/core/test/unit/gate-command-integrity.test.js +114 -0
- package/dist/packages/core/test/unit/gate-command-integrity.test.js.map +1 -0
- package/dist/packages/core/test/unit/multi-stack.test.js +86 -0
- package/dist/packages/core/test/unit/multi-stack.test.js.map +1 -0
- package/dist/packages/core/test/unit/precedents.test.js +99 -0
- package/dist/packages/core/test/unit/precedents.test.js.map +1 -0
- package/dist/packages/core/test/unit/requirement-removal.test.js +124 -0
- package/dist/packages/core/test/unit/requirement-removal.test.js.map +1 -0
- package/dist/packages/core/test/unit/scenario-coverage.test.js +146 -0
- package/dist/packages/core/test/unit/scenario-coverage.test.js.map +1 -0
- package/dist/packages/core/test/unit/spec-sections.test.js +146 -0
- package/dist/packages/core/test/unit/spec-sections.test.js.map +1 -0
- package/dist/packages/core/test/unit/test-command.test.js +81 -0
- package/dist/packages/core/test/unit/test-command.test.js.map +1 -0
- package/dist/packages/core/test/unit/validate-project.test.js +21 -0
- package/dist/packages/core/test/unit/validate-project.test.js.map +1 -1
- package/dist/scripts/agents/commands.js +1 -1
- package/dist/scripts/agents/commands.js.map +1 -1
- package/dist/scripts/agents/init.js +1 -1
- package/dist/scripts/agents/init.js.map +1 -1
- package/dist/scripts/change/instructions.js +2 -2
- package/dist/scripts/change/instructions.js.map +1 -1
- package/dist/scripts/cli/commands/change/ChangeCommand.js +2 -2
- package/dist/scripts/cli/commands/change/ChangeCommand.js.map +1 -1
- package/dist/scripts/cli/commands/config/CiInitCommand.js +1 -1
- package/dist/scripts/cli/commands/config/CiInitCommand.js.map +1 -1
- package/dist/scripts/cli/commands/harness/RunCommand.js +203 -4
- package/dist/scripts/cli/commands/harness/RunCommand.js.map +1 -1
- package/dist/scripts/cli/commands/pack/InferPackCommand.js +331 -31
- package/dist/scripts/cli/commands/pack/InferPackCommand.js.map +1 -1
- package/dist/scripts/cli/commands/project/AdoptCommand.js +81 -4
- package/dist/scripts/cli/commands/project/AdoptCommand.js.map +1 -1
- package/dist/scripts/cli/commands/project/InitProjectCommand.js +245 -45
- package/dist/scripts/cli/commands/project/InitProjectCommand.js.map +1 -1
- package/dist/scripts/cli/commands/quality/DoctorCommand.js +20 -2
- package/dist/scripts/cli/commands/quality/DoctorCommand.js.map +1 -1
- package/dist/scripts/cli/commands/quality/FixCommand.js +1 -1
- package/dist/scripts/cli/commands/quality/FixCommand.js.map +1 -1
- package/dist/scripts/cli/commands/quality/ReportCommand.js +1 -1
- package/dist/scripts/cli/commands/quality/ReportCommand.js.map +1 -1
- package/dist/scripts/cli/commands/quality/ValidateSpecsCommand.js +340 -18
- package/dist/scripts/cli/commands/quality/ValidateSpecsCommand.js.map +1 -1
- package/dist/scripts/cli/commands/spec/DoneCommand.js +108 -0
- package/dist/scripts/cli/commands/spec/DoneCommand.js.map +1 -1
- package/dist/scripts/cli/commands/spec/PlanCommand.js +7 -1
- package/dist/scripts/cli/commands/spec/PlanCommand.js.map +1 -1
- package/dist/scripts/cli/commands/spec/ReqCommand.js +112 -2
- package/dist/scripts/cli/commands/spec/ReqCommand.js.map +1 -1
- package/dist/scripts/cli/commands/spec/StatusCommand.js +2 -2
- package/dist/scripts/cli/commands/spec/StatusCommand.js.map +1 -1
- package/dist/scripts/docs/build-site.js +145 -35
- package/dist/scripts/docs/build-site.js.map +1 -1
- package/dist/scripts/docs/components.js +208 -0
- package/dist/scripts/docs/components.js.map +1 -0
- package/dist/scripts/docs/highlight.js +180 -0
- package/dist/scripts/docs/highlight.js.map +1 -0
- package/dist/scripts/docs/icons.js +63 -0
- package/dist/scripts/docs/icons.js.map +1 -0
- package/dist/scripts/docs/nav.js +9 -3
- package/dist/scripts/docs/nav.js.map +1 -1
- package/dist/scripts/gen_mcp_tools.js +22 -2
- package/dist/scripts/gen_mcp_tools.js.map +1 -1
- package/dist/scripts/harness/init.js +101 -40
- package/dist/scripts/harness/init.js.map +1 -1
- package/dist/scripts/harness/worktree-lock.js +161 -0
- package/dist/scripts/harness/worktree-lock.js.map +1 -0
- package/dist/scripts/infer_pack.js +4 -1
- package/dist/scripts/infer_pack.js.map +1 -1
- package/dist/scripts/lib/surface.js +35 -7
- package/dist/scripts/lib/surface.js.map +1 -1
- package/package.json +5 -2
- package/templates/adopt/AI_RULES.md.tpl +1 -1
- package/templates/adopt/spec.md.tpl +4 -4
- package/templates/base/spec.md.tpl +12 -0
- package/templates/ci/azure.yml.tpl +2 -2
- package/templates/ci/github.yml.tpl +2 -2
- package/templates/ci/gitlab.yml.tpl +1 -1
- package/templates/ci/jenkins.tpl +1 -1
- package/templates/contracts/test-strategy.md.tpl +2 -2
- package/templates/harness/prompt-prefix.md.tpl +2 -5
|
@@ -61,6 +61,9 @@ const path = __importStar(require("node:path"));
|
|
|
61
61
|
const marked_1 = require("marked");
|
|
62
62
|
const nav_1 = require("./nav");
|
|
63
63
|
const blocks_1 = require("./blocks");
|
|
64
|
+
const components_1 = require("./components");
|
|
65
|
+
const highlight_1 = require("./highlight");
|
|
66
|
+
const icons_1 = require("./icons");
|
|
64
67
|
const ROOT = path.resolve(__dirname, "..", "..", "..");
|
|
65
68
|
/** Absolute base for metadata a link scraper resolves without a page context. */
|
|
66
69
|
const SITE = "https://rsaglobaltech.github.io/specgate";
|
|
@@ -168,11 +171,22 @@ function renderMarkdown(source, currentSlug) {
|
|
|
168
171
|
.join(" ");
|
|
169
172
|
return `<a ${attrs}>${text}</a>`;
|
|
170
173
|
};
|
|
174
|
+
// ```bash Install → language `bash`, label "Install" in the block header.
|
|
175
|
+
// The label is how the reference documentation names the file or the shell a
|
|
176
|
+
// snippet belongs to, and it is the difference between six unlabelled blocks
|
|
177
|
+
// and six blocks you can tell apart.
|
|
171
178
|
renderer.code = ({ text, lang }) => {
|
|
172
|
-
const
|
|
179
|
+
const parts = String(lang || "")
|
|
180
|
+
.trim()
|
|
181
|
+
.split(/\s+/);
|
|
182
|
+
const language = parts[0] || "text";
|
|
183
|
+
const label = parts.slice(1).join(" ");
|
|
173
184
|
return (`<figure class="code" data-lang="${escapeHtml(language)}">` +
|
|
185
|
+
`<figcaption class="code__head">` +
|
|
186
|
+
`<span class="code__lang">${escapeHtml(label || language)}</span>` +
|
|
174
187
|
`<button class="code__copy" type="button" aria-label="Copy to clipboard">Copy</button>` +
|
|
175
|
-
|
|
188
|
+
`</figcaption>` +
|
|
189
|
+
`<pre><code class="language-${escapeHtml(language)}">${(0, highlight_1.highlight)(text, language)}</code></pre>` +
|
|
176
190
|
`</figure>\n`);
|
|
177
191
|
};
|
|
178
192
|
renderer.table = ({ header, rows }) => {
|
|
@@ -198,24 +212,43 @@ function renderMarkdown(source, currentSlug) {
|
|
|
198
212
|
* which does not exist. Every link out of a nested page needs the climb.
|
|
199
213
|
*/
|
|
200
214
|
function sidebar(currentSlug, up) {
|
|
201
|
-
|
|
215
|
+
return nav_1.NAV.map((section) => {
|
|
216
|
+
const open = section.entries.some((e) => e.slug === currentSlug);
|
|
202
217
|
const items = section.entries
|
|
203
218
|
.map((entry) => {
|
|
204
219
|
const active = entry.slug === currentSlug ? ' class="is-active" aria-current="page"' : "";
|
|
205
220
|
return `<li><a href="${up}${entry.slug}.html"${active}>${escapeHtml(entry.label)}</a></li>`;
|
|
206
221
|
})
|
|
207
222
|
.join("");
|
|
208
|
-
|
|
223
|
+
// `open` on the group holding the current page, so a reader always lands
|
|
224
|
+
// with their own section unfolded. The rest remember their last state in
|
|
225
|
+
// localStorage; `details` keeps that working with JavaScript disabled.
|
|
226
|
+
return (`<details class="side__group" data-group="${escapeHtml(section.title)}"${open ? " open" : ""}>` +
|
|
227
|
+
`<summary class="side__head">${(0, icons_1.icon)(section.icon, "icon side__icon")}` +
|
|
228
|
+
`<span>${escapeHtml(section.title)}</span></summary>` +
|
|
229
|
+
`<ul>${items}</ul></details>`);
|
|
209
230
|
}).join("");
|
|
210
|
-
|
|
231
|
+
}
|
|
232
|
+
/** `Reference › Command reference` above the title, so depth is visible. */
|
|
233
|
+
function breadcrumbs(slug, up) {
|
|
234
|
+
const section = nav_1.NAV.find((s) => s.entries.some((e) => e.slug === slug));
|
|
235
|
+
const entry = (0, nav_1.navEntry)(slug);
|
|
236
|
+
if (!section || !entry)
|
|
237
|
+
return "";
|
|
238
|
+
return (`<nav class="crumbs" aria-label="Breadcrumb"><ol>` +
|
|
239
|
+
`<li><a href="${up}docs.html">Docs</a></li>` +
|
|
240
|
+
`<li>${escapeHtml(section.title)}</li>` +
|
|
241
|
+
`<li aria-current="page">${escapeHtml(entry.label)}</li>` +
|
|
242
|
+
`</ol></nav>`);
|
|
211
243
|
}
|
|
212
244
|
function onThisPage(headings) {
|
|
213
245
|
if (headings.length < 2)
|
|
214
|
-
return "";
|
|
246
|
+
return '<div class="rail" aria-hidden="true"></div>';
|
|
215
247
|
const items = headings
|
|
216
248
|
.map((h) => `<li class="toc__l${h.level}"><a href="#${h.id}">${escapeHtml(h.text)}</a></li>`)
|
|
217
249
|
.join("");
|
|
218
|
-
return `<nav class="toc" aria-label="On this page"
|
|
250
|
+
return (`<div class="rail"><nav class="toc" aria-label="On this page">` +
|
|
251
|
+
`<h2>On this page</h2><ul>${items}</ul></nav></div>`);
|
|
219
252
|
}
|
|
220
253
|
function pageShell(page, version) {
|
|
221
254
|
const entry = (0, nav_1.navEntry)(page.slug);
|
|
@@ -236,13 +269,13 @@ function pageShell(page, version) {
|
|
|
236
269
|
<head>
|
|
237
270
|
<meta charset="utf-8">
|
|
238
271
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
239
|
-
<title>${escapeHtml(page.title)} —
|
|
272
|
+
<title>${escapeHtml(page.title)} — Specgate</title>
|
|
240
273
|
<meta name="description" content="${escapeHtml(entry?.blurb || page.title)}">
|
|
241
274
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
242
275
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
243
276
|
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=IBM+Plex+Mono:wght@400;600&display=swap" rel="stylesheet">
|
|
244
277
|
<link rel="icon" href="${up}assets/favicon.svg" type="image/svg+xml">
|
|
245
|
-
<meta property="og:title" content="${escapeHtml(page.title)} —
|
|
278
|
+
<meta property="og:title" content="${escapeHtml(page.title)} — Specgate">
|
|
246
279
|
<meta property="og:description" content="${escapeHtml(entry?.blurb || page.title)}">
|
|
247
280
|
<meta property="og:image" content="${SITE}/assets/og-card.png">
|
|
248
281
|
<meta name="twitter:card" content="summary_large_image">
|
|
@@ -259,33 +292,41 @@ function pageShell(page, version) {
|
|
|
259
292
|
<a class="skip" href="#content">Skip to content</a>
|
|
260
293
|
|
|
261
294
|
<header class="top">
|
|
262
|
-
<button class="top__menu" type="button" aria-label="Open navigation" aria-expanded="false"
|
|
263
|
-
|
|
295
|
+
<button class="top__menu" type="button" aria-label="Open navigation" aria-expanded="false">
|
|
296
|
+
<span aria-hidden="true">☰</span>
|
|
297
|
+
</button>
|
|
298
|
+
<a class="top__brand" href="${up}index.html"><span aria-hidden="true">⬡</span> Specgate</a>
|
|
264
299
|
<span class="top__version">v${escapeHtml(version)}</span>
|
|
265
|
-
<
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
<
|
|
269
|
-
|
|
300
|
+
<button class="top__search" id="search" type="button" aria-label="Search documentation"
|
|
301
|
+
aria-keyshortcuts="Meta+K Control+K">
|
|
302
|
+
${(0, icons_1.icon)("search", "icon")}
|
|
303
|
+
<span class="top__search-label">Search</span>
|
|
304
|
+
<kbd class="top__kbd"><span class="top__kbd-mod">⌘</span>K</kbd>
|
|
305
|
+
</button>
|
|
270
306
|
<nav class="top__links">
|
|
307
|
+
<a href="${up}docs.html">Docs</a>
|
|
271
308
|
<a href="${up}packs/">Packs</a>
|
|
272
309
|
<a href="${REPO}" target="_blank" rel="noreferrer">GitHub</a>
|
|
273
|
-
<a href="https://www.npmjs.com/package/
|
|
310
|
+
<a href="https://www.npmjs.com/package/@rsaglobaltech/specgate" target="_blank" rel="noreferrer">npm</a>
|
|
274
311
|
</nav>
|
|
275
312
|
<button class="top__theme" type="button" aria-label="Switch theme">◐</button>
|
|
276
313
|
</header>
|
|
277
314
|
|
|
278
315
|
<div class="shell">
|
|
279
|
-
<aside class="side" id="side"
|
|
316
|
+
<aside class="side" id="side">
|
|
317
|
+
<nav aria-label="Documentation">${sidebar(page.slug, up)}</nav>
|
|
318
|
+
</aside>
|
|
280
319
|
|
|
281
320
|
<main class="content" id="content">
|
|
321
|
+
${breadcrumbs(page.slug, up)}
|
|
282
322
|
<article class="prose">
|
|
283
323
|
${page.html}
|
|
284
324
|
</article>
|
|
285
325
|
<nav class="pager" aria-label="Neighbouring pages">${pager}</nav>
|
|
286
326
|
<footer class="page-foot">
|
|
327
|
+
<p class="page-foot__ask">Was this page useful?</p>
|
|
287
328
|
<a href="${REPO}/edit/main/docs/${escapeHtml(page.slug)}.md" target="_blank" rel="noreferrer">Edit this page</a>
|
|
288
|
-
<span>·</span>
|
|
329
|
+
<span aria-hidden="true">·</span>
|
|
289
330
|
<a href="${REPO}/issues/new" target="_blank" rel="noreferrer">Something wrong? Open an issue</a>
|
|
290
331
|
</footer>
|
|
291
332
|
</main>
|
|
@@ -293,6 +334,23 @@ ${page.html}
|
|
|
293
334
|
${onThisPage(page.headings)}
|
|
294
335
|
</div>
|
|
295
336
|
|
|
337
|
+
<div class="palette" id="palette" hidden>
|
|
338
|
+
<div class="palette__scrim" data-close="1"></div>
|
|
339
|
+
<div class="palette__box" role="dialog" aria-modal="true" aria-label="Search documentation">
|
|
340
|
+
<div class="palette__field">
|
|
341
|
+
${(0, icons_1.icon)("search", "icon")}
|
|
342
|
+
<input type="search" id="palette-input" placeholder="Search the documentation…"
|
|
343
|
+
autocomplete="off" spellcheck="false" aria-label="Search documentation"
|
|
344
|
+
aria-controls="results" aria-expanded="true">
|
|
345
|
+
<kbd class="palette__esc">Esc</kbd>
|
|
346
|
+
</div>
|
|
347
|
+
<div class="palette__results" id="results" role="listbox" aria-label="Results"></div>
|
|
348
|
+
<p class="palette__hint">
|
|
349
|
+
<kbd>↑</kbd><kbd>↓</kbd> to navigate · <kbd>↵</kbd> to open · <kbd>Esc</kbd> to close
|
|
350
|
+
</p>
|
|
351
|
+
</div>
|
|
352
|
+
</div>
|
|
353
|
+
|
|
296
354
|
<script src="${up}assets/docs.js" defer></script>
|
|
297
355
|
</body>
|
|
298
356
|
</html>
|
|
@@ -345,61 +403,113 @@ function copyVerbatim(outDir, available) {
|
|
|
345
403
|
* here without anybody remembering to add it twice.
|
|
346
404
|
*/
|
|
347
405
|
function docsHome(version) {
|
|
348
|
-
const
|
|
349
|
-
const
|
|
350
|
-
.map((entry) => `<
|
|
351
|
-
`<
|
|
406
|
+
const groups = nav_1.NAV.map((section) => {
|
|
407
|
+
const cards = section.entries
|
|
408
|
+
.map((entry) => `<a class="card" href="${entry.slug}.html">` +
|
|
409
|
+
`<strong class="card__title">${escapeHtml(entry.label)}</strong>` +
|
|
410
|
+
`<span class="card__body">${escapeHtml(entry.blurb)}</span></a>`)
|
|
352
411
|
.join("");
|
|
353
412
|
return (`<section class="home__group">` +
|
|
354
|
-
`<h2>${escapeHtml(section.title)}</h2>` +
|
|
413
|
+
`<h2>${(0, icons_1.icon)(section.icon, "icon")}${escapeHtml(section.title)}</h2>` +
|
|
355
414
|
`<p class="home__summary">${escapeHtml(section.summary)}</p>` +
|
|
356
|
-
`<
|
|
415
|
+
`<div class="cards" data-cols="2">${cards}</div></section>`);
|
|
357
416
|
}).join("");
|
|
358
417
|
const page = {
|
|
359
418
|
slug: "docs",
|
|
360
419
|
title: "Documentation",
|
|
361
|
-
headings:
|
|
420
|
+
headings: nav_1.NAV.map((section) => ({
|
|
421
|
+
id: slugifyHeading(section.title, new Set()),
|
|
422
|
+
text: section.title,
|
|
423
|
+
level: 2,
|
|
424
|
+
})),
|
|
362
425
|
text: "",
|
|
363
426
|
html: `<h1>Documentation</h1>` +
|
|
364
427
|
`<p class="home__lede">Specifications that are checked, not admired. Start with ` +
|
|
365
428
|
`<a href="getting-started.html">Getting started</a> if the folder is empty, or ` +
|
|
366
429
|
`<a href="quickstart.html">You cloned a repo</a> if somebody handed you one.</p>` +
|
|
367
430
|
`<figure class="code" data-lang="bash">` +
|
|
431
|
+
`<figcaption class="code__head"><span class="code__lang">Install</span>` +
|
|
368
432
|
`<button class="code__copy" type="button" aria-label="Copy to clipboard">Copy</button>` +
|
|
369
|
-
|
|
433
|
+
`</figcaption>` +
|
|
434
|
+
`<pre><code class="language-bash">npx @rsaglobaltech/specgate@latest init</code></pre>` +
|
|
370
435
|
`</figure>` +
|
|
371
|
-
`<div class="home">${
|
|
436
|
+
`<div class="home">${groups}</div>`,
|
|
372
437
|
};
|
|
373
438
|
return pageShell(page, version);
|
|
374
439
|
}
|
|
440
|
+
/** Markdown reduced to prose: no fences, no marker punctuation. */
|
|
441
|
+
function plainText(markdown) {
|
|
442
|
+
return markdown
|
|
443
|
+
.replace(/```[\s\S]*?```/g, " ")
|
|
444
|
+
.replace(/<!--[\s\S]*?-->/g, " ")
|
|
445
|
+
.replace(/[#*`>|_-]/g, " ")
|
|
446
|
+
.replace(/\s+/g, " ")
|
|
447
|
+
.trim();
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* One search record per `##`/`###` section, carrying the anchor to jump to.
|
|
451
|
+
*
|
|
452
|
+
* Split on the heading text rather than re-parsing: `headings` already holds
|
|
453
|
+
* the ids `renderMarkdown` minted, so the two cannot drift apart.
|
|
454
|
+
*/
|
|
455
|
+
function sectionChunks(markdown, headings) {
|
|
456
|
+
const out = [];
|
|
457
|
+
const lines = markdown.split("\n");
|
|
458
|
+
let current = null;
|
|
459
|
+
const flush = () => {
|
|
460
|
+
if (!current)
|
|
461
|
+
return;
|
|
462
|
+
const text = plainText(current.body.join("\n")).slice(0, 600);
|
|
463
|
+
if (text)
|
|
464
|
+
out.push({ section: current.section, hash: current.hash, text });
|
|
465
|
+
};
|
|
466
|
+
for (const line of lines) {
|
|
467
|
+
const m = /^(#{2,3})\s+(.+?)\s*$/.exec(line);
|
|
468
|
+
if (m) {
|
|
469
|
+
flush();
|
|
470
|
+
const plain = stripTags(m[2]).replace(/`/g, "");
|
|
471
|
+
const heading = headings.find((h) => h.text === plain);
|
|
472
|
+
current = heading ? { section: plain, hash: heading.id, body: [] } : null;
|
|
473
|
+
continue;
|
|
474
|
+
}
|
|
475
|
+
if (current)
|
|
476
|
+
current.body.push(line);
|
|
477
|
+
}
|
|
478
|
+
flush();
|
|
479
|
+
return out;
|
|
480
|
+
}
|
|
375
481
|
function buildSite(outDir) {
|
|
376
482
|
const version = JSON.parse(fs.readFileSync(path.join(ROOT, "package.json"), "utf8")).version;
|
|
377
483
|
fs.rmSync(outDir, { recursive: true, force: true });
|
|
378
484
|
fs.mkdirSync(outDir, { recursive: true });
|
|
379
485
|
const slugs = markdownFiles(DOCS);
|
|
486
|
+
// One record per *section*, not per page. A search that can only answer
|
|
487
|
+
// "which page" is close to useless on `tutorial.md`, which is 1075 lines; a
|
|
488
|
+
// record per heading lands the reader on the paragraph they asked for.
|
|
380
489
|
const index = [];
|
|
381
490
|
const available = (0, blocks_1.diagrams)(DOCS);
|
|
382
491
|
for (const slug of slugs) {
|
|
383
492
|
const source = fs.readFileSync(path.join(DOCS, `${slug}.md`), "utf8");
|
|
384
493
|
// The marker is ours and means nothing to a reader.
|
|
385
494
|
const cleaned = (0, blocks_1.inlineDiagrams)(source.replace(/^<!--\s*csda:allow-placeholders[^>]*-->\s*\n?/gm, ""), available);
|
|
386
|
-
|
|
495
|
+
// Components expand before `marked` sees the source, and are handed the
|
|
496
|
+
// site's own renderer so a tab can hold a code block and a callout a list.
|
|
497
|
+
const expanded = (0, components_1.expandComponents)(cleaned, slug, (md) => renderMarkdown(md, slug).html, (href) => rewriteLink(href, slug));
|
|
498
|
+
const { html, headings, title } = renderMarkdown(expanded, slug);
|
|
387
499
|
const page = {
|
|
388
500
|
slug,
|
|
389
501
|
title: title || (0, nav_1.navEntry)(slug)?.label || slug,
|
|
390
502
|
html,
|
|
391
503
|
headings,
|
|
392
|
-
text: cleaned
|
|
393
|
-
.replace(/```[\s\S]*?```/g, " ")
|
|
394
|
-
.replace(/[#*`>|_-]/g, " ")
|
|
395
|
-
.replace(/\s+/g, " ")
|
|
396
|
-
.trim()
|
|
397
|
-
.slice(0, 1500),
|
|
504
|
+
text: plainText(cleaned).slice(0, 2000),
|
|
398
505
|
};
|
|
399
506
|
const target = path.join(outDir, `${slug}.html`);
|
|
400
507
|
fs.mkdirSync(path.dirname(target), { recursive: true });
|
|
401
508
|
fs.writeFileSync(target, pageShell(page, version), "utf8");
|
|
402
509
|
index.push({ slug, title: page.title, text: page.text });
|
|
510
|
+
for (const chunk of sectionChunks(cleaned, headings)) {
|
|
511
|
+
index.push({ slug, title: page.title, ...chunk });
|
|
512
|
+
}
|
|
403
513
|
}
|
|
404
514
|
fs.writeFileSync(path.join(outDir, "docs.html"), docsHome(version), "utf8");
|
|
405
515
|
fs.mkdirSync(path.join(outDir, "assets"), { recursive: true });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-site.js","sourceRoot":"","sources":["../../../scripts/docs/build-site.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"build-site.js","sourceRoot":"","sources":["../../../scripts/docs/build-site.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Content components, written as HTML comments inside markdown.
|
|
4
|
+
*
|
|
5
|
+
* ## Why comments
|
|
6
|
+
*
|
|
7
|
+
* Documentation here is read in two places: on the site, and on GitHub, where
|
|
8
|
+
* `docs/*.md` is what a contributor opens. MDX-style `<Card>` tags would render
|
|
9
|
+
* as literal angle brackets there. An HTML comment is invisible in both, so the
|
|
10
|
+
* markdown between the markers stays a plain list or plain prose — which is why
|
|
11
|
+
* the fallback for every component below is "the source, rendered normally".
|
|
12
|
+
*
|
|
13
|
+
* It is also the convention this repository already uses for generated regions
|
|
14
|
+
* and diagrams (`blocks.ts`), so there is one syntax to learn rather than two.
|
|
15
|
+
*
|
|
16
|
+
* ## Why it fails the build
|
|
17
|
+
*
|
|
18
|
+
* An unterminated block is silent breakage: the reader gets a page missing a
|
|
19
|
+
* section and nobody finds out until someone reads it. `inlineDiagrams` already
|
|
20
|
+
* throws on an unknown diagram for the same reason.
|
|
21
|
+
*
|
|
22
|
+
* ## The vocabulary
|
|
23
|
+
*
|
|
24
|
+
* ```markdown
|
|
25
|
+
* <!-- csda:cards cols=2 -->
|
|
26
|
+
* - [Getting started](./getting-started.md) — Install and run the gate.
|
|
27
|
+
* <!-- csda:endcards -->
|
|
28
|
+
*
|
|
29
|
+
* <!-- csda:tabs -->
|
|
30
|
+
* <!-- csda:tab npm --> …markdown…
|
|
31
|
+
* <!-- csda:tab Docker --> …markdown…
|
|
32
|
+
* <!-- csda:endtabs -->
|
|
33
|
+
*
|
|
34
|
+
* <!-- csda:steps -->
|
|
35
|
+
* ### Install ← each h3 becomes a numbered step
|
|
36
|
+
* <!-- csda:endsteps -->
|
|
37
|
+
*
|
|
38
|
+
* <!-- csda:note --> … <!-- csda:endnote --> also: warning, tip, danger
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.ComponentError = void 0;
|
|
43
|
+
exports.expandComponents = expandComponents;
|
|
44
|
+
const icons_1 = require("./icons");
|
|
45
|
+
/** Raised when a directive is malformed. Carries the page so the fix is obvious. */
|
|
46
|
+
class ComponentError extends Error {
|
|
47
|
+
}
|
|
48
|
+
exports.ComponentError = ComponentError;
|
|
49
|
+
const CALLOUTS = {
|
|
50
|
+
note: { label: "Note", icon: "book" },
|
|
51
|
+
tip: { label: "Tip", icon: "spark" },
|
|
52
|
+
warning: { label: "Warning", icon: "shield" },
|
|
53
|
+
danger: { label: "Careful", icon: "shield" },
|
|
54
|
+
};
|
|
55
|
+
function escapeAttr(value) {
|
|
56
|
+
return value.replace(/&/g, "&").replace(/"/g, """).replace(/</g, "<");
|
|
57
|
+
}
|
|
58
|
+
function fail(slug, message) {
|
|
59
|
+
throw new ComponentError(`${slug}.md: ${message}`);
|
|
60
|
+
}
|
|
61
|
+
/** `<!-- csda:name arg=value -->` → the raw attribute string, or null. */
|
|
62
|
+
function openTag(name) {
|
|
63
|
+
return new RegExp(`<!--\\s*csda:${name}([^>]*?)-->`, "i");
|
|
64
|
+
}
|
|
65
|
+
function closeTag(name) {
|
|
66
|
+
return new RegExp(`<!--\\s*csda:end${name}\\s*-->`, "i");
|
|
67
|
+
}
|
|
68
|
+
function attr(raw, key) {
|
|
69
|
+
const m = new RegExp(`\\b${key}\\s*=\\s*"?([\\w-]+)"?`).exec(raw || "");
|
|
70
|
+
return m ? m[1] : undefined;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Replace every `csda:NAME … csda:endNAME` region, innermost content passed to
|
|
74
|
+
* `body`. Scans left to right so two blocks of the same kind on one page work.
|
|
75
|
+
*/
|
|
76
|
+
function replaceRegions(source, name, slug, body) {
|
|
77
|
+
let out = "";
|
|
78
|
+
let rest = source;
|
|
79
|
+
for (;;) {
|
|
80
|
+
const open = openTag(name).exec(rest);
|
|
81
|
+
if (!open)
|
|
82
|
+
return out + rest;
|
|
83
|
+
const start = open.index;
|
|
84
|
+
const afterOpen = start + open[0].length;
|
|
85
|
+
const close = closeTag(name).exec(rest.slice(afterOpen));
|
|
86
|
+
if (!close) {
|
|
87
|
+
fail(slug, `<!-- csda:${name} --> is never closed with <!-- csda:end${name} -->`);
|
|
88
|
+
}
|
|
89
|
+
const inner = rest.slice(afterOpen, afterOpen + close.index);
|
|
90
|
+
out += rest.slice(0, start) + body(inner, open[1] || "");
|
|
91
|
+
rest = rest.slice(afterOpen + close.index + close[0].length);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
// ── cards ────────────────────────────────────────────────────────────────────
|
|
95
|
+
/**
|
|
96
|
+
* A markdown list of links becomes a grid of cards.
|
|
97
|
+
*
|
|
98
|
+
* `- [Label](href) — description` is the shape, and it is deliberately the
|
|
99
|
+
* shape the list already had before anyone wrapped it: the markers can be
|
|
100
|
+
* deleted and the page still reads.
|
|
101
|
+
*/
|
|
102
|
+
function cards(inner, args, slug, href) {
|
|
103
|
+
const cols = attr(args, "cols") || "2";
|
|
104
|
+
const items = [...inner.matchAll(/^\s*[-*]\s+\[([^\]]+)\]\(([^)]+)\)\s*(?:[—–-]\s*(.*))?$/gm)];
|
|
105
|
+
if (items.length === 0) {
|
|
106
|
+
fail(slug, "csda:cards contains no `- [Label](href) — description` items");
|
|
107
|
+
}
|
|
108
|
+
const cells = items
|
|
109
|
+
.map(([, label, target, blurb]) => {
|
|
110
|
+
const ic = attr(args, "icon");
|
|
111
|
+
return (
|
|
112
|
+
// Through the site's rewriter, or a card would link to raw markdown —
|
|
113
|
+
// the one thing every other link on the page is careful not to do.
|
|
114
|
+
`<a class="card" href="${escapeAttr(href(target.trim()))}">` +
|
|
115
|
+
(ic ? `<span class="card__icon">${(0, icons_1.icon)(ic)}</span>` : "") +
|
|
116
|
+
`<strong class="card__title">${label.trim()}</strong>` +
|
|
117
|
+
(blurb ? `<span class="card__body">${blurb.trim()}</span>` : "") +
|
|
118
|
+
`</a>`);
|
|
119
|
+
})
|
|
120
|
+
.join("");
|
|
121
|
+
return `\n<div class="cards" data-cols="${cols}">${cells}</div>\n`;
|
|
122
|
+
}
|
|
123
|
+
// ── tabs ─────────────────────────────────────────────────────────────────────
|
|
124
|
+
function tabs(inner, slug, renderInline) {
|
|
125
|
+
const parts = inner.split(/<!--\s*csda:tab\s+([^>]*?)-->/i);
|
|
126
|
+
// split() yields [before, title, body, title, body…]; `before` must be blank.
|
|
127
|
+
if (parts[0].trim() !== "") {
|
|
128
|
+
fail(slug, "content inside csda:tabs before the first <!-- csda:tab NAME -->");
|
|
129
|
+
}
|
|
130
|
+
if (parts.length < 3)
|
|
131
|
+
fail(slug, "csda:tabs needs at least one <!-- csda:tab NAME -->");
|
|
132
|
+
const id = `t${Math.abs(hash(inner)).toString(36)}`;
|
|
133
|
+
const heads = [];
|
|
134
|
+
const panels = [];
|
|
135
|
+
for (let i = 1; i < parts.length; i += 2) {
|
|
136
|
+
const title = parts[i].trim();
|
|
137
|
+
const selected = i === 1;
|
|
138
|
+
heads.push(`<button class="tabs__tab" type="button" role="tab" id="${id}-t${i}" ` +
|
|
139
|
+
`aria-controls="${id}-p${i}" aria-selected="${selected}" tabindex="${selected ? 0 : -1}">` +
|
|
140
|
+
`${title}</button>`);
|
|
141
|
+
panels.push(`<div class="tabs__panel" role="tabpanel" id="${id}-p${i}" aria-labelledby="${id}-t${i}"` +
|
|
142
|
+
`${selected ? "" : " hidden"}>${renderInline(parts[i + 1])}</div>`);
|
|
143
|
+
}
|
|
144
|
+
return (`\n<div class="tabs">` +
|
|
145
|
+
`<div class="tabs__list" role="tablist">${heads.join("")}</div>` +
|
|
146
|
+
panels.join("") +
|
|
147
|
+
`</div>\n`);
|
|
148
|
+
}
|
|
149
|
+
/** Stable id per block, so the markup does not churn between builds. */
|
|
150
|
+
function hash(s) {
|
|
151
|
+
let h = 0;
|
|
152
|
+
for (let i = 0; i < s.length; i++)
|
|
153
|
+
h = (h * 31 + s.charCodeAt(i)) | 0;
|
|
154
|
+
return h;
|
|
155
|
+
}
|
|
156
|
+
// ── steps ────────────────────────────────────────────────────────────────────
|
|
157
|
+
/** Each `### Heading` inside the block becomes a numbered step. */
|
|
158
|
+
function steps(inner, slug, renderInline) {
|
|
159
|
+
const chunks = inner.split(/^###\s+(.+)$/gm);
|
|
160
|
+
if (chunks[0].trim() !== "")
|
|
161
|
+
fail(slug, "content inside csda:steps before the first `### `");
|
|
162
|
+
if (chunks.length < 3)
|
|
163
|
+
fail(slug, "csda:steps needs at least one `### ` heading");
|
|
164
|
+
let n = 0;
|
|
165
|
+
const items = [];
|
|
166
|
+
for (let i = 1; i < chunks.length; i += 2) {
|
|
167
|
+
n += 1;
|
|
168
|
+
items.push(`<li class="steps__step">` +
|
|
169
|
+
`<span class="steps__n" aria-hidden="true">${n}</span>` +
|
|
170
|
+
`<div class="steps__body"><h3 class="steps__title">${chunks[i].trim()}</h3>` +
|
|
171
|
+
`${renderInline(chunks[i + 1])}</div></li>`);
|
|
172
|
+
}
|
|
173
|
+
return `\n<ol class="steps">${items.join("")}</ol>\n`;
|
|
174
|
+
}
|
|
175
|
+
// ── callouts ─────────────────────────────────────────────────────────────────
|
|
176
|
+
function callout(kind, inner, renderInline) {
|
|
177
|
+
const { label, icon: ic } = CALLOUTS[kind];
|
|
178
|
+
return (`\n<div class="callout callout--${kind}" role="note">` +
|
|
179
|
+
`<p class="callout__label">${(0, icons_1.icon)(ic, "icon callout__icon")}${label}</p>` +
|
|
180
|
+
`<div class="callout__body">${renderInline(inner)}</div></div>\n`);
|
|
181
|
+
}
|
|
182
|
+
// ── the pass ─────────────────────────────────────────────────────────────────
|
|
183
|
+
/**
|
|
184
|
+
* Expand every component in one markdown source.
|
|
185
|
+
*
|
|
186
|
+
* `renderInline` is the site's own markdown renderer, injected rather than
|
|
187
|
+
* imported so this module has no dependency on `marked` and stays testable on
|
|
188
|
+
* its own. It is called for component *bodies*, which is what lets a tab hold a
|
|
189
|
+
* code block and a callout hold a list.
|
|
190
|
+
*/
|
|
191
|
+
function expandComponents(source, slug, renderInline, rewriteHref) {
|
|
192
|
+
let out = source;
|
|
193
|
+
out = replaceRegions(out, "cards", slug, (inner, args) => cards(inner, args, slug, rewriteHref));
|
|
194
|
+
out = replaceRegions(out, "tabs", slug, (inner) => tabs(inner, slug, renderInline));
|
|
195
|
+
out = replaceRegions(out, "steps", slug, (inner) => steps(inner, slug, renderInline));
|
|
196
|
+
for (const kind of Object.keys(CALLOUTS)) {
|
|
197
|
+
out = replaceRegions(out, kind, slug, (inner) => callout(kind, inner, renderInline));
|
|
198
|
+
}
|
|
199
|
+
// A stray closer means someone deleted the opener and left the pair broken.
|
|
200
|
+
const orphan = /<!--\s*csda:end(cards|tabs|steps|note|tip|warning|danger)\s*-->/i.exec(out);
|
|
201
|
+
if (orphan)
|
|
202
|
+
fail(slug, `<!-- csda:${orphan[1]} --> closer with no opener`);
|
|
203
|
+
const strayTab = /<!--\s*csda:tab\s/i.exec(out);
|
|
204
|
+
if (strayTab)
|
|
205
|
+
fail(slug, "<!-- csda:tab NAME --> outside a csda:tabs block");
|
|
206
|
+
return out;
|
|
207
|
+
}
|
|
208
|
+
//# sourceMappingURL=components.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.js","sourceRoot":"","sources":["../../../scripts/docs/components.ts"],"names":[],"mappings":"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"}
|