@svelte-vitals/core 0.55.3 → 0.55.4

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.
@@ -1,6 +1,5 @@
1
- import { $ as ResolvedImages, A as KitModuleFacts, At as ResolvedHead, B as BranchStep, Bt as emptyComponentFacts, C as SEARCH_RESULT_RULES, Ct as Severity, D as settingSeverity, Dt as defaultProject, E as selectRules, Et as defaultConfig, F as ResolvedHeadings, Ft as EffectFact, G as SECTIONING_TAGS, H as LandmarkInput, Ht as Runtime, I as A11yOccurrenceInfo, It as OrphanEffectFact, J as isTopFragment, K as decodeFragmentId, L as A11ySkipCause, Lt as SourceSpan, M as pageRendersOnlyWhenBuilding, Mt as isClassicScriptType, N as routeNeverSsr, Nt as ComponentFacts, O as withFailedRulesOff, P as HeadingInfo, Pt as EachBlockFact, Q as ImageInfo, R as ANCESTRY_DEPENDENT_TAGS, Rt as SuppressionDirective, S as CompiledOverride, St as Scope, T as formatFailedRuleWarning, Tt as Value, U as NAMING_ATTRS, Ut as withReadLimit, V as IDREF_ATTRS, Vt as skippedFileWarnings, W as ResolvedA11y, X as splitTokens, Y as resolveLandmark, Z as stripTextDirective, _ as RuleOptionsSpec, _t as Result, a as formatJsonReportChunks, at as classify, b as shouldSkipRangeCheck, c as ScoreOptions, ct as summarize, d as computeScore, dt as Config, et as isSvgSrc, f as Rule, g as RuleOptionSpec, gt as Project, h as isPenalized, i as formatJsonReport, j as layoutNeverRenders, jt as hasRel, k as withIndexableOff, kt as HeadTag, l as ScoreResult, m as docsUrlFor, mt as KitAlias, nt as formatGithubReport, o as HealthResult, ot as effectiveSeverity, p as RuleContext, pt as Fix, q as foldOccurrences, r as buildJsonReport, rt as Classification, st as hasFailureAtOrAbove, t as JsonReport, tt as formatMarkdownReport, u as computeHealth, ut as Category, v as isPlainObject, w as compileOverrides, x as validateRuleSetting, y as resolveRuleOptions, z as ASIDE_DEMOTING_TAGS, zt as collectComponentFacts } from "./json-DmLgFEwV.js";
1
+ import { $ as ResolvedImages, A as KitModuleFacts, At as ResolvedHead, B as BranchStep, Bt as emptyComponentFacts, C as SEARCH_RESULT_RULES, Ct as Severity, D as settingSeverity, Dt as defaultProject, E as selectRules, Et as defaultConfig, F as ResolvedHeadings, Ft as EffectFact, G as SECTIONING_TAGS, H as LandmarkInput, Ht as Runtime, I as A11yOccurrenceInfo, It as OrphanEffectFact, J as isTopFragment, K as decodeFragmentId, L as A11ySkipCause, Lt as SourceSpan, M as pageRendersOnlyWhenBuilding, Mt as isClassicScriptType, N as routeNeverSsr, Nt as ComponentFacts, O as withFailedRulesOff, P as HeadingInfo, Pt as EachBlockFact, Q as ImageInfo, R as ANCESTRY_DEPENDENT_TAGS, Rt as SuppressionDirective, S as CompiledOverride, St as Scope, T as formatFailedRuleWarning, Tt as Value, U as NAMING_ATTRS, Ut as withReadLimit, V as IDREF_ATTRS, Vt as skippedFileWarnings, W as ResolvedA11y, X as splitTokens, Y as resolveLandmark, Z as stripTextDirective, _ as RuleOptionsSpec, _t as Result, a as formatJsonReportChunks, at as classify, b as shouldSkipRangeCheck, c as ScoreOptions, ct as summarize, d as computeScore, dt as Config, et as isSvgSrc, f as Rule, g as RuleOptionSpec, gt as Project, h as isPenalized, i as formatJsonReport, j as layoutNeverRenders, jt as hasRel, k as withIndexableOff, kt as HeadTag, l as ScoreResult, m as docsUrlFor, mt as KitAlias, nt as formatGithubReport, o as HealthResult, ot as effectiveSeverity, p as RuleContext, pt as Fix, q as foldOccurrences, r as buildJsonReport, rt as Classification, st as hasFailureAtOrAbove, t as JsonReport, tt as formatMarkdownReport, u as computeHealth, ut as Category, v as isPlainObject, w as compileOverrides, x as validateRuleSetting, y as resolveRuleOptions, z as ASIDE_DEMOTING_TAGS, zt as collectComponentFacts } from "./json-CWGGrAda.js";
2
2
  import { AST } from "svelte/compiler";
3
- //#region src/component-parse.d.ts
4
3
  type Node$2 = any;
5
4
  /** A component's script `const` lists that nothing in its scripts or template can change. */
