-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathcodegen.ts
44 lines (41 loc) · 1.01 KB
/
codegen.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import type { CodegenConfig } from "@graphql-codegen/cli";
import { resolve } from "path";
export const getConfig = ({
generatedFileName,
silent,
}: {
generatedFileName: string;
} & Pick<CodegenConfig, "silent">): CodegenConfig => ({
documents: ["./src/**/*.ts", "./src/**/*.graphql", "./src/**/*.gql"].map(
(d) => resolve(process.cwd(), d),
),
generates: {
[generatedFileName]: {
config: {
arrayInputCoercion: false,
preResolveTypes: true,
scalars: {
Duration: "number",
StringMap: "{ [key: string]: any }",
Time: "Date",
},
},
plugins: ["typescript", "typescript-operations"],
},
},
hooks: {
afterAllFileWrite: [
`${resolve(process.cwd(), "./node_modules/.bin/prettier")} --write`,
],
},
overwrite: true,
schema: "sdlschema/**/*.graphql",
silent,
});
export const generatedFileName = resolve(
process.cwd(),
"./src/gql/generated/types.ts",
);
export default getConfig({
generatedFileName,
});