Skip to content

Commit 5db8580

Browse files
committed
Start to set up GraphQL-Codegen for the LeetCode API
1 parent 77a2ae9 commit 5db8580

File tree

21 files changed

+13439
-344
lines changed

21 files changed

+13439
-344
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
"devDependencies": {
1919
"@code-chronicles/eslint-config": "workspace:*",
2020
"@yarnpkg/types": "4.0.0",
21-
"eslint": "9.11.1",
21+
"eslint": "9.12.0",
2222
"husky": "9.1.6",
2323
"lint-staged": "15.2.10",
2424
"prettier": "3.3.3"

workspaces/adventure-pack/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,11 @@
7070
"@code-chronicles/util": "workspace:*",
7171
"@jest/globals": "29.7.0",
7272
"@types/node": "22.7.4",
73-
"@types/react": "18.3.10",
73+
"@types/react": "18.3.11",
7474
"@types/react-dom": "18.3.0",
7575
"@types/react-syntax-highlighter": "15.5.13",
7676
"cross-env": "7.0.3",
77-
"eslint": "9.11.1",
77+
"eslint": "9.12.0",
7878
"fork-ts-checker-webpack-plugin": "9.0.2",
7979
"jest": "29.7.0",
8080
"prettier": "3.3.3",

workspaces/download-leetcode-submissions/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
"@code-chronicles/webpack-make-output-executable-plugin": "workspace:*",
3333
"@types/node": "22.7.4",
3434
"cross-env": "7.0.3",
35-
"eslint": "9.11.1",
35+
"eslint": "9.12.0",
3636
"fork-ts-checker-webpack-plugin": "9.0.2",
3737
"prettier": "3.3.3",
3838
"ts-loader": "9.5.1",

workspaces/eslint-config/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,14 @@
2626
"@typescript-eslint/eslint-plugin": "8.5.0",
2727
"@typescript-eslint/parser": "8.5.0",
2828
"eslint-import-resolver-typescript": "3.6.3",
29-
"eslint-plugin-import": "2.30.0",
30-
"eslint-plugin-import-x": "4.3.0",
29+
"eslint-plugin-import": "2.31.0",
30+
"eslint-plugin-import-x": "4.3.1",
3131
"eslint-plugin-jest": "28.8.3",
32-
"globals": "15.9.0",
32+
"globals": "15.10.0",
3333
"typescript": "5.6.2"
3434
},
3535
"devDependencies": {
36-
"eslint": "9.11.1",
36+
"eslint": "9.12.0",
3737
"prettier": "3.3.3"
3838
}
3939
}

workspaces/fetch-leetcode-problem-list/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
"@code-chronicles/webpack-make-output-executable-plugin": "workspace:*",
3131
"@types/node": "22.7.4",
3232
"cross-env": "7.0.3",
33-
"eslint": "9.11.1",
33+
"eslint": "9.12.0",
3434
"fork-ts-checker-webpack-plugin": "9.0.2",
3535
"prettier": "3.3.3",
3636
"ts-loader": "9.5.1",

workspaces/fetch-recent-accepted-leetcode-submissions/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
"@code-chronicles/webpack-make-output-executable-plugin": "workspace:*",
3131
"@types/node": "22.7.4",
3232
"cross-env": "7.0.3",
33-
"eslint": "9.11.1",
33+
"eslint": "9.12.0",
3434
"fork-ts-checker-webpack-plugin": "9.0.2",
3535
"prettier": "3.3.3",
3636
"ts-loader": "9.5.1",

workspaces/generate-health-report/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
"devDependencies": {
2828
"@code-chronicles/eslint-config": "workspace:*",
2929
"@types/node": "22.7.4",
30-
"eslint": "9.11.1",
30+
"eslint": "9.12.0",
3131
"prettier": "3.3.3",
3232
"typescript": "5.6.2"
3333
}

workspaces/javascript-leetcode-month/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"@code-chronicles/util": "workspace:*",
2525
"@types/mdast": "4.0.4",
2626
"@types/node": "22.7.4",
27-
"eslint": "9.11.1",
27+
"eslint": "9.12.0",
2828
"mdast": "3.0.0",
2929
"prettier": "3.3.3",
3030
"remark": "15.0.1",
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import type { CodegenConfig } from "@graphql-codegen/cli";
2+
3+
const commonTypeScriptPluginConfig = {
4+
arrayInputCoercion: false,
5+
avoidOptionals: true,
6+
enumsAsTypes: true,
7+
defaultScalarType: "unknown",
8+
skipTypename: true,
9+
useTypeImports: true,
10+
11+
// TODO: add strictScalars: true
12+
};
13+
14+
const config: CodegenConfig = {
15+
schema: "schema.graphql",
16+
documents: ["src/**/*.graphql"],
17+
overwrite: true,
18+
emitLegacyCommonJSImports: false,
19+
generates: {
20+
"src/graphqlTypes.generated.ts": {
21+
plugins: ["typescript"],
22+
config: commonTypeScriptPluginConfig,
23+
},
24+
"src/": {
25+
preset: "near-operation-file",
26+
presetConfig: {
27+
baseTypesPath: "~./graphqlTypes.generated",
28+
extension: ".generated.ts",
29+
},
30+
plugins: ["typescript-operations"],
31+
config: commonTypeScriptPluginConfig,
32+
},
33+
},
34+
hooks: {
35+
afterAllFileWrite: ["prettier --write"],
36+
},
37+
};
38+
39+
export default config;

workspaces/leetcode-api/package.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
"type": "module",
1616
"exports": "./src/main.ts",
1717
"scripts": {
18+
"codegen": "graphql-codegen-esm --config graphql-codegen.ts",
1819
"format": "prettier --color --write .",
1920
"lint": "eslint --color --max-warnings=0 .",
2021
"scrape-graphql-schema": "tsx src/scripts/scrape-graphql-schema/main.ts",
@@ -31,9 +32,10 @@
3132
},
3233
"devDependencies": {
3334
"@code-chronicles/eslint-config": "workspace:*",
35+
"@graphql-codegen/cli": "5.0.2",
36+
"@graphql-codegen/near-operation-file-preset": "3.0.0",
3437
"@types/node": "22.7.4",
35-
"eslint": "9.11.1",
36-
"graphql": "16.9.0",
38+
"eslint": "9.12.0",
3739
"jest": "29.7.0",
3840
"prettier": "3.3.3",
3941
"ts-jest": "29.2.5",

0 commit comments

Comments
 (0)