eslint-plugin-zod 3.3.0 → 3.4.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.
Files changed (98) hide show
  1. package/README.md +33 -22
  2. package/dist/index.cjs +12 -4
  3. package/dist/index.d.cts +1 -0
  4. package/dist/index.d.ts +1 -0
  5. package/dist/index.js +12 -4
  6. package/dist/rules/array-style.cjs +5 -4
  7. package/dist/rules/array-style.d.cts +3 -2
  8. package/dist/rules/array-style.d.ts +3 -2
  9. package/dist/rules/array-style.js +5 -4
  10. package/dist/rules/consistent-import-source.cjs +5 -11
  11. package/dist/rules/consistent-import-source.d.cts +4 -3
  12. package/dist/rules/consistent-import-source.d.ts +4 -3
  13. package/dist/rules/consistent-import-source.js +4 -10
  14. package/dist/rules/consistent-import.cjs +4 -3
  15. package/dist/rules/consistent-import.d.cts +3 -2
  16. package/dist/rules/consistent-import.d.ts +3 -2
  17. package/dist/rules/consistent-import.js +5 -4
  18. package/dist/rules/consistent-object-schema-type.cjs +5 -3
  19. package/dist/rules/consistent-object-schema-type.d.cts +3 -1
  20. package/dist/rules/consistent-object-schema-type.d.ts +3 -1
  21. package/dist/rules/consistent-object-schema-type.js +6 -4
  22. package/dist/rules/no-any-schema.cjs +5 -3
  23. package/dist/rules/no-any-schema.d.cts +3 -1
  24. package/dist/rules/no-any-schema.d.ts +3 -1
  25. package/dist/rules/no-any-schema.js +6 -4
  26. package/dist/rules/no-empty-custom-schema.cjs +5 -4
  27. package/dist/rules/no-empty-custom-schema.d.cts +3 -2
  28. package/dist/rules/no-empty-custom-schema.d.ts +3 -2
  29. package/dist/rules/no-empty-custom-schema.js +5 -4
  30. package/dist/rules/no-number-schema-with-int.cjs +5 -4
  31. package/dist/rules/no-number-schema-with-int.d.cts +3 -2
  32. package/dist/rules/no-number-schema-with-int.d.ts +3 -2
  33. package/dist/rules/no-number-schema-with-int.js +5 -4
  34. package/dist/rules/no-optional-and-default-together.cjs +5 -4
  35. package/dist/rules/no-optional-and-default-together.d.cts +3 -2
  36. package/dist/rules/no-optional-and-default-together.d.ts +3 -2
  37. package/dist/rules/no-optional-and-default-together.js +5 -4
  38. package/dist/rules/no-string-schema-with-uuid.cjs +5 -4
  39. package/dist/rules/no-string-schema-with-uuid.d.cts +3 -2
  40. package/dist/rules/no-string-schema-with-uuid.d.ts +3 -2
  41. package/dist/rules/no-string-schema-with-uuid.js +5 -4
  42. package/dist/rules/no-throw-in-refine.cjs +5 -3
  43. package/dist/rules/no-throw-in-refine.d.cts +3 -2
  44. package/dist/rules/no-throw-in-refine.d.ts +3 -2
  45. package/dist/rules/no-throw-in-refine.js +6 -4
  46. package/dist/rules/no-unknown-schema.cjs +5 -4
  47. package/dist/rules/no-unknown-schema.d.cts +3 -2
  48. package/dist/rules/no-unknown-schema.d.ts +3 -2
  49. package/dist/rules/no-unknown-schema.js +5 -4
  50. package/dist/rules/prefer-enum-over-literal-union.cjs +5 -3
  51. package/dist/rules/prefer-enum-over-literal-union.d.cts +3 -2
  52. package/dist/rules/prefer-enum-over-literal-union.d.ts +3 -2
  53. package/dist/rules/prefer-enum-over-literal-union.js +6 -4
  54. package/dist/rules/prefer-meta-last.cjs +8 -5
  55. package/dist/rules/prefer-meta-last.d.cts +3 -2
  56. package/dist/rules/prefer-meta-last.d.ts +3 -2
  57. package/dist/rules/prefer-meta-last.js +8 -5
  58. package/dist/rules/prefer-meta.cjs +5 -4
  59. package/dist/rules/prefer-meta.d.cts +3 -2
  60. package/dist/rules/prefer-meta.d.ts +3 -2
  61. package/dist/rules/prefer-meta.js +5 -4
  62. package/dist/rules/prefer-namespace-import.cjs +4 -3
  63. package/dist/rules/prefer-namespace-import.d.cts +3 -2
  64. package/dist/rules/prefer-namespace-import.d.ts +3 -2
  65. package/dist/rules/prefer-namespace-import.js +5 -4
  66. package/dist/rules/prefer-string-schema-with-trim.cjs +5 -4
  67. package/dist/rules/prefer-string-schema-with-trim.d.cts +3 -2
  68. package/dist/rules/prefer-string-schema-with-trim.d.ts +3 -2
  69. package/dist/rules/prefer-string-schema-with-trim.js +5 -4
  70. package/dist/rules/require-brand-type-parameter.cjs +5 -4
  71. package/dist/rules/require-brand-type-parameter.d.cts +3 -1
  72. package/dist/rules/require-brand-type-parameter.d.ts +3 -1
  73. package/dist/rules/require-brand-type-parameter.js +5 -4
  74. package/dist/rules/require-error-message.cjs +5 -3
  75. package/dist/rules/require-error-message.d.cts +3 -2
  76. package/dist/rules/require-error-message.d.ts +3 -2
  77. package/dist/rules/require-error-message.js +6 -4
  78. package/dist/rules/require-schema-suffix.cjs +5 -3
  79. package/dist/rules/require-schema-suffix.d.cts +3 -2
  80. package/dist/rules/require-schema-suffix.d.ts +3 -2
  81. package/dist/rules/require-schema-suffix.js +6 -4
  82. package/dist/rules/schema-error-property-style.cjs +5 -3
  83. package/dist/rules/schema-error-property-style.d.cts +4 -3
  84. package/dist/rules/schema-error-property-style.d.ts +4 -3
  85. package/dist/rules/schema-error-property-style.js +6 -4
  86. package/dist/utils/create-plugin-rule.cjs +6 -0
  87. package/dist/utils/create-plugin-rule.d.cts +13 -0
  88. package/dist/utils/create-plugin-rule.d.ts +13 -0
  89. package/dist/utils/create-plugin-rule.js +3 -0
  90. package/dist/utils/is-zod-import-source.cjs +17 -2
  91. package/dist/utils/is-zod-import-source.d.cts +4 -1
  92. package/dist/utils/is-zod-import-source.d.ts +4 -1
  93. package/dist/utils/is-zod-import-source.js +16 -2
  94. package/dist/utils/track-zod-schema-imports.cjs +9 -2
  95. package/dist/utils/track-zod-schema-imports.d.cts +6 -1
  96. package/dist/utils/track-zod-schema-imports.d.ts +6 -1
  97. package/dist/utils/track-zod-schema-imports.js +8 -2
  98. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import { AST_NODE_TYPES } from '@typescript-eslint/utils';
