@sarj/eslint-plugin 16.31.0 → 16.32.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.cjs CHANGED
@@ -1580,7 +1580,7 @@ function isSearchParamReceiver(call, services) {
1580
1580
  // package.json
1581
1581
  var package_default = {
1582
1582
  name: "@sarj/eslint-plugin",
1583
- version: "16.31.0",
1583
+ version: "16.32.0",
1584
1584
  packageManager: "npm@12.2.1",
1585
1585
  description: "Custom ESLint rules for hypermodern TypeScript / React / Next.js projects",
1586
1586
  type: "module",
@@ -4088,7 +4088,7 @@ var NO_INVALID_TYPED_MUTATION_DOCUMENTATION = {
4088
4088
  rationale: "Object.assign, Reflect.set and property descriptors accept values that a normal typed property assignment rejects. They can invalidate a domain object's contract while subsequent reads retain its original type.",
4089
4089
  remediation: "Use an assignment that satisfies the declared property type, or construct and validate a complete replacement. Preserve any deliberate construction or external compatibility contract; do not cast away the incompatibility.",
4090
4090
  category: "correctness",
4091
- defaultLevel: "warning",
4091
+ defaultLevel: "error",
4092
4092
  autofix: "none",
4093
4093
  limitations: [
4094
4094
  "Requires type information and an explicitly annotated local const initialized with a plain own-data object literal. Only non-exported, stable bindings without escapes or nested captures qualify. Deletes and descriptors that can lock writability or configurability invalidate storage provenance. The closed non-union contract must declare the initialized data property; parameters, opaque constructors/factories, accessor, method, indexed, callable and unresolved generic targets are excluded.",
@@ -4482,7 +4482,7 @@ var NO_CONTRADICTORY_TYPE_PREDICATE_DOCUMENTATION = {
4482
4482
  rationale: "TypeScript trusts an explicit type predicate without verifying its implementation. A contradictory check can admit the wrong primitive, overclaim a closed literal or empty domain, accept null as a non-null object, or remove valid alternatives from the false branch.",
4483
4483
  remediation: "Match the predicate to every value the check accepts and rejects. Check literal membership for a closed domain and exclude null when promising a non-null object. Use a boolean return for an intentional value filter; preserve required public and callback contracts.",
4484
4484
  category: "correctness",
4485
- defaultLevel: "warning",
4485
+ defaultLevel: "error",
4486
4486
  autofix: "safe",
4487
4487
  limitations: [
4488
4488
  "Automatic fixes replace the unsound predicate with boolean only for an unused private function declaration without overloads, exports, eval, comments in the predicate, or declaration-file ownership. Runtime checks are preserved; observed callable contracts remain manual.",
@@ -4804,7 +4804,7 @@ var NO_PARTIAL_TYPE_PREDICATE_DOCUMENTATION = {
4804
4804
  rationale: "Type predicates narrow both branches, and TypeScript trusts their implementation. A positive-number or non-empty-string predicate can return false for a value belonging to its promised type, causing callers to treat that value as a different type.",
4805
4805
  remediation: "Use a boolean return for an intentional value filter, or recognize every member of the promised type. Preserve required callback and public contracts; a refined domain may need a distinct validated type. Recheck false-branch callers when changing a predicate.",
4806
4806
  category: "correctness",
4807
- defaultLevel: "warning",
4807
+ defaultLevel: "error",
4808
4808
  autofix: "safe",
4809
4809
  limitations: [
4810
4810
  "Automatic fixes replace the unsound predicate with boolean only for an unused private function declaration without overloads, exports, eval, comments in the predicate, or declaration-file ownership. Runtime checks are preserved; observed callable contracts remain manual.",
@@ -5490,7 +5490,7 @@ var NO_INVALID_ZOD_CUSTOM_PARSE_DOCUMENTATION = {
5490
5490
  rationale: "Without a validator, z.custom<T>() returns its input unchanged while promising T. A parsed primitive outside that value domain fabricates a contract the caller may trust.",
5491
5491
  remediation: "Provide actual validation, use the appropriate primitive schema, or retain an honest unknown result until validation. Preserve composed validators and independently owned domain contracts.",
5492
5492
  category: "correctness",
5493
- defaultLevel: "warning",
5493
+ defaultLevel: "error",
5494
5494
  autofix: "none",
5495
5495
  limitations: [
5496
5496
  "Requires type information and a direct inline z.custom<T>().parse(primitiveLiteral) call with no custom validator or parse options. Recognizes runtime imports from zod or zod/v4 and native installed Zod v4 declarations; schema bindings, compositions, safeParse, dynamic inputs and indirect calls are excluded.",
@@ -5606,7 +5606,7 @@ var NO_CONTRADICTORY_OVERLOAD_RETURN_DOCUMENTATION = {
5606
5606
  rationale: "TypeScript checks an overload implementation against an overall envelope, without proving each input/result relationship. A function can compile while returning the opposite domain variant for every advertised literal input.",
5607
5607
  remediation: "Return the variant promised for each input. Prefer a checked case map or separate variant-specific operations when that makes the relationship explicit; retain overloads required by public APIs.",
5608
5608
  category: "correctness",
5609
- defaultLevel: "warning",
5609
+ defaultLevel: "error",
5610
5610
  autofix: "safe",
5611
5611
  limitations: [
5612
5612
  "Automatic fixes align only an unused private complete same-file overload group with its existing literal implementation results. Binding aliases, exports, merges, eval, declaration files, comments, nonliteral result syntax and observed callers preserve manual ownership; runtime checks and returned values never change.",
@@ -33886,16 +33886,11 @@ var ADVISORY_RULES = [
33886
33886
  "@sarj/excessive-commentary",
33887
33887
  "@sarj/no-bespoke-api-case-conversion",
33888
33888
  "@sarj/no-boolean-selector-parameter",
33889
- "@sarj/no-contradictory-overload-return",
33890
- "@sarj/no-contradictory-type-predicate",
33891
33889
  "@sarj/no-cors-wildcard-with-credentials",
33892
33890
  "@sarj/no-credential-in-browser-storage",
33893
33891
  "@sarj/no-exception-text-in-5xx-response",
33894
33892
  "@sarj/no-excess-jsx-props",
33895
- "@sarj/no-invalid-typed-mutation",
33896
- "@sarj/no-invalid-zod-custom-parse",
33897
33893
  "@sarj/no-numeric-search-param-coercion",
33898
- "@sarj/no-partial-type-predicate",
33899
33894
  "@sarj/no-redundant-consumer-union",
33900
33895
  "@sarj/no-restated-comment",
33901
33896
  "@sarj/no-restated-jsdoc",
@@ -33921,12 +33916,12 @@ var RECOMMENDED_RULES = {
33921
33916
  "@sarj/no-broad-return-type": "error",
33922
33917
  "@sarj/no-reduce-accumulator-copy": "error",
33923
33918
  "@sarj/no-known-value-widening": "error",
33924
- "@sarj/no-invalid-typed-mutation": "warn",
33925
- "@sarj/no-contradictory-type-predicate": "warn",
33926
- "@sarj/no-partial-type-predicate": "warn",
33919
+ "@sarj/no-invalid-typed-mutation": "error",
33920
+ "@sarj/no-contradictory-type-predicate": "error",
33921
+ "@sarj/no-partial-type-predicate": "error",
33927
33922
  "@sarj/no-boolean-selector-parameter": "warn",
33928
- "@sarj/no-invalid-zod-custom-parse": "warn",
33929
- "@sarj/no-contradictory-overload-return": "warn",
33923
+ "@sarj/no-invalid-zod-custom-parse": "error",
33924
+ "@sarj/no-contradictory-overload-return": "error",
33930
33925
  "@sarj/require-button-accessible-name": "error",
33931
33926
  "@sarj/require-camelcase-properties": "error",
33932
33927
  "@sarj/require-svg-accessible-name": "error",
@@ -34052,12 +34047,12 @@ var STRICT_RULES = {
34052
34047
  "@sarj/no-broad-return-type": "error",
34053
34048
  "@sarj/no-reduce-accumulator-copy": "error",
34054
34049
  "@sarj/no-known-value-widening": "error",
34055
- "@sarj/no-invalid-typed-mutation": "warn",
34056
- "@sarj/no-contradictory-type-predicate": "warn",
34057
- "@sarj/no-partial-type-predicate": "warn",
34050
+ "@sarj/no-invalid-typed-mutation": "error",
34051
+ "@sarj/no-contradictory-type-predicate": "error",
34052
+ "@sarj/no-partial-type-predicate": "error",
34058
34053
  "@sarj/no-boolean-selector-parameter": "warn",
34059
- "@sarj/no-invalid-zod-custom-parse": "warn",
34060
- "@sarj/no-contradictory-overload-return": "warn",
34054
+ "@sarj/no-invalid-zod-custom-parse": "error",
34055
+ "@sarj/no-contradictory-overload-return": "error",
34061
34056
  "@sarj/require-button-accessible-name": "error",
34062
34057
  "@sarj/require-camelcase-properties": "error",
34063
34058
  "@sarj/require-svg-accessible-name": "error",
package/dist/index.d.cts CHANGED
@@ -308,7 +308,7 @@ declare const RULES: {
308
308
  /** @deprecated All repositories use one policy; retained for import compatibility. */
309
309
  declare const APPLICATION_ONLY_RULES: readonly [];
310
310
  /** Rules staged as non-blocking warnings while corpus adoption evidence accumulates. */
311
- declare const ADVISORY_RULES: readonly ["@sarj/excessive-commentary", "@sarj/no-bespoke-api-case-conversion", "@sarj/no-boolean-selector-parameter", "@sarj/no-contradictory-overload-return", "@sarj/no-contradictory-type-predicate", "@sarj/no-cors-wildcard-with-credentials", "@sarj/no-credential-in-browser-storage", "@sarj/no-exception-text-in-5xx-response", "@sarj/no-excess-jsx-props", "@sarj/no-invalid-typed-mutation", "@sarj/no-invalid-zod-custom-parse", "@sarj/no-numeric-search-param-coercion", "@sarj/no-partial-type-predicate", "@sarj/no-redundant-consumer-union", "@sarj/no-restated-comment", "@sarj/no-restated-jsdoc", "@sarj/prefer-discriminated-union", "@sarj/prefer-millisecond-control-duration-schema", "@sarj/prefer-minimal-parameter-contract", "@sarj/prefer-module-level-refined-schema", "@sarj/prefer-native-fetch-in-server-actions", "@sarj/prefer-node-crypto-hash", "@sarj/prefer-node-fs-promises", "@sarj/prefer-shared-zod-enum", "@sarj/prefer-whole-object-assertion", "@sarj/prefer-zod-parse-output-type", "@sarj/require-sql-access-class"];
311
+ declare const ADVISORY_RULES: readonly ["@sarj/excessive-commentary", "@sarj/no-bespoke-api-case-conversion", "@sarj/no-boolean-selector-parameter", "@sarj/no-cors-wildcard-with-credentials", "@sarj/no-credential-in-browser-storage", "@sarj/no-exception-text-in-5xx-response", "@sarj/no-excess-jsx-props", "@sarj/no-numeric-search-param-coercion", "@sarj/no-redundant-consumer-union", "@sarj/no-restated-comment", "@sarj/no-restated-jsdoc", "@sarj/prefer-discriminated-union", "@sarj/prefer-millisecond-control-duration-schema", "@sarj/prefer-minimal-parameter-contract", "@sarj/prefer-module-level-refined-schema", "@sarj/prefer-native-fetch-in-server-actions", "@sarj/prefer-node-crypto-hash", "@sarj/prefer-node-fs-promises", "@sarj/prefer-shared-zod-enum", "@sarj/prefer-whole-object-assertion", "@sarj/prefer-zod-parse-output-type", "@sarj/require-sql-access-class"];
312
312
  declare const RECOMMENDED_RULES: {
313
313
  readonly "@sarj/no-excess-jsx-props": "warn";
314
314
  readonly "@sarj/no-redundant-consumer-union": "warn";
@@ -319,12 +319,12 @@ declare const RECOMMENDED_RULES: {
319
319
  readonly "@sarj/no-broad-return-type": "error";
320
320
  readonly "@sarj/no-reduce-accumulator-copy": "error";
321
321
  readonly "@sarj/no-known-value-widening": "error";
322
- readonly "@sarj/no-invalid-typed-mutation": "warn";
323
- readonly "@sarj/no-contradictory-type-predicate": "warn";
324
- readonly "@sarj/no-partial-type-predicate": "warn";
322
+ readonly "@sarj/no-invalid-typed-mutation": "error";
323
+ readonly "@sarj/no-contradictory-type-predicate": "error";
324
+ readonly "@sarj/no-partial-type-predicate": "error";
325
325
  readonly "@sarj/no-boolean-selector-parameter": "warn";
326
- readonly "@sarj/no-invalid-zod-custom-parse": "warn";
327
- readonly "@sarj/no-contradictory-overload-return": "warn";
326
+ readonly "@sarj/no-invalid-zod-custom-parse": "error";
327
+ readonly "@sarj/no-contradictory-overload-return": "error";
328
328
  readonly "@sarj/require-button-accessible-name": "error";
329
329
  readonly "@sarj/require-camelcase-properties": "error";
330
330
  readonly "@sarj/require-svg-accessible-name": "error";
@@ -645,12 +645,12 @@ declare const STRICT_RULES: {
645
645
  readonly "@sarj/no-broad-return-type": "error";
646
646
  readonly "@sarj/no-reduce-accumulator-copy": "error";
647
647
  readonly "@sarj/no-known-value-widening": "error";
648
- readonly "@sarj/no-invalid-typed-mutation": "warn";
649
- readonly "@sarj/no-contradictory-type-predicate": "warn";
650
- readonly "@sarj/no-partial-type-predicate": "warn";
648
+ readonly "@sarj/no-invalid-typed-mutation": "error";
649
+ readonly "@sarj/no-contradictory-type-predicate": "error";
650
+ readonly "@sarj/no-partial-type-predicate": "error";
651
651
  readonly "@sarj/no-boolean-selector-parameter": "warn";
652
- readonly "@sarj/no-invalid-zod-custom-parse": "warn";
653
- readonly "@sarj/no-contradictory-overload-return": "warn";
652
+ readonly "@sarj/no-invalid-zod-custom-parse": "error";
653
+ readonly "@sarj/no-contradictory-overload-return": "error";
654
654
  readonly "@sarj/require-button-accessible-name": "error";
655
655
  readonly "@sarj/require-camelcase-properties": "error";
656
656
  readonly "@sarj/require-svg-accessible-name": "error";
package/dist/index.d.ts CHANGED
@@ -308,7 +308,7 @@ declare const RULES: {
308
308
  /** @deprecated All repositories use one policy; retained for import compatibility. */
309
309
  declare const APPLICATION_ONLY_RULES: readonly [];
310
310
  /** Rules staged as non-blocking warnings while corpus adoption evidence accumulates. */
311
- declare const ADVISORY_RULES: readonly ["@sarj/excessive-commentary", "@sarj/no-bespoke-api-case-conversion", "@sarj/no-boolean-selector-parameter", "@sarj/no-contradictory-overload-return", "@sarj/no-contradictory-type-predicate", "@sarj/no-cors-wildcard-with-credentials", "@sarj/no-credential-in-browser-storage", "@sarj/no-exception-text-in-5xx-response", "@sarj/no-excess-jsx-props", "@sarj/no-invalid-typed-mutation", "@sarj/no-invalid-zod-custom-parse", "@sarj/no-numeric-search-param-coercion", "@sarj/no-partial-type-predicate", "@sarj/no-redundant-consumer-union", "@sarj/no-restated-comment", "@sarj/no-restated-jsdoc", "@sarj/prefer-discriminated-union", "@sarj/prefer-millisecond-control-duration-schema", "@sarj/prefer-minimal-parameter-contract", "@sarj/prefer-module-level-refined-schema", "@sarj/prefer-native-fetch-in-server-actions", "@sarj/prefer-node-crypto-hash", "@sarj/prefer-node-fs-promises", "@sarj/prefer-shared-zod-enum", "@sarj/prefer-whole-object-assertion", "@sarj/prefer-zod-parse-output-type", "@sarj/require-sql-access-class"];
311
+ declare const ADVISORY_RULES: readonly ["@sarj/excessive-commentary", "@sarj/no-bespoke-api-case-conversion", "@sarj/no-boolean-selector-parameter", "@sarj/no-cors-wildcard-with-credentials", "@sarj/no-credential-in-browser-storage", "@sarj/no-exception-text-in-5xx-response", "@sarj/no-excess-jsx-props", "@sarj/no-numeric-search-param-coercion", "@sarj/no-redundant-consumer-union", "@sarj/no-restated-comment", "@sarj/no-restated-jsdoc", "@sarj/prefer-discriminated-union", "@sarj/prefer-millisecond-control-duration-schema", "@sarj/prefer-minimal-parameter-contract", "@sarj/prefer-module-level-refined-schema", "@sarj/prefer-native-fetch-in-server-actions", "@sarj/prefer-node-crypto-hash", "@sarj/prefer-node-fs-promises", "@sarj/prefer-shared-zod-enum", "@sarj/prefer-whole-object-assertion", "@sarj/prefer-zod-parse-output-type", "@sarj/require-sql-access-class"];
312
312
  declare const RECOMMENDED_RULES: {
313
313
  readonly "@sarj/no-excess-jsx-props": "warn";
314
314
  readonly "@sarj/no-redundant-consumer-union": "warn";
@@ -319,12 +319,12 @@ declare const RECOMMENDED_RULES: {
319
319
  readonly "@sarj/no-broad-return-type": "error";
320
320
  readonly "@sarj/no-reduce-accumulator-copy": "error";
321
321
  readonly "@sarj/no-known-value-widening": "error";
322
- readonly "@sarj/no-invalid-typed-mutation": "warn";
323
- readonly "@sarj/no-contradictory-type-predicate": "warn";
324
- readonly "@sarj/no-partial-type-predicate": "warn";
322
+ readonly "@sarj/no-invalid-typed-mutation": "error";
323
+ readonly "@sarj/no-contradictory-type-predicate": "error";
324
+ readonly "@sarj/no-partial-type-predicate": "error";
325
325
  readonly "@sarj/no-boolean-selector-parameter": "warn";
326
- readonly "@sarj/no-invalid-zod-custom-parse": "warn";
327
- readonly "@sarj/no-contradictory-overload-return": "warn";
326
+ readonly "@sarj/no-invalid-zod-custom-parse": "error";
327
+ readonly "@sarj/no-contradictory-overload-return": "error";
328
328
  readonly "@sarj/require-button-accessible-name": "error";
329
329
  readonly "@sarj/require-camelcase-properties": "error";
330
330
  readonly "@sarj/require-svg-accessible-name": "error";
@@ -645,12 +645,12 @@ declare const STRICT_RULES: {
645
645
  readonly "@sarj/no-broad-return-type": "error";
646
646
  readonly "@sarj/no-reduce-accumulator-copy": "error";
647
647
  readonly "@sarj/no-known-value-widening": "error";
648
- readonly "@sarj/no-invalid-typed-mutation": "warn";
649
- readonly "@sarj/no-contradictory-type-predicate": "warn";
650
- readonly "@sarj/no-partial-type-predicate": "warn";
648
+ readonly "@sarj/no-invalid-typed-mutation": "error";
649
+ readonly "@sarj/no-contradictory-type-predicate": "error";
650
+ readonly "@sarj/no-partial-type-predicate": "error";
651
651
  readonly "@sarj/no-boolean-selector-parameter": "warn";
652
- readonly "@sarj/no-invalid-zod-custom-parse": "warn";
653
- readonly "@sarj/no-contradictory-overload-return": "warn";
652
+ readonly "@sarj/no-invalid-zod-custom-parse": "error";
653
+ readonly "@sarj/no-contradictory-overload-return": "error";
654
654
  readonly "@sarj/require-button-accessible-name": "error";
655
655
  readonly "@sarj/require-camelcase-properties": "error";
656
656
  readonly "@sarj/require-svg-accessible-name": "error";
package/dist/index.js CHANGED
@@ -1533,7 +1533,7 @@ function isSearchParamReceiver(call, services) {
1533
1533
  // package.json
1534
1534
  var package_default = {
1535
1535
  name: "@sarj/eslint-plugin",
1536
- version: "16.31.0",
1536
+ version: "16.32.0",
1537
1537
  packageManager: "npm@12.2.1",
1538
1538
  description: "Custom ESLint rules for hypermodern TypeScript / React / Next.js projects",
1539
1539
  type: "module",
@@ -4067,7 +4067,7 @@ var NO_INVALID_TYPED_MUTATION_DOCUMENTATION = {
4067
4067
  rationale: "Object.assign, Reflect.set and property descriptors accept values that a normal typed property assignment rejects. They can invalidate a domain object's contract while subsequent reads retain its original type.",
4068
4068
  remediation: "Use an assignment that satisfies the declared property type, or construct and validate a complete replacement. Preserve any deliberate construction or external compatibility contract; do not cast away the incompatibility.",
4069
4069
  category: "correctness",
4070
- defaultLevel: "warning",
4070
+ defaultLevel: "error",
4071
4071
  autofix: "none",
4072
4072
  limitations: [
4073
4073
  "Requires type information and an explicitly annotated local const initialized with a plain own-data object literal. Only non-exported, stable bindings without escapes or nested captures qualify. Deletes and descriptors that can lock writability or configurability invalidate storage provenance. The closed non-union contract must declare the initialized data property; parameters, opaque constructors/factories, accessor, method, indexed, callable and unresolved generic targets are excluded.",
@@ -4461,7 +4461,7 @@ var NO_CONTRADICTORY_TYPE_PREDICATE_DOCUMENTATION = {
4461
4461
  rationale: "TypeScript trusts an explicit type predicate without verifying its implementation. A contradictory check can admit the wrong primitive, overclaim a closed literal or empty domain, accept null as a non-null object, or remove valid alternatives from the false branch.",
4462
4462
  remediation: "Match the predicate to every value the check accepts and rejects. Check literal membership for a closed domain and exclude null when promising a non-null object. Use a boolean return for an intentional value filter; preserve required public and callback contracts.",
4463
4463
  category: "correctness",
4464
- defaultLevel: "warning",
4464
+ defaultLevel: "error",
4465
4465
  autofix: "safe",
4466
4466
  limitations: [
4467
4467
  "Automatic fixes replace the unsound predicate with boolean only for an unused private function declaration without overloads, exports, eval, comments in the predicate, or declaration-file ownership. Runtime checks are preserved; observed callable contracts remain manual.",
@@ -4783,7 +4783,7 @@ var NO_PARTIAL_TYPE_PREDICATE_DOCUMENTATION = {
4783
4783
  rationale: "Type predicates narrow both branches, and TypeScript trusts their implementation. A positive-number or non-empty-string predicate can return false for a value belonging to its promised type, causing callers to treat that value as a different type.",
4784
4784
  remediation: "Use a boolean return for an intentional value filter, or recognize every member of the promised type. Preserve required callback and public contracts; a refined domain may need a distinct validated type. Recheck false-branch callers when changing a predicate.",
4785
4785
  category: "correctness",
4786
- defaultLevel: "warning",
4786
+ defaultLevel: "error",
4787
4787
  autofix: "safe",
4788
4788
  limitations: [
4789
4789
  "Automatic fixes replace the unsound predicate with boolean only for an unused private function declaration without overloads, exports, eval, comments in the predicate, or declaration-file ownership. Runtime checks are preserved; observed callable contracts remain manual.",
@@ -5472,7 +5472,7 @@ var NO_INVALID_ZOD_CUSTOM_PARSE_DOCUMENTATION = {
5472
5472
  rationale: "Without a validator, z.custom<T>() returns its input unchanged while promising T. A parsed primitive outside that value domain fabricates a contract the caller may trust.",
5473
5473
  remediation: "Provide actual validation, use the appropriate primitive schema, or retain an honest unknown result until validation. Preserve composed validators and independently owned domain contracts.",
5474
5474
  category: "correctness",
5475
- defaultLevel: "warning",
5475
+ defaultLevel: "error",
5476
5476
  autofix: "none",
5477
5477
  limitations: [
5478
5478
  "Requires type information and a direct inline z.custom<T>().parse(primitiveLiteral) call with no custom validator or parse options. Recognizes runtime imports from zod or zod/v4 and native installed Zod v4 declarations; schema bindings, compositions, safeParse, dynamic inputs and indirect calls are excluded.",
@@ -5588,7 +5588,7 @@ var NO_CONTRADICTORY_OVERLOAD_RETURN_DOCUMENTATION = {
5588
5588
  rationale: "TypeScript checks an overload implementation against an overall envelope, without proving each input/result relationship. A function can compile while returning the opposite domain variant for every advertised literal input.",
5589
5589
  remediation: "Return the variant promised for each input. Prefer a checked case map or separate variant-specific operations when that makes the relationship explicit; retain overloads required by public APIs.",
5590
5590
  category: "correctness",
5591
- defaultLevel: "warning",
5591
+ defaultLevel: "error",
5592
5592
  autofix: "safe",
5593
5593
  limitations: [
5594
5594
  "Automatic fixes align only an unused private complete same-file overload group with its existing literal implementation results. Binding aliases, exports, merges, eval, declaration files, comments, nonliteral result syntax and observed callers preserve manual ownership; runtime checks and returned values never change.",
@@ -33994,16 +33994,11 @@ var ADVISORY_RULES = [
33994
33994
  "@sarj/excessive-commentary",
33995
33995
  "@sarj/no-bespoke-api-case-conversion",
33996
33996
  "@sarj/no-boolean-selector-parameter",
33997
- "@sarj/no-contradictory-overload-return",
33998
- "@sarj/no-contradictory-type-predicate",
33999
33997
  "@sarj/no-cors-wildcard-with-credentials",
34000
33998
  "@sarj/no-credential-in-browser-storage",
34001
33999
  "@sarj/no-exception-text-in-5xx-response",
34002
34000
  "@sarj/no-excess-jsx-props",
34003
- "@sarj/no-invalid-typed-mutation",
34004
- "@sarj/no-invalid-zod-custom-parse",
34005
34001
  "@sarj/no-numeric-search-param-coercion",
34006
- "@sarj/no-partial-type-predicate",
34007
34002
  "@sarj/no-redundant-consumer-union",
34008
34003
  "@sarj/no-restated-comment",
34009
34004
  "@sarj/no-restated-jsdoc",
@@ -34029,12 +34024,12 @@ var RECOMMENDED_RULES = {
34029
34024
  "@sarj/no-broad-return-type": "error",
34030
34025
  "@sarj/no-reduce-accumulator-copy": "error",
34031
34026
  "@sarj/no-known-value-widening": "error",
34032
- "@sarj/no-invalid-typed-mutation": "warn",
34033
- "@sarj/no-contradictory-type-predicate": "warn",
34034
- "@sarj/no-partial-type-predicate": "warn",
34027
+ "@sarj/no-invalid-typed-mutation": "error",
34028
+ "@sarj/no-contradictory-type-predicate": "error",
34029
+ "@sarj/no-partial-type-predicate": "error",
34035
34030
  "@sarj/no-boolean-selector-parameter": "warn",
34036
- "@sarj/no-invalid-zod-custom-parse": "warn",
34037
- "@sarj/no-contradictory-overload-return": "warn",
34031
+ "@sarj/no-invalid-zod-custom-parse": "error",
34032
+ "@sarj/no-contradictory-overload-return": "error",
34038
34033
  "@sarj/require-button-accessible-name": "error",
34039
34034
  "@sarj/require-camelcase-properties": "error",
34040
34035
  "@sarj/require-svg-accessible-name": "error",
@@ -34160,12 +34155,12 @@ var STRICT_RULES = {
34160
34155
  "@sarj/no-broad-return-type": "error",
34161
34156
  "@sarj/no-reduce-accumulator-copy": "error",
34162
34157
  "@sarj/no-known-value-widening": "error",
34163
- "@sarj/no-invalid-typed-mutation": "warn",
34164
- "@sarj/no-contradictory-type-predicate": "warn",
34165
- "@sarj/no-partial-type-predicate": "warn",
34158
+ "@sarj/no-invalid-typed-mutation": "error",
34159
+ "@sarj/no-contradictory-type-predicate": "error",
34160
+ "@sarj/no-partial-type-predicate": "error",
34166
34161
  "@sarj/no-boolean-selector-parameter": "warn",
34167
- "@sarj/no-invalid-zod-custom-parse": "warn",
34168
- "@sarj/no-contradictory-overload-return": "warn",
34162
+ "@sarj/no-invalid-zod-custom-parse": "error",
34163
+ "@sarj/no-contradictory-overload-return": "error",
34169
34164
  "@sarj/require-button-accessible-name": "error",
34170
34165
  "@sarj/require-camelcase-properties": "error",
34171
34166
  "@sarj/require-svg-accessible-name": "error",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sarj/eslint-plugin",
3
- "version": "16.31.0",
3
+ "version": "16.32.0",
4
4
  "packageManager": "npm@12.2.1",
5
5
  "description": "Custom ESLint rules for hypermodern TypeScript / React / Next.js projects",
6
6
  "type": "module",