jsdoc-scribe API/lib/rendererv2.5.3
Functions(109)
ParameterTypeOptionalDescription
sany
Returns: any
Signature
esc(s: any): any
ParameterTypeOptionalDescription
labelany
clsany
Returns: any
Signature
badge(label: any, cls: any): any
#anchorId
line 450
ParameterTypeOptionalDescription
kindany
nameany
Returns: any
Signature
anchorId(kind: any, name: any): any
#copyBtn
line 453
ParameterTypeOptionalDescription
sigany
Returns: any
Signature
copyBtn(sig: any): any
Renders a named lucide-style line icon as inline SVG (design-system §6.1: pure SVG, `stroke-width:1.75`, rounded caps/joins, 24x24 default bounding box). Unknown names render nothing rather than throwing -- callers pass a literal string, so a typo should degrade silently, not break page render.
ParameterTypeOptionalDescription
namestring- one of ICON_PATHS's keys.
sizenumberyes- width/height in px, default 16.
clsstringyes- optional extra CSS class on the <svg>.
Returns: string
Signature
icon(name: any, size: any, cls: any): any
#isTodoText
line 514
True when `s` is a `--fix`-generated placeholder, per `lib/fix.js`'s own literal templates (`TODO_DESCRIPTION`, `TODO_RETURNS_DESCRIPTION`, the per-param `TODO: describe parameter "x".` template) -- all start with "TODO:" by design (see `lib/fix.js`'s own comment: "Every one is prefixed 'TODO:' on purpose"). Matches that exact, existing convention; invents nothing new (story-file-detail-redesign, ADR Decision 2).
ParameterTypeOptionalDescription
sstring
Returns: boolean
Signature
isTodoText(s: any): any
#descText
line 530
Renders a description string, flagging `--fix`-generated TODO placeholders with a distinct badge + muted italic text instead of rendering them identically to real authored prose. The underlying text is unchanged either way -- this is presentation-only.
ParameterTypeOptionalDescription
sstring
Returns: string
Signature
descText(s: any): any
#metaHtml
line 538
ParameterTypeOptionalDescription
itemany
Returns: any
Signature
metaHtml(item: any): any
#highlightCode
line 553
Server-side tokenizer for JS/TS @example blocks. Returns HTML with tok-* spans. Processes strings, comments, numbers, keywords.
ParameterTypeOptionalDescription
rawany
Returns: any
Signature
highlightCode(raw: any): any
#descHtml
line 582
ParameterTypeOptionalDescription
itemany
symbolMapany
filePathany
Returns: any
Signature
descHtml(item: any, symbolMap: any, filePath: any): any
#renderParams
line 596
ParameterTypeOptionalDescription
paramsany
jsdocParamsany
Returns: any
Signature
renderParams(params: any, jsdocParams: any): any
#renderReturns
line 621
ParameterTypeOptionalDescription
returnTypeany
returnsTagany
Returns: any
Signature
renderReturns(returnType: any, returnsTag: any): any
#renderThrows
line 627
ParameterTypeOptionalDescription
throwsany
Returns: any
Signature
renderThrows(throws: any): any
#collapsible
line 674
ParameterTypeOptionalDescription
labelany
htmlany
openany
Returns: any
Signature
collapsible(label: any, html: any, open: any): any
#buildFnSig
line 690
ParameterTypeOptionalDescription
fnany
Returns: any
Signature
buildFnSig(fn: any): any
#buildClassSig
line 700
ParameterTypeOptionalDescription
clsany
Returns: any
Signature
buildClassSig(cls: any): any
#buildIfaceSig
line 715
ParameterTypeOptionalDescription
ifaceany
Returns: any
Signature
buildIfaceSig(iface: any): any
ParameterTypeOptionalDescription
idany
kindClassany
proseHtmlany
codeHtmlany
Returns: any
Signature
card(id: any, kindClass: any, proseHtml: any, codeHtml: any): any
#codePanel
line 737
ParameterTypeOptionalDescription
itemany
sigTextany
Returns: any
Signature
codePanel(item: any, sigText: any): any
#renderFunction
line 751
ParameterTypeOptionalDescription
fnany
filePathany
sourceUrlany
symbolMapany
functionHealthLookupany
Returns: any
Signature
renderFunction(fn: any, filePath: any, sourceUrl: any, symbolMap: any, functionHealthLookup: any): any
#renderClass
line 779
ParameterTypeOptionalDescription
clsany
filePathany
sourceUrlany
symbolMapany
functionHealthLookupany
Returns: any
Signature
renderClass(cls: any, filePath: any, sourceUrl: any, symbolMap: any, functionHealthLookup: any): any
#renderInterface
line 926
ParameterTypeOptionalDescription
ifaceany
filePathany
sourceUrlany
symbolMapany
Returns: any
Signature
renderInterface(iface: any, filePath: any, sourceUrl: any, symbolMap: any): any
#renderEnum
line 978
ParameterTypeOptionalDescription
enmany
filePathany
sourceUrlany
symbolMapany
Returns: any
Signature
renderEnum(enm: any, filePath: any, sourceUrl: any, symbolMap: any): any
#renderTypeAlias
line 1018
ParameterTypeOptionalDescription
taany
filePathany
sourceUrlany
symbolMapany
Returns: any
Signature
renderTypeAlias(ta: any, filePath: any, sourceUrl: any, symbolMap: any): any
#renderVariable
line 1036
ParameterTypeOptionalDescription
vany
filePathany
sourceUrlany
symbolMapany
Returns: any
Signature
renderVariable(v: any, filePath: any, sourceUrl: any, symbolMap: any): any
#section
line 1055
ParameterTypeOptionalDescription
titleany
itemsany
renderFnany
filePathany
sourceUrlany
symbolMapany
functionHealthLookupany
Returns: any
Signature
section(title: any, items: any, renderFn: any, filePath: any, sourceUrl: any, symbolMap: any, functionHealthLookup: any): any
#commonRoot
line 1091
ParameterTypeOptionalDescription
modulesany
Returns: any
Signature
commonRoot(modules: any): any
#moduleLabel
line 1117
ParameterTypeOptionalDescription
filePathany
modulesany
Returns: any
Signature
moduleLabel(filePath: any, modules: any): any
#moduleHtmlPath
line 1124
ParameterTypeOptionalDescription
filePathany
modulesany
Returns: any
Signature
moduleHtmlPath(filePath: any, modules: any): any
#deeperCommonRoot
line 1127
ParameterTypeOptionalDescription
labelsany
Returns: any
Signature
deeperCommonRoot(labels: any): any
#hasExports
line 1149
ParameterTypeOptionalDescription
modany
Returns: any
Signature
hasExports(mod: any): any
#pathTree
line 1171
Builds a synthetic-root N-level tree from module file paths, reusing deeperCommonRoot as a pre-pass. Single source of truth for buildSidebar and buildIndexBody (adr-phase-i-tree-nav.md).
ParameterTypeOptionalDescription
modulesobject[]
Returns: object — synthetic root TreeNode { name, type, children }
Signature
pathTree(modules: any): any
#shortLabelFor
line 1174
ParameterTypeOptionalDescription
labelany
Returns: any
Signature
shortLabelFor(label: any): any
#sortTree
line 1198
ParameterTypeOptionalDescription
nodeany
Signature
sortTree(node: any)
#ancestorChain
line 1215
Returns the array of ancestor dir TreeNodes (root to, not including, the leaf) for the given module reference within the given tree.
ParameterTypeOptionalDescription
rootobject
targetModobject
Returns: object[]
Signature
ancestorChain(root: any, targetMod: any): any
ParameterTypeOptionalDescription
nodeany
pathany
Returns: any
Signature
walk(node: any, path: any): any
#buildBody
line 1236
ParameterTypeOptionalDescription
itemany
Returns: any
Signature
buildBody(item: any): any
#buildSearchIndex
line 1249
ParameterTypeOptionalDescription
modulesany
prefixany
Returns: any
Signature
buildSearchIndex(modules: any, prefix: any): any
ParameterTypeOptionalDescription
aany
Returns: any
Signature
url(a: any): any
ParameterTypeOptionalDescription
nameany
kindany
anchorany
itemany
Signature
push(name: any, kind: any, anchor: any, item: any)
#buildTopnav
line 1290
ParameterTypeOptionalDescription
crumbHtmlany
versionSwitcherHtmlany
Returns: any
Signature
buildTopnav(crumbHtml: any, versionSwitcherHtml: any): any
#formatVersionLabel
line 1319
Parses a site-data version-id (the ISO-timestamp segment `site-data.js`'s `writeSiteData()` already bakes into `site-data-history/site-data-<id>.json` filenames, dashes standing in for the colons/dot a raw ISO string can't use in a filename) back into a fixed, literal locale label -- never an invented relative-time phrase ("2 days ago" is not a preserved fact; story-doc-version-switcher AC4). Falls back to the raw id string (still a real fact, just less pretty) if the id doesn't match the expected shape or produces an invalid Date -- e.g. a rare collision-suffixed id like `<ts>-1`.
ParameterTypeOptionalDescription
versionIdstring
Returns: string
Signature
formatVersionLabel(versionId: any): any
#buildVersionSwitcher
line 1351
Version-switcher control (story-doc-version-switcher): native `<details>/<summary>` disclosure per ui-ux-designer's spec -- explicitly NOT a `<select>` (rejected in the spec: needs a JS onchange handler to navigate, breaking this project's zero/near-zero-script precedent). Zero-history case renders a plain, non-interactive `<span>` instead of a `<details>` with an empty menu -- a disclosure that opens to reveal nothing-new-to-pick is a broken affordance (handoff notes, explicit). the version-id being viewed when rendering inside a `site-versions/<id>/` snapshot. rendered back to the output root where `site-versions/` and the live `index.html` both live (differs from the page's own same-site asset prefix when the page itself is inside a snapshot -- see buildSite()).
ParameterTypeOptionalDescription
currentVersionIdstring|null- null when rendering the live site;
versionIdsstring[]- `site-versions/` directory names, most-recent-first.
prefixToOutDirRootstring- relative path prefix from the page being
Returns: string
Signature
buildVersionSwitcher(currentVersionId: any, versionIds: any, prefixToOutDirRoot: any): any
#symRows
line 1399
ParameterTypeOptionalDescription
modany
Returns: any
Signature
symRows(mod: any): any
#dirTitle
line 1427
ParameterTypeOptionalDescription
nodeany
Returns: any
Signature
dirTitle(node: any): any
#precomputeDefaultTree
line 1456
ParameterTypeOptionalDescription
nodeany
depthany
modulesany
prefixany
cacheany
Signature
precomputeDefaultTree(node: any, depth: any, modules: any, prefix: any, cache: any)
#renderTreeLevel
line 1512
ParameterTypeOptionalDescription
nodeany
depthany
modulesany
activePathany
prefixany
activeModuleany
ancestorsOfActiveany
defaultCacheany
Returns: any
Signature
renderTreeLevel(node: any, depth: any, modules: any, activePath: any, prefix: any, activeModule: any, ancestorsOfActive: any, defaultCache: any): any
#buildSidebar
line 1582
ParameterTypeOptionalDescription
modulesany
projectNameany
versionany
activePathany
rootPrefixany
activeModuleany
precomputedTreeany
optsany
Returns: any
Signature
buildSidebar(modules: any, projectName: any, version: any, activePath: any, rootPrefix: any, activeModule: any, precomputedTree: any, opts: any): any
#buildToc
line 1620
ParameterTypeOptionalDescription
modany
Returns: any
Signature
buildToc(mod: any): any
#buildSymbolMap
line 1649
ParameterTypeOptionalDescription
modulesany
Returns: any
Signature
buildSymbolMap(modules: any): any
ParameterTypeOptionalDescription
nameany
aidany
Signature
reg(name: any, aid: any)
#cardBreadcrumb
line 1674
Bounded breadcrumb segments for an index card (task-pi-05c): drops the filename, keeps at most the last 2 directory segments, prefixing an ellipsis when the path is deeper than that.
ParameterTypeOptionalDescription
slstring
Returns: string[]|null
Signature
cardBreadcrumb(sl: any): any
#buildIndexBody
line 1681
ParameterTypeOptionalDescription
modulesany
Returns: any
Signature
buildIndexBody(modules: any): any
ParameterTypeOptionalDescription
labelany
Returns: any
Signature
_short(label: any): any
ParameterTypeOptionalDescription
scoreany
kindany
Returns: any
Signature
qColor(score: any, kind: any): any
#qCountColor
line 1730
ParameterTypeOptionalDescription
nany
Returns: any
Signature
qCountColor(n: any): any
#qWarnColor
line 1731
ParameterTypeOptionalDescription
nany
Returns: any
Signature
qWarnColor(n: any): any
#qSeverityColor
line 1732
ParameterTypeOptionalDescription
sevany
Returns: any
Signature
qSeverityColor(sev: any): any
#scoreToGrade
line 1749
Display-only letter grade for the Code Health hero gauge (story-code-health-redesign, ADR Decision 5). This is a purely cosmetic, finer-grained scale layered ON TOP OF `qColor`'s existing 3-band thresholds -- it does NOT replace or compete with them. The gauge's arc color and score text color must still come from `qColor(score, "health")`; a "B+" and a "B" can legitimately render in the same color, same as two scores in the same qColor band always have.
ParameterTypeOptionalDescription
scorenumber- 0-100 health score (result.averageHealthScore).
Returns: string — a letter grade, or "—" if score isn't a finite number.
Signature
scoreToGrade(score: any): any
#gaugeArcSvg
line 1778
Renders the Code Health gauge ring as an inline SVG arc (270° sweep starting at 135°/bottom-left) instead of a CSS `conic-gradient` circle -- matches the jsdoc-scribe design-system reference (`GradeGauge`) exactly, and gives the filled arc a real drop-shadow glow that `conic-gradient` can't produce. Purely a ring; grade/score text stays as separate HTML (`.qhero-grade`/`.qhero-score`) absolutely centered over it via `.qhero-gauge-inner`, unchanged from before -- only the ring-drawing mechanism changed.
ParameterTypeOptionalDescription
colorstring- stroke color for the filled portion (a qColor() result).
pctnumber- 0-1 fraction filled.
sizenumber- SVG width/height in px, matches the CSS ring's own diameter.
Returns: string
Signature
gaugeArcSvg(color: any, pct: any, size: any): any
ParameterTypeOptionalDescription
angleDegany
Returns: any
Signature
polar(angleDeg: any): any
ParameterTypeOptionalDescription
startAngleany
endAngleany
Returns: any
Signature
arc(startAngle: any, endAngle: any): any
#qStatCard
line 1829
ParameterTypeOptionalDescription
labelany
valueany
colorany
Returns: any
Signature
qStatCard(label: any, value: any, color: any): any
#qCardRow
line 1850
Renders one qcard-row (shared between a card's always-visible preview and its inline "view more" expansion — same lightweight [label, value, color?] shape used since story-code-health-drilldown, deliberately NOT the richer detail-page `<table>` row shape, so smell ids etc. stay detail-page-only, see story-code-health-redesign's requirement #6).
ParameterTypeOptionalDescription
r[string, string|number|null, string|null]
Returns: string
Signature
qCardRow(r: any): any
Renders one focus-area card for the index page's Code Health section (story-code-health-redesign, restyling story-code-health-drilldown's original card). Shows up to 5 rows inline; any remaining rows are reachable via a native `<details>` expand (zero client JS — see ADR Decision 3) rather than only via the standalone detail page. The standalone detail-page link ("open full page") remains, unconditionally, per requirement #6 — this is additive, not a replacement.
ParameterTypeOptionalDescription
opts{title: string, statLineHtml?: string, rows: Array<[string, string|number|null, string|null]>, moreHref: string, moreLabel: string, tag: string, tagBg: string, tagText: string, tagColor: string, bigValue: string, bigCaption: string}
Returns: string
Signature
qCard(opts: any): any
#qSnapshotScore
line 1940
Score-of helper for a code-multivitals Snapshot (story-code-health-redesign ADR Decision 6). Snapshot shape per `node_modules/code-multivitals/dist/snapshots.d.ts`: `{path, timestamp, result}` — `result` is a full AnalysisResult, same shape runQuality() returns, so `.averageHealthScore` is already there, no new field.
ParameterTypeOptionalDescription
snapshot{result?: {averageHealthScore?: number}}
Returns: number|null
Signature
qSnapshotScore(snapshot: any): any
#buildHealthSparkline
line 1954
Renders the hero panel's trend sparkline + delta badge (story-code-health-redesign, ADR Decision 6). `loadQualitySnapshots()` returns snapshots sorted oldest-first; this renders up to the last 6. Fewer than 2 usable snapshots -> an honest "not enough history yet" message, never a fabricated/flat line.
ParameterTypeOptionalDescription
snapshotsArray<object>- `quality.snapshots` (may be empty/undefined).
Returns: string
Signature
buildHealthSparkline(snapshots: any): any
#buildHealthHero
line 2022
Renders the Code Health hero panel (story-code-health-redesign): a circular CSS `conic-gradient` gauge (grade + score, both derived from `result.averageHealthScore` and colored via the existing `qColor` bands — ADR Decision 5), the 6 non-gauge stat entries previously shown as separate `.qstat-card`s, and the trend sparkline/delta badge (ADR Decision 6).
ParameterTypeOptionalDescription
resultobject- runQuality() AnalysisResult.
snapshotsArray<object>- `quality.snapshots`, may be empty/undefined.
Returns: string
Signature
buildHealthHero(result: any, snapshots: any): any
#attentionList
line 2079
ParameterTypeOptionalDescription
resultany
Returns: any
Signature
attentionList(result: any): any
#attentionRowsHtml
line 2085
ParameterTypeOptionalDescription
listany
Returns: any
Signature
attentionRowsHtml(list: any): any
#cloneRowsHtml
line 2112
ParameterTypeOptionalDescription
clonesany
Returns: any
Signature
cloneRowsHtml(clones: any): any
#importRowsHtml
line 2142
ParameterTypeOptionalDescription
entriesany
Returns: any
Signature
importRowsHtml(entries: any): any
#orphanRowsHtml
line 2148
ParameterTypeOptionalDescription
orphansany
Returns: any
Signature
orphanRowsHtml(orphans: any): any
#toDisplayPath
line 2168
Converts an absolute file path to a cwd-relative one for display in the Code Health dashboard's "Most-imported files" / "Orphan files" cards and their detail pages. lib/import-graph.js intentionally works in absolute paths internally (needed for matching against the resolved file set) -- this is presentation-only, bringing these two cards in line with the "Files needing attention" / "Duplicate code" cards, whose paths are already cwd-relative courtesy of code-multivitals. Falls back to the original string for anything path.relative() can't shorten (already relative input, a different drive on Windows, etc.) rather than risk showing an even less readable path.
ParameterTypeOptionalDescription
filePathstring
Returns: string
Signature
toDisplayPath(filePath: any): any
#buildQualitySection
line 2185
Renders the code-multivitals health summary as an inline section for the doc site's index page (story-code-health-drilldown, 2026-07-06): 7 stat cards unchanged, followed by 4 summary cards (previously 4 full inline tables) each linking to its own uncapped detail page — see buildHealthDetailPages(). Detail-page hrefs are plain root-relative filenames, valid whether this section renders on index.html directly or is exercised standalone in tests.
ParameterTypeOptionalDescription
quality{result: object, graph?: object, orphans?: string[]}
Returns: string — HTML for a <div class="section"> block.
Signature
buildQualitySection(quality: any): any
#buildHealthDetailPages
line 2285
`seoBaseUrl`/`seoDescription` (both optional, added alongside buildSite()'s `baseUrl`/`description` options): when `seoBaseUrl` is given, each detail page gets a canonical link (`seoBaseUrl + slug`) plus matching OpenGraph tags via `page()`'s `seo` param; `seoDescription` is reused as-is for every detail page's meta description (these are drill-down tables, not distinct content, so a shared description is accurate rather than a compromise). Trailing/optional -- omitted entirely, output is unchanged from before.
ParameterTypeOptionalDescription
qualityany
modulesany
projectNameany
versionany
treeany
switcherHtmlany
defaultCacheany
parentsLinkedany
architectureHrefany
seoBaseUrlany
seoDescriptionany
Returns: any
Signature
buildHealthDetailPages(quality: any, modules: any, projectName: any, version: any, tree: any, switcherHtml: any, defaultCache: any, parentsLinked: any, architectureHref: any, seoBaseUrl: any, seoDescription: any): any
ParameterTypeOptionalDescription
slugany
titleany
tableHtmlany
Signature
wrap(slug: any, title: any, tableHtml: any)
#codeSpan
line 2391
Wraps `s` in an escaped `<code>` span -- the lightweight "code voice" used throughout the phrasing table in UX §2.5 for file/dir/dependency names.
ParameterTypeOptionalDescription
sstring
Returns: string
Signature
codeSpan(s: any): any
#architectureSignalSentence
line 2491
Builds the one-sentence, evidence-backed body copy for an architecture- pattern-signal `.qcard` (UX §2.5's first phrasing table), keyed off the exact evidence-string shapes `getArchitectureSignals()` produces today. Evidence not matching any table row (a future signal shape, e.g. this repo's own "Frontend application" signal, which shares the "framework dependency: ..." shape with "Backend/API service" but has no table row of its own) falls back to UX §2.5's general rule: name the actual evidence, never paraphrase away specifics, never show it raw/un-wrapped.
ParameterTypeOptionalDescription
signal{name: string, evidence: string}
Returns: string — HTML (already escaped where needed).
Signature
architectureSignalSentence(signal: any): any
#frameworkSignalSentence
line 2518
Builds the one-sentence, evidence-backed body copy for a framework-signal `.qcard` (UX §2.5's second phrasing table), covering both confidence shapes `getFrameworkSignals()` produces.
ParameterTypeOptionalDescription
signal{name: string, confidence: ("dependency"|"file-heuristic"), evidence: string}
Returns: string — HTML (already escaped where needed).
Signature
frameworkSignalSentence(signal: any): any
#archSignalCard
line 2538
ParameterTypeOptionalDescription
signalany
Returns: any
Signature
archSignalCard(signal: any): any
#archPatternCard
line 2558
Renders one getArchitecturePatterns() entry as a card: name, the concrete evidence that matched, a 3-4 line plain-language description, and a "Learn more" link out to the pattern's canonical external reference (Wikipedia or its originating/official source). Distinct from archSignalCard() above -- architectureSignals answers "what kind of project is this" (CLI tool, monorepo, ...); architecturePatterns answers the deeper "which architecture style does this codebase's own folder structure actually look like" question, so it always carries a description + reference link even though both reuse the same .qcard shell.
ParameterTypeOptionalDescription
pattern{name: string, description: string, link: string, evidence: string}
Returns: string
Signature
archPatternCard(pattern: any): any
#frameworkSignalCard
line 2569
ParameterTypeOptionalDescription
signalany
Returns: any
Signature
frameworkSignalCard(signal: any): any
#buildWorkspacePackagesSubsection
line 2591
Renders a `getWorkspacePackages()` result as the "Workspace packages" sub-heading (UX §2.6), reusing `.module-grid`/`.module-card` -- plain `<div>` cards, not `<a>` links, since there's no per-package page to link to (unlike the index page's module cards).
ParameterTypeOptionalDescription
workspacePackages{name: string, path: string, description: (string|null)}[]
Returns: string
Signature
buildWorkspacePackagesSubsection(workspacePackages: any): any
#categorizeStructureFiles
line 2628
Buckets a directory node's own (non-recursive) per-extension file counts -- project-facts.js's summarizeFileExtensions() only counts a directory's own immediate files, never descendants -- into the 4 headline categories above, plus a catch-all "other" total for every extension that doesn't match any of them (.md/.html/.yml/.svg/etc).
ParameterTypeOptionalDescription
filesMapany
Returns: any
Signature
categorizeStructureFiles(filesMap: any): any
#structBadge
line 2640
ParameterTypeOptionalDescription
colorany
textany
Returns: any
Signature
structBadge(color: any, text: any): any
#structureBadgesHtml
line 2653
Renders one directory node's own badge row: a folder-count badge (if it has subdirectories) followed by one colored badge per non-zero file category, plus a muted "other" badge for anything uncategorized. Every level of the tree gets its own row computed the same way, since renderStructureNode below calls this once per recursive invocation -- that's what makes the badges recursive down every subtree, not just the top level.
ParameterTypeOptionalDescription
nodeany
Returns: any
Signature
structureBadgesHtml(node: any): any
#renderStructureNode
line 2686
Recursively renders one `getProjectStructure()` node as a native `<details>`/`<summary>` using the already-shipped `.collapse-toggle`/ `.collapse-body` classes (Consolidation note's binding correction over the ADR's own superseded `sidebar-item-details` parenthetical -- this lives in `.main` page content, not the sidebar nav, so it carries the light card-internal treatment, not sidebar chrome). Depth-0 (top-level) nodes render open; every nested level renders collapsed by default (UX §2.6). A `children` array beyond 40 entries renders only the first 40 (already alphabetical, matching `getProjectStructure()`'s own sort) plus a static "+N more" line -- no expand-more JS.
ParameterTypeOptionalDescription
node{name: string, description: string, files: object, children: (Array|undefined)}
depthnumber- 0 for a top-level directory.
Returns: string
Signature
renderStructureNode(node: any, depth: any): any
#buildArchitectureSubtitle
line 2716
"{N} pattern signal(s) · {P} architecture pattern(s) · {M} framework signal(s) · {D} top-level director{y|ies}" (UX §2.1, extended 2026-07-15 for architecturePatterns) -- omits any segment whose count is 0.
ParameterTypeOptionalDescription
factsobject
Returns: string
Signature
buildArchitectureSubtitle(facts: any): any
#buildArchitectureSignalsSection
line 2738
"WHAT KIND OF PROJECT IS THIS" section (architecture-pattern signals), or "" when there are no signals to show. Split out of `buildArchitectureSection()` (GitHub code-scanning alert: that function's combined Halstead volume/cyclomatic complexity crossed threshold) -- output is unchanged, just relocated.
ParameterTypeOptionalDescription
architectureSignalsobject[]
Returns: string
Signature
buildArchitectureSignalsSection(architectureSignals: any): any
#buildArchitecturePatternsSection
line 2757
"ARCHITECTURAL PATTERN(S)" section, or "" when none were detected. See `buildArchitectureSignalsSection()`'s doc comment for why this was split out of `buildArchitectureSection()`.
ParameterTypeOptionalDescription
architecturePatternsobject[]
Returns: string
Signature
buildArchitecturePatternsSection(architecturePatterns: any): any
#buildFrameworkSignalsSection
line 2776
"WHAT IT'S BUILT WITH" section (framework signals), or "" when none were detected. See `buildArchitectureSignalsSection()`'s doc comment for why this was split out of `buildArchitectureSection()`.
ParameterTypeOptionalDescription
frameworkSignalsobject[]
Returns: string
Signature
buildFrameworkSignalsSection(frameworkSignals: any): any
#buildStructureBodyHtml
line 2795
The structure section's tree body: either the rendered nodes (capped at 40, "+N more" beyond that, per UX §2.6) or the "no subdirectories" empty state. Structure is the one section with no presence guard -- an empty `[]` is a legitimate result to show, not an absent-data state.
ParameterTypeOptionalDescription
structureobject[]
Returns: string
Signature
buildStructureBodyHtml(structure: any): any
#buildStructureSection
line 2817
"HOW IT'S ORGANIZED" section -- always rendered (never gated on an empty-check) once `buildArchitectureSection()` has already decided the page as a whole has something to show. See `buildArchitectureSignalsSection()`'s doc comment for why this was split out of `buildArchitectureSection()`.
ParameterTypeOptionalDescription
structureobject[]
workspacePackagesobject[]
Returns: string
Signature
buildStructureSection(structure: any, workspacePackages: any): any
#buildArchitectureSection
line 2853
Builds the three content sections of the Architecture page (pattern signals -> framework signals -> structure, UX §1/§3's mandated DOM order) from `getAllFacts()` output. Returns "" when `facts` is absent or every relevant field is empty -- the single presence-check this ticket's "no page on empty/absent facts" AC hangs off (mirrors `buildQualitySection`'s `if (!quality || !quality.result) return "";` guard). The pattern-signal and framework-signal sections are themselves omitted when their own signal list is empty (no card grid with zero cards) -- the structure section is the one documented exception (UX §2.6): a `getProjectStructure()` of `[]` is "a legitimate, correct result to show, not an absent-data state," so that section always renders once this function doesn't early-return, with a `.qempty` message in place of a tree. Each of the four sections' own markup lives in its own `build*Section()` helper above (GitHub code-scanning alert: this function's combined Halstead volume/cyclomatic complexity crossed threshold when all four were inlined) -- this function is now just the presence-guard plus a fixed-order concatenation, with identical output to before.
ParameterTypeOptionalDescription
factsobject- getAllFacts() output.
Returns: string
Signature
buildArchitectureSection(facts: any): any
#buildArchitecturePage
line 2914
Assembles the standalone architecture.html page (task-arch-04, ADR Decisions 1-4/6) via the existing `page()`/`buildTopnav()`/`buildSidebar()` helpers, parallel to `buildHealthDetailPages()`'s `wrap()` pattern. Only meaningful to call when `buildArchitectureSection(facts)` is non-empty; returns `null` otherwise so callers (buildSite()) skip pushing a page and skip wiring the sidebar navbutton -- no page/section/navbutton at all on absent/empty facts, per ADR Decision 3. Deviation from the ticket's literal signature, disclosed: the ticket text lists `buildArchitecturePage(facts, projectName, version, tree, switcherHtml, defaultCache)` with no `modules` parameter. `buildSidebar()` requires `modules` (its first argument, used inside `renderTreeLevel()` to resolve each module's href) for every other page in the site, including the structurally-parallel `buildHealthDetailPages()`; omitting it here would render an empty/broken Modules tree in this one page's sidebar, inconsistent with every other generated page. `modules` and `parentsLinked` (mirroring `buildHealthDetailPages()`'s own trailing param, so this page reuses `buildSite()`'s already-linked `__parent` pointers instead of re-walking them) are added to the signature below. same-named param: when given, adds a canonical link (`seoBaseUrl + "architecture.html"`) plus OpenGraph tags. Omitted entirely, output is unchanged from before. ARCHITECTURE_ORIENTATION_PARAGRAPH (already accurate, plain-English page copy) when the caller doesn't supply a site-wide one.
ParameterTypeOptionalDescription
factsobject- getAllFacts() output.
modulesobject[]
projectNamestring
versionstring
treeobject- precomputed pathTree(modules), reused from buildSite.
switcherHtmlstring
defaultCacheMap
parentsLinkedbooleanyes
seoBaseUrlstringyes- trailing/optional, mirrors buildHealthDetailPages()'s
seoDescriptionstringyes- meta description; falls back to
Returns: {path: string, html: string}|null
Signature
buildArchitecturePage(facts: any, modules: any, projectName: any, version: any, tree: any, switcherHtml: any, defaultCache: any, parentsLinked: any, seoBaseUrl: any, seoDescription: any): any
#buildFileHealthLookup
line 2956
Precomputes a filePath-keyed lookup of per-file health data for the module-page strip (story-code-health-drilldown AC4/AC8). Built once per buildSite() call, not per module page. Join key is path.resolve(filePath) — code-multivitals's FileReport.filePath and this project's own mod.filePath are both whatever string was in the `files` array passed to extractModule()/runQuality() (same array, same run), so they already match string-for-string in the common case; resolving both sides is a defensive normalization, not a fix for a known mismatch. Per-file error/warning counts and function count are not provided directly by code-multivitals's FileSummary — they're derived here by counting existing FunctionReport.metrics[].severity entries and FileReport.functions.length, reusing data already present in the analyse() result (no new metrics).
ParameterTypeOptionalDescription
quality{result: object}
Returns: Object<string, object>
Signature
buildFileHealthLookup(quality: any): any
#getFileReportMap
line 3026
ParameterTypeOptionalDescription
qualityResultany
Returns: any
Signature
getFileReportMap(qualityResult: any): any
#buildFunctionHealthLookup
line 3036
ParameterTypeOptionalDescription
qualityany
filePathany
Returns: any
Signature
buildFunctionHealthLookup(quality: any, filePath: any): any
#functionHealthChip
line 3077
Compact inline per-function/method health chip row (story-function-level- health-drilldown). Reuses scoreToGrade()/qColor()/qSeverityColor() verbatim at a smaller, inline scale -- deliberately not a second full gauge (AC2: must read as subordinate to the per-file hero above it on the same page). Graceful fallback (AC3/architect Decision 4): no matching FunctionReport -> a single muted qchip-empty span, never a broken/NaN render, never a silent fall-back to file-level aggregate data.
ParameterTypeOptionalDescription
namestring
linenumber|null
healthLookup{match: function}
Returns: string
Signature
functionHealthChip(name: any, line: any, healthLookup: any): any
ParameterTypeOptionalDescription
labelany
valueany
colorany
hrefany
Returns: any
Signature
qChip(label: any, value: any, color: any, href: any): any
#fileHeroNarrative
line 3159
Short, factual one-line summary built purely from real per-file counts (story-file-detail-redesign AC1). Deliberately NOT the File Detail mockup's stylized "encouraging" copy ("Nearly there -- clear the 2 clones and this file ships clean.") -- that would be invented, un-derivable prose, the same category story-code-health-redesign already declined to build for the index-page hero. Every clause here is a literal count already in `d`.
ParameterTypeOptionalDescription
dobject- buildFileHealthLookup() entry for one file.
Returns: string
Signature
fileHeroNarrative(d: any): any
#buildFileHero
line 3182
Per-file hero panel for module pages (story-file-detail-redesign, replacing the old flat `.qstrip` chip row -- ADR Decision 1). Reuses story-code-health-redesign's gauge/grade primitives (`scoreToGrade()`, `qColor()` bands) verbatim, scoped to this one file's `weightedHealthScore`/`weightedMI` instead of the project-wide average. Files with no code-multivitals entry keep the same graceful fallback `buildHealthStrip()` always had -- one muted row, never a broken/zero gauge.
ParameterTypeOptionalDescription
modobject
healthLookupObject<string, object>- buildFileHealthLookup() output.
cloneHrefstring- relative href to health-duplicates.html from a module page.
Returns: string
Signature
buildFileHero(mod: any, healthLookup: any, cloneHref: any): any
#buildModuleBody
line 3262
ParameterTypeOptionalDescription
modany
sourceUrlany
symbolMapany
functionHealthLookupany
Returns: any
Signature
buildModuleBody(mod: any, sourceUrl: any, symbolMap: any, functionHealthLookup: any): any
#buildCss
line 3276
Returns: any
Signature
buildCss(): any
`seo` (optional) -- adds a meta description, an explicit robots directive, and (only when `seo.canonical` is given, since a relative/invalid URL is worse than no canonical at all) a canonical link plus matching OpenGraph tags. Every field is additive and defaults to omitted, so existing callers that don't pass `seo` produce byte-identical output to before this was added -- see buildSite()'s new `baseUrl`/`description` options for how callers opt in.
ParameterTypeOptionalDescription
titleany
sidebarHtmlany
bodyHtmlany
assetPrefixany
topnavHtmlany
tocHtmlany
seo{description?: string, canonical?: string}yes
Returns: any
Signature
page(title: any, sidebarHtml: any, bodyHtml: any, assetPrefix: any, topnavHtml: any, tocHtml: any, seo: any): any
#buildSite
line 3317
ParameterTypeOptionalDescription
modulesany
optionsany
Returns: any
Signature
buildSite(modules: any, options: any): any
Variables & Constants(360)
const path: any
const
Signature
const path: any
#CSS_STRUCTURE
line 9
const CSS_STRUCTURE: string
const
Signature
const CSS_STRUCTURE: string
#CLIENT_JS
line 311
const CLIENT_JS: string
const
Signature
const CLIENT_JS: string
#ICON_PATHS
line 463
let ICON_PATHS: Object
var
Signature
let ICON_PATHS: Object
let d: any
var
Signature
let d: any
let out: string
var
Signature
let out: string
let out: string
var
Signature
let out: string
let KW: any
var
Signature
let KW: any
let re: any
var
Signature
let re: any
let last: number
var
Signature
let last: number
let m: any
var
Signature
let m: any
let out: string
var
Signature
let out: string
let body: any
var
Signature
let body: any
let jmap: Object
var
Signature
let jmap: Object
let html: string
var
Signature
let html: string
let jp: any
var
Signature
let jp: any
let type: any
var
Signature
let type: any
let type: any
var
Signature
let type: any
let desc: any
var
Signature
let desc: any
let html: string
var
Signature
let html: string
let parts: any
var
Signature
let parts: any
let sym: any
var
Signature
let sym: any
#method
line 642
let method: any
var
Signature
let method: any
let entry: any
var
Signature
let entry: any
#targetPath
line 645
let targetPath: any
var
Signature
let targetPath: any
let href: any
var
Signature
let href: any
let label: any
var
Signature
let label: any
let base: any
var
Signature
let base: any
let rel: any
var
Signature
let rel: any
let href: any
var
Signature
let href: any
let ps: any
var
Signature
let ps: any
let ret: any
var
Signature
let ret: any
let ext: any
var
Signature
let ext: any
let impl: any
var
Signature
let impl: any
let base: any
var
Signature
let base: any
let cp: any
var
Signature
let cp: any
let props: any
var
Signature
let props: any
let label: any
var
Signature
let label: any
let code: any
var
Signature
let code: any
let id: any
var
Signature
let id: any
let sig: any
var
Signature
let sig: any
#badges
line 754
let badges: any
var
Signature
let badges: any
let prose: any
var
Signature
let prose: any
let id: any
var
Signature
let id: any
let sig: any
var
Signature
let sig: any
#badges
line 782
let badges: any
var
Signature
let badges: any
let prose: any
var
Signature
let prose: any
#ctorSig
line 800
let ctorSig: any
var
Signature
let ctorSig: any
#propBody
line 826
let propBody: string
var
Signature
let propBody: string
let flags: any
var
Signature
let flags: any
#methBody
line 853
let methBody: string
var
Signature
let methBody: string
let ps: any
var
Signature
let ps: any
let mSig: any
var
Signature
let mSig: any
let mb: any
var
Signature
let mb: any
#accBody
line 889
let accBody: string
var
Signature
let accBody: string
let ps: any
var
Signature
let ps: any
let id: any
var
Signature
let id: any
let sig: any
var
Signature
let sig: any
let prose: any
var
Signature
let prose: any
let mb: string
var
Signature
let mb: string
let ps: any
var
Signature
let ps: any
let id: any
var
Signature
let id: any
let sig: any
var
Signature
let sig: any
let prose: any
var
Signature
let prose: any
let id: any
var
Signature
let id: any
let sig: any
var
Signature
let sig: any
let prose: any
var
Signature
let prose: any
let id: any
var
Signature
let id: any
let decl: any
var
Signature
let decl: any
let prose: any
var
Signature
let prose: any
#commonRootCache
line 1089
let commonRootCache: WeakMap
var
Signature
let commonRootCache: WeakMap
let parts: any
var
Signature
let parts: any
let min: any
var
Signature
let min: any
let i: number
var
Signature
let i: number
let root: any
var
Signature
let root: any
let root: any
var
Signature
let root: any
let rel: any
var
Signature
let rel: any
let parts: any
var
Signature
let parts: any
let min: any
var
Signature
let min: any
let i: number
var
Signature
let i: number
#allLabels
line 1172
let allLabels: any
var
Signature
let allLabels: any
#deepRoot
line 1173
let deepRoot: any
var
Signature
let deepRoot: any
let root: Object
var
Signature
let root: Object
let label: any
var
Signature
let label: any
let sl: any
var
Signature
let sl: any
let segs: any
var
Signature
let segs: any
let node: any
var
Signature
let node: any
let seg: any
var
Signature
let seg: any
let dir: any
var
Signature
let dir: any
let chain: Array
var
Signature
let chain: Array
let c: any
var
Signature
let c: any
let parts: Array
var
Signature
let parts: Array
let index: Array
var
Signature
let index: Array
let rel: any
var
Signature
let rel: any
let label: any
var
Signature
let label: any
let m: any
var
Signature
let m: any
let iso: any
var
Signature
let iso: any
let d: Date
var
Signature
let d: Date
let prefix: any
var
Signature
let prefix: any
let ids: any
var
Signature
let ids: any
#isCurrentLive
line 1357
let isCurrentLive: any
var
Signature
let isCurrentLive: any
#triggerLabel
line 1358
let triggerLabel: any
var
Signature
let triggerLabel: any
let items: any
var
Signature
let items: any
let isThis: any
var
Signature
let isThis: any
let rows: string
var
Signature
let rows: string
let specs: Array
var
Signature
let specs: Array
let anchor: any
var
Signature
let anchor: any
let segs: Array
var
Signature
let segs: Array
let n: any
var
Signature
let n: any
let count: any
var
Signature
let count: any
#setsize
line 1459
let setsize: any
var
Signature
let setsize: any
#posinset
line 1460
let posinset: any
var
Signature
let posinset: any
let vDepth: any
var
Signature
let vDepth: any
let html: any
var
Signature
let html: any
#childrenHtml
line 1465
let childrenHtml: any
var
Signature
let childrenHtml: any
let rel: any
var
Signature
let rel: any
let html: string
var
Signature
let html: string
let count: any
var
Signature
let count: any
#setsize
line 1516
let setsize: any
var
Signature
let setsize: any
#posinset
line 1517
let posinset: any
var
Signature
let posinset: any
#isAncestor
line 1519
let isAncestor: any
var
Signature
let isAncestor: any
let vDepth: any
var
Signature
let vDepth: any
let rel: any
var
Signature
let rel: any
#isActive
line 1550
let isActive: any
var
Signature
let isActive: any
#vDepth2
line 1555
let vDepth2: any
var
Signature
let vDepth2: any
let prefix: any
var
Signature
let prefix: any
let tree: any
var
Signature
let tree: any
#ancestorsOfActive
line 1600
let ancestorsOfActive: any
var
Signature
let ancestorsOfActive: any
let brand: any
var
Signature
let brand: any
#navButtons
line 1605
let navButtons: any
var
Signature
let navButtons: any
let html: any
var
Signature
let html: any
let specs: any
var
Signature
let specs: any
let html: string
var
Signature
let html: string
let anchor: any
var
Signature
let anchor: any
let map: Object
var
Signature
let map: Object
let rel: any
var
Signature
let rel: any
let segs: any
var
Signature
let segs: any
#allLabels
line 1682
let allLabels: any
var
Signature
let allLabels: any
#_deepRoot
line 1683
let _deepRoot: any
var
Signature
let _deepRoot: any
let body: string
var
Signature
let body: string
let rel: any
var
Signature
let rel: any
let sl: any
var
Signature
let sl: any
let crumb: any
var
Signature
let crumb: any
#crumbHtml
line 1690
let crumbHtml: any
var
Signature
let crumbHtml: any
let parts: any
var
Signature
let parts: any
#allItems
line 1700
let allItems: any
var
Signature
let allItems: any
#depCount
line 1701
let depCount: any
var
Signature
let depCount: any
let sinces: any
var
Signature
let sinces: any
#sinceStr
line 1703
let sinceStr: any
var
Signature
let sinceStr: any
#depBadge
line 1706
let depBadge: any
var
Signature
let depBadge: any
#descHtml
line 1707
let descHtml: any
var
Signature
let descHtml: any
#emptyNote
line 1708
let emptyNote: any
var
Signature
let emptyNote: any
let stroke: any
var
Signature
let stroke: any
let r: any
var
Signature
let r: any
let cx: any
var
Signature
let cx: any
let cy: any
var
Signature
let cy: any
let rad: any
var
Signature
let rad: any
let s: any
var
Signature
let s: any
let e: any
var
Signature
let e: any
let large: any
var
Signature
let large: any
#startAngle
line 1795
let startAngle: number
var
Signature
let startAngle: number
let total: number
var
Signature
let total: number
let p: any
var
Signature
let p: any
#filledAngle
line 1798
let filledAngle: any
var
Signature
let filledAngle: any
let rows: any
var
Signature
let rows: any
#preview
line 1873
let preview: any
var
Signature
let preview: any
#remainder
line 1874
let remainder: any
var
Signature
let remainder: any
#previewHtml
line 1876
let previewHtml: any
var
Signature
let previewHtml: any
#expandHtml
line 1880
let expandHtml: any
var
Signature
let expandHtml: any
#iconHtml
line 1888
let iconHtml: any
var
Signature
let iconHtml: any
let scored: any
var
Signature
let scored: any
let recent: any
var
Signature
let recent: any
let values: any
var
Signature
let values: any
let latest: any
var
Signature
let latest: any
let prev: any
var
Signature
let prev: any
let delta: any
var
Signature
let delta: any
let color: any
var
Signature
let color: any
#deltaText
line 1973
let deltaText: any
var
Signature
let deltaText: any
let min: any
var
Signature
let min: any
let max: any
var
Signature
let max: any
let range: any
var
Signature
let range: any
let w: number
var
Signature
let w: number
let h: number
var
Signature
let h: number
let points: any
var
Signature
let points: any
let x: any
var
Signature
let x: any
let y: any
var
Signature
let y: any
let score: any
var
Signature
let score: any
let color: any
var
Signature
let color: any
let grade: any
var
Signature
let grade: any
let pct: any
var
Signature
let pct: any
let deg: any
var
Signature
let deg: any
#metrics
line 2029
let metrics: Array
var
Signature
let metrics: Array
#metricsHtml
line 2037
let metricsHtml: any
var
Signature
let metricsHtml: any
let s: any
var
Signature
let s: any
let rel: any
var
Signature
let rel: any
let result: any
var
Signature
let result: any
let graph: any
var
Signature
let graph: any
#orphans
line 2189
let orphans: any
var
Signature
let orphans: any
let hero: any
var
Signature
let hero: any
let attn: any
var
Signature
let attn: any
let worst: any
var
Signature
let worst: any
#attentionCard
line 2195
let attentionCard: any
var
Signature
let attentionCard: any
let clones: any
var
Signature
let clones: any
#cloneCard
line 2208
let cloneCard: any
var
Signature
let cloneCard: any
#importsCard
line 2218
let importsCard: string
var
Signature
let importsCard: string
#orphansCard
line 2219
let orphansCard: string
var
Signature
let orphansCard: string
#inDegreeEntries
line 2221
let inDegreeEntries: any
var
Signature
let inDegreeEntries: any
let result: any
var
Signature
let result: any
let graph: any
var
Signature
let graph: any
#orphans
line 2288
let orphans: any
var
Signature
let orphans: any
let pages: Array
var
Signature
let pages: Array
let back: string
var
Signature
let back: string
let body: any
var
Signature
let body: any
let topnav: any
var
Signature
let topnav: any
#sidebar
line 2307
let sidebar: any
var
Signature
let sidebar: any
let seo: any
var
Signature
let seo: any
let clones: any
var
Signature
let clones: any
#inDegreeEntries
line 2329
let inDegreeEntries: any
var
Signature
let inDegreeEntries: any
#NO_DIR_DESCRIPTION_SENTINEL
line 2367
let NO_DIR_DESCRIPTION_SENTINEL: string
var
Signature
let NO_DIR_DESCRIPTION_SENTINEL: string
#FRAMEWORK_DEP_MARKER_BY_NAME
line 2376
let FRAMEWORK_DEP_MARKER_BY_NAME: Object
var
Signature
let FRAMEWORK_DEP_MARKER_BY_NAME: Object
#ARCHITECTURE_SIGNAL_SENTENCES
line 2405
let ARCHITECTURE_SIGNAL_SENTENCES: Array
var
UX §2.5's first phrasing table: one row per named architecture-pattern signal, each pairing the exact evidence-string shape `getArchitectureSignals()` produces for that signal with the sentence template to render for it. Kept as data (rather than inline `if` chains) so `architectureSignalSentence()` stays a thin dispatcher — see that function's own doc comment for the fallback behavior when a signal's name isn't in this table, or its evidence doesn't match the row's pattern.
Signature
let ARCHITECTURE_SIGNAL_SENTENCES: Array
let bins: any
var
Signature
let bins: any
#article
line 2418
let article: any
var
Signature
let article: any
let names: any
var
Signature
let names: any
#pkgCount
line 2427
let pkgCount: any
var
Signature
let pkgCount: any
#mvcDirs
line 2442
let mvcDirs: any
var
Signature
let mvcDirs: any
#mvcJoined
line 2443
let mvcJoined: any
var
Signature
let mvcJoined: any
let flat: any
var
Signature
let flat: any
let sample: any
var
Signature
let sample: any
#ARCHITECTURE_SIGNAL_FALLBACKS
line 2468
let ARCHITECTURE_SIGNAL_FALLBACKS: Array
var
UX §2.5's general rule: evidence shapes with no named row in `ARCHITECTURE_SIGNAL_SENTENCES` (a future signal, or a named signal whose evidence didn't match its own row's pattern) still get a sentence built from the actual evidence shape, keyed only on that shape — never on signal name, and never a bare/un-wrapped fallback.
Signature
let ARCHITECTURE_SIGNAL_FALLBACKS: Array
let name: any
var
Signature
let name: any
#evidence
line 2493
let evidence: any
var
Signature
let evidence: any
let row: any
var
Signature
let row: any
let match: any
var
Signature
let match: any
#fallback
line 2503
let fallback: any
var
Signature
let fallback: any
#fallbackMatch
line 2504
let fallbackMatch: any
var
Signature
let fallbackMatch: any
#evidence
line 2519
let evidence: any
var
Signature
let evidence: any
let m: any
var
Signature
let m: any
let marker: any
var
Signature
let marker: any
#isDependency
line 2570
let isDependency: any
var
Signature
let isDependency: any
#chipText
line 2571
let chipText: any
var
Signature
let chipText: any
let chipBg: any
var
Signature
let chipBg: any
#chipColor
line 2573
let chipColor: any
var
Signature
let chipColor: any
let cards: any
var
Signature
let cards: any
#descHtml
line 2593
let descHtml: any
var
Signature
let descHtml: any
#STRUCTURE_BADGE_CATEGORIES
line 2612
let STRUCTURE_BADGE_CATEGORIES: Array
var
Signature
let STRUCTURE_BADGE_CATEGORIES: Array
#STRUCTURE_BADGE_FOLDER_COLOR
line 2618
let STRUCTURE_BADGE_FOLDER_COLOR: string
var
Signature
let STRUCTURE_BADGE_FOLDER_COLOR: string
#STRUCTURE_BADGE_OTHER_COLOR
line 2619
let STRUCTURE_BADGE_OTHER_COLOR: string
var
Signature
let STRUCTURE_BADGE_OTHER_COLOR: string
let totals: Object
var
Signature
let totals: Object
let other: number
var
Signature
let other: number
let count: any
var
Signature
let count: any
let cat: any
var
Signature
let cat: any
#folderCount
line 2654
let folderCount: any
var
Signature
let folderCount: any
let cat: any
var
Signature
let cat: any
let chips: Array
var
Signature
let chips: Array
let n: any
var
Signature
let n: any
let open: any
var
Signature
let open: any
#summaryHtml
line 2688
let summaryHtml: any
var
Signature
let summaryHtml: any
#bodyHtml
line 2690
let bodyHtml: string
var
Signature
let bodyHtml: string
#children
line 2694
let children: any
var
Signature
let children: any
let shown: any
var
Signature
let shown: any
let n: any
var
Signature
let n: any
let p: any
var
Signature
let p: any
let m: any
var
Signature
let m: any
let d: any
var
Signature
let d: any
let segs: Array
var
Signature
let segs: Array
let shown: any
var
Signature
let shown: any
let html: any
var
Signature
let html: any
#structure
line 2855
let structure: any
var
Signature
let structure: any
#workspacePackages
line 2856
let workspacePackages: any
var
Signature
let workspacePackages: any
#frameworkSignals
line 2857
let frameworkSignals: any
var
Signature
let frameworkSignals: any
#architectureSignals
line 2858
let architectureSignals: any
var
Signature
let architectureSignals: any
#architecturePatterns
line 2859
let architecturePatterns: any
var
Signature
let architecturePatterns: any
#ARCHITECTURE_ORIENTATION_PARAGRAPH
line 2874
let ARCHITECTURE_ORIENTATION_PARAGRAPH: any
var
Signature
let ARCHITECTURE_ORIENTATION_PARAGRAPH: any
#sectionsHtml
line 2915
let sectionsHtml: any
var
Signature
let sectionsHtml: any
#subtitle
line 2918
let subtitle: any
var
Signature
let subtitle: any
let body: any
var
Signature
let body: any
let topnav: any
var
Signature
let topnav: any
#sidebar
line 2928
let sidebar: any
var
Signature
let sidebar: any
let seo: Object
var
Signature
let seo: Object
let map: Object
var
Signature
let map: Object
#cloneCounts
line 2959
let cloneCounts: Object
var
Signature
let cloneCounts: Object
let k: any
var
Signature
let k: any
let key: any
var
Signature
let key: any
let errors: number
var
Signature
let errors: number
#warnings
line 2969
let warnings: number
var
Signature
let warnings: number
#fileReportMapCache
line 3025
let fileReportMapCache: WeakMap
var
Per-function/method Code Health matching (story-function-level-health-drilldown). Empirical finding (TICKET-1, checked live against sample/container.ts via runQuality()): code-multivitals emits BARE method names for class members ("constructor", "resolve", "debug", ...) -- never a "ClassName.methodName" composite, even when multiple classes in the same file share a method name (three unrelated classes in that fixture each have their own "constructor" entry at different line ranges). Point-in-range matching against startLine/endLine is what actually disambiguates same-named methods across classes, not the name alone -- so no composite-name fallback path is implemented; it would never be reached. Matching strategy (solutions-architect decision): name + point-in-range (extracted.line within [fn.startLine, fn.endLine] inclusive), tightest (smallest) range wins on ambiguous/nested matches. Returns an object with a `match(name, line)` method rather than a plain map, since resolution needs a computed range-containment check per lookup, not a static key -- callers can always call `.match()` safely, never need to null-check the lookup object itself.
Signature
let fileReportMapCache: WeakMap
let map: Map
var
Signature
let map: Map
#noMatch
line 3037
let noMatch: Object
var
Signature
let noMatch: Object
let key: any
var
Signature
let key: any
#fileReport
line 3040
let fileReport: any
var
Signature
let fileReport: any
#entries
line 3042
let entries: any
var
Signature
let entries: any
#candidates
line 3046
let candidates: any
var
Signature
let candidates: any
let entry: any
var
Signature
let entry: any
let score: any
var
Signature
let score: any
let grade: any
var
Signature
let grade: any
let color: any
var
Signature
let color: any
let dots: any
var
Signature
let dots: any
#smellsHtml
line 3096
let smellsHtml: any
var
Signature
let smellsHtml: any
let v: any
var
Signature
let v: any
#valHtml
line 3132
let valHtml: any
var
Signature
let valHtml: any
let parts: Array
var
Signature
let parts: Array
let key: any
var
Signature
let key: any
let d: any
var
Signature
let d: any
let score: any
var
Signature
let score: any
let color: any
var
Signature
let color: any
let grade: any
var
Signature
let grade: any
let pct: any
var
Signature
let pct: any
let deg: any
var
Signature
let deg: any
#smellsText
line 3194
let smellsText: any
var
Signature
let smellsText: any
#worstColor
line 3195
let worstColor: any
var
Signature
let worstColor: any
#metrics
line 3197
let metrics: Array
var
Signature
let metrics: Array
#metricsHtml
line 3204
let metricsHtml: any
var
Signature
let metricsHtml: any
let raw: any
var
Signature
let raw: any
#valueHtml
line 3207
let valueHtml: any
var
Signature
let valueHtml: any
let chips: any
var
Signature
let chips: any
let body: string
var
Signature
let body: string
let p: any
var
Signature
let p: any
let hasToc: any
var
Signature
let hasToc: any
let tocCol: any
var
Signature
let tocCol: any
let s: any
var
Signature
let s: any
let head: any
var
Signature
let head: any
#projectName
line 3319
let projectName: any
var
Signature
let projectName: any
#version
line 3320
let version: any
var
Signature
let version: any
#sourceUrl
line 3321
let sourceUrl: any
var
Signature
let sourceUrl: any
#seoBaseUrl
line 3329
let seoBaseUrl: any
var
Signature
let seoBaseUrl: any
#seoDescription
line 3330
let seoDescription: any
var
Signature
let seoDescription: any
#symbolMap
line 3331
let symbolMap: any
var
Signature
let symbolMap: any
let tree: any
var
Signature
let tree: any
let pages: Array
var
Signature
let pages: Array
#defaultCacheRoot
line 3349
let defaultCacheRoot: Map
var
Signature
let defaultCacheRoot: Map
#defaultCacheMod
line 3350
let defaultCacheMod: Map
var
Signature
let defaultCacheMod: Map
#versions
line 3354
let versions: any
var
Signature
let versions: any
#currentVersionId
line 3355
let currentVersionId: any
var
Signature
let currentVersionId: any
#isSnapshot
line 3356
let isSnapshot: any
var
Signature
let isSnapshot: any
#toOutDirRootFromIndex
line 3357
let toOutDirRootFromIndex: any
var
Signature
let toOutDirRootFromIndex: any
#toOutDirRootFromModule
line 3358
let toOutDirRootFromModule: any
var
Signature
let toOutDirRootFromModule: any
#switcherRoot
line 3359
let switcherRoot: any
var
Signature
let switcherRoot: any
#switcherMod
line 3360
let switcherMod: any
var
Signature
let switcherMod: any
#archPage
line 3369
let archPage: any
var
Signature
let archPage: any
#architectureHrefIdx
line 3372
let architectureHrefIdx: any
var
Signature
let architectureHrefIdx: any
#architectureHrefMod
line 3373
let architectureHrefMod: any
var
Signature
let architectureHrefMod: any
#totalFns
line 3379
let totalFns: any
var
Signature
let totalFns: any
#totalCls
line 3380
let totalCls: any
var
Signature
let totalCls: any
#idxBody
line 3381
let idxBody: any
var
Signature
let idxBody: any
#qualityHrefIdx
line 3386
let qualityHrefIdx: any
var
Signature
let qualityHrefIdx: any
#topnavIdx
line 3387
let topnavIdx: any
var
Signature
let topnavIdx: any
#sidebarIdx
line 3388
let sidebarIdx: any
var
Signature
let sidebarIdx: any
let idxSeo: Object
var
Signature
let idxSeo: Object
#fileHealthLookup
line 3395
let fileHealthLookup: any
var
Signature
let fileHealthLookup: any
let rel: any
var
Signature
let rel: any
let label: any
var
Signature
let label: any
#modHeader
line 3403
let modHeader: any
var
Signature
let modHeader: any
#qualityHrefMod
line 3409
let qualityHrefMod: any
var
Signature
let qualityHrefMod: any
#crumbMod
line 3410
let crumbMod: any
var
Signature
let crumbMod: any
#topnavMod
line 3411
let topnavMod: any
var
Signature
let topnavMod: any
#tocHtml
line 3412
let tocHtml: any
var
Signature
let tocHtml: any
#healthStripHtml
line 3413
let healthStripHtml: any
var
Signature
let healthStripHtml: any
#functionHealthLookup
line 3414
let functionHealthLookup: any
var
Signature
let functionHealthLookup: any
let modSeo: Object
var
Signature
let modSeo: Object