Skip to content
This repository was archived by the owner on May 21, 2026. It is now read-only.

Commit 0af6e52

Browse files
committed
Global linting
1 parent 9c207ba commit 0af6e52

17 files changed

Lines changed: 2054 additions & 47 deletions

File tree

.eslintrc.cli.json

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
"$schema": "https://json.schemastore.org/eslintrc",
3+
"extends": [".eslintrc.json"],
4+
"overrides": [
5+
{
6+
"files": ["**/*.ts", "**/*.tsx"],
7+
"excludedFiles": [
8+
"**/examples/**/*",
9+
"**/tests/**/*",
10+
"**/*.d.ts"
11+
],
12+
"parserOptions": {
13+
"project": true
14+
},
15+
"rules": {
16+
"no-shadow": "warn",
17+
"no-case-declarations": "warn",
18+
"no-constant-condition": "warn",
19+
"@typescript-eslint/no-floating-promises": "off",
20+
"@typescript-eslint/switch-exhaustiveness-check": "error"
21+
}
22+
}
23+
]
24+
}

.eslintrc.json

Lines changed: 231 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,231 @@
1+
{
2+
"$schema": "https://json.schemastore.org/eslintrc",
3+
"root": true,
4+
"parser": "@typescript-eslint/parser",
5+
"plugins": ["@typescript-eslint", "import"],
6+
"env": {
7+
"browser": true,
8+
"commonjs": true,
9+
"es6": true,
10+
"node": true,
11+
"es2022": true
12+
},
13+
"parserOptions": {
14+
"ecmaVersion": 2022,
15+
"sourceType": "module"
16+
},
17+
"settings": {
18+
"import/resolver": {
19+
"typescript": true
20+
}
21+
},
22+
"overrides": [
23+
{
24+
"files": ["**/*.ts", "**/*.tsx", "**/*.mts"],
25+
"extends": [
26+
"eslint:recommended",
27+
"plugin:@typescript-eslint/recommended"
28+
],
29+
"rules": {
30+
"@typescript-eslint/no-explicit-any": "off",
31+
"@typescript-eslint/no-unused-vars": [
32+
"error",
33+
{
34+
"args": "none",
35+
"ignoreRestSiblings": true,
36+
"argsIgnorePattern": "^_",
37+
"caughtErrors": "none",
38+
"caughtErrorsIgnorePattern": "^_",
39+
"destructuredArrayIgnorePattern": "^_",
40+
"varsIgnorePattern": "^_"
41+
}
42+
],
43+
"@typescript-eslint/no-empty-function": "off",
44+
"@typescript-eslint/no-namespace": "off",
45+
"@typescript-eslint/no-var-requires": "off",
46+
"@typescript-eslint/ban-ts-comment": "off",
47+
"@typescript-eslint/consistent-type-imports": [
48+
"error",
49+
{
50+
"disallowTypeAnnotations": false
51+
}
52+
],
53+
"@typescript-eslint/no-import-type-side-effects": "error",
54+
"no-use-before-define": "off",
55+
"@typescript-eslint/no-use-before-define": "off",
56+
"no-case-declarations": "warn",
57+
"no-constant-condition": "warn"
58+
}
59+
},
60+
{
61+
"files": ["packages/cli/**/*.ts", "packages/create-mcp-use-app/**/*.ts"],
62+
"rules": {
63+
"no-console": "off",
64+
"no-process-exit": "off"
65+
}
66+
},
67+
{
68+
"files": ["packages/mcp-use-ts/**/*.ts"],
69+
"rules": {
70+
"import/no-extraneous-dependencies": [
71+
"error",
72+
{ "devDependencies": false }
73+
]
74+
}
75+
},
76+
{
77+
"files": ["**/*.test.ts", "**/*.test.tsx", "tests/**/*.ts"],
78+
"env": {
79+
"jest": true
80+
},
81+
"rules": {
82+
"import/no-extraneous-dependencies": "off"
83+
}
84+
},
85+
{
86+
"files": ["examples/**/*", "packages/*/examples/**/*"],
87+
"rules": {
88+
"import/no-extraneous-dependencies": "off",
89+
"no-console": "off",
90+
"@typescript-eslint/no-unused-vars": "off",
91+
"no-constant-condition": "off",
92+
"default-case": "off",
93+
"no-new-func": "off",
94+
"no-useless-escape": "off",
95+
"no-case-declarations": "off",
96+
"require-yield": "off"
97+
}
98+
},
99+
{
100+
"files": ["**/*.test.ts", "**/*.test.tsx", "**/*.spec.ts", "**/*.spec.tsx", "**/vitest.config.ts", "**/vitest.config.mts"],
101+
"env": {
102+
"jest": true
103+
},
104+
"rules": {
105+
"no-unused-vars": "off",
106+
"@typescript-eslint/no-unused-vars": "off",
107+
"no-unreachable-loop": "off",
108+
"no-console": "off",
109+
"import/no-extraneous-dependencies": "off",
110+
"@typescript-eslint/no-explicit-any": "off",
111+
"no-shadow": "off",
112+
"@typescript-eslint/no-shadow": "off",
113+
"no-constant-condition": "off",
114+
"require-yield": "off"
115+
}
116+
}
117+
],
118+
"rules": {
119+
"array-callback-return": "error",
120+
"default-case": ["error", { "commentPattern": "^no default$" }],
121+
"dot-location": ["error", "property"],
122+
"eqeqeq": ["error", "smart"],
123+
"new-parens": "error",
124+
"no-array-constructor": "error",
125+
"no-caller": "error",
126+
"no-cond-assign": ["error", "except-parens"],
127+
"no-const-assign": "error",
128+
"no-control-regex": "error",
129+
"no-delete-var": "error",
130+
"no-dupe-args": "error",
131+
"no-dupe-class-members": "error",
132+
"no-dupe-keys": "error",
133+
"no-duplicate-case": "error",
134+
"no-empty-character-class": "error",
135+
"no-empty-pattern": "error",
136+
"no-eval": "error",
137+
"no-ex-assign": "error",
138+
"no-extend-native": "error",
139+
"no-extra-bind": "error",
140+
"no-extra-label": "error",
141+
"no-fallthrough": "error",
142+
"no-func-assign": "error",
143+
"no-implied-eval": "error",
144+
"no-invalid-regexp": "error",
145+
"no-iterator": "error",
146+
"no-label-var": "error",
147+
"no-labels": ["error", { "allowLoop": true, "allowSwitch": false }],
148+
"no-lone-blocks": "error",
149+
"no-loop-func": "error",
150+
"no-multi-str": "error",
151+
"no-new-func": "error",
152+
"no-new-object": "error",
153+
"no-new-symbol": "error",
154+
"no-new-wrappers": "error",
155+
"no-obj-calls": "error",
156+
"no-octal": "error",
157+
"no-octal-escape": "error",
158+
"no-regex-spaces": "error",
159+
"no-restricted-syntax": [
160+
"error",
161+
"WithStatement",
162+
{
163+
"message": "substr() is deprecated, use slice() or substring() instead",
164+
"selector": "MemberExpression > Identifier[name='substr']"
165+
}
166+
],
167+
"no-script-url": "error",
168+
"no-self-assign": "error",
169+
"no-self-compare": "error",
170+
"no-sequences": "error",
171+
"no-shadow": "warn",
172+
"no-shadow-restricted-names": "error",
173+
"no-sparse-arrays": "error",
174+
"no-template-curly-in-string": "error",
175+
"no-this-before-super": "error",
176+
"no-throw-literal": "error",
177+
"no-undef": "error",
178+
"no-unexpected-multiline": "error",
179+
"no-unreachable": "error",
180+
"no-unused-expressions": [
181+
"error",
182+
{
183+
"allowShortCircuit": true,
184+
"allowTernary": true,
185+
"allowTaggedTemplates": true
186+
}
187+
],
188+
"no-unused-labels": "error",
189+
"no-unused-vars": "off",
190+
"no-useless-computed-key": "error",
191+
"no-useless-concat": "error",
192+
"no-useless-constructor": "off",
193+
"no-useless-escape": "error",
194+
"no-useless-rename": [
195+
"error",
196+
{
197+
"ignoreDestructuring": false,
198+
"ignoreImport": false,
199+
"ignoreExport": false
200+
}
201+
],
202+
"no-with": "error",
203+
"no-whitespace-before-property": "error",
204+
"require-yield": "error",
205+
"rest-spread-spacing": ["error", "never"],
206+
"strict": ["error", "never"],
207+
"unicode-bom": ["error", "never"],
208+
"use-isnan": "error",
209+
"valid-typeof": "error",
210+
"getter-return": "error",
211+
"prefer-const": "error",
212+
"@typescript-eslint/prefer-as-const": "error",
213+
"@typescript-eslint/no-redeclare": [
214+
"error",
215+
{ "builtinGlobals": false, "ignoreDeclarationMerge": true }
216+
]
217+
},
218+
"ignorePatterns": [
219+
"node_modules",
220+
"dist",
221+
"build",
222+
".next",
223+
"coverage",
224+
"*.min.js",
225+
".turbo",
226+
".vercel",
227+
"packages/*/dist",
228+
"packages/*/build",
229+
"packages/*/node_modules"
230+
]
231+
}

