Fix zod imports with ast-grep namespace import rule

Applied ast-grep rule to convert named zod imports to namespace imports
across the api-contract package for consistency.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
RevIQ
2026-01-09 12:14:19 +08:00
parent 2e9ea74bc9
commit b6bce41092
12 changed files with 51 additions and 13 deletions

View File

@@ -0,0 +1,20 @@
id: zod-namespace-import
snapshots:
? |
import { z } from "zod";
: fixed: |
import * as z from "zod"
labels:
- source: import { z } from "zod";
style: primary
start: 0
end: 24
? |
import { z, ZodError } from "zod";
: fixed: |
import * as z from "zod"
labels:
- source: import { z, ZodError } from "zod";
style: primary
start: 0
end: 34

View File

@@ -0,0 +1,13 @@
id: zod-namespace-import
valid:
- |
import * as z from "zod";
- |
import * as z from "zod";
const schema = z.object({ name: z.string() });
invalid:
- |
import { z } from "zod";
- |
import { z, ZodError } from "zod";

View File

@@ -0,0 +1,11 @@
id: zod-namespace-import
language: typescript
severity: error
message: Use namespace import for zod - `import * as z from "zod"` instead of named import
note: |
Named imports from zod (e.g., `import { z } from "zod"`) should be replaced
with namespace imports (`import * as z from "zod"`) for consistency and to
ensure all zod utilities are available under the `z` namespace.
rule:
pattern: import { $$$IMPORTS } from "zod"
fix: import * as z from "zod";

View File

@@ -1,5 +1,5 @@
import { oc } from "@orpc/contract";
import { z } from "zod";
import * as z from "zod";
import {
adminAddSiteInputSchema,
adminCreateOrgInputSchema,

View File

@@ -1,4 +1,4 @@
import { z } from "zod";
import * as z from "zod";
import { emailSchema, slugSchema } from "./common.js";
import { orgRoleSchema } from "./org.js";

View File

@@ -1,4 +1,4 @@
import { z } from "zod";
import * as z from "zod";
import { emailSchema } from "./common.js";
/**

View File

@@ -2,7 +2,7 @@ import {
isValidPhoneNumber,
parsePhoneNumberWithError,
} from "libphonenumber-js";
import { z } from "zod";
import * as z from "zod";
/**
* Email schema - validates email format and transforms to lowercase

View File

@@ -1,4 +1,4 @@
import { z } from "zod";
import * as z from "zod";
import { emailSchema, slugSchema } from "./common.js";
/**

View File

@@ -1,4 +1,4 @@
import { z } from "zod";
import * as z from "zod";
import { phoneSchema } from "./common.js";
/**

View File

@@ -1,12 +1,6 @@
{
"extends": "@macalinao/tsconfig/tsconfig.base.json",
"compilerOptions": {
"outDir": "./dist",
"rootDir": "./src",
"declaration": true,
"declarationMap": true,
"isolatedDeclarations": false
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist"]
}
}