@sarj/eslint-plugin 15.17.17 → 15.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -181,6 +181,15 @@ interface RuleOptions {
181
181
  readonly methods?: readonly string[];
182
182
  }
183
183
 
184
+ /**
185
+ * @fileoverview _jsx-accessibility — scope-aware JSX names and accessible content are shared across rules.
186
+ */
187
+
188
+ interface ComponentImport {
189
+ readonly module: string;
190
+ readonly export: string;
191
+ }
192
+
184
193
  /**
185
194
  * @fileoverview _renames — every rule this plugin has renamed, old name to new; the old names no longer resolve, so this map is what says what to write instead.
186
195
  *
@@ -196,6 +205,11 @@ declare const RENAMED_RULES: {
196
205
  };
197
206
 
198
207
  declare const RULES: {
208
+ readonly "require-button-accessible-name": DocumentedRule<readonly [{
209
+ readonly components?: readonly ComponentImport[];
210
+ readonly iconModules?: readonly string[];
211
+ }?], "missingName">;
212
+ readonly "require-svg-accessible-name": DocumentedRule<readonly [], "missingName">;
199
213
  readonly "excessive-commentary": DocumentedRule<readonly [], "excessive">;
200
214
  readonly "iac-source-coupled-test": DocumentedRule<readonly [], "rawSourceOracle">;
201
215
  readonly "duplicate-test-body": DocumentedRule<readonly [], "duplicateTestBody">;
@@ -327,42 +341,44 @@ declare const APPLICATION_ONLY_RULES: readonly [];
327
341
  /** Rules staged as non-blocking warnings while corpus adoption evidence accumulates. */
328
342
  declare const ADVISORY_RULES: readonly ["@sarj/excessive-commentary", "@sarj/no-bespoke-api-case-conversion", "@sarj/no-detached-global-fetch", "@sarj/no-in-operator-on-built-in-collections", "@sarj/no-json-stringify-object-equality", "@sarj/no-redundant-optional-array-default", "@sarj/no-restated-comment", "@sarj/no-restated-jsdoc", "@sarj/prefer-millisecond-control-duration-schema", "@sarj/prefer-module-level-refined-schema", "@sarj/prefer-multi-value-zod-literal", "@sarj/prefer-named-callback-domain", "@sarj/prefer-named-complex-return-type", "@sarj/prefer-node-crypto-hash", "@sarj/prefer-node-fs-promises", "@sarj/prefer-nullish-filter-predicate", "@sarj/prefer-shared-zod-enum", "@sarj/prefer-switch-for-repeated-equality", "@sarj/prefer-whole-object-assertion", "@sarj/prefer-zod-parse-output-type", "@sarj/require-interface-for-exported-class", "@sarj/require-sql-access-class", "@sarj/sole-export-matches-filename"];
