@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 +16 -21
- package/dist/index.d.cts +11 -11
- package/dist/index.d.ts +11 -11
- package/dist/index.js +16 -21
- package/package.json +1 -1
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.
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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": "
|
|
33925
|
-
"@sarj/no-contradictory-type-predicate": "
|
|
33926
|
-
"@sarj/no-partial-type-predicate": "
|
|
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": "
|
|
33929
|
-
"@sarj/no-contradictory-overload-return": "
|
|
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": "
|
|
34056
|
-
"@sarj/no-contradictory-type-predicate": "
|
|
34057
|
-
"@sarj/no-partial-type-predicate": "
|
|
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": "
|
|
34060
|
-
"@sarj/no-contradictory-overload-return": "
|
|
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-
|
|
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": "
|
|
323
|
-
readonly "@sarj/no-contradictory-type-predicate": "
|
|
324
|
-
readonly "@sarj/no-partial-type-predicate": "
|
|
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": "
|
|
327
|
-
readonly "@sarj/no-contradictory-overload-return": "
|
|
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": "
|
|
649
|
-
readonly "@sarj/no-contradictory-type-predicate": "
|
|
650
|
-
readonly "@sarj/no-partial-type-predicate": "
|
|
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": "
|
|
653
|
-
readonly "@sarj/no-contradictory-overload-return": "
|
|
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-
|
|
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": "
|
|
323
|
-
readonly "@sarj/no-contradictory-type-predicate": "
|
|
324
|
-
readonly "@sarj/no-partial-type-predicate": "
|
|
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": "
|
|
327
|
-
readonly "@sarj/no-contradictory-overload-return": "
|
|
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": "
|
|
649
|
-
readonly "@sarj/no-contradictory-type-predicate": "
|
|
650
|
-
readonly "@sarj/no-partial-type-predicate": "
|
|
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": "
|
|
653
|
-
readonly "@sarj/no-contradictory-overload-return": "
|
|
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.
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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": "
|
|
34033
|
-
"@sarj/no-contradictory-type-predicate": "
|
|
34034
|
-
"@sarj/no-partial-type-predicate": "
|
|
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": "
|
|
34037
|
-
"@sarj/no-contradictory-overload-return": "
|
|
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": "
|
|
34164
|
-
"@sarj/no-contradictory-type-predicate": "
|
|
34165
|
-
"@sarj/no-partial-type-predicate": "
|
|
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": "
|
|
34168
|
-
"@sarj/no-contradictory-overload-return": "
|
|
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",
|