@sarj/eslint-plugin 16.8.0 → 16.9.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
@@ -52,7 +52,7 @@ module.exports = __toCommonJS(src_exports);
52
52
  // package.json
53
53
  var package_default = {
54
54
  name: "@sarj/eslint-plugin",
55
- version: "16.8.0",
55
+ version: "16.9.0",
56
56
  packageManager: "npm@12.1.0",
57
57
  description: "Custom ESLint rules for hypermodern TypeScript / React / Next.js projects",
58
58
  type: "module",
@@ -2326,7 +2326,7 @@ var require_button_accessible_name_default = createRule({
2326
2326
  // src/rules/require-camelcase-properties.ts
2327
2327
  var import_utils13 = require("@typescript-eslint/utils");
2328
2328
  var REQUIRE_CAMELCASE_PROPERTIES_DOCUMENTATION = {
2329
- defaultLevel: "warning",
2329
+ defaultLevel: "error",
2330
2330
  summary: "Require unquoted lower snake_case TypeScript properties and dot access to use camelCase.",
2331
2331
  rationale: "Unquoted snake_case property syntax makes external wire naming indistinguishable from application-domain naming and lets inconsistent contracts spread through typed code.",
2332
2332
  remediation: "Rename application properties to camelCase. At an external wire boundary, make the exception explicit with a quoted key and bracket access.",
@@ -17481,10 +17481,10 @@ var prefer_module_level_refined_schema_default = createRule({
17481
17481
  // src/rules/prefer-multi-value-zod-literal.ts
17482
17482
  var import_utils98 = require("@typescript-eslint/utils");
17483
17483
  var PREFER_MULTI_VALUE_ZOD_LITERAL_DOCUMENTATION = {
17484
- defaultLevel: "warning",
17484
+ defaultLevel: "error",
17485
17485
  summary: "Use the Zod 4 multi-value literal API instead of a union of literal schemas.",
17486
17486
  rationale: "One multi-value literal expresses the same closed value domain without repeated schema wrappers.",
17487
- remediation: "Replace the union with z.literal([value1, value2, ...]).",
17487
+ remediation: "Use z.literal([value1, value2, ...]) for a modern Zod 4 value-domain contract. Preserve required union introspection or error-shape contracts with an explained local exception.",
17488
17488
  category: "maintainability",
17489
17489
  autofix: "none",
17490
17490
  limitations: [
@@ -24972,12 +24972,10 @@ var ADVISORY_RULES = [
24972
24972
  "@sarj/no-restated-jsdoc",
24973
24973
  "@sarj/prefer-millisecond-control-duration-schema",
24974
24974
  "@sarj/prefer-module-level-refined-schema",
24975
- "@sarj/prefer-multi-value-zod-literal",
24976
24975
  "@sarj/prefer-node-crypto-hash",
24977
24976
  "@sarj/prefer-node-fs-promises",
24978
24977
  "@sarj/prefer-shared-zod-enum",
24979
24978
  "@sarj/prefer-whole-object-assertion",
24980
- "@sarj/require-camelcase-properties",
24981
24979
  "@sarj/require-sql-access-class"
24982
24980
  ];
24983
24981
  var RECOMMENDED_RULES = {
@@ -24988,7 +24986,7 @@ var RECOMMENDED_RULES = {
24988
24986
  "@sarj/no-reduce-accumulator-copy": "error",
24989
24987
  "@sarj/no-known-value-widening": "error",
24990
24988
  "@sarj/require-button-accessible-name": "error",
24991
- "@sarj/require-camelcase-properties": "warn",
24989
+ "@sarj/require-camelcase-properties": "error",
24992
24990
  "@sarj/require-svg-accessible-name": "error",
24993
24991
  "@sarj/prefer-logical-tailwind-utilities": ["error", { enabled: false }],
24994
24992
  "@sarj/no-unlocalized-toast": ["error", { enabled: false }],
@@ -25062,7 +25060,7 @@ var RECOMMENDED_RULES = {
25062
25060
  "@sarj/prefer-module-level-constant": "error",
25063
25061
  "@sarj/prefer-module-level-schema": "error",
25064
25062
  "@sarj/prefer-module-level-refined-schema": "warn",
25065
- "@sarj/prefer-multi-value-zod-literal": ["warn", { zodMajorVersion: 4 }],
25063
+ "@sarj/prefer-multi-value-zod-literal": ["error", { zodMajorVersion: 4 }],
25066
25064
  "@sarj/prefer-named-callback-domain": "error",
25067
25065
  "@sarj/prefer-nominal-id-types": "error",
25068
25066
  "@sarj/prefer-named-complex-return-type": "error",
@@ -25106,7 +25104,7 @@ var STRICT_RULES = {
25106
25104
  "@sarj/no-reduce-accumulator-copy": "error",
25107
25105
  "@sarj/no-known-value-widening": "error",
25108
25106
  "@sarj/require-button-accessible-name": "error",
25109
- "@sarj/require-camelcase-properties": "warn",
25107
+ "@sarj/require-camelcase-properties": "error",
25110
25108
  "@sarj/require-svg-accessible-name": "error",
25111
25109
  "@sarj/prefer-logical-tailwind-utilities": ["error", { enabled: false }],
25112
25110
  "@sarj/no-unlocalized-toast": ["error", { enabled: false }],
@@ -25184,7 +25182,7 @@ var STRICT_RULES = {
25184
25182
  "@sarj/prefer-module-level-constant": "error",
25185
25183
  "@sarj/prefer-module-level-schema": "error",
25186
25184
  "@sarj/prefer-module-level-refined-schema": "warn",
25187
- "@sarj/prefer-multi-value-zod-literal": ["warn", { zodMajorVersion: 4 }],
25185
+ "@sarj/prefer-multi-value-zod-literal": ["error", { zodMajorVersion: 4 }],
25188
25186
  "@sarj/prefer-named-callback-domain": "error",
25189
25187
  "@sarj/prefer-nominal-id-types": "error",
25190
25188
  "@sarj/prefer-named-complex-return-type": "error",
package/dist/index.d.cts CHANGED
@@ -291,7 +291,7 @@ declare const RULES: {
291
291
  /** @deprecated All repositories use one policy; retained for import compatibility. */
292
292
  declare const APPLICATION_ONLY_RULES: readonly [];
293
293
  /** Rules staged as non-blocking warnings while corpus adoption evidence accumulates. */
294
- declare const ADVISORY_RULES: readonly ["@sarj/excessive-commentary", "@sarj/no-bespoke-api-case-conversion", "@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-node-crypto-hash", "@sarj/prefer-node-fs-promises", "@sarj/prefer-shared-zod-enum", "@sarj/prefer-whole-object-assertion", "@sarj/require-camelcase-properties", "@sarj/require-sql-access-class"];
294
+ declare const ADVISORY_RULES: readonly ["@sarj/excessive-commentary", "@sarj/no-bespoke-api-case-conversion", "@sarj/no-restated-comment", "@sarj/no-restated-jsdoc", "@sarj/prefer-millisecond-control-duration-schema", "@sarj/prefer-module-level-refined-schema", "@sarj/prefer-node-crypto-hash", "@sarj/prefer-node-fs-promises", "@sarj/prefer-shared-zod-enum", "@sarj/prefer-whole-object-assertion", "@sarj/require-sql-access-class"];
295
295
  declare const RECOMMENDED_RULES: {
296
296
  readonly "@sarj/named-child-schema-type": "error";
297
297
  readonly "@sarj/no-conditional-empty-object-spread": "error";
@@ -300,7 +300,7 @@ declare const RECOMMENDED_RULES: {
300
300
  readonly "@sarj/no-reduce-accumulator-copy": "error";
301
301
  readonly "@sarj/no-known-value-widening": "error";
302
302
  readonly "@sarj/require-button-accessible-name": "error";
303
- readonly "@sarj/require-camelcase-properties": "warn";
303
+ readonly "@sarj/require-camelcase-properties": "error";
304
304
  readonly "@sarj/require-svg-accessible-name": "error";
305
305
  readonly "@sarj/prefer-logical-tailwind-utilities": readonly ["error", {
306
306
  readonly enabled: false;
@@ -565,7 +565,7 @@ declare const RECOMMENDED_RULES: {
565
565
  readonly "@sarj/prefer-module-level-constant": "error";
566
566
  readonly "@sarj/prefer-module-level-schema": "error";
567
567
  readonly "@sarj/prefer-module-level-refined-schema": "warn";
568
- readonly "@sarj/prefer-multi-value-zod-literal": readonly ["warn", {
568
+ readonly "@sarj/prefer-multi-value-zod-literal": readonly ["error", {
569
569
  readonly zodMajorVersion: 4;
570
570
  }];
571
571
  readonly "@sarj/prefer-named-callback-domain": "error";
@@ -613,7 +613,7 @@ declare const STRICT_RULES: {
613
613
  readonly "@sarj/no-reduce-accumulator-copy": "error";
614
614
  readonly "@sarj/no-known-value-widening": "error";
615
615
  readonly "@sarj/require-button-accessible-name": "error";
616
- readonly "@sarj/require-camelcase-properties": "warn";
616
+ readonly "@sarj/require-camelcase-properties": "error";
617
617
  readonly "@sarj/require-svg-accessible-name": "error";
618
618
  readonly "@sarj/prefer-logical-tailwind-utilities": readonly ["error", {
619
619
  readonly enabled: false;
@@ -882,7 +882,7 @@ declare const STRICT_RULES: {
882
882
  readonly "@sarj/prefer-module-level-constant": "error";
883
883
  readonly "@sarj/prefer-module-level-schema": "error";
884
884
  readonly "@sarj/prefer-module-level-refined-schema": "warn";
885
- readonly "@sarj/prefer-multi-value-zod-literal": readonly ["warn", {
885
+ readonly "@sarj/prefer-multi-value-zod-literal": readonly ["error", {
886
886
  readonly zodMajorVersion: 4;
887
887
  }];
888
888
  readonly "@sarj/prefer-named-callback-domain": "error";
package/dist/index.d.ts CHANGED
@@ -291,7 +291,7 @@ declare const RULES: {
291
291
  /** @deprecated All repositories use one policy; retained for import compatibility. */
292
292
  declare const APPLICATION_ONLY_RULES: readonly [];
293
293
  /** Rules staged as non-blocking warnings while corpus adoption evidence accumulates. */
294
- declare const ADVISORY_RULES: readonly ["@sarj/excessive-commentary", "@sarj/no-bespoke-api-case-conversion", "@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-node-crypto-hash", "@sarj/prefer-node-fs-promises", "@sarj/prefer-shared-zod-enum", "@sarj/prefer-whole-object-assertion", "@sarj/require-camelcase-properties", "@sarj/require-sql-access-class"];
294
+ declare const ADVISORY_RULES: readonly ["@sarj/excessive-commentary", "@sarj/no-bespoke-api-case-conversion", "@sarj/no-restated-comment", "@sarj/no-restated-jsdoc", "@sarj/prefer-millisecond-control-duration-schema", "@sarj/prefer-module-level-refined-schema", "@sarj/prefer-node-crypto-hash", "@sarj/prefer-node-fs-promises", "@sarj/prefer-shared-zod-enum", "@sarj/prefer-whole-object-assertion", "@sarj/require-sql-access-class"];
295
295
  declare const RECOMMENDED_RULES: {
296
296
  readonly "@sarj/named-child-schema-type": "error";
297
297
  readonly "@sarj/no-conditional-empty-object-spread": "error";
@@ -300,7 +300,7 @@ declare const RECOMMENDED_RULES: {
300
300
  readonly "@sarj/no-reduce-accumulator-copy": "error";
301
301
  readonly "@sarj/no-known-value-widening": "error";
302
302
  readonly "@sarj/require-button-accessible-name": "error";
303
- readonly "@sarj/require-camelcase-properties": "warn";
303
+ readonly "@sarj/require-camelcase-properties": "error";
304
304
  readonly "@sarj/require-svg-accessible-name": "error";
305
305
  readonly "@sarj/prefer-logical-tailwind-utilities": readonly ["error", {
306
306
  readonly enabled: false;
@@ -565,7 +565,7 @@ declare const RECOMMENDED_RULES: {
565
565
  readonly "@sarj/prefer-module-level-constant": "error";
566
566
  readonly "@sarj/prefer-module-level-schema": "error";
567
567
  readonly "@sarj/prefer-module-level-refined-schema": "warn";
568
- readonly "@sarj/prefer-multi-value-zod-literal": readonly ["warn", {
568
+ readonly "@sarj/prefer-multi-value-zod-literal": readonly ["error", {
569
569
  readonly zodMajorVersion: 4;
570
570
  }];
571
571
  readonly "@sarj/prefer-named-callback-domain": "error";
@@ -613,7 +613,7 @@ declare const STRICT_RULES: {
613
613
  readonly "@sarj/no-reduce-accumulator-copy": "error";
614
614
  readonly "@sarj/no-known-value-widening": "error";
615
615
  readonly "@sarj/require-button-accessible-name": "error";
616
- readonly "@sarj/require-camelcase-properties": "warn";
616
+ readonly "@sarj/require-camelcase-properties": "error";
617
617
  readonly "@sarj/require-svg-accessible-name": "error";
618
618
  readonly "@sarj/prefer-logical-tailwind-utilities": readonly ["error", {
619
619
  readonly enabled: false;
@@ -882,7 +882,7 @@ declare const STRICT_RULES: {
882
882
  readonly "@sarj/prefer-module-level-constant": "error";
883
883
  readonly "@sarj/prefer-module-level-schema": "error";
884
884
  readonly "@sarj/prefer-module-level-refined-schema": "warn";
885
- readonly "@sarj/prefer-multi-value-zod-literal": readonly ["warn", {
885
+ readonly "@sarj/prefer-multi-value-zod-literal": readonly ["error", {
886
886
  readonly zodMajorVersion: 4;
887
887
  }];
888
888
  readonly "@sarj/prefer-named-callback-domain": "error";
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // package.json
2
2
  var package_default = {
3
3
  name: "@sarj/eslint-plugin",
4
- version: "16.8.0",
4
+ version: "16.9.0",
5
5
  packageManager: "npm@12.1.0",
6
6
  description: "Custom ESLint rules for hypermodern TypeScript / React / Next.js projects",
7
7
  type: "module",
@@ -2285,7 +2285,7 @@ var require_button_accessible_name_default = createRule({
2285
2285
  // src/rules/require-camelcase-properties.ts
2286
2286
  import { AST_NODE_TYPES as AST_NODE_TYPES11 } from "@typescript-eslint/utils";
2287
2287
  var REQUIRE_CAMELCASE_PROPERTIES_DOCUMENTATION = {
2288
- defaultLevel: "warning",
2288
+ defaultLevel: "error",
2289
2289
  summary: "Require unquoted lower snake_case TypeScript properties and dot access to use camelCase.",
2290
2290
  rationale: "Unquoted snake_case property syntax makes external wire naming indistinguishable from application-domain naming and lets inconsistent contracts spread through typed code.",
2291
2291
  remediation: "Rename application properties to camelCase. At an external wire boundary, make the exception explicit with a quoted key and bracket access.",
@@ -17484,10 +17484,10 @@ import {
17484
17484
  ASTUtils as ASTUtils47
17485
17485
  } from "@typescript-eslint/utils";
17486
17486
  var PREFER_MULTI_VALUE_ZOD_LITERAL_DOCUMENTATION = {
17487
- defaultLevel: "warning",
17487
+ defaultLevel: "error",
17488
17488
  summary: "Use the Zod 4 multi-value literal API instead of a union of literal schemas.",
17489
17489
  rationale: "One multi-value literal expresses the same closed value domain without repeated schema wrappers.",
17490
- remediation: "Replace the union with z.literal([value1, value2, ...]).",
17490
+ remediation: "Use z.literal([value1, value2, ...]) for a modern Zod 4 value-domain contract. Preserve required union introspection or error-shape contracts with an explained local exception.",
17491
17491
  category: "maintainability",
17492
17492
  autofix: "none",
17493
17493
  limitations: [
@@ -24996,12 +24996,10 @@ var ADVISORY_RULES = [
24996
24996
  "@sarj/no-restated-jsdoc",
24997
24997
  "@sarj/prefer-millisecond-control-duration-schema",
24998
24998
  "@sarj/prefer-module-level-refined-schema",
24999
- "@sarj/prefer-multi-value-zod-literal",
25000
24999
  "@sarj/prefer-node-crypto-hash",
25001
25000
  "@sarj/prefer-node-fs-promises",
25002
25001
  "@sarj/prefer-shared-zod-enum",
25003
25002
  "@sarj/prefer-whole-object-assertion",
25004
- "@sarj/require-camelcase-properties",
25005
25003
  "@sarj/require-sql-access-class"
25006
25004
  ];
25007
25005
  var RECOMMENDED_RULES = {
@@ -25012,7 +25010,7 @@ var RECOMMENDED_RULES = {
25012
25010
  "@sarj/no-reduce-accumulator-copy": "error",
25013
25011
  "@sarj/no-known-value-widening": "error",
25014
25012
  "@sarj/require-button-accessible-name": "error",
25015
- "@sarj/require-camelcase-properties": "warn",
25013
+ "@sarj/require-camelcase-properties": "error",
25016
25014
  "@sarj/require-svg-accessible-name": "error",
25017
25015
  "@sarj/prefer-logical-tailwind-utilities": ["error", { enabled: false }],
25018
25016
  "@sarj/no-unlocalized-toast": ["error", { enabled: false }],
@@ -25086,7 +25084,7 @@ var RECOMMENDED_RULES = {
25086
25084
  "@sarj/prefer-module-level-constant": "error",
25087
25085
  "@sarj/prefer-module-level-schema": "error",
25088
25086
  "@sarj/prefer-module-level-refined-schema": "warn",
25089
- "@sarj/prefer-multi-value-zod-literal": ["warn", { zodMajorVersion: 4 }],
25087
+ "@sarj/prefer-multi-value-zod-literal": ["error", { zodMajorVersion: 4 }],
25090
25088
  "@sarj/prefer-named-callback-domain": "error",
25091
25089
  "@sarj/prefer-nominal-id-types": "error",
25092
25090
  "@sarj/prefer-named-complex-return-type": "error",
@@ -25130,7 +25128,7 @@ var STRICT_RULES = {
25130
25128
  "@sarj/no-reduce-accumulator-copy": "error",
25131
25129
  "@sarj/no-known-value-widening": "error",
25132
25130
  "@sarj/require-button-accessible-name": "error",
25133
- "@sarj/require-camelcase-properties": "warn",
25131
+ "@sarj/require-camelcase-properties": "error",
25134
25132
  "@sarj/require-svg-accessible-name": "error",
25135
25133
  "@sarj/prefer-logical-tailwind-utilities": ["error", { enabled: false }],
25136
25134
  "@sarj/no-unlocalized-toast": ["error", { enabled: false }],
@@ -25208,7 +25206,7 @@ var STRICT_RULES = {
25208
25206
  "@sarj/prefer-module-level-constant": "error",
25209
25207
  "@sarj/prefer-module-level-schema": "error",
25210
25208
  "@sarj/prefer-module-level-refined-schema": "warn",
25211
- "@sarj/prefer-multi-value-zod-literal": ["warn", { zodMajorVersion: 4 }],
25209
+ "@sarj/prefer-multi-value-zod-literal": ["error", { zodMajorVersion: 4 }],
25212
25210
  "@sarj/prefer-named-callback-domain": "error",
25213
25211
  "@sarj/prefer-nominal-id-types": "error",
25214
25212
  "@sarj/prefer-named-complex-return-type": "error",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sarj/eslint-plugin",
3
- "version": "16.8.0",
3
+ "version": "16.9.0",
4
4
  "packageManager": "npm@12.1.0",
5
5
  "description": "Custom ESLint rules for hypermodern TypeScript / React / Next.js projects",
6
6
  "type": "module",