329
343
  declare const RECOMMENDED_RULES: {
344
+ readonly "@sarj/require-button-accessible-name": "error";
345
+ readonly "@sarj/require-svg-accessible-name": "error";
330
346
  readonly "no-restricted-imports": readonly ["error", {
331
347
  readonly paths: {
332
348
  name: "request" | "node-fetch" | "cross-fetch" | "isomorphic-fetch" | "axios" | "moment" | "dayjs" | "lodash" | "lodash-es" | "underscore" | "classnames" | "joi" | "yup" | "superstruct" | "io-ts" | "runtypes" | "jsonwebtoken" | "express" | "koa" | "jest" | "mocha" | "sinon" | "commander" | "yargs" | "bluebird" | "rimraf" | "fs-extra" | "abort-controller" | "querystring" | "dotenv" | "chalk" | "faker" | "node-sass" | "tslint";
333
- message: "Standards standardizes HTTP clients on Ky; review errors, retries, hooks, and response parsing." | "Standards standardizes date utilities on date-fns; migration is not API-compatible." | "Standards standardizes collection utilities on Remeda and native APIs." | "Use clsx for conditional class-name composition." | "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible." | "Use jose; review key formats and async signing and verification APIs." | "Standards standardizes servers on Hono; Node deployments also need @hono/node-server." | "Standards standardizes tests on Vitest; review globals, timers, mocks, and environment setup." | "Use Vitest spies, mocks, and fake timers instead of Sinon." | "Standards standardizes command-line interfaces on citty." | "Use native Promise, adding p-limit or p-map only for the extensions actually needed." | "Prefer node:fs/promises; verify recursive removal, copy, path, and error semantics." | "Node 22 provides global AbortController." | "Use URLSearchParams and explicitly review repeated keys, escaping, arrays, and object coercion." | "Standards standardizes environment loading on @dotenvx/dotenvx." | "Use picocolors for terminal colors." | "The original faker package is abandoned; use @faker-js/faker." | "node-sass is end-of-life; use Dart Sass." | "TSLint is deprecated; use ESLint with typescript-eslint.";
349
+ message: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration." | "Standards standardizes date utilities on date-fns; migration is not API-compatible." | "Standards standardizes collection utilities on Remeda and native APIs." | "Use clsx for conditional class-name composition." | "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible." | "Use jose; review key formats and async signing and verification APIs." | "Standards standardizes servers on Hono; Node deployments also need @hono/node-server." | "Standards standardizes tests on Vitest; review globals, timers, mocks, and environment setup." | "Use Vitest spies, mocks, and fake timers instead of Sinon." | "Standards standardizes command-line interfaces on citty." | "Use native Promise, adding p-limit or p-map only for the extensions actually needed." | "Prefer node:fs/promises; verify recursive removal, copy, path, and error semantics." | "Node 22 provides global AbortController." | "Use URLSearchParams and explicitly review repeated keys, escaping, arrays, and object coercion." | "Standards standardizes environment loading on @dotenvx/dotenvx." | "Use picocolors for terminal colors." | "The original faker package is abandoned; use @faker-js/faker." | "node-sass is end-of-life; use Dart Sass." | "TSLint is deprecated; use ESLint with typescript-eslint.";
334
350
  }[];
335
351
  readonly patterns: {
336
352
  group: string[];
337
- message: "Standards standardizes HTTP clients on Ky; review errors, retries, hooks, and response parsing." | "Standards standardizes date utilities on date-fns; migration is not API-compatible." | "Standards standardizes collection utilities on Remeda and native APIs." | "Use clsx for conditional class-name composition." | "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible." | "Use jose; review key formats and async signing and verification APIs." | "Standards standardizes servers on Hono; Node deployments also need @hono/node-server." | "Standards standardizes tests on Vitest; review globals, timers, mocks, and environment setup." | "Use Vitest spies, mocks, and fake timers instead of Sinon." | "Standards standardizes command-line interfaces on citty." | "Use native Promise, adding p-limit or p-map only for the extensions actually needed." | "Prefer node:fs/promises; verify recursive removal, copy, path, and error semantics." | "Node 22 provides global AbortController." | "Use URLSearchParams and explicitly review repeated keys, escaping, arrays, and object coercion." | "Standards standardizes environment loading on @dotenvx/dotenvx." | "Use picocolors for terminal colors." | "The original faker package is abandoned; use @faker-js/faker." | "node-sass is end-of-life; use Dart Sass." | "TSLint is deprecated; use ESLint with typescript-eslint.";
353
+ message: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration." | "Standards standardizes date utilities on date-fns; migration is not API-compatible." | "Standards standardizes collection utilities on Remeda and native APIs." | "Use clsx for conditional class-name composition." | "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible." | "Use jose; review key formats and async signing and verification APIs." | "Standards standardizes servers on Hono; Node deployments also need @hono/node-server." | "Standards standardizes tests on Vitest; review globals, timers, mocks, and environment setup." | "Use Vitest spies, mocks, and fake timers instead of Sinon." | "Standards standardizes command-line interfaces on citty." | "Use native Promise, adding p-limit or p-map only for the extensions actually needed." | "Prefer node:fs/promises; verify recursive removal, copy, path, and error semantics." | "Node 22 provides global AbortController." | "Use URLSearchParams and explicitly review repeated keys, escaping, arrays, and object coercion." | "Standards standardizes environment loading on @dotenvx/dotenvx." | "Use picocolors for terminal colors." | "The original faker package is abandoned; use @faker-js/faker." | "node-sass is end-of-life; use Dart Sass." | "TSLint is deprecated; use ESLint with typescript-eslint.";
338
354
  }[];
339
355
  }];
340
356
  readonly "@sarj/no-restricted-library-load": readonly ["error", {
341
357
  readonly libraries: readonly [{
342
358
  readonly id: "LIB101";
343
359
  readonly module: "request";
344
- readonly note: "Standards standardizes HTTP clients on Ky; review errors, retries, hooks, and response parsing.";
345
- readonly replacement: "ky";
360
+ readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
361
+ readonly replacement: "native fetch";
346
362
  }, {
347
363
  readonly id: "LIB101";
348
364
  readonly module: "node-fetch";
349
- readonly note: "Standards standardizes HTTP clients on Ky; review errors, retries, hooks, and response parsing.";
350
- readonly replacement: "ky";
365
+ readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
366
+ readonly replacement: "native fetch";
351
367
  }, {
352
368
  readonly id: "LIB101";
353
369
  readonly module: "cross-fetch";
354
- readonly note: "Standards standardizes HTTP clients on Ky; review errors, retries, hooks, and response parsing.";
355
- readonly replacement: "ky";
370
+ readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
371
+ readonly replacement: "native fetch";
356
372
  }, {
357
373
  readonly id: "LIB101";
358
374
  readonly module: "isomorphic-fetch";
359
- readonly note: "Standards standardizes HTTP clients on Ky; review errors, retries, hooks, and response parsing.";
360
- readonly replacement: "ky";
375
+ readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
376
+ readonly replacement: "native fetch";
361
377
  }, {
362
378
  readonly id: "LIB101";
363
379
  readonly module: "axios";
364
- readonly note: "Standards standardizes HTTP clients on Ky; review errors, retries, hooks, and response parsing.";
365
- readonly replacement: "ky";
380
+ readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
381
+ readonly replacement: "native fetch";
366
382
  }, {
367
383
  readonly id: "LIB102";
368
384
  readonly module: "moment";
@@ -612,42 +628,44 @@ declare const RECOMMENDED_RULES: {
612
628
  readonly "@sarj/require-pascal-case-zod-schema-name": "error";
613
629
  };
614
630
  declare const STRICT_RULES: {
631
+ readonly "@sarj/require-button-accessible-name": "error";
632
+ readonly "@sarj/require-svg-accessible-name": "error";
615
633
  readonly "no-restricted-imports": readonly ["error", {
616
634
  readonly paths: {
617
635
  name: "request" | "node-fetch" | "cross-fetch" | "isomorphic-fetch" | "axios" | "moment" | "dayjs" | "lodash" | "lodash-es" | "underscore" | "classnames" | "joi" | "yup" | "superstruct" | "io-ts" | "runtypes" | "jsonwebtoken" | "express" | "koa" | "jest" | "mocha" | "sinon" | "commander" | "yargs" | "bluebird" | "rimraf" | "fs-extra" | "abort-controller" | "querystring" | "dotenv" | "chalk" | "faker" | "node-sass" | "tslint";
618
- message: "Standards standardizes HTTP clients on Ky; review errors, retries, hooks, and response parsing." | "Standards standardizes date utilities on date-fns; migration is not API-compatible." | "Standards standardizes collection utilities on Remeda and native APIs." | "Use clsx for conditional class-name composition." | "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible." | "Use jose; review key formats and async signing and verification APIs." | "Standards standardizes servers on Hono; Node deployments also need @hono/node-server." | "Standards standardizes tests on Vitest; review globals, timers, mocks, and environment setup." | "Use Vitest spies, mocks, and fake timers instead of Sinon." | "Standards standardizes command-line interfaces on citty." | "Use native Promise, adding p-limit or p-map only for the extensions actually needed." | "Prefer node:fs/promises; verify recursive removal, copy, path, and error semantics." | "Node 22 provides global AbortController." | "Use URLSearchParams and explicitly review repeated keys, escaping, arrays, and object coercion." | "Standards standardizes environment loading on @dotenvx/dotenvx." | "Use picocolors for terminal colors." | "The original faker package is abandoned; use @faker-js/faker." | "node-sass is end-of-life; use Dart Sass." | "TSLint is deprecated; use ESLint with typescript-eslint.";
636
+ message: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration." | "Standards standardizes date utilities on date-fns; migration is not API-compatible." | "Standards standardizes collection utilities on Remeda and native APIs." | "Use clsx for conditional class-name composition." | "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible." | "Use jose; review key formats and async signing and verification APIs." | "Standards standardizes servers on Hono; Node deployments also need @hono/node-server." | "Standards standardizes tests on Vitest; review globals, timers, mocks, and environment setup." | "Use Vitest spies, mocks, and fake timers instead of Sinon." | "Standards standardizes command-line interfaces on citty." | "Use native Promise, adding p-limit or p-map only for the extensions actually needed." | "Prefer node:fs/promises; verify recursive removal, copy, path, and error semantics." | "Node 22 provides global AbortController." | "Use URLSearchParams and explicitly review repeated keys, escaping, arrays, and object coercion." | "Standards standardizes environment loading on @dotenvx/dotenvx." | "Use picocolors for terminal colors." | "The original faker package is abandoned; use @faker-js/faker." | "node-sass is end-of-life; use Dart Sass." | "TSLint is deprecated; use ESLint with typescript-eslint.";
619
637
  }[];
620
638
  readonly patterns: {
621
639
  group: string[];
622
- message: "Standards standardizes HTTP clients on Ky; review errors, retries, hooks, and response parsing." | "Standards standardizes date utilities on date-fns; migration is not API-compatible." | "Standards standardizes collection utilities on Remeda and native APIs." | "Use clsx for conditional class-name composition." | "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible." | "Use jose; review key formats and async signing and verification APIs." | "Standards standardizes servers on Hono; Node deployments also need @hono/node-server." | "Standards standardizes tests on Vitest; review globals, timers, mocks, and environment setup." | "Use Vitest spies, mocks, and fake timers instead of Sinon." | "Standards standardizes command-line interfaces on citty." | "Use native Promise, adding p-limit or p-map only for the extensions actually needed." | "Prefer node:fs/promises; verify recursive removal, copy, path, and error semantics." | "Node 22 provides global AbortController." | "Use URLSearchParams and explicitly review repeated keys, escaping, arrays, and object coercion." | "Standards standardizes environment loading on @dotenvx/dotenvx." | "Use picocolors for terminal colors." | "The original faker package is abandoned; use @faker-js/faker." | "node-sass is end-of-life; use Dart Sass." | "TSLint is deprecated; use ESLint with typescript-eslint.";
640
+ message: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration." | "Standards standardizes date utilities on date-fns; migration is not API-compatible." | "Standards standardizes collection utilities on Remeda and native APIs." | "Use clsx for conditional class-name composition." | "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible." | "Use jose; review key formats and async signing and verification APIs." | "Standards standardizes servers on Hono; Node deployments also need @hono/node-server." | "Standards standardizes tests on Vitest; review globals, timers, mocks, and environment setup." | "Use Vitest spies, mocks, and fake timers instead of Sinon." | "Standards standardizes command-line interfaces on citty." | "Use native Promise, adding p-limit or p-map only for the extensions actually needed." | "Prefer node:fs/promises; verify recursive removal, copy, path, and error semantics." | "Node 22 provides global AbortController." | "Use URLSearchParams and explicitly review repeated keys, escaping, arrays, and object coercion." | "Standards standardizes environment loading on @dotenvx/dotenvx." | "Use picocolors for terminal colors." | "The original faker package is abandoned; use @faker-js/faker." | "node-sass is end-of-life; use Dart Sass." | "TSLint is deprecated; use ESLint with typescript-eslint.";
623
641
  }[];
624
642
  }];
625
643
  readonly "@sarj/no-restricted-library-load": readonly ["error", {
626
644
  readonly libraries: readonly [{
627
645
  readonly id: "LIB101";
628
646
  readonly module: "request";
629
- readonly note: "Standards standardizes HTTP clients on Ky; review errors, retries, hooks, and response parsing.";
630
- readonly replacement: "ky";
647
+ readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
648
+ readonly replacement: "native fetch";
631
649
  }, {
632
650
  readonly id: "LIB101";
633
651
  readonly module: "node-fetch";
634
- readonly note: "Standards standardizes HTTP clients on Ky; review errors, retries, hooks, and response parsing.";
635
- readonly replacement: "ky";
652
+ readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
653
+ readonly replacement: "native fetch";
636
654
  }, {
637
655
  readonly id: "LIB101";
638
656
  readonly module: "cross-fetch";
639
- readonly note: "Standards standardizes HTTP clients on Ky; review errors, retries, hooks, and response parsing.";
640
- readonly replacement: "ky";
657
+ readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
658
+ readonly replacement: "native fetch";
641
659
  }, {
642
660
  readonly id: "LIB101";
643
661
  readonly module: "isomorphic-fetch";
644
- readonly note: "Standards standardizes HTTP clients on Ky; review errors, retries, hooks, and response parsing.";
645
- readonly replacement: "ky";
662
+ readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
663
+ readonly replacement: "native fetch";
646
664
  }, {
647
665
  readonly id: "LIB101";
648
666
  readonly module: "axios";
649
- readonly note: "Standards standardizes HTTP clients on Ky; review errors, retries, hooks, and response parsing.";
650
- readonly replacement: "ky";
667
+ readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
668
+ readonly replacement: "native fetch";
651
669
  }, {
652
670
  readonly id: "LIB102";
653
671
  readonly module: "moment";
@@ -908,9 +926,14 @@ type FlatPreset = {
908
926
  declare const PLUGIN: {
909
927
  readonly meta: {
910
928
  readonly name: "@sarj/eslint-plugin";
911
- readonly version: "15.17.17";
929
+ readonly version: "15.19.0";
912
930
  };
913
931
  readonly rules: {
932
+ readonly "require-button-accessible-name": DocumentedRule<readonly [{
933
+ readonly components?: readonly ComponentImport[];
934
+ readonly iconModules?: readonly string[];
935
+ }?], "missingName">;
936
+ readonly "require-svg-accessible-name": DocumentedRule<readonly [], "missingName">;
914
937
  readonly "excessive-commentary": DocumentedRule<readonly [], "excessive">;
915
938
  readonly "iac-source-coupled-test": DocumentedRule<readonly [], "rawSourceOracle">;
916
939
  readonly "duplicate-test-body": DocumentedRule<readonly [], "duplicateTestBody">;
package/dist/index.d.ts CHANGED
@@ -181,6 +181,15 @@ interface RuleOptions {
181
181
  readonly methods?: readonly string[];
182
182
  }
183
183
 
184
+ /**
185
+ * @fileoverview _jsx-accessibility — scope-aware JSX names and accessible content are shared across rules.
186
+ */
187
+
188
+ interface ComponentImport {
189
+ readonly module: string;
190
+ readonly export: string;
191
+ }
192
+
184
193
  /**
185
194
  * @fileoverview _renames — every rule this plugin has renamed, old name to new; the old names no longer resolve, so this map is what says what to write instead.
186
195
  *
@@ -196,6 +205,11 @@ declare const RENAMED_RULES: {
196
205
  };
197
206
 
198
207
  declare const RULES: {
208
+ readonly "require-button-accessible-name": DocumentedRule<readonly [{
209
+ readonly components?: readonly ComponentImport[];
210
+ readonly iconModules?: readonly string[];
211
+ }?], "missingName">;
212
+ readonly "require-svg-accessible-name": DocumentedRule<readonly [], "missingName">;
199
213
  readonly "excessive-commentary": DocumentedRule<readonly [], "excessive">;
200
214
  readonly "iac-source-coupled-test": DocumentedRule<readonly [], "rawSourceOracle">;
201
215
  readonly "duplicate-test-body": DocumentedRule<readonly [], "duplicateTestBody">;
@@ -327,42 +341,44 @@ declare const APPLICATION_ONLY_RULES: readonly [];
327
341
  /** Rules staged as non-blocking warnings while corpus adoption evidence accumulates. */
328
342
  declare const ADVISORY_RULES: readonly ["@sarj/excessive-commentary", "@sarj/no-bespoke-api-case-conversion", "@sarj/no-detached-global-fetch", "@sarj/no-in-operator-on-built-in-collections", "@sarj/no-json-stringify-object-equality", "@sarj/no-redundant-optional-array-default", "@sarj/no-restated-comment", "@sarj/no-restated-jsdoc", "@sarj/prefer-millisecond-control-duration-schema", "@sarj/prefer-module-level-refined-schema", "@sarj/prefer-multi-value-zod-literal", "@sarj/prefer-named-callback-domain", "@sarj/prefer-named-complex-return-type", "@sarj/prefer-node-crypto-hash", "@sarj/prefer-node-fs-promises", "@sarj/prefer-nullish-filter-predicate", "@sarj/prefer-shared-zod-enum", "@sarj/prefer-switch-for-repeated-equality", "@sarj/prefer-whole-object-assertion", "@sarj/prefer-zod-parse-output-type", "@sarj/require-interface-for-exported-class", "@sarj/require-sql-access-class", "@sarj/sole-export-matches-filename"];
329
343
  declare const RECOMMENDED_RULES: {
344
+ readonly "@sarj/require-button-accessible-name": "error";
345
+ readonly "@sarj/require-svg-accessible-name": "error";
330
346
  readonly "no-restricted-imports": readonly ["error", {
331
347
  readonly paths: {
332
348
  name: "request" | "node-fetch" | "cross-fetch" | "isomorphic-fetch" | "axios" | "moment" | "dayjs" | "lodash" | "lodash-es" | "underscore" | "classnames" | "joi" | "yup" | "superstruct" | "io-ts" | "runtypes" | "jsonwebtoken" | "express" | "koa" | "jest" | "mocha" | "sinon" | "commander" | "yargs" | "bluebird" | "rimraf" | "fs-extra" | "abort-controller" | "querystring" | "dotenv" | "chalk" | "faker" | "node-sass" | "tslint";
333
- message: "Standards standardizes HTTP clients on Ky; review errors, retries, hooks, and response parsing." | "Standards standardizes date utilities on date-fns; migration is not API-compatible." | "Standards standardizes collection utilities on Remeda and native APIs." | "Use clsx for conditional class-name composition." | "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible." | "Use jose; review key formats and async signing and verification APIs." | "Standards standardizes servers on Hono; Node deployments also need @hono/node-server." | "Standards standardizes tests on Vitest; review globals, timers, mocks, and environment setup." | "Use Vitest spies, mocks, and fake timers instead of Sinon." | "Standards standardizes command-line interfaces on citty." | "Use native Promise, adding p-limit or p-map only for the extensions actually needed." | "Prefer node:fs/promises; verify recursive removal, copy, path, and error semantics." | "Node 22 provides global AbortController." | "Use URLSearchParams and explicitly review repeated keys, escaping, arrays, and object coercion." | "Standards standardizes environment loading on @dotenvx/dotenvx." | "Use picocolors for terminal colors." | "The original faker package is abandoned; use @faker-js/faker." | "node-sass is end-of-life; use Dart Sass." | "TSLint is deprecated; use ESLint with typescript-eslint.";
349
+ message: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration." | "Standards standardizes date utilities on date-fns; migration is not API-compatible." | "Standards standardizes collection utilities on Remeda and native APIs." | "Use clsx for conditional class-name composition." | "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible." | "Use jose; review key formats and async signing and verification APIs." | "Standards standardizes servers on Hono; Node deployments also need @hono/node-server." | "Standards standardizes tests on Vitest; review globals, timers, mocks, and environment setup." | "Use Vitest spies, mocks, and fake timers instead of Sinon." | "Standards standardizes command-line interfaces on citty." | "Use native Promise, adding p-limit or p-map only for the extensions actually needed." | "Prefer node:fs/promises; verify recursive removal, copy, path, and error semantics." | "Node 22 provides global AbortController." | "Use URLSearchParams and explicitly review repeated keys, escaping, arrays, and object coercion." | "Standards standardizes environment loading on @dotenvx/dotenvx." | "Use picocolors for terminal colors." | "The original faker package is abandoned; use @faker-js/faker." | "node-sass is end-of-life; use Dart Sass." | "TSLint is deprecated; use ESLint with typescript-eslint.";
334
350
  }[];
335
351
  readonly patterns: {
336
352
  group: string[];
337
- message: "Standards standardizes HTTP clients on Ky; review errors, retries, hooks, and response parsing." | "Standards standardizes date utilities on date-fns; migration is not API-compatible." | "Standards standardizes collection utilities on Remeda and native APIs." | "Use clsx for conditional class-name composition." | "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible." | "Use jose; review key formats and async signing and verification APIs." | "Standards standardizes servers on Hono; Node deployments also need @hono/node-server." | "Standards standardizes tests on Vitest; review globals, timers, mocks, and environment setup." | "Use Vitest spies, mocks, and fake timers instead of Sinon." | "Standards standardizes command-line interfaces on citty." | "Use native Promise, adding p-limit or p-map only for the extensions actually needed." | "Prefer node:fs/promises; verify recursive removal, copy, path, and error semantics." | "Node 22 provides global AbortController." | "Use URLSearchParams and explicitly review repeated keys, escaping, arrays, and object coercion." | "Standards standardizes environment loading on @dotenvx/dotenvx." | "Use picocolors for terminal colors." | "The original faker package is abandoned; use @faker-js/faker." | "node-sass is end-of-life; use Dart Sass." | "TSLint is deprecated; use ESLint with typescript-eslint.";
353
+ message: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration." | "Standards standardizes date utilities on date-fns; migration is not API-compatible." | "Standards standardizes collection utilities on Remeda and native APIs." | "Use clsx for conditional class-name composition." | "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible." | "Use jose; review key formats and async signing and verification APIs." | "Standards standardizes servers on Hono; Node deployments also need @hono/node-server." | "Standards standardizes tests on Vitest; review globals, timers, mocks, and environment setup." | "Use Vitest spies, mocks, and fake timers instead of Sinon." | "Standards standardizes command-line interfaces on citty." | "Use native Promise, adding p-limit or p-map only for the extensions actually needed." | "Prefer node:fs/promises; verify recursive removal, copy, path, and error semantics." | "Node 22 provides global AbortController." | "Use URLSearchParams and explicitly review repeated keys, escaping, arrays, and object coercion." | "Standards standardizes environment loading on @dotenvx/dotenvx." | "Use picocolors for terminal colors." | "The original faker package is abandoned; use @faker-js/faker." | "node-sass is end-of-life; use Dart Sass." | "TSLint is deprecated; use ESLint with typescript-eslint.";
338
354
  }[];
339
355
  }];
340
356
  readonly "@sarj/no-restricted-library-load": readonly ["error", {
341
357
  readonly libraries: readonly [{
342
358
  readonly id: "LIB101";
343
359
  readonly module: "request";
344
- readonly note: "Standards standardizes HTTP clients on Ky; review errors, retries, hooks, and response parsing.";
345
- readonly replacement: "ky";
360
+ readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
361
+ readonly replacement: "native fetch";
346
362
  }, {
347
363
  readonly id: "LIB101";
348
364
  readonly module: "node-fetch";
349
- readonly note: "Standards standardizes HTTP clients on Ky; review errors, retries, hooks, and response parsing.";
350
- readonly replacement: "ky";
365
+ readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
366
+ readonly replacement: "native fetch";
351
367
  }, {
352
368
  readonly id: "LIB101";
353
369
  readonly module: "cross-fetch";
354
- readonly note: "Standards standardizes HTTP clients on Ky; review errors, retries, hooks, and response parsing.";
355
- readonly replacement: "ky";
370
+ readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
371
+ readonly replacement: "native fetch";
356
372
  }, {
357
373
  readonly id: "LIB101";
358
374
  readonly module: "isomorphic-fetch";
359
- readonly note: "Standards standardizes HTTP clients on Ky; review errors, retries, hooks, and response parsing.";
360
- readonly replacement: "ky";
375
+ readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
376
+ readonly replacement: "native fetch";
361
377
  }, {
362
378
  readonly id: "LIB101";
363
379
  readonly module: "axios";
364
- readonly note: "Standards standardizes HTTP clients on Ky; review errors, retries, hooks, and response parsing.";
365
- readonly replacement: "ky";
380
+ readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
381
+ readonly replacement: "native fetch";
366
382
  }, {
367
383
  readonly id: "LIB102";
368
384
  readonly module: "moment";
@@ -612,42 +628,44 @@ declare const RECOMMENDED_RULES: {
612
628
  readonly "@sarj/require-pascal-case-zod-schema-name": "error";
613
629
  };
614
630
  declare const STRICT_RULES: {
631
+ readonly "@sarj/require-button-accessible-name": "error";
632
+ readonly "@sarj/require-svg-accessible-name": "error";
615
633
  readonly "no-restricted-imports": readonly ["error", {
616
634
  readonly paths: {
617
635
  name: "request" | "node-fetch" | "cross-fetch" | "isomorphic-fetch" | "axios" | "moment" | "dayjs" | "lodash" | "lodash-es" | "underscore" | "classnames" | "joi" | "yup" | "superstruct" | "io-ts" | "runtypes" | "jsonwebtoken" | "express" | "koa" | "jest" | "mocha" | "sinon" | "commander" | "yargs" | "bluebird" | "rimraf" | "fs-extra" | "abort-controller" | "querystring" | "dotenv" | "chalk" | "faker" | "node-sass" | "tslint";
618
- message: "Standards standardizes HTTP clients on Ky; review errors, retries, hooks, and response parsing." | "Standards standardizes date utilities on date-fns; migration is not API-compatible." | "Standards standardizes collection utilities on Remeda and native APIs." | "Use clsx for conditional class-name composition." | "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible." | "Use jose; review key formats and async signing and verification APIs." | "Standards standardizes servers on Hono; Node deployments also need @hono/node-server." | "Standards standardizes tests on Vitest; review globals, timers, mocks, and environment setup." | "Use Vitest spies, mocks, and fake timers instead of Sinon." | "Standards standardizes command-line interfaces on citty." | "Use native Promise, adding p-limit or p-map only for the extensions actually needed." | "Prefer node:fs/promises; verify recursive removal, copy, path, and error semantics." | "Node 22 provides global AbortController." | "Use URLSearchParams and explicitly review repeated keys, escaping, arrays, and object coercion." | "Standards standardizes environment loading on @dotenvx/dotenvx." | "Use picocolors for terminal colors." | "The original faker package is abandoned; use @faker-js/faker." | "node-sass is end-of-life; use Dart Sass." | "TSLint is deprecated; use ESLint with typescript-eslint.";
636
+ message: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration." | "Standards standardizes date utilities on date-fns; migration is not API-compatible." | "Standards standardizes collection utilities on Remeda and native APIs." | "Use clsx for conditional class-name composition." | "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible." | "Use jose; review key formats and async signing and verification APIs." | "Standards standardizes servers on Hono; Node deployments also need @hono/node-server." | "Standards standardizes tests on Vitest; review globals, timers, mocks, and environment setup." | "Use Vitest spies, mocks, and fake timers instead of Sinon." | "Standards standardizes command-line interfaces on citty." | "Use native Promise, adding p-limit or p-map only for the extensions actually needed." | "Prefer node:fs/promises; verify recursive removal, copy, path, and error semantics." | "Node 22 provides global AbortController." | "Use URLSearchParams and explicitly review repeated keys, escaping, arrays, and object coercion." | "Standards standardizes environment loading on @dotenvx/dotenvx." | "Use picocolors for terminal colors." | "The original faker package is abandoned; use @faker-js/faker." | "node-sass is end-of-life; use Dart Sass." | "TSLint is deprecated; use ESLint with typescript-eslint.";
619
637
  }[];
620
638
  readonly patterns: {
621
639
  group: string[];
622
- message: "Standards standardizes HTTP clients on Ky; review errors, retries, hooks, and response parsing." | "Standards standardizes date utilities on date-fns; migration is not API-compatible." | "Standards standardizes collection utilities on Remeda and native APIs." | "Use clsx for conditional class-name composition." | "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible." | "Use jose; review key formats and async signing and verification APIs." | "Standards standardizes servers on Hono; Node deployments also need @hono/node-server." | "Standards standardizes tests on Vitest; review globals, timers, mocks, and environment setup." | "Use Vitest spies, mocks, and fake timers instead of Sinon." | "Standards standardizes command-line interfaces on citty." | "Use native Promise, adding p-limit or p-map only for the extensions actually needed." | "Prefer node:fs/promises; verify recursive removal, copy, path, and error semantics." | "Node 22 provides global AbortController." | "Use URLSearchParams and explicitly review repeated keys, escaping, arrays, and object coercion." | "Standards standardizes environment loading on @dotenvx/dotenvx." | "Use picocolors for terminal colors." | "The original faker package is abandoned; use @faker-js/faker." | "node-sass is end-of-life; use Dart Sass." | "TSLint is deprecated; use ESLint with typescript-eslint.";
640
+ message: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration." | "Standards standardizes date utilities on date-fns; migration is not API-compatible." | "Standards standardizes collection utilities on Remeda and native APIs." | "Use clsx for conditional class-name composition." | "Standards standardizes runtime validation on Zod; schemas are not drop-in compatible." | "Use jose; review key formats and async signing and verification APIs." | "Standards standardizes servers on Hono; Node deployments also need @hono/node-server." | "Standards standardizes tests on Vitest; review globals, timers, mocks, and environment setup." | "Use Vitest spies, mocks, and fake timers instead of Sinon." | "Standards standardizes command-line interfaces on citty." | "Use native Promise, adding p-limit or p-map only for the extensions actually needed." | "Prefer node:fs/promises; verify recursive removal, copy, path, and error semantics." | "Node 22 provides global AbortController." | "Use URLSearchParams and explicitly review repeated keys, escaping, arrays, and object coercion." | "Standards standardizes environment loading on @dotenvx/dotenvx." | "Use picocolors for terminal colors." | "The original faker package is abandoned; use @faker-js/faker." | "node-sass is end-of-life; use Dart Sass." | "TSLint is deprecated; use ESLint with typescript-eslint.";
623
641
  }[];
624
642
  }];
625
643
  readonly "@sarj/no-restricted-library-load": readonly ["error", {
626
644
  readonly libraries: readonly [{
627
645
  readonly id: "LIB101";
628
646
  readonly module: "request";
629
- readonly note: "Standards standardizes HTTP clients on Ky; review errors, retries, hooks, and response parsing.";
630
- readonly replacement: "ky";
647
+ readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
648
+ readonly replacement: "native fetch";
631
649
  }, {
632
650
  readonly id: "LIB101";
633
651
  readonly module: "node-fetch";
634
- readonly note: "Standards standardizes HTTP clients on Ky; review errors, retries, hooks, and response parsing.";
635
- readonly replacement: "ky";
652
+ readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
653
+ readonly replacement: "native fetch";
636
654
  }, {
637
655
  readonly id: "LIB101";
638
656
  readonly module: "cross-fetch";
639
- readonly note: "Standards standardizes HTTP clients on Ky; review errors, retries, hooks, and response parsing.";
640
- readonly replacement: "ky";
657
+ readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
658
+ readonly replacement: "native fetch";
641
659
  }, {
642
660
  readonly id: "LIB101";
643
661
  readonly module: "isomorphic-fetch";
644
- readonly note: "Standards standardizes HTTP clients on Ky; review errors, retries, hooks, and response parsing.";
645
- readonly replacement: "ky";
662
+ readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
663
+ readonly replacement: "native fetch";
646
664
  }, {
647
665
  readonly id: "LIB101";
648
666
  readonly module: "axios";
649
- readonly note: "Standards standardizes HTTP clients on Ky; review errors, retries, hooks, and response parsing.";
650
- readonly replacement: "ky";
667
+ readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
668
+ readonly replacement: "native fetch";
651
669
  }, {
652
670
  readonly id: "LIB102";
653
671
  readonly module: "moment";
@@ -908,9 +926,14 @@ type FlatPreset = {
908
926
  declare const PLUGIN: {
909
927
  readonly meta: {
910
928
  readonly name: "@sarj/eslint-plugin";
911
- readonly version: "15.17.17";
929
+ readonly version: "15.19.0";
912
930
  };
913
931
  readonly rules: {
932
+ readonly "require-button-accessible-name": DocumentedRule<readonly [{
933
+ readonly components?: readonly ComponentImport[];
934
+ readonly iconModules?: readonly string[];
935
+ }?], "missingName">;
936
+ readonly "require-svg-accessible-name": DocumentedRule<readonly [], "missingName">;
914
937
  readonly "excessive-commentary": DocumentedRule<readonly [], "excessive">;
915
938
  readonly "iac-source-coupled-test": DocumentedRule<readonly [], "rawSourceOracle">;
916
939
  readonly "duplicate-test-body": DocumentedRule<readonly [], "duplicateTestBody">;