@sarj/eslint-plugin 15.17.16 → 15.17.18
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.cjs +477 -204
- package/dist/index.d.cts +25 -25
- package/dist/index.d.ts +25 -25
- package/dist/index.js +648 -372
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -330,39 +330,39 @@ declare const RECOMMENDED_RULES: {
|
|
|
330
330
|
readonly "no-restricted-imports": readonly ["error", {
|
|
331
331
|
readonly paths: {
|
|
332
332
|
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: "
|
|
333
|
+
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
334
|
}[];
|
|
335
335
|
readonly patterns: {
|
|
336
336
|
group: string[];
|
|
337
|
-
message: "
|
|
337
|
+
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
338
|
}[];
|
|
339
339
|
}];
|
|
340
340
|
readonly "@sarj/no-restricted-library-load": readonly ["error", {
|
|
341
341
|
readonly libraries: readonly [{
|
|
342
342
|
readonly id: "LIB101";
|
|
343
343
|
readonly module: "request";
|
|
344
|
-
readonly note: "
|
|
345
|
-
readonly replacement: "
|
|
344
|
+
readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
|
|
345
|
+
readonly replacement: "native fetch";
|
|
346
346
|
}, {
|
|
347
347
|
readonly id: "LIB101";
|
|
348
348
|
readonly module: "node-fetch";
|
|
349
|
-
readonly note: "
|
|
350
|
-
readonly replacement: "
|
|
349
|
+
readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
|
|
350
|
+
readonly replacement: "native fetch";
|
|
351
351
|
}, {
|
|
352
352
|
readonly id: "LIB101";
|
|
353
353
|
readonly module: "cross-fetch";
|
|
354
|
-
readonly note: "
|
|
355
|
-
readonly replacement: "
|
|
354
|
+
readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
|
|
355
|
+
readonly replacement: "native fetch";
|
|
356
356
|
}, {
|
|
357
357
|
readonly id: "LIB101";
|
|
358
358
|
readonly module: "isomorphic-fetch";
|
|
359
|
-
readonly note: "
|
|
360
|
-
readonly replacement: "
|
|
359
|
+
readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
|
|
360
|
+
readonly replacement: "native fetch";
|
|
361
361
|
}, {
|
|
362
362
|
readonly id: "LIB101";
|
|
363
363
|
readonly module: "axios";
|
|
364
|
-
readonly note: "
|
|
365
|
-
readonly replacement: "
|
|
364
|
+
readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
|
|
365
|
+
readonly replacement: "native fetch";
|
|
366
366
|
}, {
|
|
367
367
|
readonly id: "LIB102";
|
|
368
368
|
readonly module: "moment";
|
|
@@ -615,39 +615,39 @@ declare const STRICT_RULES: {
|
|
|
615
615
|
readonly "no-restricted-imports": readonly ["error", {
|
|
616
616
|
readonly paths: {
|
|
617
617
|
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: "
|
|
618
|
+
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
619
|
}[];
|
|
620
620
|
readonly patterns: {
|
|
621
621
|
group: string[];
|
|
622
|
-
message: "
|
|
622
|
+
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
623
|
}[];
|
|
624
624
|
}];
|
|
625
625
|
readonly "@sarj/no-restricted-library-load": readonly ["error", {
|
|
626
626
|
readonly libraries: readonly [{
|
|
627
627
|
readonly id: "LIB101";
|
|
628
628
|
readonly module: "request";
|
|
629
|
-
readonly note: "
|
|
630
|
-
readonly replacement: "
|
|
629
|
+
readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
|
|
630
|
+
readonly replacement: "native fetch";
|
|
631
631
|
}, {
|
|
632
632
|
readonly id: "LIB101";
|
|
633
633
|
readonly module: "node-fetch";
|
|
634
|
-
readonly note: "
|
|
635
|
-
readonly replacement: "
|
|
634
|
+
readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
|
|
635
|
+
readonly replacement: "native fetch";
|
|
636
636
|
}, {
|
|
637
637
|
readonly id: "LIB101";
|
|
638
638
|
readonly module: "cross-fetch";
|
|
639
|
-
readonly note: "
|
|
640
|
-
readonly replacement: "
|
|
639
|
+
readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
|
|
640
|
+
readonly replacement: "native fetch";
|
|
641
641
|
}, {
|
|
642
642
|
readonly id: "LIB101";
|
|
643
643
|
readonly module: "isomorphic-fetch";
|
|
644
|
-
readonly note: "
|
|
645
|
-
readonly replacement: "
|
|
644
|
+
readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
|
|
645
|
+
readonly replacement: "native fetch";
|
|
646
646
|
}, {
|
|
647
647
|
readonly id: "LIB101";
|
|
648
648
|
readonly module: "axios";
|
|
649
|
-
readonly note: "
|
|
650
|
-
readonly replacement: "
|
|
649
|
+
readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
|
|
650
|
+
readonly replacement: "native fetch";
|
|
651
651
|
}, {
|
|
652
652
|
readonly id: "LIB102";
|
|
653
653
|
readonly module: "moment";
|
|
@@ -908,7 +908,7 @@ type FlatPreset = {
|
|
|
908
908
|
declare const PLUGIN: {
|
|
909
909
|
readonly meta: {
|
|
910
910
|
readonly name: "@sarj/eslint-plugin";
|
|
911
|
-
readonly version: "15.17.
|
|
911
|
+
readonly version: "15.17.18";
|
|
912
912
|
};
|
|
913
913
|
readonly rules: {
|
|
914
914
|
readonly "excessive-commentary": DocumentedRule<readonly [], "excessive">;
|
package/dist/index.d.ts
CHANGED
|
@@ -330,39 +330,39 @@ declare const RECOMMENDED_RULES: {
|
|
|
330
330
|
readonly "no-restricted-imports": readonly ["error", {
|
|
331
331
|
readonly paths: {
|
|
332
332
|
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: "
|
|
333
|
+
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
334
|
}[];
|
|
335
335
|
readonly patterns: {
|
|
336
336
|
group: string[];
|
|
337
|
-
message: "
|
|
337
|
+
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
338
|
}[];
|
|
339
339
|
}];
|
|
340
340
|
readonly "@sarj/no-restricted-library-load": readonly ["error", {
|
|
341
341
|
readonly libraries: readonly [{
|
|
342
342
|
readonly id: "LIB101";
|
|
343
343
|
readonly module: "request";
|
|
344
|
-
readonly note: "
|
|
345
|
-
readonly replacement: "
|
|
344
|
+
readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
|
|
345
|
+
readonly replacement: "native fetch";
|
|
346
346
|
}, {
|
|
347
347
|
readonly id: "LIB101";
|
|
348
348
|
readonly module: "node-fetch";
|
|
349
|
-
readonly note: "
|
|
350
|
-
readonly replacement: "
|
|
349
|
+
readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
|
|
350
|
+
readonly replacement: "native fetch";
|
|
351
351
|
}, {
|
|
352
352
|
readonly id: "LIB101";
|
|
353
353
|
readonly module: "cross-fetch";
|
|
354
|
-
readonly note: "
|
|
355
|
-
readonly replacement: "
|
|
354
|
+
readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
|
|
355
|
+
readonly replacement: "native fetch";
|
|
356
356
|
}, {
|
|
357
357
|
readonly id: "LIB101";
|
|
358
358
|
readonly module: "isomorphic-fetch";
|
|
359
|
-
readonly note: "
|
|
360
|
-
readonly replacement: "
|
|
359
|
+
readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
|
|
360
|
+
readonly replacement: "native fetch";
|
|
361
361
|
}, {
|
|
362
362
|
readonly id: "LIB101";
|
|
363
363
|
readonly module: "axios";
|
|
364
|
-
readonly note: "
|
|
365
|
-
readonly replacement: "
|
|
364
|
+
readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
|
|
365
|
+
readonly replacement: "native fetch";
|
|
366
366
|
}, {
|
|
367
367
|
readonly id: "LIB102";
|
|
368
368
|
readonly module: "moment";
|
|
@@ -615,39 +615,39 @@ declare const STRICT_RULES: {
|
|
|
615
615
|
readonly "no-restricted-imports": readonly ["error", {
|
|
616
616
|
readonly paths: {
|
|
617
617
|
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: "
|
|
618
|
+
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
619
|
}[];
|
|
620
620
|
readonly patterns: {
|
|
621
621
|
group: string[];
|
|
622
|
-
message: "
|
|
622
|
+
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
623
|
}[];
|
|
624
624
|
}];
|
|
625
625
|
readonly "@sarj/no-restricted-library-load": readonly ["error", {
|
|
626
626
|
readonly libraries: readonly [{
|
|
627
627
|
readonly id: "LIB101";
|
|
628
628
|
readonly module: "request";
|
|
629
|
-
readonly note: "
|
|
630
|
-
readonly replacement: "
|
|
629
|
+
readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
|
|
630
|
+
readonly replacement: "native fetch";
|
|
631
631
|
}, {
|
|
632
632
|
readonly id: "LIB101";
|
|
633
633
|
readonly module: "node-fetch";
|
|
634
|
-
readonly note: "
|
|
635
|
-
readonly replacement: "
|
|
634
|
+
readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
|
|
635
|
+
readonly replacement: "native fetch";
|
|
636
636
|
}, {
|
|
637
637
|
readonly id: "LIB101";
|
|
638
638
|
readonly module: "cross-fetch";
|
|
639
|
-
readonly note: "
|
|
640
|
-
readonly replacement: "
|
|
639
|
+
readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
|
|
640
|
+
readonly replacement: "native fetch";
|
|
641
641
|
}, {
|
|
642
642
|
readonly id: "LIB101";
|
|
643
643
|
readonly module: "isomorphic-fetch";
|
|
644
|
-
readonly note: "
|
|
645
|
-
readonly replacement: "
|
|
644
|
+
readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
|
|
645
|
+
readonly replacement: "native fetch";
|
|
646
646
|
}, {
|
|
647
647
|
readonly id: "LIB101";
|
|
648
648
|
readonly module: "axios";
|
|
649
|
-
readonly note: "
|
|
650
|
-
readonly replacement: "
|
|
649
|
+
readonly note: "Use the platform-native fetch API; review errors, timeouts, retries, and response parsing during migration.";
|
|
650
|
+
readonly replacement: "native fetch";
|
|
651
651
|
}, {
|
|
652
652
|
readonly id: "LIB102";
|
|
653
653
|
readonly module: "moment";
|
|
@@ -908,7 +908,7 @@ type FlatPreset = {
|
|
|
908
908
|
declare const PLUGIN: {
|
|
909
909
|
readonly meta: {
|
|
910
910
|
readonly name: "@sarj/eslint-plugin";
|
|
911
|
-
readonly version: "15.17.
|
|
911
|
+
readonly version: "15.17.18";
|
|
912
912
|
};
|
|
913
913
|
readonly rules: {
|
|
914
914
|
readonly "excessive-commentary": DocumentedRule<readonly [], "excessive">;
|