@enormora/eslint-config-zod 0.0.21 → 0.0.23

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/package.json CHANGED
@@ -7,13 +7,13 @@
7
7
  }
8
8
  ],
9
9
  "dependencies": {
10
- "@typescript-eslint/utils": "8.69.0",
11
- "eslint-plugin-zod-core": "1.0.13",
12
- "eslint-plugin-zod-mini": "1.9.0"
10
+ "@typescript-eslint/utils": "8.71.1",
11
+ "eslint-plugin-zod-core": "2.0.0",
12
+ "eslint-plugin-zod-mini": "2.0.0"
13
13
  },
14
14
  "description": "Enormora’s ESLint Zod configuration enforcing Zod Mini and Zod core",
15
15
  "engines": {
16
- "node": "^22.13.0 || >=24"
16
+ "node": ">=24"
17
17
  },
18
18
  "exports": {
19
19
  ".": {
@@ -23,7 +23,7 @@
23
23
  "license": "MIT",
24
24
  "name": "@enormora/eslint-config-zod",
25
25
  "peerDependencies": {
26
- "@enormora/eslint-config-base": "0.0.69",
26
+ "@enormora/eslint-config-base": "0.0.71",
27
27
  "eslint": "^10.0.0"
28
28
  },
29
29
  "repository": {
@@ -36,5 +36,5 @@
36
36
  "./rule-sets/restricted-imports.js"
37
37
  ],
38
38
  "type": "module",
39
- "version": "0.0.21"
39
+ "version": "0.0.23"
40
40
  }
@@ -39,7 +39,9 @@ export const zodConfig = {
39
39
  'zod-mini/no-coerce-boolean': 'error',
40
40
  'zod-mini/no-conflicting-checks': 'error',
41
41
  'zod-mini/no-duplicate-schema-methods': 'error',
42
+ 'zod-mini/no-dynamic-schema-value': 'off',
42
43
  'zod-mini/no-empty-custom-schema': 'error',
44
+ 'zod-mini/no-function-scoped-schema': 'off',
43
45
  'zod-mini/no-native-enum': 'off',
44
46
  'zod-mini/no-promise-schema': 'error',
45
47
  'zod-mini/no-throw-in-refine': 'error',
@@ -52,11 +54,13 @@ export const zodConfig = {
52
54
  'zod-mini/prefer-nullish': 'off',
53
55
  'zod-mini/prefer-string-length-over-min-max': 'error',
54
56
  'zod-mini/prefer-tuple-over-array-length': 'error',
57
+ 'zod-mini/prefer-validate': 'error',
55
58
  'zod-mini/require-brand-type-parameter': 'error',
56
59
  'zod-mini/require-error-message': 'error',
57
60
  'zod-mini/schema-error-property-style': 'off',
58
61
  'zod-core/consistent-import': ['error', { syntax: 'named' }],
59
62
  'zod-core/consistent-schema-output-type-style': ['error', { style: 'output' }],
63
+ 'zod-core/prefer-validate': 'error',
60
64
  'enormora-zod/require-readonly-schema': 'error',
61
65
  'restricted-imports/no-regular-zod-import': ['error', regularZodImportRestriction],
62
66
  'restricted-syntax-zod/no-enum-schema': ['error', noEnumSchemaRestriction],
@@ -1 +1 @@
1
- {"version":3,"file":"zod.js","sourceRoot":"","sources":["../../../../../configs/presets/zod/zod.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,wBAAwB,CAAC;AACnD,OAAO,aAAa,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AACtF,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,EAAE,4BAA4B,EAAE,MAAM,6DAAsC,CAAC;AAEpF,MAAM,uBAAuB,GAAG,sCAAsC,CAAC;AAEvE,MAAM,2BAA2B,GAAG;IAChC,KAAK,EAAE;QACH,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,uBAAuB,EAAE;QACjD,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,uBAAuB,EAAE;QACpD,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,uBAAuB,EAAE;KACvD;CACJ,CAAC;AAEF,MAAM,uBAAuB,GAAG;IAC5B,QAAQ,EAAE,qEAAqE;IAC/E,OAAO,EAAE,yDAAyD;CACrE,CAAC;AAEF,MAAM,6BAA6B,GAAG;IAClC,QAAQ,EAAE,2EAA2E;IACrF,OAAO,EAAE,+DAA+D;CAC3E,CAAC;AAEF,MAAM,yBAAyB,GAAG,6BAA6B,CAAC,CAAE,uBAAuB,CAAE,CAAC,CAAC;AAC7F,MAAM,wBAAwB,GAAG,4BAA4B,CACzD,CAAE,gBAAgB,EAAE,uBAAuB,CAAE,EAC7C,EAAE,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG;IACrB,OAAO,EAAE;QACL,UAAU,EAAE,aAA8B;QAC1C,UAAU,EAAE,aAA8B;QAC1C,cAAc,EAAE,iBAAiB;QACjC,oBAAoB,EAAE,yBAAyB;QAC/C,uBAAuB,EAAE,wBAAwB;KACpD;IACD,KAAK,EAAE;QACH,4BAA4B,EAAE,CAAE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAE;QAC9D,mCAAmC,EAAE,CAAE,OAAO,EAAE,EAAE,OAAO,EAAE,CAAE,UAAU,CAAE,EAAE,CAAE;QAC7E,wCAAwC,EAAE,KAAK;QAC/C,8CAA8C,EAAE,CAAE,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAE;QAChF,qCAAqC,EAAE,OAAO;QAC9C,wBAAwB,EAAE,OAAO;QACjC,4BAA4B,EAAE,OAAO;QACrC,gCAAgC,EAAE,OAAO;QACzC,sCAAsC,EAAE,OAAO;QAC/C,iCAAiC,EAAE,OAAO;QAC1C,yBAAyB,EAAE,KAAK;QAChC,4BAA4B,EAAE,OAAO;QACrC,6BAA6B,EAAE,OAAO;QACtC,qCAAqC,EAAE,OAAO;QAC9C,4BAA4B,EAAE,KAAK;QACnC,kCAAkC,EAAE,OAAO;QAC3C,yCAAyC,EAAE,KAAK;QAChD,2CAA2C,EAAE,OAAO;QACpD,sBAAsB,EAAE,OAAO;QAC/B,yBAAyB,EAAE,KAAK;QAChC,4CAA4C,EAAE,OAAO;QACrD,yCAAyC,EAAE,OAAO;QAClD,uCAAuC,EAAE,OAAO;QAChD,gCAAgC,EAAE,OAAO;QACzC,sCAAsC,EAAE,KAAK;QAE7C,4BAA4B,EAAE,CAAE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAE;QAC9D,8CAA8C,EAAE,CAAE,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAE;QAEhF,sCAAsC,EAAE,OAAO;QAE/C,0CAA0C,EAAE,CAAE,OAAO,EAAE,2BAA2B,CAAE;QAEpF,sCAAsC,EAAE,CAAE,OAAO,EAAE,uBAAuB,CAAE;QAC5E,6CAA6C,EAAE,CAAE,OAAO,EAAE,6BAA6B,CAAE;KAC5F;CACJ,CAAC"}
1
+ {"version":3,"file":"zod.js","sourceRoot":"","sources":["../../../../../configs/presets/zod/zod.ts"],"names":[],"mappings":"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"}
package/readme.md CHANGED
@@ -75,3 +75,16 @@ Conversely, `z.readonly()` on an already-immutable schema (a primitive such as `
75
75
  z.readonly(z.string()); // error → z.string()
76
76
  z.string(); // ok
77
77
  ```
78
+
79
+ ## Boolean validation
80
+
81
+ A `safeParse()` result that is only read for `success` is reported; `z.validate()` returns the same boolean without building a result object. Keep `safeParse()` when the parsed data or the error is used. The rule needs Zod 4.6 or later and offers editor suggestions rather than an autofix:
82
+
83
+ ```javascript
84
+ schema.safeParse(input).success; // error
85
+ z.validate(schema, input); // ok
86
+ const result = schema.safeParse(input); // ok: result.data is used
87
+ if (result.success) {
88
+ use(result.data);
89
+ }
90
+ ```
package/sbom.cdx.json CHANGED
@@ -9,70 +9,70 @@
9
9
  {
10
10
  "type": "application",
11
11
  "name": "packtory",
12
- "version": "0.0.117"
12
+ "version": "0.0.120"
13
13
  }
14
14
  ]
15
15
  },
16
16
  "component": {
17
17
  "type": "library",
18
18
  "name": "@enormora/eslint-config-zod",
19
- "version": "0.0.21",
20
- "bom-ref": "pkg:npm/@enormora/eslint-config-zod@0.0.21",
21
- "purl": "pkg:npm/@enormora/eslint-config-zod@0.0.21"
19
+ "version": "0.0.23",
20
+ "bom-ref": "pkg:npm/@enormora/eslint-config-zod@0.0.23",
21
+ "purl": "pkg:npm/@enormora/eslint-config-zod@0.0.23"
22
22
  }
23
23
  },
24
24
  "components": [
25
25
  {
26
26
  "type": "library",
27
27
  "name": "@enormora/eslint-config-base",
28
- "version": "0.0.69",
29
- "bom-ref": "pkg:npm/@enormora/eslint-config-base@0.0.69",
28
+ "version": "0.0.71",
29
+ "bom-ref": "pkg:npm/@enormora/eslint-config-base@0.0.71",
30
30
  "scope": "optional",
31
31
  "licenses": [
32
32
  {
33
33
  "expression": "MIT"
34
34
  }
35
35
  ],
36
- "purl": "pkg:npm/@enormora/eslint-config-base@0.0.69"
36
+ "purl": "pkg:npm/@enormora/eslint-config-base@0.0.71"
37
37
  },
38
38
  {
39
39
  "type": "library",
40
40
  "name": "@typescript-eslint/utils",
41
- "version": "8.69.0",
42
- "bom-ref": "pkg:npm/@typescript-eslint/utils@8.69.0",
41
+ "version": "8.71.1",
42
+ "bom-ref": "pkg:npm/@typescript-eslint/utils@8.71.1",
43
43
  "scope": "required",
44
44
  "licenses": [
45
45
  {
46
46
  "expression": "MIT"
47
47
  }
48
48
  ],
49
- "purl": "pkg:npm/@typescript-eslint/utils@8.69.0"
49
+ "purl": "pkg:npm/@typescript-eslint/utils@8.71.1"
50
50
  },
51
51
  {
52
52
  "type": "library",
53
53
  "name": "eslint-plugin-zod-core",
54
- "version": "1.0.13",
55
- "bom-ref": "pkg:npm/eslint-plugin-zod-core@1.0.13",
54
+ "version": "2.0.0",
55
+ "bom-ref": "pkg:npm/eslint-plugin-zod-core@2.0.0",
56
56
  "scope": "required",
57
57
  "licenses": [
58
58
  {
59
59
  "expression": "MIT"
60
60
  }
61
61
  ],
62
- "purl": "pkg:npm/eslint-plugin-zod-core@1.0.13"
62
+ "purl": "pkg:npm/eslint-plugin-zod-core@2.0.0"
63
63
  },
64
64
  {
65
65
  "type": "library",
66
66
  "name": "eslint-plugin-zod-mini",
67
- "version": "1.9.0",
68
- "bom-ref": "pkg:npm/eslint-plugin-zod-mini@1.9.0",
67
+ "version": "2.0.0",
68
+ "bom-ref": "pkg:npm/eslint-plugin-zod-mini@2.0.0",
69
69
  "scope": "required",
70
70
  "licenses": [
71
71
  {
72
72
  "expression": "MIT"
73
73
  }
74
74
  ],
75
- "purl": "pkg:npm/eslint-plugin-zod-mini@1.9.0"
75
+ "purl": "pkg:npm/eslint-plugin-zod-mini@2.0.0"
76
76
  },
77
77
  {
78
78
  "type": "library",
@@ -90,26 +90,26 @@
90
90
  ],
91
91
  "dependencies": [
92
92
  {
93
- "ref": "pkg:npm/@enormora/eslint-config-base@0.0.69"
93
+ "ref": "pkg:npm/@enormora/eslint-config-base@0.0.71"
94
94
  },
95
95
  {
96
- "ref": "pkg:npm/@enormora/eslint-config-zod@0.0.21",
96
+ "ref": "pkg:npm/@enormora/eslint-config-zod@0.0.23",
97
97
  "dependsOn": [
98
- "pkg:npm/@enormora/eslint-config-base@0.0.69",
99
- "pkg:npm/@typescript-eslint/utils@8.69.0",
100
- "pkg:npm/eslint-plugin-zod-core@1.0.13",
101
- "pkg:npm/eslint-plugin-zod-mini@1.9.0",
98
+ "pkg:npm/@enormora/eslint-config-base@0.0.71",
99
+ "pkg:npm/@typescript-eslint/utils@8.71.1",
100
+ "pkg:npm/eslint-plugin-zod-core@2.0.0",
101
+ "pkg:npm/eslint-plugin-zod-mini@2.0.0",
102
102
  "pkg:npm/eslint@%5E10.0.0"
103
103
  ]
104
104
  },
105
105
  {
106
- "ref": "pkg:npm/@typescript-eslint/utils@8.69.0"
106
+ "ref": "pkg:npm/@typescript-eslint/utils@8.71.1"
107
107
  },
108
108
  {
109
- "ref": "pkg:npm/eslint-plugin-zod-core@1.0.13"
109
+ "ref": "pkg:npm/eslint-plugin-zod-core@2.0.0"
110
110
  },
111
111
  {
112
- "ref": "pkg:npm/eslint-plugin-zod-mini@1.9.0"
112
+ "ref": "pkg:npm/eslint-plugin-zod-mini@2.0.0"
113
113
  },
114
114
  {
115
115
  "ref": "pkg:npm/eslint@%5E10.0.0"