@svelte-vitals/core 0.42.0 → 0.43.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/README.md +1 -1
- package/dist/index.d.ts +208 -6
- package/dist/index.js +922 -54
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
[](https://www.npmjs.com/package/@svelte-vitals/core)
|
|
4
4
|
[](https://opensource.org/licenses/MIT)
|
|
5
5
|
|
|
6
|
-
Runtime-agnostic core for [svelte-vitals](https://github.com/oekazuma/svelte-vitals): shared types, the rule engine, scorer, and reporters, plus the full rule set across
|
|
6
|
+
Runtime-agnostic core for [svelte-vitals](https://github.com/oekazuma/svelte-vitals): shared types, the rule engine, scorer, and reporters, plus the full rule set across six categories — SEO, Performance, Correctness, Security, Architecture, Accessibility.
|
|
7
7
|
|
|
8
8
|
This package is **mode-independent** and contains no I/O — it operates on a normalized `ResolvedHead[]` intermediate representation, so the same rules run unchanged whether heads come from static source analysis (the `svelte-vitals` CLI) or from prerendered HTML (the `@svelte-vitals/vite` plugin). It has zero runtime dependencies and no `node:` imports.
|
|
9
9
|
|
package/dist/index.d.ts
CHANGED
|
@@ -81,6 +81,18 @@ interface Project {
|
|
|
81
81
|
* list is never empty: `$lib` is always prepended.
|
|
82
82
|
*/
|
|
83
83
|
kitAliases?: KitAlias[];
|
|
84
|
+
/**
|
|
85
|
+
* Whether `src/app.html` opens with `<!doctype html>` (a11y/doctype). Set from the same read
|
|
86
|
+
* as `htmlLang`; absent when the file wasn't read (missing or unreadable) — the rule stays
|
|
87
|
+
* silent then, like `viteMinifyDisabled`'s absent convention.
|
|
88
|
+
*/
|
|
89
|
+
appHtmlDoctype?: boolean;
|
|
90
|
+
/**
|
|
91
|
+
* Literal `id` attributes in `src/app.html`, from the same read as `htmlLang`. The shell is part
|
|
92
|
+
* of every rendered document, so its ids satisfy a route's id references (a11y/no-missing-id-ref);
|
|
93
|
+
* absent when the file wasn't read.
|
|
94
|
+
*/
|
|
95
|
+
appHtmlIds?: string[];
|
|
84
96
|
}
|
|
85
97
|
declare const defaultProject: Project;
|
|
86
98
|
/** A concrete, agent-actionable remediation for a finding (design §10, issue #18). */
|
|
@@ -113,7 +125,7 @@ interface Result {
|
|
|
113
125
|
line?: number;
|
|
114
126
|
}
|
|
115
127
|
type Scope = 'route' | 'project' | 'component';
|
|
116
|
-
type Category = 'seo' | 'performance' | 'correctness' | 'security' | 'architecture';
|
|
128
|
+
type Category = 'seo' | 'performance' | 'correctness' | 'security' | 'architecture' | 'a11y';
|
|
117
129
|
/**
|
|
118
130
|
* Every category, as a runtime list — for validating a user-supplied category
|
|
119
131
|
* name and naming the known ones in the error. One definition so a category
|
|
@@ -318,6 +330,81 @@ interface ResolvedHeadings {
|
|
|
318
330
|
componentHeadings?: HeadingInfo[];
|
|
319
331
|
}
|
|
320
332
|
|
|
333
|
+
/** One step of a template branch address: which exclusive block, and which arm of it. */
|
|
334
|
+
interface BranchStep {
|
|
335
|
+
/** index of the {#if}/{#await} block among its file's blocks (document order) */
|
|
336
|
+
group: number;
|
|
337
|
+
/** branch index within the group (if: 0..n consequent→else; await: 0=pending,1=then,2=catch) */
|
|
338
|
+
branch: number;
|
|
339
|
+
}
|
|
340
|
+
/** Where a folded occurrence sits, for the finding location. */
|
|
341
|
+
interface A11yOccurrenceInfo {
|
|
342
|
+
file: string;
|
|
343
|
+
line: number;
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* Route-scoped a11y facts, the mode-independent boundary for the landmark/id rules
|
|
347
|
+
* (mirrors headings.ts). Source mode composes the layout chain plus its resolved
|
|
348
|
+
* components; rendered mode reads the prerendered document.
|
|
349
|
+
*/
|
|
350
|
+
interface ResolvedA11y {
|
|
351
|
+
route: string;
|
|
352
|
+
/** representatives per landmark kind after the branch-aware fold ('main' | 'banner' | 'contentinfo' | 'complementary') */
|
|
353
|
+
landmarks: Record<string, A11yOccurrenceInfo[]>;
|
|
354
|
+
/** landmark occurrences nested inside another landmark after composition */
|
|
355
|
+
nestedLandmarks: {
|
|
356
|
+
kind: string;
|
|
357
|
+
within: string;
|
|
358
|
+
file: string;
|
|
359
|
+
line: number;
|
|
360
|
+
}[];
|
|
361
|
+
/** representatives per literal id */
|
|
362
|
+
ids: Record<string, A11yOccurrenceInfo[]>;
|
|
363
|
+
/** literal id references */
|
|
364
|
+
idRefs: {
|
|
365
|
+
id: string;
|
|
366
|
+
attr: string;
|
|
367
|
+
file: string;
|
|
368
|
+
line: number;
|
|
369
|
+
}[];
|
|
370
|
+
/** optimistic candidates: every literal id anywhere (all branches, each/snippet bodies, components, app.html) */
|
|
371
|
+
idCandidates: string[];
|
|
372
|
+
/** closed world holds: every component resolved, no depth truncation, no {@html}/spread, no dynamic id */
|
|
373
|
+
fullyResolved: boolean;
|
|
374
|
+
}
|
|
375
|
+
type Foldable = {
|
|
376
|
+
key: string;
|
|
377
|
+
path: BranchStep[];
|
|
378
|
+
repeatable: boolean;
|
|
379
|
+
};
|
|
380
|
+
/**
|
|
381
|
+
* Branch-aware occurrence fold (design "Control-flow semantics"): within a branch
|
|
382
|
+
* occurrences sum, across the arms of one exclusive block the arm with the most
|
|
383
|
+
* occurrences wins (tie → lowest branch index) and ITS occurrences are the group's
|
|
384
|
+
* representatives — so a caller's count is always `list.length`, with a location per
|
|
385
|
+
* representative. `{#each}`/`{#snippet}` occurrences render 0..N times and drop out.
|
|
386
|
+
* The max is per key: there is no scalar total to maximize.
|
|
387
|
+
*/
|
|
388
|
+
declare function foldOccurrences<T extends Foldable>(nodes: T[]): Map<string, T[]>;
|
|
389
|
+
/**
|
|
390
|
+
* Decode a fragment identifier the way navigation does before matching an element id
|
|
391
|
+
* (`href="#caf%C3%A9"` targets `id="café"`). Malformed escapes are kept verbatim —
|
|
392
|
+
* the browser would also fail to decode them, so the raw text is the comparable form.
|
|
393
|
+
*/
|
|
394
|
+
declare function decodeFragmentId(fragment: string): string;
|
|
395
|
+
/** Whitespace-split tokens of a (possibly undefined) literal attribute value. */
|
|
396
|
+
declare function splitTokens(value: string | undefined): string[];
|
|
397
|
+
/** Explicit `role` values that map to the landmark kinds the route rules inspect. */
|
|
398
|
+
declare const LANDMARK_ROLES: ReadonlySet<string>;
|
|
399
|
+
/** Attributes whose (whitespace-tokenized) values reference element ids. */
|
|
400
|
+
declare const IDREF_ATTRS: readonly string[];
|
|
401
|
+
/**
|
|
402
|
+
* Whether a decoded URL fragment is HTML's "top of the document" indicator: `#top` (ASCII
|
|
403
|
+
* case-insensitive) scrolls to the top when no element has that id, so it is never a missing
|
|
404
|
+
* reference. Compare AFTER percent-decoding — `#%74op` navigates identically to `#top`.
|
|
405
|
+
*/
|
|
406
|
+
declare function isTopFragment(id: string): boolean;
|
|
407
|
+
|
|
321
408
|
/**
|
|
322
409
|
* Component-body facts for the Correctness category — the source-analysis boundary
|
|
323
410
|
* (mirrors images.ts / headings.ts). Collected by the static (CLI) provider only;
|
|
@@ -402,6 +489,43 @@ interface BasePathLinkFact {
|
|
|
402
489
|
/** 1-based source line, or 0 if unknown. */
|
|
403
490
|
line: number;
|
|
404
491
|
}
|
|
492
|
+
/** An interactive element (e.g. `<button>`) found nested inside another interactive
|
|
493
|
+
* container (e.g. `<a href>`) (a11y/interactive-nesting). */
|
|
494
|
+
interface InteractiveNestingFact {
|
|
495
|
+
containerTag: string;
|
|
496
|
+
descendantTag: string;
|
|
497
|
+
/** 1-based source line of the descendant, or 0 if unknown. */
|
|
498
|
+
line: number;
|
|
499
|
+
}
|
|
500
|
+
/** A `button`/`a href`/`input type="image"` with no computable accessible name (a11y/accessible-name). */
|
|
501
|
+
interface UnnamedInteractiveFact {
|
|
502
|
+
tag: string;
|
|
503
|
+
/** 1-based source line, or 0 if unknown. */
|
|
504
|
+
line: number;
|
|
505
|
+
}
|
|
506
|
+
/** An element carrying a `role` and/or `aria-*` attribute(s) (a11y ARIA rules). */
|
|
507
|
+
interface AriaElementFact {
|
|
508
|
+
tag: string;
|
|
509
|
+
/** 1-based source line, or 0 if unknown. */
|
|
510
|
+
line: number;
|
|
511
|
+
/** literal role value; undefined = no role attr; { expression: true } = dynamic */
|
|
512
|
+
role?: {
|
|
513
|
+
literal?: string;
|
|
514
|
+
expression?: boolean;
|
|
515
|
+
};
|
|
516
|
+
/** every aria-* attribute on the element */
|
|
517
|
+
aria: {
|
|
518
|
+
name: string;
|
|
519
|
+
literal?: string;
|
|
520
|
+
expression?: boolean;
|
|
521
|
+
line: number;
|
|
522
|
+
}[];
|
|
523
|
+
/** literal `type` of an `<input>`, lowercased; undefined for non-inputs or a dynamic type */
|
|
524
|
+
inputType?: string;
|
|
525
|
+
/** Set when the element also carries a spread attribute — its full attribute set is
|
|
526
|
+
* unknowable, so required-prop presence checks must treat it as satisfied (a11y/required-aria-props). */
|
|
527
|
+
hasSpread?: true;
|
|
528
|
+
}
|
|
405
529
|
/** Reactivity/correctness + security + architecture facts parsed from one `.svelte` component. */
|
|
406
530
|
interface ComponentFacts {
|
|
407
531
|
/** Source file the component came from. */
|
|
@@ -486,6 +610,31 @@ interface ComponentFacts {
|
|
|
486
610
|
url: string;
|
|
487
611
|
line: number;
|
|
488
612
|
}[];
|
|
613
|
+
/** Elements carrying a role or any aria-* attribute (a11y ARIA rules). */
|
|
614
|
+
ariaElements?: AriaElementFact[];
|
|
615
|
+
/** Interactive elements nested inside another interactive container (a11y/interactive-nesting). */
|
|
616
|
+
interactiveNestings?: InteractiveNestingFact[];
|
|
617
|
+
/** `button`/`a href`/`input type="image"` elements with no computable accessible name (a11y/accessible-name). */
|
|
618
|
+
unnamedInteractive?: UnnamedInteractiveFact[];
|
|
619
|
+
/** `<label>` elements with neither a `for` attribute nor a wrapped labelable descendant (a11y/label-has-control). */
|
|
620
|
+
unassociatedLabels?: {
|
|
621
|
+
line: number;
|
|
622
|
+
}[];
|
|
623
|
+
/** Text nodes whose trimmed content opens with a bullet character followed by whitespace, outside any `li` (a11y/use-list). */
|
|
624
|
+
bulletTexts?: {
|
|
625
|
+
line: number;
|
|
626
|
+
char: string;
|
|
627
|
+
}[];
|
|
628
|
+
/** `<select required>` (no `multiple`, display size absent or ≤ 1) whose first `option` element
|
|
629
|
+
* child is not a placeholder label option (a11y/placeholder-label-option). */
|
|
630
|
+
selectsMissingPlaceholder?: {
|
|
631
|
+
line: number;
|
|
632
|
+
}[];
|
|
633
|
+
/** `<time>` with no `datetime` attribute whose literal text content is not machine-readable (a11y/require-datetime). */
|
|
634
|
+
timesMissingDatetime?: {
|
|
635
|
+
line: number;
|
|
636
|
+
text: string;
|
|
637
|
+
}[];
|
|
489
638
|
/** Set when the file failed to read or parse and these facts are the empty fallback — the file was NOT analyzed. */
|
|
490
639
|
parseFailed?: true;
|
|
491
640
|
}
|
|
@@ -510,10 +659,10 @@ declare function parseComponentFacts(source: string, filename: string): ParsedFa
|
|
|
510
659
|
declare function emptyComponentFacts(file: string): ComponentFacts;
|
|
511
660
|
/**
|
|
512
661
|
* Scan every `.svelte` component and `.svelte.ts`/`.svelte.js` runes module under `src/`
|
|
513
|
-
* for Correctness/Security/Architecture/Bundle-Performance facts. Independent
|
|
514
|
-
* resolution — covers `$lib` and non-route components too. A file that fails to
|
|
515
|
-
* parse contributes empty facts instead of aborting the whole scan (dev tooling
|
|
516
|
-
* never throw).
|
|
662
|
+
* for Correctness/Security/Architecture/Bundle-Performance/Accessibility facts. Independent
|
|
663
|
+
* of route resolution — covers `$lib` and non-route components too. A file that fails to
|
|
664
|
+
* read or parse contributes empty facts instead of aborting the whole scan (dev tooling
|
|
665
|
+
* must never throw).
|
|
517
666
|
*/
|
|
518
667
|
declare function collectComponentFacts(rt: Runtime, cwd: string): Promise<ComponentFacts[]>;
|
|
519
668
|
|
|
@@ -984,6 +1133,8 @@ interface RuleContext {
|
|
|
984
1133
|
images?: ResolvedImages[];
|
|
985
1134
|
/** Per-route page-body headings for seo/single-h1 (absent in modes that don't collect them). */
|
|
986
1135
|
headings?: ResolvedHeadings[];
|
|
1136
|
+
/** Per-route composed landmark/id occurrences for the route-scoped a11y rules (absent in modes that don't collect them). */
|
|
1137
|
+
a11y?: ResolvedA11y[];
|
|
987
1138
|
/** Per-file component-body facts for Correctness rules (static/CLI mode only). */
|
|
988
1139
|
components?: ComponentFacts[];
|
|
989
1140
|
/** Per-file SvelteKit route/hooks facts for the SSR shared-state rules (static/CLI + vite build mode only). */
|
|
@@ -1400,6 +1551,57 @@ declare const performanceSequentialAwaits: Rule;
|
|
|
1400
1551
|
*/
|
|
1401
1552
|
declare const performanceStateRaw: Rule;
|
|
1402
1553
|
|
|
1554
|
+
declare const a11yInvalidRole: Rule;
|
|
1555
|
+
|
|
1556
|
+
declare const a11yUnknownAriaAttribute: Rule;
|
|
1557
|
+
|
|
1558
|
+
declare const a11yRequiredAriaProps: Rule;
|
|
1559
|
+
|
|
1560
|
+
declare const a11yInvalidAriaValue: Rule;
|
|
1561
|
+
|
|
1562
|
+
declare const a11yInteractiveNesting: Rule;
|
|
1563
|
+
|
|
1564
|
+
declare const a11yAccessibleName: Rule;
|
|
1565
|
+
|
|
1566
|
+
declare const a11yLabelHasControl: Rule;
|
|
1567
|
+
|
|
1568
|
+
declare const a11yUseList: Rule;
|
|
1569
|
+
|
|
1570
|
+
declare const a11yPlaceholderLabelOption: Rule;
|
|
1571
|
+
|
|
1572
|
+
declare const a11yRequireDatetime: Rule;
|
|
1573
|
+
|
|
1574
|
+
declare const a11yDoctype: Rule;
|
|
1575
|
+
|
|
1576
|
+
/**
|
|
1577
|
+
* a11y/duplicate-landmark — a composed route (layout chain + page) yields more than one
|
|
1578
|
+
* `main` / `banner` / `contentinfo` landmark. `ctx.a11y[].landmarks` already holds the
|
|
1579
|
+
* branch-aware-folded representatives, so this rule only counts them per kind, in the
|
|
1580
|
+
* fixed KINDS order (it decides emission order and the PASS anchor).
|
|
1581
|
+
*/
|
|
1582
|
+
declare const a11yDuplicateLandmark: Rule;
|
|
1583
|
+
|
|
1584
|
+
/**
|
|
1585
|
+
* a11y/top-level-landmark — a landmark (`main`/`banner`/`complementary`/`contentinfo`) that
|
|
1586
|
+
* composition places inside another landmark. `ctx.a11y[].nestedLandmarks` already carries one
|
|
1587
|
+
* entry per nested occurrence, so this rule only reports them.
|
|
1588
|
+
*/
|
|
1589
|
+
declare const a11yTopLevelLandmark: Rule;
|
|
1590
|
+
|
|
1591
|
+
/**
|
|
1592
|
+
* a11y/id-duplication — a literal id repeated within a composed route. `ctx.a11y[].ids`
|
|
1593
|
+
* already holds the branch-aware-folded representatives per id, so this rule only counts them.
|
|
1594
|
+
*/
|
|
1595
|
+
declare const a11yIdDuplication: Rule;
|
|
1596
|
+
|
|
1597
|
+
/**
|
|
1598
|
+
* a11y/no-missing-id-ref — a `for`/`aria-labelledby`/`aria-describedby`/`aria-controls`/
|
|
1599
|
+
* `aria-activedescendant`/same-page `href="#…"` referencing an `id` absent from the composed
|
|
1600
|
+
* route. Universal ("no element anywhere defines this id") needs a closed world, so this rule
|
|
1601
|
+
* runs only on routes `ctx.a11y[].fullyResolved` marks fully resolved — see the rule docs.
|
|
1602
|
+
*/
|
|
1603
|
+
declare const a11yNoMissingIdRef: Rule;
|
|
1604
|
+
|
|
1403
1605
|
declare const allRules: Rule[];
|
|
1404
1606
|
|
|
1405
1607
|
/** One configurable option of a rule, flattened for `svelte-vitals explain`'s output. */
|
|
@@ -1748,4 +1950,4 @@ declare function formatHtmlReport(results: Result[], config: Config, meta: {
|
|
|
1748
1950
|
coreVersion?: string;
|
|
1749
1951
|
}): string;
|
|
1750
1952
|
|
|
1751
|
-
export { APP_SCRIPT, APP_STYLE, type AppSnapshot, BAND_COLOR, CATEGORIES, CHILD_NODE_KEYS, type Category, type Classification, type CompiledOverride, type ComponentFacts, type Config, type ConsoleReportOptions, type Detection, type EachBlockFact, type EffectFact, type FailedRule, type Fix, type HeadProvider, type HeadTag, type HeadingInfo, type HealthResult, type ImageInfo, type JsonReport, type KitAlias, type KitModuleFacts, type OrphanEffectFact, type Palette, type Presence, type Project, ROBOTS_SOURCE_PATHS, type RawKitAliases, type ResolvedHead, type ResolvedHeadings, type ResolvedImages, type Result, type RouteBadge, type Rule, type RuleContext, type RuleEvidence, type RuleInfo, type RuleOptionInfo, type RuleOptionSpec, type RuleOptions, type RuleOptionsSpec, type RuleOverride, type RuleSetting, type RuleSettingObject, type Runtime, SITEMAP_SOURCE_PATHS, SVELTE_CONFIG_FILES, type Scope, type ScoreModel, type ScoreOptions, type ScoreResult, type Severity, type SourceSpan, type Summary, type SuppressionDirective, type TreatDynamicAs, VITE_CONFIG_FILES, type Value, type ViteKitConfigResult, allRules, applyOverrides, applyRuleSeverities, architectureComponentSize, architectureDirectoryNaming, architectureDocLinkTarget, architecturePrivateScopeImport, architecturePropCount, architectureReservedDirectoryNames, architectureReservedNamePlacement, architectureRouteComponentImport, architectureUnitEntryFile, attrText, attrTextOf, attrValue, attrValueOf, buildHtmlDocument, buildJsonReport, classify, collectComponentFacts, collectKitModuleFacts, collectSourceFiles, compileOverrides, computeHealth, computeScore, correctnessBasePathNavigation, correctnessCheckableBindValue, correctnessEachIndexKey, correctnessEachKey, correctnessEffectAsDerived, correctnessEffectAsOnMount, correctnessInstanceBrowserGlobal, correctnessNonreactiveBuiltinState, correctnessOrphanEffect, correctnessOrphanLifecycle, correctnessPropMutation, correctnessServerBrowserGlobal, correctnessStalePropDerivation, correctnessUnmutatedState, defaultConfig, defaultProject, defineConfig, docsUrlFor, effectiveSeverity, emptyComponentFacts, emptyKitModuleFacts, escapeHtml, explainRule, findAttr, findKitAliasesInSvelteConfig, findKitPathsBaseInSvelteConfig, findKitPathsBaseInViteConfig, findMinifyDisabled, formatAgentReport, formatConsoleReport, formatFailedRuleWarning, formatGithubReport, formatHtmlReport, formatJsonReport, formatMarkdownReport, formatSarifReport, hasFailureAtOrAbove, headTagRule, imageRule, intOption, isMentionedAnywhere, isPenalized, lineOf, linkRule, listOption, mapOption, noColorPalette, overrideMatches, parseComponentFacts, parseKitModuleFacts, performanceFontPreloadCrossorigin, performanceHeavyImport, performanceImageDimensions, performanceImageLoadingHint, performanceLcpImage, performanceLoadWaterfall, performanceMinifyDisabled, performanceNamespaceImport, performancePreconnect, performancePreloadMissingAs, performanceRenderBlockingScript, performanceResponsiveImage, performanceSequentialAwaits, performanceStateRaw, renderAppShell, resolveKitAliases, resolveKitPathsBase, resolveRepoLocalPath, resolveRuleOptions, resolveRunesModuleSpecifier, runRules, safeHref, scoreBand, scoreColor, scoresByCategory, securityHandlerStateWrite, securityJavascriptUrl, securityRawHtml, securityServerModuleState, securitySharedStateImport, selectRules, seoCanonicalUrl, seoCharset, seoDescriptionLength, seoDescriptionPresence, seoDuplicateDescription, seoDuplicateTitle, seoHeadingLevelSkip, seoHreflang, seoHtmlLang, seoImageAlt, seoIndexability, seoJsonLd, seoJsonLdDateFormat, seoJsonLdDeprecatedType, seoJsonLdPlaceholder, seoJsonLdRelativeUrl, seoJsonLdRequiredProps, seoJsonLdValidity, seoOgDescription, seoOgImage, seoOgTitle, seoOgUrl, seoRobotsTxt, seoSingleH1, seoSitemapInRobots, seoSitemapXml, seoSsrDisabled, seoTitleLength, seoTitlePresence, seoTwitterCard, seoViewport, settingOptions, settingSeverity, shouldSkipRangeCheck, summarize, terminalSafe, textFromNodes, validateRuleOptions, validateRuleSetting, valueFromNodes, withFailedRulesOff };
|
|
1953
|
+
export { type A11yOccurrenceInfo, APP_SCRIPT, APP_STYLE, type AppSnapshot, BAND_COLOR, type BranchStep, CATEGORIES, CHILD_NODE_KEYS, type Category, type Classification, type CompiledOverride, type ComponentFacts, type Config, type ConsoleReportOptions, type Detection, type EachBlockFact, type EffectFact, type FailedRule, type Fix, type HeadProvider, type HeadTag, type HeadingInfo, type HealthResult, IDREF_ATTRS, type ImageInfo, type JsonReport, type KitAlias, type KitModuleFacts, LANDMARK_ROLES, type OrphanEffectFact, type Palette, type Presence, type Project, ROBOTS_SOURCE_PATHS, type RawKitAliases, type ResolvedA11y, type ResolvedHead, type ResolvedHeadings, type ResolvedImages, type Result, type RouteBadge, type Rule, type RuleContext, type RuleEvidence, type RuleInfo, type RuleOptionInfo, type RuleOptionSpec, type RuleOptions, type RuleOptionsSpec, type RuleOverride, type RuleSetting, type RuleSettingObject, type Runtime, SITEMAP_SOURCE_PATHS, SVELTE_CONFIG_FILES, type Scope, type ScoreModel, type ScoreOptions, type ScoreResult, type Severity, type SourceSpan, type Summary, type SuppressionDirective, type TreatDynamicAs, VITE_CONFIG_FILES, type Value, type ViteKitConfigResult, a11yAccessibleName, a11yDoctype, a11yDuplicateLandmark, a11yIdDuplication, a11yInteractiveNesting, a11yInvalidAriaValue, a11yInvalidRole, a11yLabelHasControl, a11yNoMissingIdRef, a11yPlaceholderLabelOption, a11yRequireDatetime, a11yRequiredAriaProps, a11yTopLevelLandmark, a11yUnknownAriaAttribute, a11yUseList, allRules, applyOverrides, applyRuleSeverities, architectureComponentSize, architectureDirectoryNaming, architectureDocLinkTarget, architecturePrivateScopeImport, architecturePropCount, architectureReservedDirectoryNames, architectureReservedNamePlacement, architectureRouteComponentImport, architectureUnitEntryFile, attrText, attrTextOf, attrValue, attrValueOf, buildHtmlDocument, buildJsonReport, classify, collectComponentFacts, collectKitModuleFacts, collectSourceFiles, compileOverrides, computeHealth, computeScore, correctnessBasePathNavigation, correctnessCheckableBindValue, correctnessEachIndexKey, correctnessEachKey, correctnessEffectAsDerived, correctnessEffectAsOnMount, correctnessInstanceBrowserGlobal, correctnessNonreactiveBuiltinState, correctnessOrphanEffect, correctnessOrphanLifecycle, correctnessPropMutation, correctnessServerBrowserGlobal, correctnessStalePropDerivation, correctnessUnmutatedState, decodeFragmentId, defaultConfig, defaultProject, defineConfig, docsUrlFor, effectiveSeverity, emptyComponentFacts, emptyKitModuleFacts, escapeHtml, explainRule, findAttr, findKitAliasesInSvelteConfig, findKitPathsBaseInSvelteConfig, findKitPathsBaseInViteConfig, findMinifyDisabled, foldOccurrences, formatAgentReport, formatConsoleReport, formatFailedRuleWarning, formatGithubReport, formatHtmlReport, formatJsonReport, formatMarkdownReport, formatSarifReport, hasFailureAtOrAbove, headTagRule, imageRule, intOption, isMentionedAnywhere, isPenalized, isTopFragment, lineOf, linkRule, listOption, mapOption, noColorPalette, overrideMatches, parseComponentFacts, parseKitModuleFacts, performanceFontPreloadCrossorigin, performanceHeavyImport, performanceImageDimensions, performanceImageLoadingHint, performanceLcpImage, performanceLoadWaterfall, performanceMinifyDisabled, performanceNamespaceImport, performancePreconnect, performancePreloadMissingAs, performanceRenderBlockingScript, performanceResponsiveImage, performanceSequentialAwaits, performanceStateRaw, renderAppShell, resolveKitAliases, resolveKitPathsBase, resolveRepoLocalPath, resolveRuleOptions, resolveRunesModuleSpecifier, runRules, safeHref, scoreBand, scoreColor, scoresByCategory, securityHandlerStateWrite, securityJavascriptUrl, securityRawHtml, securityServerModuleState, securitySharedStateImport, selectRules, seoCanonicalUrl, seoCharset, seoDescriptionLength, seoDescriptionPresence, seoDuplicateDescription, seoDuplicateTitle, seoHeadingLevelSkip, seoHreflang, seoHtmlLang, seoImageAlt, seoIndexability, seoJsonLd, seoJsonLdDateFormat, seoJsonLdDeprecatedType, seoJsonLdPlaceholder, seoJsonLdRelativeUrl, seoJsonLdRequiredProps, seoJsonLdValidity, seoOgDescription, seoOgImage, seoOgTitle, seoOgUrl, seoRobotsTxt, seoSingleH1, seoSitemapInRobots, seoSitemapXml, seoSsrDisabled, seoTitleLength, seoTitlePresence, seoTwitterCard, seoViewport, settingOptions, settingSeverity, shouldSkipRangeCheck, splitTokens, summarize, terminalSafe, textFromNodes, validateRuleOptions, validateRuleSetting, valueFromNodes, withFailedRulesOff };
|