6
5
  export declare function collectComponentConstantLists(ast: Node$2, opts?: {
@@ -21,8 +20,6 @@ type ParsedFacts = Omit<ComponentFacts, 'file' | 'suppressions'> & {
21
20
  * runes module's orphan-$effect facts (correctness/orphan-effect).
22
21
  */
23
22
  export declare function parseComponentFacts(source: string, filename: string): ParsedFacts;
24
- //#endregion
25
- //#region ../../node_modules/.pnpm/@types+estree@1.0.9/node_modules/@types/estree/index.d.ts
26
23
  // This definition file follows a somewhat unusual format. ESTree allows
27
24
  // runtime type checks based on the `type` parameter. In order to explain this
28
25
  // to typescript we want to use discriminated union types:
@@ -460,8 +457,6 @@ interface AwaitExpression extends BaseExpression {
460
457
  type: "AwaitExpression";
461
458
  argument: Expression;
462
459
  }
463
- //#endregion
464
- //#region src/module-ast.d.ts
465
460
  type Node$1 = any;
466
461
  interface TSSatisfiesExpression {
467
462
  type: 'TSSatisfiesExpression';
@@ -509,8 +504,6 @@ type ParsedModule = {
509
504
  wrapped: string;
510
505
  };
511
506
  export declare function parseModuleProgram(source: string, filename: string): ParsedModule;
512
- //#endregion
513
- //#region src/inline-directives.d.ts
514
507
  /** File-relative-path → the inline directives collected from that file. */
515
508
  type DirectiveIndex = ReadonlyMap<string, readonly SuppressionDirective[]>;
516
509
  /**
@@ -532,8 +525,6 @@ export declare function addFactsDirectives(index: Map<string, readonly Suppressi
532
525
  * not turn its directives into errors.
533
526
  */
534
527
  export declare function unknownDirectiveIds(index: DirectiveIndex, rules: readonly Rule[]): string[];
535
- //#endregion
536
- //#region src/source-files.d.ts
537
528
  /**
538
529
  * Every file under `src/`, as project-relative paths, sorted. Paths only — nothing is
539
530
  * read, so this is the cheaper of the two passes over `src/` (the component collector
@@ -548,8 +539,6 @@ export declare function unknownDirectiveIds(index: DirectiveIndex, rules: readon
548
539
  * those rules are concerned, and dot directories never appear at all (see `Runtime.glob`).
549
540
  */
550
541
  export declare function collectSourceFiles(rt: Runtime, cwd: string): Promise<string[]>;
551
- //#endregion
552
- //#region src/kit-module-parse.d.ts
553
542
  type Node = any;
554
543
  /** `parseFalseExports` over a parsed module. */
555
544
  export declare function collectFalseExports(program: Node): Set<string>;
@@ -580,8 +569,6 @@ export declare function collectFalseExports(program: Node): Set<string>;
580
569
  * repo-local specifier resolution in the repo.
581
570
  */
582
571
  export declare function resolveRepoLocalPath(spec: string, importerFile: string, aliases?: readonly KitAlias[]): string | undefined;
583
- //#endregion
584
- //#region src/kit-module-collect.d.ts
585
572
  /**
586
573
  * Scan SvelteKit route/hooks files for SSR shared-state facts (the security kit-module rules): route
587
574
  * `+page`/`+layout` server and universal modules, `+server` endpoints, and
@@ -593,8 +580,6 @@ export declare function resolveRepoLocalPath(spec: string, importerFile: string,
593
580
  * specifiers resolve through `$lib` → `src/lib` only.
594
581
  */
595
582
  export declare function collectKitModuleFacts(rt: Runtime, cwd: string, aliases?: readonly KitAlias[]): Promise<KitModuleFacts[]>;
596
- //#endregion
597
- //#region src/vite-config-parse.d.ts
598
583
  /**
599
584
  * The `build: { minify: false }` override, when present as a literal: returns the
600
585
  * `minify` property's 1-based line in the ORIGINAL source. Undefined for clean,
@@ -603,8 +588,6 @@ export declare function collectKitModuleFacts(rt: Runtime, cwd: string, aliases?
603
588
  export declare function findMinifyDisabled(source: string): {
604
589
  line: number;
605
590
  } | undefined;
606
- //#endregion
607
- //#region src/svelte-config-parse.d.ts
608
591
  /**
609
592
  * The project's compiled alias list, following SvelteKit's config precedence: options passed to
610
593
  * the `sveltekit()` Vite plugin make `svelte.config` irrelevant (Kit logs "svelte.config.js is
@@ -643,8 +626,6 @@ export declare function resolveKitPathsBase(viteConfig: {
643
626
  value?: string;
644
627
  file: string;
645
628
  } | undefined;
646
- //#endregion
647
- //#region src/workspace-packages.d.ts
648
629
  /** A package the app declares, from its repository or its `node_modules`: `dir` is relative to the app. */
649
630
  interface WorkspacePackage {
650
631
  name: string;
@@ -681,8 +662,6 @@ export declare function declaredInstalledPackages(packageJsonSource: string | un
681
662
  * publish no Svelte marker get no entries: nothing they export is a component.
682
663
  */
683
664
  export declare function withInstalledPackages(aliases: KitAlias[] | undefined, packages: readonly WorkspacePackage[]): KitAlias[] | undefined;
684
- //#endregion
685
- //#region src/svelte-ast.d.ts
686
665
  /**
687
666
  * Parse a `.svelte` source, tolerating style blocks written in a CSS dialect.
688
667
  *
@@ -726,8 +705,6 @@ export declare function findAttr(attributes: AST.Attribute[], name: string): AST
726
705
  export declare function attrValueOf(attr: AST.Attribute): Value;
727
706
  /** Literal static text of a single attribute node (e.g. a component prop), or undefined if dynamic/absent. */
728
707
  export declare function attrTextOf(attr: AST.Attribute): string | undefined;
729
- //#endregion
730
- //#region src/project-paths.d.ts
731
708
  /**
732
709
  * Source-file locations that satisfy the project-scope rules, shared by every
733
710
  * mode so the static (CLI) and rendered (plugin) collectors never drift. This
@@ -748,8 +725,6 @@ export declare function servesRootFile(rel: string, file: 'robots.txt' | 'sitema
748
725
  export declare const VITE_CONFIG_FILES: readonly ["vite.config.js", "vite.config.mjs", "vite.config.ts", "vite.config.cjs", "vite.config.mts", "vite.config.cts"];
749
726
  /** SvelteKit's config resolution order (`@sveltejs/kit` checks js before ts). */
750
727
  export declare const SVELTE_CONFIG_FILES: readonly ["svelte.config.js", "svelte.config.ts"];
751
- //#endregion
752
- //#region src/engine.d.ts
753
728
  interface FailedRule {
754
729
  id: string;
755
730
  message: string;
@@ -781,55 +756,25 @@ export declare function runAnalysis(rules: Rule[], ctx: RuleContext, directives:
781
756
  failedRuleIds: string[];
782
757
  scoringConfig: Config;
783
758
  }>;
784
- //#endregion
785
- //#region src/rules/seo/title-presence.d.ts
786
759
  /**
787
760
  * seo/title-presence — every route should resolve a non-empty <title> (design §11).
788
761
  * A dynamic title (`{data.title}`) is the most common correct pattern and must
789
762
  * never be flagged as missing; it surfaces as value 'dynamic' (design §4).
790
763
  */
791
764
  export declare const seoTitlePresence: Rule;
792
- //#endregion
793
- //#region src/rules/seo/description-presence.d.ts
794
765
  export declare const seoDescriptionPresence: Rule;
795
- //#endregion
796
- //#region src/rules/seo/canonical-url.d.ts
797
766
  export declare const seoCanonicalUrl: Rule;
798
- //#endregion
799
- //#region src/rules/seo/og-image.d.ts
800
767
  export declare const seoOgImage: Rule;
801
- //#endregion
802
- //#region src/rules/seo/og-title.d.ts
803
768
  export declare const seoOgTitle: Rule;
804
- //#endregion
805
- //#region src/rules/seo/json-ld.d.ts
806
769
  export declare const seoJsonLd: Rule;
807
- //#endregion
808
- //#region src/rules/seo/robots-txt.d.ts
809
770
  export declare const seoRobotsTxt: Rule;
810
- //#endregion
811
- //#region src/rules/seo/sitemap-xml.d.ts
812
771
  export declare const seoSitemapXml: Rule;
813
- //#endregion
814
- //#region src/rules/seo/html-lang.d.ts
815
772
  export declare const seoHtmlLang: Rule;
816
- //#endregion
817
- //#region src/rules/perf/image-dimensions.d.ts
818
773
  export declare const performanceImageDimensions: Rule;
819
- //#endregion
820
- //#region src/rules/perf/image-loading-hint.d.ts
821
774
  export declare const performanceImageLoadingHint: Rule;
822
- //#endregion
823
- //#region src/rules/perf/responsive-image.d.ts
824
775
  export declare const performanceResponsiveImage: Rule;
825
- //#endregion
826
- //#region src/rules/perf/preload-missing-as.d.ts
827
776
  export declare const performancePreloadMissingAs: Rule;
828
- //#endregion
829
- //#region src/rules/perf/font-preload-crossorigin.d.ts
830
777
  export declare const performanceFontPreloadCrossorigin: Rule;
831
- //#endregion
832
- //#region src/rules/perf/lcp-image.d.ts
833
778
  /**
834
779
  * performance/lcp-image — LCP image not lazy-loaded. Lazy-loading the largest contentful paint
835
780
  * image delays it. Analysis approximates the LCP as the first <img> in document
@@ -837,8 +782,6 @@ export declare const performanceFontPreloadCrossorigin: Rule;
837
782
  * static (CLI) and rendered (vite) mode, since both providers collect <img>.
838
783
  */
839
784
  export declare const performanceLcpImage: Rule;
840
- //#endregion
841
- //#region src/rules/perf/render-blocking-script.d.ts
842
785
  /**
843
786
  * performance/render-blocking-script — Render-blocking <script> in <head>. A <script src> without
844
787
  * defer/async/type=module blocks the parser. SvelteKit's own scripts are
@@ -847,8 +790,6 @@ export declare const performanceLcpImage: Rule;
847
790
  * emits nothing (no signal), like the image rules.
848
791
  */
849
792
  export declare const performanceRenderBlockingScript: Rule;
850
- //#endregion
851
- //#region src/rules/perf/preconnect.d.ts
852
793
  /**
853
794
  * performance/preconnect — Preconnect for third-party origins. A resource from a well-known
854
795
  * third-party origin (e.g. Google Fonts) without a preconnect/dns-prefetch pays a
@@ -856,58 +797,26 @@ export declare const performanceRenderBlockingScript: Rule;
856
797
  * allowlist are checked; routes referencing none emit nothing.
857
798
  */
858
799
  export declare const performancePreconnect: Rule;
859
- //#endregion
860
- //#region src/rules/seo/indexability.d.ts
861
800
  export declare const seoIndexability: Rule;
862
- //#endregion
863
- //#region src/rules/seo/twitter-card.d.ts
864
801
  export declare const seoTwitterCard: Rule;
865
- //#endregion
866
- //#region src/rules/seo/og-description.d.ts
867
802
  export declare const seoOgDescription: Rule;
868
- //#endregion
869
- //#region src/rules/seo/og-url.d.ts
870
803
  export declare const seoOgUrl: Rule;
871
- //#endregion
872
- //#region src/rules/seo/viewport.d.ts
873
804
  export declare const seoViewport: Rule;
874
- //#endregion
875
- //#region src/rules/seo/sitemap-in-robots.d.ts
876
805
  export declare const seoSitemapInRobots: Rule;
877
- //#endregion
878
- //#region src/rules/seo/json-ld-validity.d.ts
879
806
  export declare const seoJsonLdValidity: Rule;
880
- //#endregion
881
- //#region src/rules/seo/json-ld-deprecated-type.d.ts
882
807
  export declare const seoJsonLdDeprecatedType: Rule;
883
- //#endregion
884
- //#region src/rules/seo/json-ld-relative-url.d.ts
885
808
  export declare const seoJsonLdRelativeUrl: Rule;
886
- //#endregion
887
- //#region src/rules/seo/json-ld-date-format.d.ts
888
809
  export declare const seoJsonLdDateFormat: Rule;
889
- //#endregion
890
- //#region src/rules/seo/json-ld-placeholder.d.ts
891
810
  export declare const seoJsonLdPlaceholder: Rule;
892
- //#endregion
893
- //#region src/rules/seo/json-ld-required-props.d.ts
894
811
  export declare const seoJsonLdRequiredProps: Rule;
895
- //#endregion
896
- //#region src/rules/seo/title-length.d.ts
897
812
  export declare const seoTitleLength: Rule;
898
- //#endregion
899
- //#region src/rules/seo/description-length.d.ts
900
813
  export declare const seoDescriptionLength: Rule;
901
- //#endregion
902
- //#region src/rules/seo/charset.d.ts
903
814
  /**
904
815
  * seo/charset — Character encoding. The charset meta lives in `src/app.html`, so it is
905
816
  * only visible to rendered analysis (`appliesTo: rendered`), exactly like seo/viewport
906
817
  * (viewport). Static route analysis emits nothing instead of false-flagging it.
907
818
  */
908
819
  export declare const seoCharset: Rule;
909
- //#endregion
910
- //#region src/rules/seo/image-alt.d.ts
911
820
  /**
912
821
  * seo/image-alt — Image alt text. Reuses the <img> collection from both providers — the
913
822
  * static (CLI) source parser and the rendered (vite) HTML parser — like performance/image-dimensions, performance/image-loading-hint.
@@ -915,8 +824,6 @@ export declare const seoCharset: Rule;
915
824
  * passes; a spread `{...rest}` may supply alt, so it is not flagged.
916
825
  */
917
826
  export declare const seoImageAlt: Rule;
918
- //#endregion
919
- //#region src/rules/seo/hreflang.d.ts
920
827
  /**
921
828
  * seo/hreflang — hreflang / x-default validity. Opt-in: a route with no
922
829
  * `<link rel="alternate" hreflang>` emits nothing (monolingual sites are never
@@ -924,17 +831,9 @@ export declare const seoImageAlt: Rule;
924
831
  * two or more must declare an x-default. Works in both modes.
925
832
  */
926
833
  export declare const seoHreflang: Rule;
927
- //#endregion
928
- //#region src/rules/seo/single-h1.d.ts
929
834
  export declare const seoSingleH1: Rule;
930
- //#endregion
931
- //#region src/rules/seo/duplicate-title.d.ts
932
835
  export declare const seoDuplicateTitle: Rule;
933
- //#endregion
934
- //#region src/rules/seo/duplicate-description.d.ts
935
836
  export declare const seoDuplicateDescription: Rule;
936
- //#endregion
937
- //#region src/rules/seo/heading-level-skip.d.ts
938
837
  /**
939
838
  * seo/heading-level-skip — Skipped heading level. Walking a route's body headings in
940
839
  * document order, a level that jumps more than +1 over the previous heading (e.g.
@@ -942,26 +841,12 @@ export declare const seoDuplicateDescription: Rule;
942
841
  * <h1> stays seo/single-h1's concern). A route with no headings emits nothing.
943
842
  */
944
843
  export declare const seoHeadingLevelSkip: Rule;
945
- //#endregion
946
- //#region src/rules/seo/ssr-disabled.d.ts
947
844
  export declare const seoSsrDisabled: Rule;
948
- //#endregion
949
- //#region src/rules/correctness/each-key.d.ts
950
845
  export declare const correctnessEachKey: Rule;
951
- //#endregion
952
- //#region src/rules/correctness/each-index-key.d.ts
953
846
  export declare const correctnessEachIndexKey: Rule;
954
- //#endregion
955
- //#region src/rules/correctness/effect-as-derived.d.ts
956
847
  export declare const correctnessEffectAsDerived: Rule;
957
- //#endregion
958
- //#region src/rules/correctness/effect-as-onmount.d.ts
959
848
  export declare const correctnessEffectAsOnMount: Rule;
960
- //#endregion
961
- //#region src/rules/correctness/unmutated-state.d.ts
962
849
  export declare const correctnessUnmutatedState: Rule;
963
- //#endregion
964
- //#region src/rules/correctness/prop-mutation.d.ts
965
850
  /**
966
851
  * correctness/prop-mutation — mutating a prop directly is a silent bug in both Svelte modes,
967
852
  * for different reasons: in runes mode, a non-$bindable prop mutation doesn't propagate to the
@@ -971,8 +856,6 @@ export declare const correctnessUnmutatedState: Rule;
971
856
  * exactly one or the other — see `legacy` on `ComponentFacts.mutatedProps` (component-parse.ts).
972
857
  */
973
858
  export declare const correctnessPropMutation: Rule;
974
- //#endregion
975
- //#region src/rules/correctness/stale-prop-derivation.d.ts
976
859
  /**
977
860
  * correctness/stale-prop-derivation — a value computed from a prop without $derived (runes
978
861
  * mode) or $: (legacy mode) is evaluated once, at init, and silently stops tracking the
@@ -981,8 +864,6 @@ export declare const correctnessPropMutation: Rule;
981
864
  * `legacy` on `ComponentFacts.stalePropDerivations` (component-parse.ts).
982
865
  */
983
866
  export declare const correctnessStalePropDerivation: Rule;
984
- //#endregion
985
- //#region src/rules/correctness/nonreactive-builtin-state.d.ts
986
867
  /**
987
868
  * correctness/nonreactive-builtin-state — $state's deep proxy covers plain
988
869
  * objects and arrays only. A plain Map/Set/Date/URL/URLSearchParams in $state
@@ -991,8 +872,6 @@ export declare const correctnessStalePropDerivation: Rule;
991
872
  * drop-in reactive equivalents for exactly this.
992
873
  */
993
874
  export declare const correctnessNonreactiveBuiltinState: Rule;
994
- //#endregion
995
- //#region src/rules/correctness/checkable-bind-value.d.ts
996
875
  /**
997
876
  * correctness/checkable-bind-value — bind:value binds the DOM value property. A
998
877
  * checkbox/radio's user interaction toggles checkedness, which bind:value never observes. A
@@ -1002,8 +881,6 @@ export declare const correctnessNonreactiveBuiltinState: Rule;
1002
881
  * bindings.
1003
882
  */
1004
883
  export declare const correctnessCheckableBindValue: Rule;
1005
- //#endregion
1006
- //#region src/rules/correctness/autoplay-muted.d.ts
1007
884
  /**
1008
885
  * correctness/autoplay-muted — Chrome and Safari block autoplay with audio, and a blocked
1009
886
  * `<video autoplay>` does not error: it silently never starts. The author sees it work in dev
@@ -1013,11 +890,7 @@ export declare const correctnessCheckableBindValue: Rule;
1013
890
  * and only a literal `autoplay` counts.
1014
891
  */
1015
892
  export declare const correctnessAutoplayMuted: Rule;
1016
- //#endregion
1017
- //#region src/rules/correctness/orphan-effect.d.ts
1018
893
  export declare const correctnessOrphanEffect: Rule;
1019
- //#endregion
1020
- //#region src/rules/correctness/orphan-lifecycle.d.ts
1021
894
  /**
1022
895
  * correctness/orphan-lifecycle — svelte lifecycle/context calls guaranteed to run outside component
1023
896
  * initialisation: module scope in runes modules / `<script module>`, the constructor of
@@ -1025,8 +898,6 @@ export declare const correctnessOrphanEffect: Rule;
1025
898
  * because the facts live on BOTH the component channel and the Kit-module channel.
1026
899
  */
1027
900
  export declare const correctnessOrphanLifecycle: Rule;
1028
- //#endregion
1029
- //#region src/rules/correctness/base-path-navigation.d.ts
1030
901
  /**
1031
902
  * correctness/base-path-navigation — root-relative navigation literals in a project that sets
1032
903
  * `kit.paths.base`. A custom check because it is gated on a PROJECT fact and its own facts live
@@ -1034,8 +905,6 @@ export declare const correctnessOrphanLifecycle: Rule;
1034
905
  * With no base path configured the rule emits nothing at all — the gate is the whole point.
1035
906
  */
1036
907
  export declare const correctnessBasePathNavigation: Rule;
1037
- //#endregion
1038
- //#region src/rules/correctness/server-browser-global.d.ts
1039
908
  /**
1040
909
  * correctness/server-browser-global — browser globals read in server-executed MODULE code: module scope of
1041
910
  * runes modules / `<script module>`, and Kit route/hooks files (top level, handler
@@ -1044,32 +913,14 @@ export declare const correctnessBasePathNavigation: Rule;
1044
913
  * (warning) territory. A custom check because the facts live on both channels.
1045
914
  */
1046
915
  export declare const correctnessServerBrowserGlobal: Rule;
1047
- //#endregion
1048
- //#region src/rules/correctness/instance-browser-global.d.ts
1049
916
  export declare const correctnessInstanceBrowserGlobal: Rule;
1050
- //#endregion
1051
- //#region src/rules/security/raw-html.d.ts
1052
917
  export declare const securityRawHtml: Rule;
1053
- //#endregion
1054
- //#region src/rules/security/javascript-url.d.ts
1055
918
  export declare const securityJavascriptUrl: Rule;
1056
- //#endregion
1057
- //#region src/rules/security/handler-state-write.d.ts
1058
919
  export declare const securityHandlerStateWrite: Rule;
1059
- //#endregion
1060
- //#region src/rules/security/server-module-state.d.ts
1061
920
  export declare const securityServerModuleState: Rule;
1062
- //#endregion
1063
- //#region src/rules/security/shared-state-import.d.ts
1064
921
  export declare const securitySharedStateImport: Rule;
1065
- //#endregion
1066
- //#region src/rules/architecture/component-size.d.ts
1067
922
  export declare const architectureComponentSize: Rule;
1068
- //#endregion
1069
- //#region src/rules/architecture/prop-count.d.ts
1070
923
  export declare const architecturePropCount: Rule;
1071
- //#endregion
1072
- //#region src/rules/architecture/private-scope-import.d.ts
1073
924
  /**
1074
925
  * architecture/private-scope-import — a unit inside a declared private scope must not be
1075
926
  * imported from outside that scope (design 2026-07-28). L3: the scopes are declared by the
@@ -1079,8 +930,6 @@ export declare const architecturePropCount: Rule;
1079
930
  * results to the files that changed, and the author of the violation edited the importer.
1080
931
  */
1081
932
  export declare const architecturePrivateScopeImport: Rule;
1082
- //#endregion
1083
- //#region src/rules/architecture/unit-entry-file.d.ts
1084
933
  /**
1085
934
  * architecture/unit-entry-file — a directory declared to be a unit must contain a file named
1086
935
  * after it (design 2026-07-28). L3: the declarations come from the project's own `units`,
@@ -1091,8 +940,6 @@ export declare const architecturePrivateScopeImport: Rule;
1091
940
  * the directory, because `filterToChangedFiles` keeps only locations git lists as changed.
1092
941
  */
1093
942
  export declare const architectureUnitEntryFile: Rule;
1094
- //#endregion
1095
- //#region src/rules/architecture/directory-naming.d.ts
1096
943
  /**
1097
944
  * architecture/directory-naming — a directory must be named in the casing its location declares
1098
945
  * (design 2026-07-29). L3: the declarations come from the project's own `directories` and `exclude`
@@ -1108,8 +955,6 @@ export declare const architectureUnitEntryFile: Rule;
1108
955
  * hundreds of 100s from one `'src/routes/**'` declaration and dilute every real finding.
1109
956
  */
1110
957
  export declare const architectureDirectoryNaming: Rule;
1111
- //#endregion
1112
- //#region src/rules/architecture/reserved-directory-names.d.ts
1113
958
  /**
1114
959
  * architecture/reserved-directory-names — a directory's immediate subdirectories may only take names
1115
960
  * the project declared for that position (design 2026-07-29, extended 2026-08-08 for lowercase units —
@@ -1131,8 +976,6 @@ export declare const architectureDirectoryNaming: Rule;
1131
976
  * hundreds of 100s from one broad declaration and dilute every real finding.
1132
977
  */
1133
978
  export declare const architectureReservedDirectoryNames: Rule;
1134
- //#endregion
1135
- //#region src/rules/architecture/reserved-name-placement.d.ts
1136
979
  /**
1137
980
  * architecture/reserved-name-placement — a reserved directory name may appear only in the places
1138
981
  * declared for it (design 2026-08-06). L3: inert until a placement is declared.
@@ -1150,20 +993,10 @@ export declare const architectureReservedDirectoryNames: Rule;
1150
993
  * `route` at 100 and averages, and a directory has no pre-existing score key.
1151
994
  */
1152
995
  export declare const architectureReservedNamePlacement: Rule;
1153
- //#endregion
1154
- //#region src/rules/architecture/route-component-import.d.ts
1155
996
  export declare const architectureRouteComponentImport: Rule;
1156
- //#endregion
1157
- //#region src/rules/architecture/doc-link-target.d.ts
1158
997
  export declare const architectureDocLinkTarget: Rule;
1159
- //#endregion
1160
- //#region src/rules/perf/heavy-import.d.ts
1161
998
  export declare const performanceHeavyImport: Rule;
1162
- //#endregion
1163
- //#region src/rules/perf/namespace-import.d.ts
1164
999
  export declare const performanceNamespaceImport: Rule;
1165
- //#endregion
1166
- //#region src/rules/perf/minify-disabled.d.ts
1167
1000
  /**
1168
1001
  * performance/minify-disabled — a `build.minify: false` left in vite.config ships unminified JS/CSS
1169
1002
  * to production. Project-scope: the fact is produced by the CLI's static parse
@@ -1171,8 +1004,6 @@ export declare const performanceNamespaceImport: Rule;
1171
1004
  * (exact). Emits a finding only when the fact is set — no pass result.
1172
1005
  */
1173
1006
  export declare const performanceMinifyDisabled: Rule;
1174
- //#endregion
1175
- //#region src/rules/perf/load-waterfall.d.ts
1176
1007
  /**
1177
1008
  * performance/load-waterfall — dependent await chains in universal loads. Server loads are exempt:
1178
1009
  * a dependent chain cannot be parallelized, and on the server there is no better
@@ -1180,16 +1011,12 @@ export declare const performanceMinifyDisabled: Rule;
1180
1011
  * too — without a client runtime the universal load only runs during SSR.
1181
1012
  */
1182
1013
  export declare const performanceLoadWaterfall: Rule;
1183
- //#endregion
1184
- //#region src/rules/perf/sequential-awaits.d.ts
1185
1014
  /**
1186
1015
  * performance/sequential-awaits — independent sequential awaits in any load. Info severity: static
1187
1016
  * data flow cannot see side-effect ordering (e.g. a setup call an API relies
1188
1017
  * on), so the parallelize suggestion stays advisory.
1189
1018
  */
1190
1019
  export declare const performanceSequentialAwaits: Rule;
1191
- //#endregion
1192
- //#region src/rules/perf/state-raw.d.ts
1193
1020
  /**
1194
1021
  * performance/state-raw — deep $state proxies every property access; a binding
1195
1022
  * that is only ever reassigned never uses that machinery. Svelte's guidance:
@@ -1198,46 +1025,20 @@ export declare const performanceSequentialAwaits: Rule;
1198
1025
  * the proxy condition.
1199
1026
  */
1200
1027
  export declare const performanceStateRaw: Rule;
1201
- //#endregion
1202
- //#region src/rules/perf/iframe-loading.d.ts
1203
1028
  /** Any literal `loading` value passes (the author made a choice); an expression value is
1204
1029
  * unknowable and passes; a spread could supply `loading` and passes. */
1205
1030
  export declare const performanceIframeLoading: Rule;
1206
- //#endregion
1207
- //#region src/rules/a11y/invalid-role.d.ts
1208
1031
  export declare const a11yInvalidRole: Rule;
1209
- //#endregion
1210
- //#region src/rules/a11y/unknown-aria-attribute.d.ts
1211
1032
  export declare const a11yUnknownAriaAttribute: Rule;
1212
- //#endregion
1213
- //#region src/rules/a11y/required-aria-props.d.ts
1214
1033
  export declare const a11yRequiredAriaProps: Rule;
1215
- //#endregion
1216
- //#region src/rules/a11y/invalid-aria-value.d.ts
1217
1034
  export declare const a11yInvalidAriaValue: Rule;
1218
- //#endregion
1219
- //#region src/rules/a11y/interactive-nesting.d.ts
1220
1035
  export declare const a11yInteractiveNesting: Rule;
1221
- //#endregion
1222
- //#region src/rules/a11y/aria-hidden-focus.d.ts
1223
1036
  export declare const a11yAriaHiddenFocus: Rule;
1224
- //#endregion
1225
- //#region src/rules/a11y/accessible-name.d.ts
1226
1037
  export declare const a11yAccessibleName: Rule;
1227
- //#endregion
1228
- //#region src/rules/a11y/label-has-control.d.ts
1229
1038
  export declare const a11yLabelHasControl: Rule;
1230
- //#endregion
1231
- //#region src/rules/a11y/use-list.d.ts
1232
1039
  export declare const a11yUseList: Rule;
1233
- //#endregion
1234
- //#region src/rules/a11y/placeholder-label-option.d.ts
1235
1040
  export declare const a11yPlaceholderLabelOption: Rule;
1236
- //#endregion
1237
- //#region src/rules/a11y/require-datetime.d.ts
1238
1041
  export declare const a11yRequireDatetime: Rule;
1239
- //#endregion
1240
- //#region src/rules/a11y/positive-tabindex.d.ts
1241
1042
  /**
1242
1043
  * Literal values only — an expression-valued `tabindex` is unknowable and passes. The
1243
1044
  * Number()-based parse deliberately follows the Svelte compiler's a11y_positive_tabindex
@@ -1248,8 +1049,6 @@ export declare const a11yRequireDatetime: Rule;
1248
1049
  * semantics.
1249
1050
  */
1250
1051
  export declare const a11yPositiveTabindex: Rule;
1251
- //#endregion
1252
- //#region src/rules/a11y/no-accesskey.d.ts
1253
1052
  /**
1254
1053
  * a11y/no-accesskey — unlike most attribute rules, an expression-valued `accesskey` is reported
1255
1054
  * too: the attribute's presence is the problem and its value never matters, so there is nothing
@@ -1258,8 +1057,6 @@ export declare const a11yPositiveTabindex: Rule;
1258
1057
  * presence wrong in both namespaces.
1259
1058
  */
1260
1059
  export declare const a11yNoAccesskey: Rule;
1261
- //#endregion
1262
- //#region src/rules/a11y/no-autofocus.d.ts
1263
1060
  /**
1264
1061
  * a11y/no-autofocus — only a literal `autofocus` counts (a bare boolean attribute parses to
1265
1062
  * `value: ''`); an expression value could be `false` and passes as unknowable. The ancestor walk
@@ -1271,37 +1068,19 @@ export declare const a11yNoAccesskey: Rule;
1271
1068
  * page-load focus semantics.
1272
1069
  */
1273
1070
  export declare const a11yNoAutofocus: Rule;
1274
- //#endregion
1275
- //#region src/rules/a11y/no-duplicate-dt.d.ts
1276
1071
  /**
1277
1072
  * a11y/no-duplicate-dt — the candidate gathering (direct and div-wrapped `<dt>` children of a
1278
1073
  * `<dl>`, fully-static names only, whitespace-normalized, case-sensitive) lives in the
1279
1074
  * collector; see `collectDuplicateDts` in component-parse.ts for the exemption rationale.
1280
1075
  */
1281
1076
  export declare const a11yNoDuplicateDt: Rule;
1282
- //#endregion
1283
- //#region src/rules/a11y/abbr-title.d.ts
1284
1077
  export declare const a11yAbbrTitle: Rule;
1285
- //#endregion
1286
- //#region src/rules/a11y/pattern-title.d.ts
1287
1078
  export declare const a11yPatternTitle: Rule;
1288
- //#endregion
1289
- //#region src/rules/a11y/deprecated-element.d.ts
1290
1079
  export declare const a11yDeprecatedElement: Rule;
1291
- //#endregion
1292
- //#region src/rules/a11y/deprecated-attr.d.ts
1293
1080
  export declare const a11yDeprecatedAttr: Rule;
1294
- //#endregion
1295
- //#region src/rules/a11y/disallowed-aria-props.d.ts
1296
1081
  export declare const a11yDisallowedAriaProps: Rule;
1297
- //#endregion
1298
- //#region src/rules/a11y/deprecated-aria.d.ts
1299
1082
  export declare const a11yDeprecatedAria: Rule;
1300
- //#endregion
1301
- //#region src/rules/a11y/disallowed-element.d.ts
1302
1083
  export declare const a11yDisallowedElement: Rule;
1303
- //#endregion
1304
- //#region src/rules/a11y/permitted-contents.d.ts
1305
1084
  /**
1306
1085
  * Content-model membership over the literal element tree
1307
1086
  * (design 2026-08-20-permitted-contents-rule-design.md; measured
@@ -1309,8 +1088,6 @@ export declare const a11yDisallowedElement: Rule;
1309
1088
  * structure-bound children) is `warning`; category mismatches are `info`.
1310
1089
  */
1311
1090
  export declare const a11yPermittedContents: Rule;
1312
- //#endregion
1313
- //#region src/rules/a11y/required-element.d.ts
1314
1091
  /**
1315
1092
  * a11y/required-element — every route must contain the elements the project declares (design
1316
1093
  * 2026-08-19-config-driven-element-rules). Judged on the composed route: the layout chain, the page,
@@ -1323,11 +1100,7 @@ export declare const a11yPermittedContents: Rule;
1323
1100
  * declared tag with the world open emits nothing.
1324
1101
  */
1325
1102
  export declare const a11yRequiredElement: Rule;
1326
- //#endregion
1327
- //#region src/rules/a11y/doctype.d.ts
1328
1103
  export declare const a11yDoctype: Rule;
1329
- //#endregion
1330
- //#region src/rules/a11y/duplicate-landmark.d.ts
1331
1104
  /**
1332
1105
  * a11y/duplicate-landmark — a composed route (layout chain + page) yields more than one
1333
1106
  * `main` / `banner` / `contentinfo` landmark. `ctx.a11y[].landmarks` already holds the
@@ -1335,23 +1108,17 @@ export declare const a11yDoctype: Rule;
1335
1108
  * fixed KINDS order (it decides emission order and the PASS anchor).
1336
1109
  */
1337
1110
  export declare const a11yDuplicateLandmark: Rule;
1338
- //#endregion
1339
- //#region src/rules/a11y/top-level-landmark.d.ts
1340
1111
  /**
1341
1112
  * a11y/top-level-landmark — a landmark (`main`/`banner`/`complementary`/`contentinfo`) that
1342
1113
  * composition places inside another landmark. `ctx.a11y[].nestedLandmarks` already carries one
1343
1114
  * entry per nested occurrence, so this rule only reports them.
1344
1115
  */
1345
1116
  export declare const a11yTopLevelLandmark: Rule;
1346
- //#endregion
1347
- //#region src/rules/a11y/id-duplication.d.ts
1348
1117
  /**
1349
1118
  * a11y/id-duplication — a literal id repeated within a composed route. `ctx.a11y[].ids`
1350
1119
  * already holds the branch-aware-folded representatives per id, so this rule only counts them.
1351
1120
  */
1352
1121
  export declare const a11yIdDuplication: Rule;
1353
- //#endregion
1354
- //#region src/rules/a11y/no-missing-id-ref.d.ts
1355
1122
  /**
1356
1123
  * a11y/no-missing-id-ref — an id-reference attribute (`IDREF_ATTRS`: HTML's `for`/`list`/`headers`/
1357
1124
  * `form`/the popover and command targets, and every ARIA id-reference property) or a same-page
@@ -1359,11 +1126,7 @@ export declare const a11yIdDuplication: Rule;
1359
1126
  * runs only on routes `ctx.a11y[].fullyResolved` marks fully resolved — see the rule docs.
1360
1127
  */
1361
1128
  export declare const a11yNoMissingIdRef: Rule;
1362
- //#endregion
1363
- //#region src/rules/a11y/unverified-id-ref.d.ts
1364
1129
  export declare const a11yUnverifiedIdRef: Rule;
1365
- //#endregion
1366
- //#region src/rules/index.d.ts
1367
1130
  export declare const allRules: Rule[];
1368
1131
  /** One configurable option of a rule, flattened for `svelte-vitals explain`'s output. */
1369
1132
  export interface RuleOptionInfo {
@@ -1393,8 +1156,6 @@ export interface RuleInfo {
1393
1156
  }
1394
1157
  /** Look up a rule's static metadata, as `svelte-vitals explain` renders it (issue #24). Rule ids are matched exactly (case-sensitive, e.g. "seo/ssr-disabled"). */
1395
1158
  export declare function explainRule(id: string): RuleInfo | undefined;
1396
- //#endregion
1397
- //#region src/reporter/palette.d.ts
1398
1159
  /** String decorators for the console reporter. Injected so core stays pure/dep-free. */
1399
1160
  interface Palette {
1400
1161
  bold: (s: string) => string;
@@ -1408,8 +1169,6 @@ interface Palette {
1408
1169
  export declare const noColorPalette: Palette;
1409
1170
  /** Green ≥ 90, yellow ≥ 70, red otherwise — for a 0–100 score. */
1410
1171
  export declare function scoreColor(p: Palette, score: number): (s: string) => string;
1411
- //#endregion
1412
- //#region src/reporter/console.d.ts
1413
1172
  interface ConsoleReportOptions {
1414
1173
  byRoute?: boolean;
1415
1174
  /** Mode label shown in the header (default 'static mode'). */
@@ -1427,8 +1186,6 @@ interface ConsoleReportOptions {
1427
1186
  * set, adds a per-route score tree.
1428
1187
  */
1429
1188
  export declare function formatConsoleReport(results: Result[], config: Config, options?: ConsoleReportOptions): string;
1430
- //#endregion
1431
- //#region src/reporter/sanitize.d.ts
1432
1189
  /**
1433
1190
  * Strip ANSI/OSC escape sequences and C0/C1 control characters (except `\n`/`\t`) from a
1434
1191
  * string before it reaches a terminal. POSIX file/route names can contain almost any
@@ -1448,18 +1205,12 @@ export declare function formatConsoleReport(results: Result[], config: Config, o
1448
1205
  * concrete non-CSI/OSC sequence turns out to matter.
1449
1206
  */
1450
1207
  export declare function terminalSafe(text: string): string;
1451
- //#endregion
1452
- //#region src/reporter/agent.d.ts
1453
1208
  /** Render failing findings as an agent-actionable Markdown remediation document (issue #18). */
1454
1209
  export declare function formatAgentReport(results: Result[], config: Config): string;
1455
- //#endregion
1456
- //#region src/reporter/sarif.d.ts
1457
1210
  /** Render penalized findings as a SARIF 2.1.0 log string (issue #18, design slice 5). */
1458
1211
  export declare function formatSarifReport(results: Result[], config: Config, meta: {
1459
1212
  version: string;
1460
1213
  }): string;
1461
- //#endregion
1462
- //#region src/reporter/app-shell.d.ts
1463
1214
  export declare function escapeHtml(s: string): string;
1464
1215
  /**
1465
1216
  * Return the URL only when it uses a safe http/https scheme, else null.
@@ -1512,5 +1263,4 @@ export declare function formatHtmlReport(results: Result[], config: Config, meta
1512
1263
  version: string;
1513
1264
  coreVersion?: string;
1514
1265
  }): string;
1515
- //#endregion
1516
1266
  export { type A11yOccurrenceInfo, type A11ySkipCause, ANCESTRY_DEPENDENT_TAGS, ASIDE_DEMOTING_TAGS, type AppSnapshot, type BranchStep, type Classification, type CompiledOverride, type ComponentFacts, type ConsoleReportOptions, type DirectiveIndex, type EachBlockFact, type EffectFact, type FailedRule, type HeadTag, type HeadingInfo, type HealthResult, IDREF_ATTRS, type ImageInfo, type KitAlias, type KitModuleFacts, type LandmarkInput, NAMING_ATTRS, type OrphanEffectFact, type Palette, type Project, type ResolvedA11y, type ResolvedHead, type ResolvedHeadings, type ResolvedImages, type RouteBadge, type Rule, type RuleContext, type RuleOptionSpec, type RuleOptionsSpec, type Runtime, SEARCH_RESULT_RULES, SECTIONING_TAGS, type Scope, type ScoreOptions, type ScoreResult, type SourceSpan, type SuppressionDirective, type WorkspacePackage, buildJsonReport, classify, collectComponentFacts, compileOverrides, computeHealth, computeScore, decodeFragmentId, defaultConfig, defaultProject, docsUrlFor, effectiveSeverity, emptyComponentFacts, foldOccurrences, formatFailedRuleWarning, formatGithubReport, formatJsonReport, formatJsonReportChunks, formatMarkdownReport, hasFailureAtOrAbove, hasRel, isClassicScriptType, isPenalized, isPlainObject, isSvgSrc, isTopFragment, layoutNeverRenders, pageRendersOnlyWhenBuilding, resolveLandmark, resolveRuleOptions, routeNeverSsr, selectRules, settingSeverity, shouldSkipRangeCheck, skippedFileWarnings, splitTokens, stripTextDirective, summarize, validateRuleSetting, withFailedRulesOff, withIndexableOff, withReadLimit };