.gitignore

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,6 @@
44
*.tsbuildinfo
55
dist/
66
node_modules
7-
package-lock.json
8-
yarn.lock
9-
# Keep only root pnpm-lock.yaml
10-
packages/*/pnpm-lock.yaml
117
.pnp
128
.pnp.js
139

.prettierignore

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
node_modules
2+
dist
3+
build
4+
coverage
5+
.next
6+
.turbo
7+
.vercel
8+
pnpm-lock.yaml
9+
package-lock.json
10+
yarn.lock
11+
*.min.js
12+
*.min.css
13+
packages/*/dist
14+
packages/*/build
15+
packages/*/coverage

.prettierrc.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"semi": false,
3+
"singleQuote": true,
4+
"tabWidth": 2,
5+
"trailingComma": "es5"
6+
}
7+

package.json

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,26 @@
88
"scripts": {
99
"build": "pnpm run -r build",
1010
"test": "pnpm run -r test",
11-
"lint": "pnpm run -r lint",
11+
"lint": "eslint . --ext .js,.jsx,.ts,.tsx --max-warnings 0",
12+
"lint:fix": "eslint . --ext .js,.jsx,.ts,.tsx --fix",
13+
"lint:strict": "eslint . --ext .js,.jsx,.ts,.tsx --config .eslintrc.cli.json --max-warnings 0",
1214
"dev": "pnpm run -r --parallel dev"
1315
},
1416
"devDependencies": {
1517
"@types/node": "^20.0.0",
18+
"@typescript-eslint/eslint-plugin": "^6.0.0",
19+
"@typescript-eslint/parser": "^6.0.0",
20+
"eslint": "^8.57.0",
21+
"eslint-import-resolver-typescript": "^4.4.4",
22+
"eslint-plugin-import": "^2.32.0",
23+
"husky": "^9.1.7",
24+
"lint-staged": "^15.2.11",
1625
"typescript": "^5.0.0"
1726
},
27+
"lint-staged": {
28+
"*.{js,jsx,ts,tsx}": [
29+
"eslint --fix"
30+
]
31+
},
1832
"packageManager": "pnpm@10.6.1"
1933
}

packages/cli/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@
88
"scripts": {
99
"build": "tsc",
1010
"dev": "tsc --watch",
11-
"test": "vitest",
12-
"lint": "eslint ."
11+
"test": "vitest"
1312
},
1413
"dependencies": {
1514
"mcp-use-ts": "workspace:*",

packages/inspector/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@
77
"scripts": {
88
"build": "tsc",
99
"dev": "tsc --watch",
10-
"test": "vitest",
11-
"lint": "eslint ."
10+
"test": "vitest"
1211
},
1312
"dependencies": {
1413
"mcp-use-ts": "workspace:*"

packages/mcp-use/eslint.config.js

Lines changed: 0 additions & 19 deletions
This file was deleted.

packages/mcp-use/package.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,6 @@
5757
},
5858
"scripts": {
5959
"build": "rm -rf dist && tsc && cp -r src/cli/templates dist/src/cli/",
60-
"lint": "eslint",
61-
"lint:fix": "eslint --fix",
6260
"test": "vitest",
6361
"test:run": "vitest run",
6462
"test:simple": "vitest run tests/stream_events_simple.test.ts",

0 commit comments

Comments
 (0)