2
2
  import { detectZodSchemaRootNode } from "./detect-zod-schema-root-node.js";
3
3
  import { isZodImportSource } from "./is-zod-import-source.js";
4
- export function trackZodSchemaImports() {
4
+ export function trackZodSchemaImports(importAllowedSource) {
5
5
  const zodNamespaces = new Set();
6
6
  const zodNamedImports = new Set();
7
7
  function collectZodChainMethods(node) {
@@ -31,7 +31,7 @@ export function trackZodSchemaImports() {
31
31
  }
32
32
  const result = {
33
33
  importDeclarationListener(node) {
34
- if (!isZodImportSource(node.source.value)) {
34
+ if (!isZodImportSource(node.source.value, importAllowedSource)) {
35
35
  return;
36
36
  }
37
37
  for (const spec of node.specifiers) {
@@ -56,3 +56,9 @@ export function trackZodSchemaImports() {
56
56
  };
57
57
  return result;
58
58
  }
59
+ export function createZodSchemaImportTrack(zodImportAllowedSource) {
60
+ return {
61
+ zodImportAllowedSource,
62
+ trackZodSchemaImports: () => trackZodSchemaImports(zodImportAllowedSource),
63
+ };
64
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-zod",
3
- "version": "3.3.0",
3
+ "version": "3.4.0",
4
4
  "type": "module",
5
5
  "description": "ESLint plugin that adds custom linting rules to enforce best practices when using Zod",
6
6
  "engines": {