@enormora/eslint-config-zod 0.0.21 → 0.0.22
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 +5 -5
- package/presets/zod/zod.js +4 -0
- package/presets/zod/zod.js.map +1 -1
- package/readme.md +13 -0
- package/sbom.cdx.json +25 -25
package/package.json
CHANGED
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
}
|
|
8
8
|
],
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@typescript-eslint/utils": "8.
|
|
11
|
-
"eslint-plugin-zod-core": "
|
|
12
|
-
"eslint-plugin-zod-mini": "
|
|
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": {
|
|
@@ -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.
|
|
26
|
+
"@enormora/eslint-config-base": "0.0.70",
|
|
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.
|
|
39
|
+
"version": "0.0.22"
|
|
40
40
|
}
|
package/presets/zod/zod.js
CHANGED
|
@@ -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],
|
package/presets/zod/zod.js.map
CHANGED
|
@@ -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;
|
|
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.
|
|
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.
|
|
20
|
-
"bom-ref": "pkg:npm/@enormora/eslint-config-zod@0.0.
|
|
21
|
-
"purl": "pkg:npm/@enormora/eslint-config-zod@0.0.
|
|
19
|
+
"version": "0.0.22",
|
|
20
|
+
"bom-ref": "pkg:npm/@enormora/eslint-config-zod@0.0.22",
|
|
21
|
+
"purl": "pkg:npm/@enormora/eslint-config-zod@0.0.22"
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
"components": [
|
|
25
25
|
{
|
|
26
26
|
"type": "library",
|
|
27
27
|
"name": "@enormora/eslint-config-base",
|
|
28
|
-
"version": "0.0.
|
|
29
|
-
"bom-ref": "pkg:npm/@enormora/eslint-config-base@0.0.
|
|
28
|
+
"version": "0.0.70",
|
|
29
|
+
"bom-ref": "pkg:npm/@enormora/eslint-config-base@0.0.70",
|
|
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.
|
|
36
|
+
"purl": "pkg:npm/@enormora/eslint-config-base@0.0.70"
|
|
37
37
|
},
|
|
38
38
|
{
|
|
39
39
|
"type": "library",
|
|
40
40
|
"name": "@typescript-eslint/utils",
|
|
41
|
-
"version": "8.
|
|
42
|
-
"bom-ref": "pkg:npm/@typescript-eslint/utils@8.
|
|
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.
|
|
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": "
|
|
55
|
-
"bom-ref": "pkg:npm/eslint-plugin-zod-core@
|
|
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@
|
|
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": "
|
|
68
|
-
"bom-ref": "pkg:npm/eslint-plugin-zod-mini@
|
|
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@
|
|
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.
|
|
93
|
+
"ref": "pkg:npm/@enormora/eslint-config-base@0.0.70"
|
|
94
94
|
},
|
|
95
95
|
{
|
|
96
|
-
"ref": "pkg:npm/@enormora/eslint-config-zod@0.0.
|
|
96
|
+
"ref": "pkg:npm/@enormora/eslint-config-zod@0.0.22",
|
|
97
97
|
"dependsOn": [
|
|
98
|
-
"pkg:npm/@enormora/eslint-config-base@0.0.
|
|
99
|
-
"pkg:npm/@typescript-eslint/utils@8.
|
|
100
|
-
"pkg:npm/eslint-plugin-zod-core@
|
|
101
|
-
"pkg:npm/eslint-plugin-zod-mini@
|
|
98
|
+
"pkg:npm/@enormora/eslint-config-base@0.0.70",
|
|
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.
|
|
106
|
+
"ref": "pkg:npm/@typescript-eslint/utils@8.71.1"
|
|
107
107
|
},
|
|
108
108
|
{
|
|
109
|
-
"ref": "pkg:npm/eslint-plugin-zod-core@
|
|
109
|
+
"ref": "pkg:npm/eslint-plugin-zod-core@2.0.0"
|
|
110
110
|
},
|
|
111
111
|
{
|
|
112
|
-
"ref": "pkg:npm/eslint-plugin-zod-mini@
|
|
112
|
+
"ref": "pkg:npm/eslint-plugin-zod-mini@2.0.0"
|
|
113
113
|
},
|
|
114
114
|
{
|
|
115
115
|
"ref": "pkg:npm/eslint@%5E10.0.0"
|