@svelte-vitals/core 0.54.5 → 0.54.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Q as formatGithubReport, Z as formatMarkdownReport, _t as RuleSettingObject, at as CATEGORIES, bt as TreatDynamicAs, ct as Detection, dt as Presence, et as Summary, gt as RuleSetting, ht as RuleOverride, it as summarize, lt as Fix, mt as RuleOptions, n as RuleEvidence, o as ScoreModel, ot as Category, pt as Result, rt as hasFailureAtOrAbove, st as Config, t as JsonReport, wt as defineConfig, xt as Value, yt as Severity } from "./json-
|
|
1
|
+
import { Q as formatGithubReport, Z as formatMarkdownReport, _t as RuleSettingObject, at as CATEGORIES, bt as TreatDynamicAs, ct as Detection, dt as Presence, et as Summary, gt as RuleSetting, ht as RuleOverride, it as summarize, lt as Fix, mt as RuleOptions, n as RuleEvidence, o as ScoreModel, ot as Category, pt as Result, rt as hasFailureAtOrAbove, st as Config, t as JsonReport, wt as defineConfig, xt as Value, yt as Severity } from "./json-C2_agGeh.js";
|
|
2
2
|
export { CATEGORIES, type Category, type Config, type Detection, type Fix, type JsonReport, type Presence, type Result, type RuleEvidence, type RuleOptions, type RuleOverride, type RuleSetting, type RuleSettingObject, type ScoreModel, type Severity, type Summary, type TreatDynamicAs, type Value, defineConfig, formatGithubReport, formatMarkdownReport, hasFailureAtOrAbove, summarize };
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Dr as defineConfig, br as hasFailureAtOrAbove, c as formatGithubReport, t as formatMarkdownReport, wr as CATEGORIES, xr as summarize } from "./markdown-
|
|
1
|
+
import { Dr as defineConfig, br as hasFailureAtOrAbove, c as formatGithubReport, t as formatMarkdownReport, wr as CATEGORIES, xr as summarize } from "./markdown-DJLlGb28.js";
|
|
2
2
|
export { CATEGORIES, defineConfig, formatGithubReport, formatMarkdownReport, hasFailureAtOrAbove, summarize };
|
package/dist/internal.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as Classification, A as ANCESTRY_DEPENDENT_TAGS, At as SuppressionDirective, B as isTopFragment, C as formatFailedRuleWarning, Ct as defaultProject, D as KitModuleFacts, Dt as EffectFact, E as withFailedRulesOff, Et as EachBlockFact, F as NAMING_ATTRS, G as ResolvedHeadings, H as splitTokens, I as ResolvedA11y, J as HeadTag, K as ImageInfo, L as SECTIONING_TAGS, M as BranchStep, Mt as
|
|
1
|
+
import { $ as Classification, A as ANCESTRY_DEPENDENT_TAGS, At as SuppressionDirective, B as isTopFragment, C as formatFailedRuleWarning, Ct as defaultProject, D as KitModuleFacts, Dt as EffectFact, E as withFailedRulesOff, Et as EachBlockFact, F as NAMING_ATTRS, Ft as withReadLimit, G as ResolvedHeadings, H as splitTokens, I as ResolvedA11y, J as HeadTag, K as ImageInfo, L as SECTIONING_TAGS, M as BranchStep, Mt as emptyComponentFacts, N as IDREF_ATTRS, Nt as skippedFileWarnings, O as A11yOccurrenceInfo, Ot as OrphanEffectFact, P as LandmarkInput, Pt as Runtime, Q as formatGithubReport, R as decodeFragmentId, S as compileOverrides, St as defaultConfig, T as settingSeverity, Tt as ComponentFacts, U as stripTextDirective, V as resolveLandmark, W as HeadingInfo, X as isClassicScriptType, Y as ResolvedHead, Z as formatMarkdownReport, _ as isPlainObject, a as HealthResult, b as validateRuleSetting, c as ScoreResult, d as Rule, f as RuleContext, ft as Project, g as RuleOptionsSpec, h as RuleOptionSpec, i as formatJsonReport, it as summarize, j as ASIDE_DEMOTING_TAGS, jt as collectComponentFacts, k as A11ySkipCause, kt as SourceSpan, l as computeHealth, lt as Fix, m as isPenalized, nt as effectiveSeverity, ot as Category, p as docsUrlFor, pt as Result, q as ResolvedImages, r as buildJsonReport, rt as hasFailureAtOrAbove, s as ScoreOptions, st as Config, t as JsonReport, tt as classify, u as computeScore, ut as KitAlias, v as resolveRuleOptions, vt as Scope, w as selectRules, x as CompiledOverride, xt as Value, y as shouldSkipRangeCheck, yt as Severity, z as foldOccurrences } from "./json-C2_agGeh.js";
|
|
2
2
|
import { AST } from "svelte/compiler";
|
|
3
3
|
//#region src/component-parse.d.ts
|
|
4
4
|
/** What the per-file parsers produce — `ComponentFacts` minus `file`, with `suppressions` always present. */
|
|
@@ -10,7 +10,7 @@ type ParsedFacts = Omit<ComponentFacts, 'file' | 'suppressions'> & {
|
|
|
10
10
|
* reactivity/correctness + security + architecture facts, or a `.svelte.ts`/`.svelte.js`
|
|
11
11
|
* runes module's orphan-$effect facts (correctness/orphan-effect).
|
|
12
12
|
*/
|
|
13
|
-
declare function parseComponentFacts(source: string, filename: string): ParsedFacts;
|
|
13
|
+
export declare function parseComponentFacts(source: string, filename: string): ParsedFacts;
|
|
14
14
|
//#endregion
|
|
15
15
|
//#region src/module-ast.d.ts
|
|
16
16
|
/**
|
|
@@ -19,7 +19,7 @@ declare function parseComponentFacts(source: string, filename: string): ParsedFa
|
|
|
19
19
|
* directive must be the entire content of its line; the suppressed line is directive-line + 1.
|
|
20
20
|
* Shared with the Kit-module parser (the security kit-module rules).
|
|
21
21
|
*/
|
|
22
|
-
declare function collectSuppressions(source: string): SuppressionDirective[];
|
|
22
|
+
export declare function collectSuppressions(source: string): SuppressionDirective[];
|
|
23
23
|
//#endregion
|
|
24
24
|
//#region src/inline-directives.d.ts
|
|
25
25
|
/** File-relative-path → the inline directives collected from that file. */
|
|
@@ -29,7 +29,7 @@ type DirectiveIndex = ReadonlyMap<string, readonly SuppressionDirective[]>;
|
|
|
29
29
|
* config when its minify flag was read. The one home for the union both pipelines apply, so a new
|
|
30
30
|
* fact family that carries suppressions is wired into inline directives in a single place.
|
|
31
31
|
*/
|
|
32
|
-
declare function addFactsDirectives(index: Map<string, readonly SuppressionDirective[]>, facts: {
|
|
32
|
+
export declare function addFactsDirectives(index: Map<string, readonly SuppressionDirective[]>, facts: {
|
|
33
33
|
components?: readonly ComponentFacts[];
|
|
34
34
|
kitModules?: readonly KitModuleFacts[];
|
|
35
35
|
viteMinifyDisabled?: Project['viteMinifyDisabled'];
|
|
@@ -42,7 +42,7 @@ declare function addFactsDirectives(index: Map<string, readonly SuppressionDirec
|
|
|
42
42
|
* Compared against every registered rule, not the selected ones: disabling a rule in config must
|
|
43
43
|
* not turn its directives into errors.
|
|
44
44
|
*/
|
|
45
|
-
declare function unknownDirectiveIds(index: DirectiveIndex, rules: readonly Rule[]): string[];
|
|
45
|
+
export declare function unknownDirectiveIds(index: DirectiveIndex, rules: readonly Rule[]): string[];
|
|
46
46
|
//#endregion
|
|
47
47
|
//#region src/source-files.d.ts
|
|
48
48
|
/**
|
|
@@ -58,7 +58,7 @@ declare function unknownDirectiveIds(index: DirectiveIndex, rules: readonly Rule
|
|
|
58
58
|
* at any depth does not appear among these paths' ancestor prefixes and so does not exist as far as
|
|
59
59
|
* those rules are concerned, and dot directories never appear at all (see `Runtime.glob`).
|
|
60
60
|
*/
|
|
61
|
-
declare function collectSourceFiles(rt: Runtime, cwd: string): Promise<string[]>;
|
|
61
|
+
export declare function collectSourceFiles(rt: Runtime, cwd: string): Promise<string[]>;
|
|
62
62
|
//#endregion
|
|
63
63
|
//#region src/kit-module-parse.d.ts
|
|
64
64
|
/**
|
|
@@ -83,7 +83,7 @@ declare function collectSourceFiles(rt: Runtime, cwd: string): Promise<string[]>
|
|
|
83
83
|
* mapping here too, rather than duplicating it. This is the single site for every
|
|
84
84
|
* repo-local specifier resolution in the repo.
|
|
85
85
|
*/
|
|
86
|
-
declare function resolveRepoLocalPath(spec: string, importerFile: string, aliases?: readonly KitAlias[]): string | undefined;
|
|
86
|
+
export declare function resolveRepoLocalPath(spec: string, importerFile: string, aliases?: readonly KitAlias[]): string | undefined;
|
|
87
87
|
//#endregion
|
|
88
88
|
//#region src/kit-module-collect.d.ts
|
|
89
89
|
/**
|
|
@@ -96,7 +96,7 @@ declare function resolveRepoLocalPath(spec: string, importerFile: string, aliase
|
|
|
96
96
|
* `aliases` is the project's compiled alias list (`Project.kitAliases`); omitted,
|
|
97
97
|
* specifiers resolve through `$lib` → `src/lib` only.
|
|
98
98
|
*/
|
|
99
|
-
declare function collectKitModuleFacts(rt: Runtime, cwd: string, aliases?: readonly KitAlias[]): Promise<KitModuleFacts[]>;
|
|
99
|
+
export declare function collectKitModuleFacts(rt: Runtime, cwd: string, aliases?: readonly KitAlias[]): Promise<KitModuleFacts[]>;
|
|
100
100
|
//#endregion
|
|
101
101
|
//#region src/vite-config-parse.d.ts
|
|
102
102
|
/**
|
|
@@ -104,7 +104,7 @@ declare function collectKitModuleFacts(rt: Runtime, cwd: string, aliases?: reado
|
|
|
104
104
|
* `minify` property's 1-based line in the ORIGINAL source. Undefined for clean,
|
|
105
105
|
* dynamic, or unparsable configs (never throws).
|
|
106
106
|
*/
|
|
107
|
-
declare function findMinifyDisabled(source: string): {
|
|
107
|
+
export declare function findMinifyDisabled(source: string): {
|
|
108
108
|
line: number;
|
|
109
109
|
} | undefined;
|
|
110
110
|
//#endregion
|
|
@@ -117,7 +117,7 @@ declare function findMinifyDisabled(source: string): {
|
|
|
117
117
|
* a plugin config is deliberately not done — that costs reach, not correctness, and such a
|
|
118
118
|
* project keeps the resolver's default `$lib` behaviour. Undefined means "no config was read".
|
|
119
119
|
*/
|
|
120
|
-
declare function resolveKitAliases(viteConfig: {
|
|
120
|
+
export declare function resolveKitAliases(viteConfig: {
|
|
121
121
|
source: string;
|
|
122
122
|
} | undefined, svelteConfig: {
|
|
123
123
|
source: string;
|
|
@@ -127,7 +127,7 @@ declare function resolveKitAliases(viteConfig: {
|
|
|
127
127
|
* plugin config when it carries one, otherwise `svelte.config`. `file` is the config the base
|
|
128
128
|
* came from (as passed in by the caller). Undefined means "no base path" — the gate stays shut.
|
|
129
129
|
*/
|
|
130
|
-
declare function resolveKitPathsBase(viteConfig: {
|
|
130
|
+
export declare function resolveKitPathsBase(viteConfig: {
|
|
131
131
|
file: string;
|
|
132
132
|
source: string;
|
|
133
133
|
} | undefined, svelteConfig: {
|
|
@@ -151,7 +151,7 @@ declare function resolveKitPathsBase(viteConfig: {
|
|
|
151
151
|
* the text scan's imprecision cannot reach it. A file that does not parse is already a hard failure,
|
|
152
152
|
* which the retry can only improve on.
|
|
153
153
|
*/
|
|
154
|
-
declare function parseSvelte(source: string, filename: string): AST.Root;
|
|
154
|
+
export declare function parseSvelte(source: string, filename: string): AST.Root;
|
|
155
155
|
/** A template fragment's child node relevant to value classification: literal text or a `{expr}`. */
|
|
156
156
|
type TextOrExpr = AST.Text | AST.ExpressionTag;
|
|
157
157
|
/**
|
|
@@ -159,15 +159,15 @@ type TextOrExpr = AST.Text | AST.ExpressionTag;
|
|
|
159
159
|
* Covers if/each/await blocks (pending/then/catch/fallback) as well as
|
|
160
160
|
* the standard fragment, nodes, consequent, alternate, and body keys.
|
|
161
161
|
*/
|
|
162
|
-
declare const CHILD_NODE_KEYS: string[];
|
|
163
|
-
declare function valueFromNodes(nodes: TextOrExpr[]): Value;
|
|
162
|
+
export declare const CHILD_NODE_KEYS: string[];
|
|
163
|
+
export declare function valueFromNodes(nodes: TextOrExpr[]): Value;
|
|
164
164
|
/** The literal text of a node list when fully static (no ExpressionTag), else undefined. */
|
|
165
|
-
declare function textFromNodes(nodes: TextOrExpr[]): string | undefined;
|
|
165
|
+
export declare function textFromNodes(nodes: TextOrExpr[]): string | undefined;
|
|
166
166
|
/** Static string of an attribute (e.g. name="description"), or undefined if dynamic/absent. */
|
|
167
|
-
declare function attrText(attributes: AST.Attribute[], name: string): string | undefined;
|
|
167
|
+
export declare function attrText(attributes: AST.Attribute[], name: string): string | undefined;
|
|
168
168
|
/** Value kind of an attribute's content (e.g. the `content` of a <meta>). */
|
|
169
|
-
declare function attrValue(attributes: AST.Attribute[], name: string): Value;
|
|
170
|
-
declare function lineOf(source: string, offset: unknown): number;
|
|
169
|
+
export declare function attrValue(attributes: AST.Attribute[], name: string): Value;
|
|
170
|
+
export declare function lineOf(source: string, offset: unknown): number;
|
|
171
171
|
/**
|
|
172
172
|
* An element's attribute by name, matched **case-insensitively**: HTML attribute names are, so
|
|
173
173
|
* `ARIA-LABEL` and `Type` are the same attributes as `aria-label` and `type` once the document is
|
|
@@ -177,11 +177,11 @@ declare function lineOf(source: string, offset: unknown): number;
|
|
|
177
177
|
* (`<Foo titleTemplate>` is not `<Foo titletemplate>`) and are read through the adapters' own
|
|
178
178
|
* lookup, which must stay exact.
|
|
179
179
|
*/
|
|
180
|
-
declare function findAttr(attributes: AST.Attribute[], name: string): AST.Attribute | undefined;
|
|
180
|
+
export declare function findAttr(attributes: AST.Attribute[], name: string): AST.Attribute | undefined;
|
|
181
181
|
/** Value kind of a single attribute (e.g. a component prop). */
|
|
182
|
-
declare function attrValueOf(attr: AST.Attribute): Value;
|
|
182
|
+
export declare function attrValueOf(attr: AST.Attribute): Value;
|
|
183
183
|
/** Literal static text of a single attribute node (e.g. a component prop), or undefined if dynamic/absent. */
|
|
184
|
-
declare function attrTextOf(attr: AST.Attribute): string | undefined;
|
|
184
|
+
export declare function attrTextOf(attr: AST.Attribute): string | undefined;
|
|
185
185
|
//#endregion
|
|
186
186
|
//#region src/project-paths.d.ts
|
|
187
187
|
/**
|
|
@@ -190,13 +190,13 @@ declare function attrTextOf(attr: AST.Attribute): string | undefined;
|
|
|
190
190
|
* module is pure data: no I/O, no `node:` imports (design §8).
|
|
191
191
|
*/
|
|
192
192
|
/** Locations that satisfy the robots.txt project rule (seo/robots-txt). */
|
|
193
|
-
declare const ROBOTS_SOURCE_PATHS: readonly ["static/robots.txt", "src/routes/robots.txt/+server.ts", "src/routes/robots.txt/+server.js"];
|
|
193
|
+
export declare const ROBOTS_SOURCE_PATHS: readonly ["static/robots.txt", "src/routes/robots.txt/+server.ts", "src/routes/robots.txt/+server.js"];
|
|
194
194
|
/** Locations that satisfy the sitemap.xml project rule (seo/sitemap-xml). */
|
|
195
|
-
declare const SITEMAP_SOURCE_PATHS: readonly ["static/sitemap.xml", "src/routes/sitemap.xml/+server.ts", "src/routes/sitemap.xml/+server.js"];
|
|
195
|
+
export declare const SITEMAP_SOURCE_PATHS: readonly ["static/sitemap.xml", "src/routes/sitemap.xml/+server.ts", "src/routes/sitemap.xml/+server.js"];
|
|
196
196
|
/** Vite's own config resolution order — only the first existing file is the one Vite loads. */
|
|
197
|
-
declare const VITE_CONFIG_FILES: readonly ["vite.config.js", "vite.config.mjs", "vite.config.ts", "vite.config.cjs", "vite.config.mts", "vite.config.cts"];
|
|
197
|
+
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"];
|
|
198
198
|
/** SvelteKit's config resolution order (`@sveltejs/kit` checks js before ts). */
|
|
199
|
-
declare const SVELTE_CONFIG_FILES: readonly ["svelte.config.js", "svelte.config.ts"];
|
|
199
|
+
export declare const SVELTE_CONFIG_FILES: readonly ["svelte.config.js", "svelte.config.ts"];
|
|
200
200
|
//#endregion
|
|
201
201
|
//#region src/engine.d.ts
|
|
202
202
|
interface FailedRule {
|
|
@@ -210,7 +210,7 @@ interface FailedRule {
|
|
|
210
210
|
* no results instead of taking the whole run down with it — dev tooling must
|
|
211
211
|
* never throw — and is reported in `failedRules` instead.
|
|
212
212
|
*/
|
|
213
|
-
declare function runRules(rules: Rule[], ctx: RuleContext): Promise<{
|
|
213
|
+
export declare function runRules(rules: Rule[], ctx: RuleContext): Promise<{
|
|
214
214
|
results: Result[];
|
|
215
215
|
examined: Record<string, Record<string, number>>;
|
|
216
216
|
failedRules: FailedRule[];
|
|
@@ -223,7 +223,7 @@ declare function runRules(rules: Rule[], ctx: RuleContext): Promise<{
|
|
|
223
223
|
* A caller with no directive sources passes an empty index, which makes the directive pass
|
|
224
224
|
* identity; the severity and override passes are config-governed and run regardless.
|
|
225
225
|
*/
|
|
226
|
-
declare function runAnalysis(rules: Rule[], ctx: RuleContext, directives: DirectiveIndex): Promise<{
|
|
226
|
+
export declare function runAnalysis(rules: Rule[], ctx: RuleContext, directives: DirectiveIndex): Promise<{
|
|
227
227
|
results: Result[];
|
|
228
228
|
examined: Record<string, Record<string, number>>;
|
|
229
229
|
failedRules: FailedRule[];
|
|
@@ -237,46 +237,46 @@ declare function runAnalysis(rules: Rule[], ctx: RuleContext, directives: Direct
|
|
|
237
237
|
* A dynamic title (`{data.title}`) is the most common correct pattern and must
|
|
238
238
|
* never be flagged as missing; it surfaces as value 'dynamic' (design §4).
|
|
239
239
|
*/
|
|
240
|
-
declare const seoTitlePresence: Rule;
|
|
240
|
+
export declare const seoTitlePresence: Rule;
|
|
241
241
|
//#endregion
|
|
242
242
|
//#region src/rules/seo/description-presence.d.ts
|
|
243
|
-
declare const seoDescriptionPresence: Rule;
|
|
243
|
+
export declare const seoDescriptionPresence: Rule;
|
|
244
244
|
//#endregion
|
|
245
245
|
//#region src/rules/seo/canonical-url.d.ts
|
|
246
|
-
declare const seoCanonicalUrl: Rule;
|
|
246
|
+
export declare const seoCanonicalUrl: Rule;
|
|
247
247
|
//#endregion
|
|
248
248
|
//#region src/rules/seo/og-image.d.ts
|
|
249
|
-
declare const seoOgImage: Rule;
|
|
249
|
+
export declare const seoOgImage: Rule;
|
|
250
250
|
//#endregion
|
|
251
251
|
//#region src/rules/seo/og-title.d.ts
|
|
252
|
-
declare const seoOgTitle: Rule;
|
|
252
|
+
export declare const seoOgTitle: Rule;
|
|
253
253
|
//#endregion
|
|
254
254
|
//#region src/rules/seo/json-ld.d.ts
|
|
255
|
-
declare const seoJsonLd: Rule;
|
|
255
|
+
export declare const seoJsonLd: Rule;
|
|
256
256
|
//#endregion
|
|
257
257
|
//#region src/rules/seo/robots-txt.d.ts
|
|
258
|
-
declare const seoRobotsTxt: Rule;
|
|
258
|
+
export declare const seoRobotsTxt: Rule;
|
|
259
259
|
//#endregion
|
|
260
260
|
//#region src/rules/seo/sitemap-xml.d.ts
|
|
261
|
-
declare const seoSitemapXml: Rule;
|
|
261
|
+
export declare const seoSitemapXml: Rule;
|
|
262
262
|
//#endregion
|
|
263
263
|
//#region src/rules/seo/html-lang.d.ts
|
|
264
|
-
declare const seoHtmlLang: Rule;
|
|
264
|
+
export declare const seoHtmlLang: Rule;
|
|
265
265
|
//#endregion
|
|
266
266
|
//#region src/rules/perf/image-dimensions.d.ts
|
|
267
|
-
declare const performanceImageDimensions: Rule;
|
|
267
|
+
export declare const performanceImageDimensions: Rule;
|
|
268
268
|
//#endregion
|
|
269
269
|
//#region src/rules/perf/image-loading-hint.d.ts
|
|
270
|
-
declare const performanceImageLoadingHint: Rule;
|
|
270
|
+
export declare const performanceImageLoadingHint: Rule;
|
|
271
271
|
//#endregion
|
|
272
272
|
//#region src/rules/perf/responsive-image.d.ts
|
|
273
|
-
declare const performanceResponsiveImage: Rule;
|
|
273
|
+
export declare const performanceResponsiveImage: Rule;
|
|
274
274
|
//#endregion
|
|
275
275
|
//#region src/rules/perf/preload-missing-as.d.ts
|
|
276
|
-
declare const performancePreloadMissingAs: Rule;
|
|
276
|
+
export declare const performancePreloadMissingAs: Rule;
|
|
277
277
|
//#endregion
|
|
278
278
|
//#region src/rules/perf/font-preload-crossorigin.d.ts
|
|
279
|
-
declare const performanceFontPreloadCrossorigin: Rule;
|
|
279
|
+
export declare const performanceFontPreloadCrossorigin: Rule;
|
|
280
280
|
//#endregion
|
|
281
281
|
//#region src/rules/perf/lcp-image.d.ts
|
|
282
282
|
/**
|
|
@@ -285,7 +285,7 @@ declare const performanceFontPreloadCrossorigin: Rule;
|
|
|
285
285
|
* order for the route; if that image is loading="lazy", flag it. Runs in both
|
|
286
286
|
* static (CLI) and rendered (vite) mode, since both providers collect <img>.
|
|
287
287
|
*/
|
|
288
|
-
declare const performanceLcpImage: Rule;
|
|
288
|
+
export declare const performanceLcpImage: Rule;
|
|
289
289
|
//#endregion
|
|
290
290
|
//#region src/rules/perf/render-blocking-script.d.ts
|
|
291
291
|
/**
|
|
@@ -295,7 +295,7 @@ declare const performanceLcpImage: Rule;
|
|
|
295
295
|
* (rendered mode) or in <svelte:head> (static mode). A head with no <script>
|
|
296
296
|
* emits nothing (no signal), like the image rules.
|
|
297
297
|
*/
|
|
298
|
-
declare const performanceRenderBlockingScript: Rule;
|
|
298
|
+
export declare const performanceRenderBlockingScript: Rule;
|
|
299
299
|
//#endregion
|
|
300
300
|
//#region src/rules/perf/preconnect.d.ts
|
|
301
301
|
/**
|
|
@@ -304,49 +304,49 @@ declare const performanceRenderBlockingScript: Rule;
|
|
|
304
304
|
* connection-setup round-trip. Opt-in by construction: only origins in the
|
|
305
305
|
* allowlist are checked; routes referencing none emit nothing.
|
|
306
306
|
*/
|
|
307
|
-
declare const performancePreconnect: Rule;
|
|
307
|
+
export declare const performancePreconnect: Rule;
|
|
308
308
|
//#endregion
|
|
309
309
|
//#region src/rules/seo/indexability.d.ts
|
|
310
|
-
declare const seoIndexability: Rule;
|
|
310
|
+
export declare const seoIndexability: Rule;
|
|
311
311
|
//#endregion
|
|
312
312
|
//#region src/rules/seo/twitter-card.d.ts
|
|
313
|
-
declare const seoTwitterCard: Rule;
|
|
313
|
+
export declare const seoTwitterCard: Rule;
|
|
314
314
|
//#endregion
|
|
315
315
|
//#region src/rules/seo/og-description.d.ts
|
|
316
|
-
declare const seoOgDescription: Rule;
|
|
316
|
+
export declare const seoOgDescription: Rule;
|
|
317
317
|
//#endregion
|
|
318
318
|
//#region src/rules/seo/og-url.d.ts
|
|
319
|
-
declare const seoOgUrl: Rule;
|
|
319
|
+
export declare const seoOgUrl: Rule;
|
|
320
320
|
//#endregion
|
|
321
321
|
//#region src/rules/seo/viewport.d.ts
|
|
322
|
-
declare const seoViewport: Rule;
|
|
322
|
+
export declare const seoViewport: Rule;
|
|
323
323
|
//#endregion
|
|
324
324
|
//#region src/rules/seo/sitemap-in-robots.d.ts
|
|
325
|
-
declare const seoSitemapInRobots: Rule;
|
|
325
|
+
export declare const seoSitemapInRobots: Rule;
|
|
326
326
|
//#endregion
|
|
327
327
|
//#region src/rules/seo/json-ld-validity.d.ts
|
|
328
|
-
declare const seoJsonLdValidity: Rule;
|
|
328
|
+
export declare const seoJsonLdValidity: Rule;
|
|
329
329
|
//#endregion
|
|
330
330
|
//#region src/rules/seo/json-ld-deprecated-type.d.ts
|
|
331
|
-
declare const seoJsonLdDeprecatedType: Rule;
|
|
331
|
+
export declare const seoJsonLdDeprecatedType: Rule;
|
|
332
332
|
//#endregion
|
|
333
333
|
//#region src/rules/seo/json-ld-relative-url.d.ts
|
|
334
|
-
declare const seoJsonLdRelativeUrl: Rule;
|
|
334
|
+
export declare const seoJsonLdRelativeUrl: Rule;
|
|
335
335
|
//#endregion
|
|
336
336
|
//#region src/rules/seo/json-ld-date-format.d.ts
|
|
337
|
-
declare const seoJsonLdDateFormat: Rule;
|
|
337
|
+
export declare const seoJsonLdDateFormat: Rule;
|
|
338
338
|
//#endregion
|
|
339
339
|
//#region src/rules/seo/json-ld-placeholder.d.ts
|
|
340
|
-
declare const seoJsonLdPlaceholder: Rule;
|
|
340
|
+
export declare const seoJsonLdPlaceholder: Rule;
|
|
341
341
|
//#endregion
|
|
342
342
|
//#region src/rules/seo/json-ld-required-props.d.ts
|
|
343
|
-
declare const seoJsonLdRequiredProps: Rule;
|
|
343
|
+
export declare const seoJsonLdRequiredProps: Rule;
|
|
344
344
|
//#endregion
|
|
345
345
|
//#region src/rules/seo/title-length.d.ts
|
|
346
|
-
declare const seoTitleLength: Rule;
|
|
346
|
+
export declare const seoTitleLength: Rule;
|
|
347
347
|
//#endregion
|
|
348
348
|
//#region src/rules/seo/description-length.d.ts
|
|
349
|
-
declare const seoDescriptionLength: Rule;
|
|
349
|
+
export declare const seoDescriptionLength: Rule;
|
|
350
350
|
//#endregion
|
|
351
351
|
//#region src/rules/seo/charset.d.ts
|
|
352
352
|
/**
|
|
@@ -354,7 +354,7 @@ declare const seoDescriptionLength: Rule;
|
|
|
354
354
|
* only visible to rendered analysis (`appliesTo: rendered`), exactly like seo/viewport
|
|
355
355
|
* (viewport). Static route analysis emits nothing instead of false-flagging it.
|
|
356
356
|
*/
|
|
357
|
-
declare const seoCharset: Rule;
|
|
357
|
+
export declare const seoCharset: Rule;
|
|
358
358
|
//#endregion
|
|
359
359
|
//#region src/rules/seo/image-alt.d.ts
|
|
360
360
|
/**
|
|
@@ -363,7 +363,7 @@ declare const seoCharset: Rule;
|
|
|
363
363
|
* Presence only: an explicit empty `alt=""` is a valid decorative-image signal and
|
|
364
364
|
* passes; a spread `{...rest}` may supply alt, so it is not flagged.
|
|
365
365
|
*/
|
|
366
|
-
declare const seoImageAlt: Rule;
|
|
366
|
+
export declare const seoImageAlt: Rule;
|
|
367
367
|
//#endregion
|
|
368
368
|
//#region src/rules/seo/hreflang.d.ts
|
|
369
369
|
/**
|
|
@@ -372,7 +372,7 @@ declare const seoImageAlt: Rule;
|
|
|
372
372
|
* flagged). When alternates exist, every code must be well-formed and a set of
|
|
373
373
|
* two or more must declare an x-default. Works in both modes.
|
|
374
374
|
*/
|
|
375
|
-
declare const seoHreflang: Rule;
|
|
375
|
+
export declare const seoHreflang: Rule;
|
|
376
376
|
//#endregion
|
|
377
377
|
//#region src/rules/seo/single-h1.d.ts
|
|
378
378
|
/**
|
|
@@ -387,13 +387,13 @@ declare const seoHreflang: Rule;
|
|
|
387
387
|
* global `rules: { 'seo/single-h1': <severity> }` override flattens both arms to one
|
|
388
388
|
* severity (design, `applyRuleSeverities`).
|
|
389
389
|
*/
|
|
390
|
-
declare const seoSingleH1: Rule;
|
|
390
|
+
export declare const seoSingleH1: Rule;
|
|
391
391
|
//#endregion
|
|
392
392
|
//#region src/rules/seo/duplicate-title.d.ts
|
|
393
|
-
declare const seoDuplicateTitle: Rule;
|
|
393
|
+
export declare const seoDuplicateTitle: Rule;
|
|
394
394
|
//#endregion
|
|
395
395
|
//#region src/rules/seo/duplicate-description.d.ts
|
|
396
|
-
declare const seoDuplicateDescription: Rule;
|
|
396
|
+
export declare const seoDuplicateDescription: Rule;
|
|
397
397
|
//#endregion
|
|
398
398
|
//#region src/rules/seo/heading-level-skip.d.ts
|
|
399
399
|
/**
|
|
@@ -402,25 +402,25 @@ declare const seoDuplicateDescription: Rule;
|
|
|
402
402
|
* h2 → h4) breaks the outline. The first heading has no predecessor (missing/multiple
|
|
403
403
|
* <h1> stays seo/single-h1's concern). A route with no headings emits nothing.
|
|
404
404
|
*/
|
|
405
|
-
declare const seoHeadingLevelSkip: Rule;
|
|
405
|
+
export declare const seoHeadingLevelSkip: Rule;
|
|
406
406
|
//#endregion
|
|
407
407
|
//#region src/rules/seo/ssr-disabled.d.ts
|
|
408
|
-
declare const seoSsrDisabled: Rule;
|
|
408
|
+
export declare const seoSsrDisabled: Rule;
|
|
409
409
|
//#endregion
|
|
410
410
|
//#region src/rules/correctness/each-key.d.ts
|
|
411
|
-
declare const correctnessEachKey: Rule;
|
|
411
|
+
export declare const correctnessEachKey: Rule;
|
|
412
412
|
//#endregion
|
|
413
413
|
//#region src/rules/correctness/each-index-key.d.ts
|
|
414
|
-
declare const correctnessEachIndexKey: Rule;
|
|
414
|
+
export declare const correctnessEachIndexKey: Rule;
|
|
415
415
|
//#endregion
|
|
416
416
|
//#region src/rules/correctness/effect-as-derived.d.ts
|
|
417
|
-
declare const correctnessEffectAsDerived: Rule;
|
|
417
|
+
export declare const correctnessEffectAsDerived: Rule;
|
|
418
418
|
//#endregion
|
|
419
419
|
//#region src/rules/correctness/effect-as-onmount.d.ts
|
|
420
|
-
declare const correctnessEffectAsOnMount: Rule;
|
|
420
|
+
export declare const correctnessEffectAsOnMount: Rule;
|
|
421
421
|
//#endregion
|
|
422
422
|
//#region src/rules/correctness/unmutated-state.d.ts
|
|
423
|
-
declare const correctnessUnmutatedState: Rule;
|
|
423
|
+
export declare const correctnessUnmutatedState: Rule;
|
|
424
424
|
//#endregion
|
|
425
425
|
//#region src/rules/correctness/prop-mutation.d.ts
|
|
426
426
|
/**
|
|
@@ -431,7 +431,7 @@ declare const correctnessUnmutatedState: Rule;
|
|
|
431
431
|
* reassignment. The two modes can't be mixed in one component, so a given finding is always
|
|
432
432
|
* exactly one or the other — see `legacy` on `ComponentFacts.mutatedProps` (component-parse.ts).
|
|
433
433
|
*/
|
|
434
|
-
declare const correctnessPropMutation: Rule;
|
|
434
|
+
export declare const correctnessPropMutation: Rule;
|
|
435
435
|
//#endregion
|
|
436
436
|
//#region src/rules/correctness/stale-prop-derivation.d.ts
|
|
437
437
|
/**
|
|
@@ -441,7 +441,7 @@ declare const correctnessPropMutation: Rule;
|
|
|
441
441
|
* be mixed in one component, so a given finding is always exactly one or the other — see
|
|
442
442
|
* `legacy` on `ComponentFacts.stalePropDerivations` (component-parse.ts).
|
|
443
443
|
*/
|
|
444
|
-
declare const correctnessStalePropDerivation: Rule;
|
|
444
|
+
export declare const correctnessStalePropDerivation: Rule;
|
|
445
445
|
//#endregion
|
|
446
446
|
//#region src/rules/correctness/nonreactive-builtin-state.d.ts
|
|
447
447
|
/**
|
|
@@ -451,7 +451,7 @@ declare const correctnessStalePropDerivation: Rule;
|
|
|
451
451
|
* the template: the UI silently stops updating. svelte/reactivity ships
|
|
452
452
|
* drop-in reactive equivalents for exactly this.
|
|
453
453
|
*/
|
|
454
|
-
declare const correctnessNonreactiveBuiltinState: Rule;
|
|
454
|
+
export declare const correctnessNonreactiveBuiltinState: Rule;
|
|
455
455
|
//#endregion
|
|
456
456
|
//#region src/rules/correctness/checkable-bind-value.d.ts
|
|
457
457
|
/**
|
|
@@ -462,7 +462,7 @@ declare const correctnessNonreactiveBuiltinState: Rule;
|
|
|
462
462
|
* bind:checked (single checkbox) / bind:group (checkbox list, radio group) are the correct
|
|
463
463
|
* bindings.
|
|
464
464
|
*/
|
|
465
|
-
declare const correctnessCheckableBindValue: Rule;
|
|
465
|
+
export declare const correctnessCheckableBindValue: Rule;
|
|
466
466
|
//#endregion
|
|
467
467
|
//#region src/rules/correctness/autoplay-muted.d.ts
|
|
468
468
|
/**
|
|
@@ -473,10 +473,10 @@ declare const correctnessCheckableBindValue: Rule;
|
|
|
473
473
|
* `bind:muted`, spread) passes — expression values are not evaluated, per issue #580's scope —
|
|
474
474
|
* and only a literal `autoplay` counts.
|
|
475
475
|
*/
|
|
476
|
-
declare const correctnessAutoplayMuted: Rule;
|
|
476
|
+
export declare const correctnessAutoplayMuted: Rule;
|
|
477
477
|
//#endregion
|
|
478
478
|
//#region src/rules/correctness/orphan-effect.d.ts
|
|
479
|
-
declare const correctnessOrphanEffect: Rule;
|
|
479
|
+
export declare const correctnessOrphanEffect: Rule;
|
|
480
480
|
//#endregion
|
|
481
481
|
//#region src/rules/correctness/orphan-lifecycle.d.ts
|
|
482
482
|
/**
|
|
@@ -485,7 +485,7 @@ declare const correctnessOrphanEffect: Rule;
|
|
|
485
485
|
* a module-scope-instantiated class, and Kit load/handler/`init` bodies. A custom check
|
|
486
486
|
* because the facts live on BOTH the component channel and the Kit-module channel.
|
|
487
487
|
*/
|
|
488
|
-
declare const correctnessOrphanLifecycle: Rule;
|
|
488
|
+
export declare const correctnessOrphanLifecycle: Rule;
|
|
489
489
|
//#endregion
|
|
490
490
|
//#region src/rules/correctness/base-path-navigation.d.ts
|
|
491
491
|
/**
|
|
@@ -494,7 +494,7 @@ declare const correctnessOrphanLifecycle: Rule;
|
|
|
494
494
|
* on BOTH the component channel (`<a href>`, `goto()`) and the Kit-module channel (`redirect()`).
|
|
495
495
|
* With no base path configured the rule emits nothing at all — the gate is the whole point.
|
|
496
496
|
*/
|
|
497
|
-
declare const correctnessBasePathNavigation: Rule;
|
|
497
|
+
export declare const correctnessBasePathNavigation: Rule;
|
|
498
498
|
//#endregion
|
|
499
499
|
//#region src/rules/correctness/server-browser-global.d.ts
|
|
500
500
|
/**
|
|
@@ -504,31 +504,31 @@ declare const correctnessBasePathNavigation: Rule;
|
|
|
504
504
|
* exist — SSR crashes with a ReferenceError. Instance-script reads are correctness/instance-browser-global's
|
|
505
505
|
* (warning) territory. A custom check because the facts live on both channels.
|
|
506
506
|
*/
|
|
507
|
-
declare const correctnessServerBrowserGlobal: Rule;
|
|
507
|
+
export declare const correctnessServerBrowserGlobal: Rule;
|
|
508
508
|
//#endregion
|
|
509
509
|
//#region src/rules/correctness/instance-browser-global.d.ts
|
|
510
|
-
declare const correctnessInstanceBrowserGlobal: Rule;
|
|
510
|
+
export declare const correctnessInstanceBrowserGlobal: Rule;
|
|
511
511
|
//#endregion
|
|
512
512
|
//#region src/rules/security/raw-html.d.ts
|
|
513
|
-
declare const securityRawHtml: Rule;
|
|
513
|
+
export declare const securityRawHtml: Rule;
|
|
514
514
|
//#endregion
|
|
515
515
|
//#region src/rules/security/javascript-url.d.ts
|
|
516
|
-
declare const securityJavascriptUrl: Rule;
|
|
516
|
+
export declare const securityJavascriptUrl: Rule;
|
|
517
517
|
//#endregion
|
|
518
518
|
//#region src/rules/security/handler-state-write.d.ts
|
|
519
|
-
declare const securityHandlerStateWrite: Rule;
|
|
519
|
+
export declare const securityHandlerStateWrite: Rule;
|
|
520
520
|
//#endregion
|
|
521
521
|
//#region src/rules/security/server-module-state.d.ts
|
|
522
|
-
declare const securityServerModuleState: Rule;
|
|
522
|
+
export declare const securityServerModuleState: Rule;
|
|
523
523
|
//#endregion
|
|
524
524
|
//#region src/rules/security/shared-state-import.d.ts
|
|
525
|
-
declare const securitySharedStateImport: Rule;
|
|
525
|
+
export declare const securitySharedStateImport: Rule;
|
|
526
526
|
//#endregion
|
|
527
527
|
//#region src/rules/architecture/component-size.d.ts
|
|
528
|
-
declare const architectureComponentSize: Rule;
|
|
528
|
+
export declare const architectureComponentSize: Rule;
|
|
529
529
|
//#endregion
|
|
530
530
|
//#region src/rules/architecture/prop-count.d.ts
|
|
531
|
-
declare const architecturePropCount: Rule;
|
|
531
|
+
export declare const architecturePropCount: Rule;
|
|
532
532
|
//#endregion
|
|
533
533
|
//#region src/rules/architecture/private-scope-import.d.ts
|
|
534
534
|
/**
|
|
@@ -539,7 +539,7 @@ declare const architecturePropCount: Rule;
|
|
|
539
539
|
* Findings are reported at the import site, not at the imported unit: `--diff` filters
|
|
540
540
|
* results to the files that changed, and the author of the violation edited the importer.
|
|
541
541
|
*/
|
|
542
|
-
declare const architecturePrivateScopeImport: Rule;
|
|
542
|
+
export declare const architecturePrivateScopeImport: Rule;
|
|
543
543
|
//#endregion
|
|
544
544
|
//#region src/rules/architecture/unit-entry-file.d.ts
|
|
545
545
|
/**
|
|
@@ -551,7 +551,7 @@ declare const architecturePrivateScopeImport: Rule;
|
|
|
551
551
|
* subdirectories is checked too. Violations report at a file inside the directory rather than at
|
|
552
552
|
* the directory, because `filterToChangedFiles` keeps only locations git lists as changed.
|
|
553
553
|
*/
|
|
554
|
-
declare const architectureUnitEntryFile: Rule;
|
|
554
|
+
export declare const architectureUnitEntryFile: Rule;
|
|
555
555
|
//#endregion
|
|
556
556
|
//#region src/rules/architecture/directory-naming.d.ts
|
|
557
557
|
/**
|
|
@@ -568,7 +568,7 @@ declare const architectureUnitEntryFile: Rule;
|
|
|
568
568
|
* `computeScore` seeds every distinct `route` at 100 and averages: a pass per directory would add
|
|
569
569
|
* hundreds of 100s from one `'src/routes/**'` declaration and dilute every real finding.
|
|
570
570
|
*/
|
|
571
|
-
declare const architectureDirectoryNaming: Rule;
|
|
571
|
+
export declare const architectureDirectoryNaming: Rule;
|
|
572
572
|
//#endregion
|
|
573
573
|
//#region src/rules/architecture/reserved-directory-names.d.ts
|
|
574
574
|
/**
|
|
@@ -591,7 +591,7 @@ declare const architectureDirectoryNaming: Rule;
|
|
|
591
591
|
* subject here is a directory with no pre-existing score key, so a pass per directory would add
|
|
592
592
|
* hundreds of 100s from one broad declaration and dilute every real finding.
|
|
593
593
|
*/
|
|
594
|
-
declare const architectureReservedDirectoryNames: Rule;
|
|
594
|
+
export declare const architectureReservedDirectoryNames: Rule;
|
|
595
595
|
//#endregion
|
|
596
596
|
//#region src/rules/architecture/reserved-name-placement.d.ts
|
|
597
597
|
/**
|
|
@@ -610,19 +610,19 @@ declare const architectureReservedDirectoryNames: Rule;
|
|
|
610
610
|
* There are no pass results, for the reason the sibling records: `computeScore` seeds every distinct
|
|
611
611
|
* `route` at 100 and averages, and a directory has no pre-existing score key.
|
|
612
612
|
*/
|
|
613
|
-
declare const architectureReservedNamePlacement: Rule;
|
|
613
|
+
export declare const architectureReservedNamePlacement: Rule;
|
|
614
614
|
//#endregion
|
|
615
615
|
//#region src/rules/architecture/route-component-import.d.ts
|
|
616
|
-
declare const architectureRouteComponentImport: Rule;
|
|
616
|
+
export declare const architectureRouteComponentImport: Rule;
|
|
617
617
|
//#endregion
|
|
618
618
|
//#region src/rules/architecture/doc-link-target.d.ts
|
|
619
|
-
declare const architectureDocLinkTarget: Rule;
|
|
619
|
+
export declare const architectureDocLinkTarget: Rule;
|
|
620
620
|
//#endregion
|
|
621
621
|
//#region src/rules/perf/heavy-import.d.ts
|
|
622
|
-
declare const performanceHeavyImport: Rule;
|
|
622
|
+
export declare const performanceHeavyImport: Rule;
|
|
623
623
|
//#endregion
|
|
624
624
|
//#region src/rules/perf/namespace-import.d.ts
|
|
625
|
-
declare const performanceNamespaceImport: Rule;
|
|
625
|
+
export declare const performanceNamespaceImport: Rule;
|
|
626
626
|
//#endregion
|
|
627
627
|
//#region src/rules/perf/minify-disabled.d.ts
|
|
628
628
|
/**
|
|
@@ -631,7 +631,7 @@ declare const performanceNamespaceImport: Rule;
|
|
|
631
631
|
* of vite.config.* (literal-only) or by the Vite plugin's resolved config
|
|
632
632
|
* (exact). Emits a finding only when the fact is set — no pass result.
|
|
633
633
|
*/
|
|
634
|
-
declare const performanceMinifyDisabled: Rule;
|
|
634
|
+
export declare const performanceMinifyDisabled: Rule;
|
|
635
635
|
//#endregion
|
|
636
636
|
//#region src/rules/perf/load-waterfall.d.ts
|
|
637
637
|
/**
|
|
@@ -640,7 +640,7 @@ declare const performanceMinifyDisabled: Rule;
|
|
|
640
640
|
* placement to suggest. csr = false files are exempt too — without a client
|
|
641
641
|
* runtime the universal load only runs during SSR.
|
|
642
642
|
*/
|
|
643
|
-
declare const performanceLoadWaterfall: Rule;
|
|
643
|
+
export declare const performanceLoadWaterfall: Rule;
|
|
644
644
|
//#endregion
|
|
645
645
|
//#region src/rules/perf/sequential-awaits.d.ts
|
|
646
646
|
/**
|
|
@@ -648,7 +648,7 @@ declare const performanceLoadWaterfall: Rule;
|
|
|
648
648
|
* data flow cannot see side-effect ordering (e.g. a setup call an API relies
|
|
649
649
|
* on), so the parallelize suggestion stays advisory.
|
|
650
650
|
*/
|
|
651
|
-
declare const performanceSequentialAwaits: Rule;
|
|
651
|
+
export declare const performanceSequentialAwaits: Rule;
|
|
652
652
|
//#endregion
|
|
653
653
|
//#region src/rules/perf/state-raw.d.ts
|
|
654
654
|
/**
|
|
@@ -658,45 +658,45 @@ declare const performanceSequentialAwaits: Rule;
|
|
|
658
658
|
* "Large" is not statically knowable, so a non-primitive literal initializer is
|
|
659
659
|
* the proxy condition.
|
|
660
660
|
*/
|
|
661
|
-
declare const performanceStateRaw: Rule;
|
|
661
|
+
export declare const performanceStateRaw: Rule;
|
|
662
662
|
//#endregion
|
|
663
663
|
//#region src/rules/perf/iframe-loading.d.ts
|
|
664
664
|
/** Any literal `loading` value passes (the author made a choice); an expression value is
|
|
665
665
|
* unknowable and passes; a spread could supply `loading` and passes. */
|
|
666
|
-
declare const performanceIframeLoading: Rule;
|
|
666
|
+
export declare const performanceIframeLoading: Rule;
|
|
667
667
|
//#endregion
|
|
668
668
|
//#region src/rules/a11y/invalid-role.d.ts
|
|
669
|
-
declare const a11yInvalidRole: Rule;
|
|
669
|
+
export declare const a11yInvalidRole: Rule;
|
|
670
670
|
//#endregion
|
|
671
671
|
//#region src/rules/a11y/unknown-aria-attribute.d.ts
|
|
672
|
-
declare const a11yUnknownAriaAttribute: Rule;
|
|
672
|
+
export declare const a11yUnknownAriaAttribute: Rule;
|
|
673
673
|
//#endregion
|
|
674
674
|
//#region src/rules/a11y/required-aria-props.d.ts
|
|
675
|
-
declare const a11yRequiredAriaProps: Rule;
|
|
675
|
+
export declare const a11yRequiredAriaProps: Rule;
|
|
676
676
|
//#endregion
|
|
677
677
|
//#region src/rules/a11y/invalid-aria-value.d.ts
|
|
678
|
-
declare const a11yInvalidAriaValue: Rule;
|
|
678
|
+
export declare const a11yInvalidAriaValue: Rule;
|
|
679
679
|
//#endregion
|
|
680
680
|
//#region src/rules/a11y/interactive-nesting.d.ts
|
|
681
|
-
declare const a11yInteractiveNesting: Rule;
|
|
681
|
+
export declare const a11yInteractiveNesting: Rule;
|
|
682
682
|
//#endregion
|
|
683
683
|
//#region src/rules/a11y/aria-hidden-focus.d.ts
|
|
684
|
-
declare const a11yAriaHiddenFocus: Rule;
|
|
684
|
+
export declare const a11yAriaHiddenFocus: Rule;
|
|
685
685
|
//#endregion
|
|
686
686
|
//#region src/rules/a11y/accessible-name.d.ts
|
|
687
|
-
declare const a11yAccessibleName: Rule;
|
|
687
|
+
export declare const a11yAccessibleName: Rule;
|
|
688
688
|
//#endregion
|
|
689
689
|
//#region src/rules/a11y/label-has-control.d.ts
|
|
690
|
-
declare const a11yLabelHasControl: Rule;
|
|
690
|
+
export declare const a11yLabelHasControl: Rule;
|
|
691
691
|
//#endregion
|
|
692
692
|
//#region src/rules/a11y/use-list.d.ts
|
|
693
|
-
declare const a11yUseList: Rule;
|
|
693
|
+
export declare const a11yUseList: Rule;
|
|
694
694
|
//#endregion
|
|
695
695
|
//#region src/rules/a11y/placeholder-label-option.d.ts
|
|
696
|
-
declare const a11yPlaceholderLabelOption: Rule;
|
|
696
|
+
export declare const a11yPlaceholderLabelOption: Rule;
|
|
697
697
|
//#endregion
|
|
698
698
|
//#region src/rules/a11y/require-datetime.d.ts
|
|
699
|
-
declare const a11yRequireDatetime: Rule;
|
|
699
|
+
export declare const a11yRequireDatetime: Rule;
|
|
700
700
|
//#endregion
|
|
701
701
|
//#region src/rules/a11y/positive-tabindex.d.ts
|
|
702
702
|
/**
|
|
@@ -708,7 +708,7 @@ declare const a11yRequireDatetime: Rule;
|
|
|
708
708
|
* deprecated-* rules' `!inSvg` filter: SVG2 honours `tabindex` with identical focus-order
|
|
709
709
|
* semantics.
|
|
710
710
|
*/
|
|
711
|
-
declare const a11yPositiveTabindex: Rule;
|
|
711
|
+
export declare const a11yPositiveTabindex: Rule;
|
|
712
712
|
//#endregion
|
|
713
713
|
//#region src/rules/a11y/no-accesskey.d.ts
|
|
714
714
|
/**
|
|
@@ -718,7 +718,7 @@ declare const a11yPositiveTabindex: Rule;
|
|
|
718
718
|
* SVG elements are judged along with HTML — `accesskey` is meaningless there, which makes its
|
|
719
719
|
* presence wrong in both namespaces.
|
|
720
720
|
*/
|
|
721
|
-
declare const a11yNoAccesskey: Rule;
|
|
721
|
+
export declare const a11yNoAccesskey: Rule;
|
|
722
722
|
//#endregion
|
|
723
723
|
//#region src/rules/a11y/no-autofocus.d.ts
|
|
724
724
|
/**
|
|
@@ -731,7 +731,7 @@ declare const a11yNoAccesskey: Rule;
|
|
|
731
731
|
* hatch. SVG elements are judged along with HTML: SVG2 honours `autofocus` with the same
|
|
732
732
|
* page-load focus semantics.
|
|
733
733
|
*/
|
|
734
|
-
declare const a11yNoAutofocus: Rule;
|
|
734
|
+
export declare const a11yNoAutofocus: Rule;
|
|
735
735
|
//#endregion
|
|
736
736
|
//#region src/rules/a11y/no-duplicate-dt.d.ts
|
|
737
737
|
/**
|
|
@@ -739,28 +739,28 @@ declare const a11yNoAutofocus: Rule;
|
|
|
739
739
|
* `<dl>`, fully-static names only, whitespace-normalized, case-sensitive) lives in the
|
|
740
740
|
* collector; see `collectDuplicateDts` in component-parse.ts for the exemption rationale.
|
|
741
741
|
*/
|
|
742
|
-
declare const a11yNoDuplicateDt: Rule;
|
|
742
|
+
export declare const a11yNoDuplicateDt: Rule;
|
|
743
743
|
//#endregion
|
|
744
744
|
//#region src/rules/a11y/abbr-title.d.ts
|
|
745
|
-
declare const a11yAbbrTitle: Rule;
|
|
745
|
+
export declare const a11yAbbrTitle: Rule;
|
|
746
746
|
//#endregion
|
|
747
747
|
//#region src/rules/a11y/pattern-title.d.ts
|
|
748
|
-
declare const a11yPatternTitle: Rule;
|
|
748
|
+
export declare const a11yPatternTitle: Rule;
|
|
749
749
|
//#endregion
|
|
750
750
|
//#region src/rules/a11y/deprecated-element.d.ts
|
|
751
|
-
declare const a11yDeprecatedElement: Rule;
|
|
751
|
+
export declare const a11yDeprecatedElement: Rule;
|
|
752
752
|
//#endregion
|
|
753
753
|
//#region src/rules/a11y/deprecated-attr.d.ts
|
|
754
|
-
declare const a11yDeprecatedAttr: Rule;
|
|
754
|
+
export declare const a11yDeprecatedAttr: Rule;
|
|
755
755
|
//#endregion
|
|
756
756
|
//#region src/rules/a11y/disallowed-aria-props.d.ts
|
|
757
|
-
declare const a11yDisallowedAriaProps: Rule;
|
|
757
|
+
export declare const a11yDisallowedAriaProps: Rule;
|
|
758
758
|
//#endregion
|
|
759
759
|
//#region src/rules/a11y/deprecated-aria.d.ts
|
|
760
|
-
declare const a11yDeprecatedAria: Rule;
|
|
760
|
+
export declare const a11yDeprecatedAria: Rule;
|
|
761
761
|
//#endregion
|
|
762
762
|
//#region src/rules/a11y/disallowed-element.d.ts
|
|
763
|
-
declare const a11yDisallowedElement: Rule;
|
|
763
|
+
export declare const a11yDisallowedElement: Rule;
|
|
764
764
|
//#endregion
|
|
765
765
|
//#region src/rules/a11y/permitted-contents.d.ts
|
|
766
766
|
/**
|
|
@@ -769,7 +769,7 @@ declare const a11yDisallowedElement: Rule;
|
|
|
769
769
|
* 2026-08-20-permitted-contents-measured.md). Broken structure (closed containers, headings,
|
|
770
770
|
* structure-bound children) is `warning`; category mismatches are `info`.
|
|
771
771
|
*/
|
|
772
|
-
declare const a11yPermittedContents: Rule;
|
|
772
|
+
export declare const a11yPermittedContents: Rule;
|
|
773
773
|
//#endregion
|
|
774
774
|
//#region src/rules/a11y/required-element.d.ts
|
|
775
775
|
/**
|
|
@@ -783,10 +783,10 @@ declare const a11yPermittedContents: Rule;
|
|
|
783
783
|
* elements (`elementsClosed`), which spreads and expression ids do not disturb; a route missing a
|
|
784
784
|
* declared tag with the world open emits nothing.
|
|
785
785
|
*/
|
|
786
|
-
declare const a11yRequiredElement: Rule;
|
|
786
|
+
export declare const a11yRequiredElement: Rule;
|
|
787
787
|
//#endregion
|
|
788
788
|
//#region src/rules/a11y/doctype.d.ts
|
|
789
|
-
declare const a11yDoctype: Rule;
|
|
789
|
+
export declare const a11yDoctype: Rule;
|
|
790
790
|
//#endregion
|
|
791
791
|
//#region src/rules/a11y/duplicate-landmark.d.ts
|
|
792
792
|
/**
|
|
@@ -795,7 +795,7 @@ declare const a11yDoctype: Rule;
|
|
|
795
795
|
* branch-aware-folded representatives, so this rule only counts them per kind, in the
|
|
796
796
|
* fixed KINDS order (it decides emission order and the PASS anchor).
|
|
797
797
|
*/
|
|
798
|
-
declare const a11yDuplicateLandmark: Rule;
|
|
798
|
+
export declare const a11yDuplicateLandmark: Rule;
|
|
799
799
|
//#endregion
|
|
800
800
|
//#region src/rules/a11y/top-level-landmark.d.ts
|
|
801
801
|
/**
|
|
@@ -803,14 +803,14 @@ declare const a11yDuplicateLandmark: Rule;
|
|
|
803
803
|
* composition places inside another landmark. `ctx.a11y[].nestedLandmarks` already carries one
|
|
804
804
|
* entry per nested occurrence, so this rule only reports them.
|
|
805
805
|
*/
|
|
806
|
-
declare const a11yTopLevelLandmark: Rule;
|
|
806
|
+
export declare const a11yTopLevelLandmark: Rule;
|
|
807
807
|
//#endregion
|
|
808
808
|
//#region src/rules/a11y/id-duplication.d.ts
|
|
809
809
|
/**
|
|
810
810
|
* a11y/id-duplication — a literal id repeated within a composed route. `ctx.a11y[].ids`
|
|
811
811
|
* already holds the branch-aware-folded representatives per id, so this rule only counts them.
|
|
812
812
|
*/
|
|
813
|
-
declare const a11yIdDuplication: Rule;
|
|
813
|
+
export declare const a11yIdDuplication: Rule;
|
|
814
814
|
//#endregion
|
|
815
815
|
//#region src/rules/a11y/no-missing-id-ref.d.ts
|
|
816
816
|
/**
|
|
@@ -819,15 +819,15 @@ declare const a11yIdDuplication: Rule;
|
|
|
819
819
|
* `href="#…"` referencing an `id` absent from the composed route. Universal ("no element anywhere defines this id") needs a closed world, so this rule
|
|
820
820
|
* runs only on routes `ctx.a11y[].fullyResolved` marks fully resolved — see the rule docs.
|
|
821
821
|
*/
|
|
822
|
-
declare const a11yNoMissingIdRef: Rule;
|
|
822
|
+
export declare const a11yNoMissingIdRef: Rule;
|
|
823
823
|
//#endregion
|
|
824
824
|
//#region src/rules/a11y/unverified-id-ref.d.ts
|
|
825
|
-
declare const a11yUnverifiedIdRef: Rule;
|
|
825
|
+
export declare const a11yUnverifiedIdRef: Rule;
|
|
826
826
|
//#endregion
|
|
827
827
|
//#region src/rules/index.d.ts
|
|
828
|
-
declare const allRules: Rule[];
|
|
828
|
+
export declare const allRules: Rule[];
|
|
829
829
|
/** One configurable option of a rule, flattened for `svelte-vitals explain`'s output. */
|
|
830
|
-
interface RuleOptionInfo {
|
|
830
|
+
export interface RuleOptionInfo {
|
|
831
831
|
name: string;
|
|
832
832
|
/** `integer` replaces the default; `string-list`/`string-map` are ADDED to it. */
|
|
833
833
|
kind: RuleOptionSpec['kind'];
|
|
@@ -837,7 +837,7 @@ interface RuleOptionInfo {
|
|
|
837
837
|
/** For a `string-list` with a reserved grammar: what each entry must be, in words (the regex stays out of `explain --json`). */
|
|
838
838
|
pattern?: string;
|
|
839
839
|
}
|
|
840
|
-
interface RuleInfo {
|
|
840
|
+
export interface RuleInfo {
|
|
841
841
|
id: string;
|
|
842
842
|
title: string;
|
|
843
843
|
category: Category;
|
|
@@ -853,7 +853,7 @@ interface RuleInfo {
|
|
|
853
853
|
options?: RuleOptionInfo[];
|
|
854
854
|
}
|
|
855
855
|
/** 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"). */
|
|
856
|
-
declare function explainRule(id: string): RuleInfo | undefined;
|
|
856
|
+
export declare function explainRule(id: string): RuleInfo | undefined;
|
|
857
857
|
//#endregion
|
|
858
858
|
//#region src/reporter/palette.d.ts
|
|
859
859
|
/** String decorators for the console reporter. Injected so core stays pure/dep-free. */
|
|
@@ -866,9 +866,9 @@ interface Palette {
|
|
|
866
866
|
cyan: (s: string) => string;
|
|
867
867
|
}
|
|
868
868
|
/** Default: no decoration (identity) — output is byte-identical to plain text. */
|
|
869
|
-
declare const noColorPalette: Palette;
|
|
869
|
+
export declare const noColorPalette: Palette;
|
|
870
870
|
/** Green ≥ 90, yellow ≥ 70, red otherwise — for a 0–100 score. */
|
|
871
|
-
declare function scoreColor(p: Palette, score: number): (s: string) => string;
|
|
871
|
+
export declare function scoreColor(p: Palette, score: number): (s: string) => string;
|
|
872
872
|
//#endregion
|
|
873
873
|
//#region src/reporter/console.d.ts
|
|
874
874
|
interface ConsoleReportOptions {
|
|
@@ -887,7 +887,7 @@ interface ConsoleReportOptions {
|
|
|
887
887
|
* the caller is responsible for printing. Prepends a score header; when byRoute is
|
|
888
888
|
* set, adds a per-route score tree.
|
|
889
889
|
*/
|
|
890
|
-
declare function formatConsoleReport(results: Result[], config: Config, options?: ConsoleReportOptions): string;
|
|
890
|
+
export declare function formatConsoleReport(results: Result[], config: Config, options?: ConsoleReportOptions): string;
|
|
891
891
|
//#endregion
|
|
892
892
|
//#region src/reporter/sanitize.d.ts
|
|
893
893
|
/**
|
|
@@ -908,20 +908,20 @@ declare function formatConsoleReport(results: Result[], config: Config, options?
|
|
|
908
908
|
* Doesn't special-case every Fe escape form; broaden the CSI/OSC patterns if a
|
|
909
909
|
* concrete non-CSI/OSC sequence turns out to matter.
|
|
910
910
|
*/
|
|
911
|
-
declare function terminalSafe(text: string): string;
|
|
911
|
+
export declare function terminalSafe(text: string): string;
|
|
912
912
|
//#endregion
|
|
913
913
|
//#region src/reporter/agent.d.ts
|
|
914
914
|
/** Render failing findings as an agent-actionable Markdown remediation document (issue #18). */
|
|
915
|
-
declare function formatAgentReport(results: Result[], config: Config): string;
|
|
915
|
+
export declare function formatAgentReport(results: Result[], config: Config): string;
|
|
916
916
|
//#endregion
|
|
917
917
|
//#region src/reporter/sarif.d.ts
|
|
918
918
|
/** Render penalized findings as a SARIF 2.1.0 log string (issue #18, design slice 5). */
|
|
919
|
-
declare function formatSarifReport(results: Result[], config: Config, meta: {
|
|
919
|
+
export declare function formatSarifReport(results: Result[], config: Config, meta: {
|
|
920
920
|
version: string;
|
|
921
921
|
}): string;
|
|
922
922
|
//#endregion
|
|
923
923
|
//#region src/reporter/app-shell.d.ts
|
|
924
|
-
declare function escapeHtml(s: string): string;
|
|
924
|
+
export declare function escapeHtml(s: string): string;
|
|
925
925
|
/**
|
|
926
926
|
* Return the URL only when it uses a safe http/https scheme, else null.
|
|
927
927
|
* Guards a finding's `docsUrl` against `javascript:`/`data:` hrefs — escapeHtml
|
|
@@ -931,7 +931,7 @@ declare function escapeHtml(s: string): string;
|
|
|
931
931
|
* plainly http(s):// afterward is rejected. Pure string work — no `URL` global,
|
|
932
932
|
* keeping core runtime-agnostic and lib-minimal.
|
|
933
933
|
*/
|
|
934
|
-
declare function safeHref(url: string): string | null;
|
|
934
|
+
export declare function safeHref(url: string): string | null;
|
|
935
935
|
/** Provenance of a route's findings: real rendered page vs. source-only analysis. */
|
|
936
936
|
type RouteBadge = 'measured' | 'static';
|
|
937
937
|
interface AppSnapshot {
|
|
@@ -956,22 +956,22 @@ interface AppSnapshot {
|
|
|
956
956
|
* auto-reconnect, since EventSource replays no missed events) — discarding any
|
|
957
957
|
* response whose `sequence` isn't newer than what's already rendered.
|
|
958
958
|
*/
|
|
959
|
-
declare const APP_SCRIPT: string;
|
|
959
|
+
export declare const APP_SCRIPT: string;
|
|
960
960
|
/** The shell HTML: empty sidebar/detail/topbar containers, the stylesheet, the
|
|
961
961
|
* client script, and the snapshot embedded as JSON for the client's first paint. */
|
|
962
|
-
declare function renderAppShell(snapshot: AppSnapshot): string;
|
|
962
|
+
export declare function renderAppShell(snapshot: AppSnapshot): string;
|
|
963
963
|
/**
|
|
964
964
|
* Static (non-live) document over a prebuilt JsonReport — kept as the public name the
|
|
965
965
|
* html reporter has always exported.
|
|
966
966
|
*/
|
|
967
|
-
declare function buildHtmlDocument(report: JsonReport, meta: {
|
|
967
|
+
export declare function buildHtmlDocument(report: JsonReport, meta: {
|
|
968
968
|
version: string;
|
|
969
969
|
coreVersion?: string;
|
|
970
970
|
}): string;
|
|
971
971
|
/** Render results as the self-contained HTML report (the CLI's `--reporter html`). */
|
|
972
|
-
declare function formatHtmlReport(results: Result[], config: Config, meta: {
|
|
972
|
+
export declare function formatHtmlReport(results: Result[], config: Config, meta: {
|
|
973
973
|
version: string;
|
|
974
974
|
coreVersion?: string;
|
|
975
975
|
}): string;
|
|
976
976
|
//#endregion
|
|
977
|
-
export { type A11yOccurrenceInfo, type A11ySkipCause, ANCESTRY_DEPENDENT_TAGS,
|
|
977
|
+
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, SECTIONING_TAGS, type Scope, type ScoreOptions, type ScoreResult, type SourceSpan, type SuppressionDirective, buildJsonReport, classify, collectComponentFacts, compileOverrides, computeHealth, computeScore, decodeFragmentId, defaultConfig, defaultProject, docsUrlFor, effectiveSeverity, emptyComponentFacts, foldOccurrences, formatFailedRuleWarning, formatGithubReport, formatJsonReport, formatMarkdownReport, hasFailureAtOrAbove, isClassicScriptType, isPenalized, isPlainObject, isTopFragment, resolveLandmark, resolveRuleOptions, selectRules, settingSeverity, shouldSkipRangeCheck, skippedFileWarnings, splitTokens, stripTextDirective, summarize, validateRuleSetting, withFailedRulesOff, withReadLimit };
|
package/dist/internal.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as SECTIONING_TAGS, $n as selectRules, $t as valueFromNodes, A as a11yAbbrTitle, An as seoDescriptionLength, At as collectDerivedGuardBindings, B as a11yUseList, Bn as seoOgUrl, Bt as unwrapTs, C as a11yDisallowedElement, Cn as seoHeadingLevelSkip, Cr as isPenalized, Ct as parseKitModuleFacts, D as a11yDeprecatedElement, Dn as seoHreflang, Dt as addBoundNames, E as a11yDeprecatedAttr, En as seoSingleH1, Er as defaultProject, Et as WALK_IGNORED_KEYS, F as isInteractiveContainer, Fn as seoJsonLdRelativeUrl, Ft as matchLifecycleCall, G as a11yInvalidAriaValue, Gn as isPlainObject, Gt as attrText, H as a11yAccessibleName, Hn as seoTwitterCard, Ht as walkEvalScope, I as isInteractiveElement, In as seoJsonLdDeprecatedType, It as parseModuleProgram, J as a11yInvalidRole, Jn as validateRuleSetting, Jt as attrValueOf, K as a11yRequiredAriaProps, Kn as resolveRuleOptions, Kt as attrTextOf, L as literalTabindexValue, Ln as seoJsonLdValidity, Lt as rootObjectName, M as a11yNoAutofocus, Mn as seoJsonLdRequiredProps, Mt as collectProgramBindings, N as a11yNoAccesskey, Nn as seoJsonLdPlaceholder, Nt as collectSuppressions, O as HTML_SPEC, On as seoImageAlt, Ot as collectBrowserGlobalRefs, P as a11yPositiveTabindex, Pn as seoJsonLdDateFormat, Pt as collectSvelteLifecycleImports, Q as NAMING_ATTRS, Qn as formatFailedRuleWarning, Qt as textFromNodes, R as a11yRequireDatetime, Rn as seoSitemapInRobots, Rt as scopeIntroducedNames, S as a11yPermittedContents, Sn as seoSsrDisabled, Sr as docsUrlFor, St as parseInMemoryExports, T as a11yDisallowedAriaProps, Tn as seoDuplicateTitle, Tr as defaultConfig, Tt as isRootRelativePath, U as a11yAriaHiddenFocus, Un as seoIndexability, Ut as walkScoped, V as a11yLabelHasControl, Vn as seoOgDescription, Vt as walkEstree, W as a11yInteractiveNesting, Wn as performancePreconnect, Wt as CHILD_NODE_KEYS, X as ASIDE_DEMOTING_TAGS, Xn as applyRuleSeverities, Xt as lineOf, Y as ANCESTRY_DEPENDENT_TAGS, Yn as applyOverrides, Yt as findAttr, Z as IDREF_ATTRS, Zn as compileOverrides, Zt as parseSvelte, _ as a11yIdDuplication, _n as correctnessUnmutatedState, _r as seoTitlePresence, _t as architectureReservedDirectoryNames, a as formatJsonReport, an as securityJavascriptUrl, ar as performancePreloadMissingAs, at as stripTextDirective, b as a11yDoctype, bn as correctnessEachIndexKey, br as hasFailureAtOrAbove, bt as architecturePrivateScopeImport, c as formatGithubReport, cn as correctnessServerBrowserGlobal, cr as performanceImageDimensions, ct as performanceStateRaw, d as ruleMetaById, dn as correctnessOrphanEffect, dr as seoRobotsTxt, dt as performanceMinifyDisabled, en as architecturePropCount, er as settingSeverity, et as decodeFragmentId, f as severityToSarifLevel, fn as correctnessAutoplayMuted, fr as seoJsonLd, ft as performanceNamespaceImport, g as a11yNoMissingIdRef, gn as correctnessPropMutation, gr as seoDescriptionPresence, gt as architectureReservedNamePlacement, h as a11yUnverifiedIdRef, hn as correctnessStalePropDerivation, hr as seoCanonicalUrl, ht as architectureRouteComponentImport, i as buildJsonReport, in as securityHandlerStateWrite, ir as performanceFontPreloadCrossorigin, it as splitTokens, j as a11yNoDuplicateDt, jn as seoTitleLength, jt as collectNamedImportAliases, k as a11yPatternTitle, kn as seoCharset, kt as collectBrowserGuardImports, l as SEVERITY_RANK, ln as correctnessBasePathNavigation, lr as seoHtmlLang, lt as performanceSequentialAwaits, m as explainRule, mn as correctnessNonreactiveBuiltinState, mr as seoOgImage, mt as architectureDocLinkTarget, n as mdEscape, nn as securitySharedStateImport, nr as performanceRenderBlockingScript, nt as isTopFragment, o as computeHealth, on as securityRawHtml, or as performanceResponsiveImage, ot as resolveRole, p as allRules, pn as correctnessCheckableBindValue, pr as seoOgTitle, pt as performanceHeavyImport, q as a11yUnknownAriaAttribute, qn as shouldSkipRangeCheck, qt as attrValue, r as terminalSafe, rn as securityServerModuleState, rr as performanceLcpImage, rt as resolveLandmark, s as computeScore, sn as correctnessInstanceBrowserGlobal, sr as performanceImageLoadingHint, st as performanceIframeLoading, t as formatMarkdownReport, tn as architectureComponentSize, tr as withFailedRulesOff, tt as foldOccurrences, u as messageText, un as correctnessOrphanLifecycle, ur as seoSitemapXml, ut as performanceLoadWaterfall, v as a11yTopLevelLandmark, vn as correctnessEffectAsOnMount, vr as classify, vt as architectureDirectoryNaming, w as a11yDeprecatedAria, wn as seoDuplicateDescription, wt as resolveRepoLocalPath, x as a11yRequiredElement, xn as correctnessEachKey, xr as summarize, xt as collectTopLevelBindings, y as a11yDuplicateLandmark, yn as correctnessEffectAsDerived, yr as effectiveSeverity, yt as architectureUnitEntryFile, z as a11yPlaceholderLabelOption, zn as seoViewport, zt as unwrapExport } from "./markdown-
|
|
1
|
+
import { $ as SECTIONING_TAGS, $n as selectRules, $t as valueFromNodes, A as a11yAbbrTitle, An as seoDescriptionLength, At as collectDerivedGuardBindings, B as a11yUseList, Bn as seoOgUrl, Bt as unwrapTs, C as a11yDisallowedElement, Cn as seoHeadingLevelSkip, Cr as isPenalized, Ct as parseKitModuleFacts, D as a11yDeprecatedElement, Dn as seoHreflang, Dt as addBoundNames, E as a11yDeprecatedAttr, En as seoSingleH1, Er as defaultProject, Et as WALK_IGNORED_KEYS, F as isInteractiveContainer, Fn as seoJsonLdRelativeUrl, Ft as matchLifecycleCall, G as a11yInvalidAriaValue, Gn as isPlainObject, Gt as attrText, H as a11yAccessibleName, Hn as seoTwitterCard, Ht as walkEvalScope, I as isInteractiveElement, In as seoJsonLdDeprecatedType, It as parseModuleProgram, J as a11yInvalidRole, Jn as validateRuleSetting, Jt as attrValueOf, K as a11yRequiredAriaProps, Kn as resolveRuleOptions, Kt as attrTextOf, L as literalTabindexValue, Ln as seoJsonLdValidity, Lt as rootObjectName, M as a11yNoAutofocus, Mn as seoJsonLdRequiredProps, Mt as collectProgramBindings, N as a11yNoAccesskey, Nn as seoJsonLdPlaceholder, Nt as collectSuppressions, O as HTML_SPEC, On as seoImageAlt, Ot as collectBrowserGlobalRefs, P as a11yPositiveTabindex, Pn as seoJsonLdDateFormat, Pt as collectSvelteLifecycleImports, Q as NAMING_ATTRS, Qn as formatFailedRuleWarning, Qt as textFromNodes, R as a11yRequireDatetime, Rn as seoSitemapInRobots, Rt as scopeIntroducedNames, S as a11yPermittedContents, Sn as seoSsrDisabled, Sr as docsUrlFor, St as parseInMemoryExports, T as a11yDisallowedAriaProps, Tn as seoDuplicateTitle, Tr as defaultConfig, Tt as isRootRelativePath, U as a11yAriaHiddenFocus, Un as seoIndexability, Ut as walkScoped, V as a11yLabelHasControl, Vn as seoOgDescription, Vt as walkEstree, W as a11yInteractiveNesting, Wn as performancePreconnect, Wt as CHILD_NODE_KEYS, X as ASIDE_DEMOTING_TAGS, Xn as applyRuleSeverities, Xt as lineOf, Y as ANCESTRY_DEPENDENT_TAGS, Yn as applyOverrides, Yt as findAttr, Z as IDREF_ATTRS, Zn as compileOverrides, Zt as parseSvelte, _ as a11yIdDuplication, _n as correctnessUnmutatedState, _r as seoTitlePresence, _t as architectureReservedDirectoryNames, a as formatJsonReport, an as securityJavascriptUrl, ar as performancePreloadMissingAs, at as stripTextDirective, b as a11yDoctype, bn as correctnessEachIndexKey, br as hasFailureAtOrAbove, bt as architecturePrivateScopeImport, c as formatGithubReport, cn as correctnessServerBrowserGlobal, cr as performanceImageDimensions, ct as performanceStateRaw, d as ruleMetaById, dn as correctnessOrphanEffect, dr as seoRobotsTxt, dt as performanceMinifyDisabled, en as architecturePropCount, er as settingSeverity, et as decodeFragmentId, f as severityToSarifLevel, fn as correctnessAutoplayMuted, fr as seoJsonLd, ft as performanceNamespaceImport, g as a11yNoMissingIdRef, gn as correctnessPropMutation, gr as seoDescriptionPresence, gt as architectureReservedNamePlacement, h as a11yUnverifiedIdRef, hn as correctnessStalePropDerivation, hr as seoCanonicalUrl, ht as architectureRouteComponentImport, i as buildJsonReport, in as securityHandlerStateWrite, ir as performanceFontPreloadCrossorigin, it as splitTokens, j as a11yNoDuplicateDt, jn as seoTitleLength, jt as collectNamedImportAliases, k as a11yPatternTitle, kn as seoCharset, kt as collectBrowserGuardImports, l as SEVERITY_RANK, ln as correctnessBasePathNavigation, lr as seoHtmlLang, lt as performanceSequentialAwaits, m as explainRule, mn as correctnessNonreactiveBuiltinState, mr as seoOgImage, mt as architectureDocLinkTarget, n as mdEscape, nn as securitySharedStateImport, nr as performanceRenderBlockingScript, nt as isTopFragment, o as computeHealth, on as securityRawHtml, or as performanceResponsiveImage, ot as resolveRole, p as allRules, pn as correctnessCheckableBindValue, pr as seoOgTitle, pt as performanceHeavyImport, q as a11yUnknownAriaAttribute, qn as shouldSkipRangeCheck, qt as attrValue, r as terminalSafe, rn as securityServerModuleState, rr as performanceLcpImage, rt as resolveLandmark, s as computeScore, sn as correctnessInstanceBrowserGlobal, sr as performanceImageLoadingHint, st as performanceIframeLoading, t as formatMarkdownReport, tn as architectureComponentSize, tr as withFailedRulesOff, tt as foldOccurrences, u as messageText, un as correctnessOrphanLifecycle, ur as seoSitemapXml, ut as performanceLoadWaterfall, v as a11yTopLevelLandmark, vn as correctnessEffectAsOnMount, vr as classify, vt as architectureDirectoryNaming, w as a11yDeprecatedAria, wn as seoDuplicateDescription, wt as resolveRepoLocalPath, x as a11yRequiredElement, xn as correctnessEachKey, xr as summarize, xt as collectTopLevelBindings, y as a11yDuplicateLandmark, yn as correctnessEffectAsDerived, yr as effectiveSeverity, yt as architectureUnitEntryFile, z as a11yPlaceholderLabelOption, zn as seoViewport, zt as unwrapExport } from "./markdown-DJLlGb28.js";
|
|
2
2
|
//#region src/head.ts
|
|
3
3
|
const JS_MIME_TYPES = /* @__PURE__ */ new Set([
|
|
4
4
|
"application/ecmascript",
|
|
@@ -175,13 +175,14 @@ function collectStateWrites(root, stateNames, acc, kinds) {
|
|
|
175
175
|
addBoundNames(n.left, bound);
|
|
176
176
|
for (const name of bound) if (stateNames.has(name) && !shadowed(name)) record(name, "reassign");
|
|
177
177
|
}
|
|
178
|
-
} else if (n?.type === "UpdateExpression")
|
|
179
|
-
if (
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
178
|
+
} else if (n?.type === "UpdateExpression") {
|
|
179
|
+
if (n.argument?.type === "Identifier") {
|
|
180
|
+
if (stateNames.has(n.argument.name) && !shadowed(n.argument.name)) record(n.argument.name, "reassign");
|
|
181
|
+
} else {
|
|
182
|
+
const r = rootObjectName(n.argument);
|
|
183
|
+
if (r && stateNames.has(r) && !shadowed(r)) record(r, "mutate");
|
|
184
|
+
}
|
|
185
|
+
} else if (n?.type === "UnaryExpression" && n.operator === "delete") {
|
|
185
186
|
const r = rootObjectName(n.argument);
|
|
186
187
|
if (r && stateNames.has(r) && !shadowed(r)) record(r, "mutate");
|
|
187
188
|
} else if (n?.type === "CallExpression") {
|
|
@@ -1112,17 +1113,19 @@ function collectUnnamedInteractive(node, source, acc, labels) {
|
|
|
1112
1113
|
const hasSpread = node.attributes.some((a) => a?.type === "SpreadAttribute");
|
|
1113
1114
|
const id = attrText(node.attributes, "id");
|
|
1114
1115
|
const namedByLabel = target !== "a" && (labels.nodes.has(node) || id !== void 0 && labels.ids.has(id.trim()));
|
|
1115
|
-
if (target && !hasSpread && !namedByLabel)
|
|
1116
|
-
if (
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1116
|
+
if (target && !hasSpread && !namedByLabel) {
|
|
1117
|
+
if (target === "input") {
|
|
1118
|
+
if (!hasNamingAttr(node.attributes) && !hasNamingValue(node.attributes, "alt")) acc.push({
|
|
1119
|
+
tag: node.name,
|
|
1120
|
+
line: lineOf(source, node.start)
|
|
1121
|
+
});
|
|
1122
|
+
} else {
|
|
1123
|
+
const scan = scanAccessibleNameSubtree(node);
|
|
1124
|
+
if (!hasNamingAttr(node.attributes) && !scan.named && !scan.unknowable) acc.push({
|
|
1125
|
+
tag: node.name,
|
|
1126
|
+
line: lineOf(source, node.start)
|
|
1127
|
+
});
|
|
1128
|
+
}
|
|
1126
1129
|
}
|
|
1127
1130
|
}
|
|
1128
1131
|
for (const key of CHILD_NODE_KEYS) if (key in node) collectUnnamedInteractive(node[key], source, acc, labels);
|
|
@@ -3989,4 +3992,4 @@ function formatHtmlReport(results, config, meta) {
|
|
|
3989
3992
|
return buildHtmlDocument(buildJsonReport(results, config, meta), meta);
|
|
3990
3993
|
}
|
|
3991
3994
|
//#endregion
|
|
3992
|
-
export { ANCESTRY_DEPENDENT_TAGS, APP_SCRIPT, ASIDE_DEMOTING_TAGS, CHILD_NODE_KEYS, IDREF_ATTRS, NAMING_ATTRS, ROBOTS_SOURCE_PATHS, SECTIONING_TAGS, SITEMAP_SOURCE_PATHS, SVELTE_CONFIG_FILES, VITE_CONFIG_FILES, a11yAbbrTitle, a11yAccessibleName, a11yAriaHiddenFocus, a11yDeprecatedAria, a11yDeprecatedAttr, a11yDeprecatedElement, a11yDisallowedAriaProps, a11yDisallowedElement, a11yDoctype, a11yDuplicateLandmark, a11yIdDuplication, a11yInteractiveNesting, a11yInvalidAriaValue, a11yInvalidRole, a11yLabelHasControl, a11yNoAccesskey, a11yNoAutofocus, a11yNoDuplicateDt, a11yNoMissingIdRef, a11yPatternTitle, a11yPermittedContents, a11yPlaceholderLabelOption, a11yPositiveTabindex, a11yRequireDatetime, a11yRequiredAriaProps, a11yRequiredElement, a11yTopLevelLandmark, a11yUnknownAriaAttribute, a11yUnverifiedIdRef, a11yUseList, addFactsDirectives, allRules, architectureComponentSize, architectureDirectoryNaming, architectureDocLinkTarget, architecturePrivateScopeImport, architecturePropCount, architectureReservedDirectoryNames, architectureReservedNamePlacement, architectureRouteComponentImport, architectureUnitEntryFile, attrText, attrTextOf, attrValue, attrValueOf, buildHtmlDocument, buildJsonReport, classify, collectComponentFacts, collectKitModuleFacts, collectSourceFiles, collectSuppressions, compileOverrides, computeHealth, computeScore, correctnessAutoplayMuted, correctnessBasePathNavigation, correctnessCheckableBindValue, correctnessEachIndexKey, correctnessEachKey, correctnessEffectAsDerived, correctnessEffectAsOnMount, correctnessInstanceBrowserGlobal, correctnessNonreactiveBuiltinState, correctnessOrphanEffect, correctnessOrphanLifecycle, correctnessPropMutation, correctnessServerBrowserGlobal, correctnessStalePropDerivation, correctnessUnmutatedState, decodeFragmentId, defaultConfig, defaultProject, docsUrlFor, effectiveSeverity, escapeHtml, explainRule, findAttr, findMinifyDisabled, foldOccurrences, formatAgentReport, formatConsoleReport, formatFailedRuleWarning, formatGithubReport, formatHtmlReport, formatJsonReport, formatMarkdownReport, formatSarifReport, hasFailureAtOrAbove, isClassicScriptType, isPenalized, isPlainObject, isTopFragment, lineOf, noColorPalette, parseComponentFacts, parseSvelte, performanceFontPreloadCrossorigin, performanceHeavyImport, performanceIframeLoading, performanceImageDimensions, performanceImageLoadingHint, performanceLcpImage, performanceLoadWaterfall, performanceMinifyDisabled, performanceNamespaceImport, performancePreconnect, performancePreloadMissingAs, performanceRenderBlockingScript, performanceResponsiveImage, performanceSequentialAwaits, performanceStateRaw, renderAppShell, resolveKitAliases, resolveKitPathsBase, resolveLandmark, resolveRepoLocalPath, resolveRuleOptions, runAnalysis, runRules, safeHref, scoreColor, 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, settingSeverity, shouldSkipRangeCheck, skippedFileWarnings, splitTokens, stripTextDirective, summarize, terminalSafe, textFromNodes, unknownDirectiveIds, validateRuleSetting, valueFromNodes, withFailedRulesOff, withReadLimit };
|
|
3995
|
+
export { ANCESTRY_DEPENDENT_TAGS, APP_SCRIPT, ASIDE_DEMOTING_TAGS, CHILD_NODE_KEYS, IDREF_ATTRS, NAMING_ATTRS, ROBOTS_SOURCE_PATHS, SECTIONING_TAGS, SITEMAP_SOURCE_PATHS, SVELTE_CONFIG_FILES, VITE_CONFIG_FILES, a11yAbbrTitle, a11yAccessibleName, a11yAriaHiddenFocus, a11yDeprecatedAria, a11yDeprecatedAttr, a11yDeprecatedElement, a11yDisallowedAriaProps, a11yDisallowedElement, a11yDoctype, a11yDuplicateLandmark, a11yIdDuplication, a11yInteractiveNesting, a11yInvalidAriaValue, a11yInvalidRole, a11yLabelHasControl, a11yNoAccesskey, a11yNoAutofocus, a11yNoDuplicateDt, a11yNoMissingIdRef, a11yPatternTitle, a11yPermittedContents, a11yPlaceholderLabelOption, a11yPositiveTabindex, a11yRequireDatetime, a11yRequiredAriaProps, a11yRequiredElement, a11yTopLevelLandmark, a11yUnknownAriaAttribute, a11yUnverifiedIdRef, a11yUseList, addFactsDirectives, allRules, architectureComponentSize, architectureDirectoryNaming, architectureDocLinkTarget, architecturePrivateScopeImport, architecturePropCount, architectureReservedDirectoryNames, architectureReservedNamePlacement, architectureRouteComponentImport, architectureUnitEntryFile, attrText, attrTextOf, attrValue, attrValueOf, buildHtmlDocument, buildJsonReport, classify, collectComponentFacts, collectKitModuleFacts, collectSourceFiles, collectSuppressions, compileOverrides, computeHealth, computeScore, correctnessAutoplayMuted, correctnessBasePathNavigation, correctnessCheckableBindValue, correctnessEachIndexKey, correctnessEachKey, correctnessEffectAsDerived, correctnessEffectAsOnMount, correctnessInstanceBrowserGlobal, correctnessNonreactiveBuiltinState, correctnessOrphanEffect, correctnessOrphanLifecycle, correctnessPropMutation, correctnessServerBrowserGlobal, correctnessStalePropDerivation, correctnessUnmutatedState, decodeFragmentId, defaultConfig, defaultProject, docsUrlFor, effectiveSeverity, emptyComponentFacts, escapeHtml, explainRule, findAttr, findMinifyDisabled, foldOccurrences, formatAgentReport, formatConsoleReport, formatFailedRuleWarning, formatGithubReport, formatHtmlReport, formatJsonReport, formatMarkdownReport, formatSarifReport, hasFailureAtOrAbove, isClassicScriptType, isPenalized, isPlainObject, isTopFragment, lineOf, noColorPalette, parseComponentFacts, parseSvelte, performanceFontPreloadCrossorigin, performanceHeavyImport, performanceIframeLoading, performanceImageDimensions, performanceImageLoadingHint, performanceLcpImage, performanceLoadWaterfall, performanceMinifyDisabled, performanceNamespaceImport, performancePreconnect, performancePreloadMissingAs, performanceRenderBlockingScript, performanceResponsiveImage, performanceSequentialAwaits, performanceStateRaw, renderAppShell, resolveKitAliases, resolveKitPathsBase, resolveLandmark, resolveRepoLocalPath, resolveRuleOptions, runAnalysis, runRules, safeHref, scoreColor, 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, settingSeverity, shouldSkipRangeCheck, skippedFileWarnings, splitTokens, stripTextDirective, summarize, terminalSafe, textFromNodes, unknownDirectiveIds, validateRuleSetting, valueFromNodes, withFailedRulesOff, withReadLimit };
|
|
@@ -358,6 +358,13 @@ declare function skippedFileWarnings(facts: readonly {
|
|
|
358
358
|
parseFailed?: true;
|
|
359
359
|
readFailed?: true;
|
|
360
360
|
}[]): string[];
|
|
361
|
+
/**
|
|
362
|
+
* Fallback facts for a file that fails to read or parse (dev tooling must never
|
|
363
|
+
* throw). This is the single source of truth for the empty-facts shape — add new
|
|
364
|
+
* `ComponentFacts` fields HERE so TypeScript catches every call site that still
|
|
365
|
+
* needs updating.
|
|
366
|
+
*/
|
|
367
|
+
declare function emptyComponentFacts(file: string): ComponentFacts;
|
|
361
368
|
/**
|
|
362
369
|
* Scan every `.svelte` component and `.svelte.ts`/`.svelte.js` runes module under `src/`
|
|
363
370
|
* for Correctness/Security/Architecture/Bundle-Performance/Accessibility facts. Independent
|
|
@@ -1254,4 +1261,4 @@ declare function formatJsonReport(results: Result[], config: Config, meta: {
|
|
|
1254
1261
|
version: string;
|
|
1255
1262
|
}, ruleIds?: readonly string[], examined?: Record<string, Record<string, number>>, skipped?: JsonReport['skipped']): string;
|
|
1256
1263
|
//#endregion
|
|
1257
|
-
export { Classification as $, ANCESTRY_DEPENDENT_TAGS as A, SuppressionDirective as At, isTopFragment as B, formatFailedRuleWarning as C, defaultProject as Ct, KitModuleFacts as D, EffectFact as Dt, withFailedRulesOff as E, EachBlockFact as Et, NAMING_ATTRS as F, ResolvedHeadings as G, splitTokens as H, ResolvedA11y as I, HeadTag as J, ImageInfo as K, SECTIONING_TAGS as L, BranchStep as M,
|
|
1264
|
+
export { Classification as $, ANCESTRY_DEPENDENT_TAGS as A, SuppressionDirective as At, isTopFragment as B, formatFailedRuleWarning as C, defaultProject as Ct, KitModuleFacts as D, EffectFact as Dt, withFailedRulesOff as E, EachBlockFact as Et, NAMING_ATTRS as F, withReadLimit as Ft, ResolvedHeadings as G, splitTokens as H, ResolvedA11y as I, HeadTag as J, ImageInfo as K, SECTIONING_TAGS as L, BranchStep as M, emptyComponentFacts as Mt, IDREF_ATTRS as N, skippedFileWarnings as Nt, A11yOccurrenceInfo as O, OrphanEffectFact as Ot, LandmarkInput as P, Runtime as Pt, formatGithubReport as Q, decodeFragmentId as R, compileOverrides as S, defaultConfig as St, settingSeverity as T, ComponentFacts as Tt, stripTextDirective as U, resolveLandmark as V, HeadingInfo as W, isClassicScriptType as X, ResolvedHead as Y, formatMarkdownReport as Z, isPlainObject as _, RuleSettingObject as _t, HealthResult as a, CATEGORIES as at, validateRuleSetting as b, TreatDynamicAs as bt, ScoreResult as c, Detection as ct, Rule as d, Presence as dt, Summary as et, RuleContext as f, Project as ft, RuleOptionsSpec as g, RuleSetting as gt, RuleOptionSpec as h, RuleOverride as ht, formatJsonReport as i, summarize as it, ASIDE_DEMOTING_TAGS as j, collectComponentFacts as jt, A11ySkipCause as k, SourceSpan as kt, computeHealth as l, Fix as lt, isPenalized as m, RuleOptions as mt, RuleEvidence as n, effectiveSeverity as nt, ScoreModel as o, Category as ot, docsUrlFor as p, Result as pt, ResolvedImages as q, buildJsonReport as r, hasFailureAtOrAbove as rt, ScoreOptions as s, Config as st, JsonReport as t, classify as tt, computeScore as u, KitAlias as ut, resolveRuleOptions as v, Scope as vt, selectRules as w, defineConfig as wt, CompiledOverride as x, Value as xt, shouldSkipRangeCheck as y, Severity as yt, foldOccurrences as z };
|
|
@@ -4271,18 +4271,20 @@ function parseKitModuleFacts(source, filename, aliases) {
|
|
|
4271
4271
|
if (method === "set" || method === "update") {
|
|
4272
4272
|
const r = importedRoot(n.callee.object);
|
|
4273
4273
|
const spec = r ? importedSpecifiers.get(r) : void 0;
|
|
4274
|
-
if (r && spec !== void 0)
|
|
4275
|
-
|
|
4276
|
-
via: "set-call"
|
|
4277
|
-
};
|
|
4278
|
-
else {
|
|
4279
|
-
const resolved = serverRootRelativePath(spec, filename, aliases);
|
|
4280
|
-
if (resolved !== void 0 && inHandler) pendingServerStoreWrites.push({
|
|
4274
|
+
if (r && spec !== void 0) {
|
|
4275
|
+
if (isLocalStateSpecifier(spec, filename, aliases)) write = {
|
|
4281
4276
|
name: r,
|
|
4282
|
-
|
|
4283
|
-
|
|
4284
|
-
|
|
4285
|
-
|
|
4277
|
+
via: "set-call"
|
|
4278
|
+
};
|
|
4279
|
+
else {
|
|
4280
|
+
const resolved = serverRootRelativePath(spec, filename, aliases);
|
|
4281
|
+
if (resolved !== void 0 && inHandler) pendingServerStoreWrites.push({
|
|
4282
|
+
name: r,
|
|
4283
|
+
imported: importedNames.get(r) ?? r,
|
|
4284
|
+
resolved,
|
|
4285
|
+
line: line(n.start)
|
|
4286
|
+
});
|
|
4287
|
+
}
|
|
4286
4288
|
}
|
|
4287
4289
|
}
|
|
4288
4290
|
} else if (n.type === "AssignmentExpression" && (n.left?.type === "ObjectPattern" || n.left?.type === "ArrayPattern")) {
|
|
@@ -4303,14 +4305,16 @@ function parseKitModuleFacts(source, filename, aliases) {
|
|
|
4303
4305
|
};
|
|
4304
4306
|
scanPatternTargets(n.left);
|
|
4305
4307
|
}
|
|
4306
|
-
if (write)
|
|
4307
|
-
|
|
4308
|
-
|
|
4309
|
-
|
|
4310
|
-
|
|
4311
|
-
|
|
4312
|
-
|
|
4313
|
-
|
|
4308
|
+
if (write) {
|
|
4309
|
+
if (inHandler) importedStateWrites.push({
|
|
4310
|
+
...write,
|
|
4311
|
+
line: line(n.start)
|
|
4312
|
+
});
|
|
4313
|
+
else importedStateWritesOutsideHandlers.push({
|
|
4314
|
+
name: write.name,
|
|
4315
|
+
line: line(n.start)
|
|
4316
|
+
});
|
|
4317
|
+
}
|
|
4314
4318
|
if (n.type === "CallExpression" && (!inFunction || inHandler || inStartup)) {
|
|
4315
4319
|
const m = matchLifecycleCall(n, svelteImports);
|
|
4316
4320
|
if (m && !shadowed.has(m.local)) lifecycleCalls.push({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@svelte-vitals/core",
|
|
3
|
-
"version": "0.54.
|
|
3
|
+
"version": "0.54.6",
|
|
4
4
|
"description": "Shared, runtime-agnostic core for svelte-vitals (types, rule engine, scorer, reporter).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"@markuplint/html-spec": "4.18.0",
|
|
33
33
|
"@types/aria-query": "^5.0.4",
|
|
34
34
|
"@types/estree": "^1.0.9",
|
|
35
|
-
"@types/node": "^24.13.
|
|
35
|
+
"@types/node": "^24.13.4",
|
|
36
36
|
"schema-dts": "^2.0.0"
|
|
37
37
|
},
|
|
38
38
|
"exports": {
|