From 8f43508fe0cc082b70db0b2e0a5a161ae15ed1f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A3=A8=EB=B0=80LuMir?= Date: Thu, 27 Nov 2025 14:33:23 +0900 Subject: [PATCH 01/23] refactor: fix CI failure and use `registerTool` --- packages/mcp/package.json | 2 +- packages/mcp/src/mcp-server.js | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/mcp/package.json b/packages/mcp/package.json index 7227000f6..63d53e075 100644 --- a/packages/mcp/package.json +++ b/packages/mcp/package.json @@ -36,7 +36,7 @@ "node": "^20.19.0 || ^22.13.0 || >=24" }, "dependencies": { - "@modelcontextprotocol/sdk": "^1.22.0", + "@modelcontextprotocol/sdk": "^1.23.0", "eslint": "^9.39.1", "zod": "^3.24.4" }, diff --git a/packages/mcp/src/mcp-server.js b/packages/mcp/src/mcp-server.js index 554b85adc..38aadd14f 100644 --- a/packages/mcp/src/mcp-server.js +++ b/packages/mcp/src/mcp-server.js @@ -29,10 +29,13 @@ const filePathsSchema = { // Tools //----------------------------------------------------------------------------- -mcpServer.tool( +mcpServer.registerTool( "lint-files", - "Lint files using ESLint. You must provide a list of absolute file paths to the files you want to lint. The absolute file paths should be in the correct format for your operating system (e.g., forward slashes on Unix-like systems, backslashes on Windows).", - filePathsSchema, + { + description: + "Lint files using ESLint. You must provide a list of absolute file paths to the files you want to lint. The absolute file paths should be in the correct format for your operating system (e.g., forward slashes on Unix-like systems, backslashes on Windows).", + inputSchema: filePathsSchema, + }, async ({ filePaths }) => { const eslint = new ESLint({ // enable lookup from file rather than from cwd From eb1c88696dbda8bb12dd9c918f6749912c439f03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A3=A8=EB=B0=80LuMir?= Date: Thu, 27 Nov 2025 15:09:53 +0900 Subject: [PATCH 02/23] wip --- packages/mcp/src/mcp-server.js | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/packages/mcp/src/mcp-server.js b/packages/mcp/src/mcp-server.js index 38aadd14f..c9f428a77 100644 --- a/packages/mcp/src/mcp-server.js +++ b/packages/mcp/src/mcp-server.js @@ -11,6 +11,14 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { z } from "zod"; import { ESLint } from "eslint"; +//----------------------------------------------------------------------------- +// Type Definitions +//----------------------------------------------------------------------------- + +/** + * @import { ZodRawShape } from "zod"; + */ + //----------------------------------------------------------------------------- // Server //----------------------------------------------------------------------------- @@ -21,21 +29,18 @@ const mcpServer = new McpServer({ }); // Important: Cursor throws an error when `describe()` is used in the schema. -const filePathsSchema = { +const filePathsSchema = /** @type {ZodRawShape} */ ({ filePaths: z.array(z.string().min(1)).nonempty(), -}; +}); //----------------------------------------------------------------------------- // Tools //----------------------------------------------------------------------------- -mcpServer.registerTool( +mcpServer.tool( "lint-files", - { - description: - "Lint files using ESLint. You must provide a list of absolute file paths to the files you want to lint. The absolute file paths should be in the correct format for your operating system (e.g., forward slashes on Unix-like systems, backslashes on Windows).", - inputSchema: filePathsSchema, - }, + "Lint files using ESLint. You must provide a list of absolute file paths to the files you want to lint. The absolute file paths should be in the correct format for your operating system (e.g., forward slashes on Unix-like systems, backslashes on Windows).", + filePathsSchema, async ({ filePaths }) => { const eslint = new ESLint({ // enable lookup from file rather than from cwd From d198ca472d5dc41e56154517c9b7c112c5fd44bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A3=A8=EB=B0=80LuMir?= Date: Thu, 27 Nov 2025 15:23:20 +0900 Subject: [PATCH 03/23] wip --- packages/mcp/package.json | 2 +- packages/mcp/src/mcp-server.js | 12 ++---------- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/packages/mcp/package.json b/packages/mcp/package.json index 63d53e075..4e7104b07 100644 --- a/packages/mcp/package.json +++ b/packages/mcp/package.json @@ -38,7 +38,7 @@ "dependencies": { "@modelcontextprotocol/sdk": "^1.23.0", "eslint": "^9.39.1", - "zod": "^3.24.4" + "zod": "^3.25.76" }, "devDependencies": { "@cfworker/json-schema": "^4.1.1", diff --git a/packages/mcp/src/mcp-server.js b/packages/mcp/src/mcp-server.js index c9f428a77..554b85adc 100644 --- a/packages/mcp/src/mcp-server.js +++ b/packages/mcp/src/mcp-server.js @@ -11,14 +11,6 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { z } from "zod"; import { ESLint } from "eslint"; -//----------------------------------------------------------------------------- -// Type Definitions -//----------------------------------------------------------------------------- - -/** - * @import { ZodRawShape } from "zod"; - */ - //----------------------------------------------------------------------------- // Server //----------------------------------------------------------------------------- @@ -29,9 +21,9 @@ const mcpServer = new McpServer({ }); // Important: Cursor throws an error when `describe()` is used in the schema. -const filePathsSchema = /** @type {ZodRawShape} */ ({ +const filePathsSchema = { filePaths: z.array(z.string().min(1)).nonempty(), -}); +}; //----------------------------------------------------------------------------- // Tools From 3c6378beb068933d192e069adb316b7ecce5b45a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A3=A8=EB=B0=80LuMir?= Date: Thu, 27 Nov 2025 15:36:23 +0900 Subject: [PATCH 04/23] wip --- packages/mcp/src/mcp-server.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/mcp/src/mcp-server.js b/packages/mcp/src/mcp-server.js index 554b85adc..0457391dc 100644 --- a/packages/mcp/src/mcp-server.js +++ b/packages/mcp/src/mcp-server.js @@ -21,9 +21,9 @@ const mcpServer = new McpServer({ }); // Important: Cursor throws an error when `describe()` is used in the schema. -const filePathsSchema = { +const filePathsSchema = Object.freeze({ filePaths: z.array(z.string().min(1)).nonempty(), -}; +}); //----------------------------------------------------------------------------- // Tools From 5f8b9641165ece2b70379885c5bbadeca8cbd7f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A3=A8=EB=B0=80LuMir?= Date: Thu, 27 Nov 2025 15:39:51 +0900 Subject: [PATCH 05/23] wip --- packages/mcp/src/mcp-server.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/mcp/src/mcp-server.js b/packages/mcp/src/mcp-server.js index 0457391dc..c9f428a77 100644 --- a/packages/mcp/src/mcp-server.js +++ b/packages/mcp/src/mcp-server.js @@ -11,6 +11,14 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { z } from "zod"; import { ESLint } from "eslint"; +//----------------------------------------------------------------------------- +// Type Definitions +//----------------------------------------------------------------------------- + +/** + * @import { ZodRawShape } from "zod"; + */ + //----------------------------------------------------------------------------- // Server //----------------------------------------------------------------------------- @@ -21,7 +29,7 @@ const mcpServer = new McpServer({ }); // Important: Cursor throws an error when `describe()` is used in the schema. -const filePathsSchema = Object.freeze({ +const filePathsSchema = /** @type {ZodRawShape} */ ({ filePaths: z.array(z.string().min(1)).nonempty(), }); From 03eef9f49660d35d5436f85aa2bf91d243aecc1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A3=A8=EB=B0=80LuMir?= Date: Thu, 27 Nov 2025 15:43:59 +0900 Subject: [PATCH 06/23] wip --- packages/mcp/src/mcp-server.js | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/packages/mcp/src/mcp-server.js b/packages/mcp/src/mcp-server.js index c9f428a77..0576c68df 100644 --- a/packages/mcp/src/mcp-server.js +++ b/packages/mcp/src/mcp-server.js @@ -11,14 +11,6 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { z } from "zod"; import { ESLint } from "eslint"; -//----------------------------------------------------------------------------- -// Type Definitions -//----------------------------------------------------------------------------- - -/** - * @import { ZodRawShape } from "zod"; - */ - //----------------------------------------------------------------------------- // Server //----------------------------------------------------------------------------- @@ -29,9 +21,9 @@ const mcpServer = new McpServer({ }); // Important: Cursor throws an error when `describe()` is used in the schema. -const filePathsSchema = /** @type {ZodRawShape} */ ({ - filePaths: z.array(z.string().min(1)).nonempty(), -}); +const filePathsSchema = { + filePaths: z.array(z.string().min(1)).min(1), +}; //----------------------------------------------------------------------------- // Tools From 71ad117fbf8a1b9a2874a20b443c94fa6243e867 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A3=A8=EB=B0=80LuMir?= Date: Thu, 27 Nov 2025 15:48:05 +0900 Subject: [PATCH 07/23] wip --- packages/mcp/src/mcp-server.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/mcp/src/mcp-server.js b/packages/mcp/src/mcp-server.js index 0576c68df..42be8a0d8 100644 --- a/packages/mcp/src/mcp-server.js +++ b/packages/mcp/src/mcp-server.js @@ -11,6 +11,14 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { z } from "zod"; import { ESLint } from "eslint"; +//----------------------------------------------------------------------------- +// Type Definitions +//----------------------------------------------------------------------------- + +/** + * @import { ZodRawShape } from "zod"; + */ + //----------------------------------------------------------------------------- // Server //----------------------------------------------------------------------------- @@ -21,9 +29,9 @@ const mcpServer = new McpServer({ }); // Important: Cursor throws an error when `describe()` is used in the schema. -const filePathsSchema = { - filePaths: z.array(z.string().min(1)).min(1), -}; +const filePathsSchema = /** @satisfies {ZodRawShape} */ ({ + filePaths: z.array(z.string().min(1)).nonempty(), +}); //----------------------------------------------------------------------------- // Tools From 1da37ef2de4fbe696f472b3379d6bb11b173fae4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A3=A8=EB=B0=80LuMir?= Date: Thu, 27 Nov 2025 15:50:53 +0900 Subject: [PATCH 08/23] wip --- packages/mcp/src/mcp-server.js | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/packages/mcp/src/mcp-server.js b/packages/mcp/src/mcp-server.js index 42be8a0d8..f184609df 100644 --- a/packages/mcp/src/mcp-server.js +++ b/packages/mcp/src/mcp-server.js @@ -28,11 +28,6 @@ const mcpServer = new McpServer({ version: "0.2.0", // x-release-please-version }); -// Important: Cursor throws an error when `describe()` is used in the schema. -const filePathsSchema = /** @satisfies {ZodRawShape} */ ({ - filePaths: z.array(z.string().min(1)).nonempty(), -}); - //----------------------------------------------------------------------------- // Tools //----------------------------------------------------------------------------- @@ -40,7 +35,10 @@ const filePathsSchema = /** @satisfies {ZodRawShape} */ ({ mcpServer.tool( "lint-files", "Lint files using ESLint. You must provide a list of absolute file paths to the files you want to lint. The absolute file paths should be in the correct format for your operating system (e.g., forward slashes on Unix-like systems, backslashes on Windows).", - filePathsSchema, + // Important: Cursor throws an error when `describe()` is used in the schema. + { + filePaths: z.array(z.string().min(1)).nonempty(), + }, async ({ filePaths }) => { const eslint = new ESLint({ // enable lookup from file rather than from cwd From f2a7c1e7ca6df9ec622d2ea610e3b6504336c289 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A3=A8=EB=B0=80LuMir?= Date: Thu, 27 Nov 2025 15:53:13 +0900 Subject: [PATCH 09/23] wip --- packages/mcp/src/mcp-server.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/mcp/src/mcp-server.js b/packages/mcp/src/mcp-server.js index f184609df..ec7a5e978 100644 --- a/packages/mcp/src/mcp-server.js +++ b/packages/mcp/src/mcp-server.js @@ -28,6 +28,11 @@ const mcpServer = new McpServer({ version: "0.2.0", // x-release-please-version }); +// Important: Cursor throws an error when `describe()` is used in the schema. +const filePathsSchema = /** @type {ZodRawShape} */ ({ + filePaths: /** @type {unknown} */ (z.array(z.string().min(1)).nonempty()), +}); + //----------------------------------------------------------------------------- // Tools //----------------------------------------------------------------------------- @@ -35,10 +40,7 @@ const mcpServer = new McpServer({ mcpServer.tool( "lint-files", "Lint files using ESLint. You must provide a list of absolute file paths to the files you want to lint. The absolute file paths should be in the correct format for your operating system (e.g., forward slashes on Unix-like systems, backslashes on Windows).", - // Important: Cursor throws an error when `describe()` is used in the schema. - { - filePaths: z.array(z.string().min(1)).nonempty(), - }, + filePathsSchema, async ({ filePaths }) => { const eslint = new ESLint({ // enable lookup from file rather than from cwd From 7e76e3785d1b3631c76e7ca38b55b63569e006c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A3=A8=EB=B0=80LuMir?= Date: Thu, 27 Nov 2025 16:09:41 +0900 Subject: [PATCH 10/23] wip --- packages/mcp/src/mcp-server.js | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/packages/mcp/src/mcp-server.js b/packages/mcp/src/mcp-server.js index ec7a5e978..af6e9f0e5 100644 --- a/packages/mcp/src/mcp-server.js +++ b/packages/mcp/src/mcp-server.js @@ -8,17 +8,9 @@ //----------------------------------------------------------------------------- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; -import { z } from "zod"; +import { z } from "zod/v3"; import { ESLint } from "eslint"; -//----------------------------------------------------------------------------- -// Type Definitions -//----------------------------------------------------------------------------- - -/** - * @import { ZodRawShape } from "zod"; - */ - //----------------------------------------------------------------------------- // Server //----------------------------------------------------------------------------- @@ -29,9 +21,9 @@ const mcpServer = new McpServer({ }); // Important: Cursor throws an error when `describe()` is used in the schema. -const filePathsSchema = /** @type {ZodRawShape} */ ({ - filePaths: /** @type {unknown} */ (z.array(z.string().min(1)).nonempty()), -}); +const filePathsSchema = { + filePaths: z.array(z.string().min(1)).nonempty(), +}; //----------------------------------------------------------------------------- // Tools From 3b70778dedd4e03173f58612d5c32a4496dc1c1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A3=A8=EB=B0=80LuMir?= Date: Thu, 27 Nov 2025 16:14:43 +0900 Subject: [PATCH 11/23] wip --- packages/mcp/tsconfig.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/mcp/tsconfig.json b/packages/mcp/tsconfig.json index 2ece54b6a..95fd6b2b8 100644 --- a/packages/mcp/tsconfig.json +++ b/packages/mcp/tsconfig.json @@ -3,6 +3,7 @@ "files": ["src/mcp-cli.js"], "compilerOptions": { "noEmit": true, - "strict": true + "strict": true, + "skipLibCheck": true } } From c4b5f1a3e5c9d729c6b1747de065cf9ff2b207f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A3=A8=EB=B0=80LuMir?= Date: Thu, 27 Nov 2025 16:22:03 +0900 Subject: [PATCH 12/23] wip --- packages/mcp/src/mcp-server.js | 9 ++++++--- packages/mcp/tsconfig.json | 3 +-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/mcp/src/mcp-server.js b/packages/mcp/src/mcp-server.js index af6e9f0e5..3feff2d23 100644 --- a/packages/mcp/src/mcp-server.js +++ b/packages/mcp/src/mcp-server.js @@ -29,10 +29,13 @@ const filePathsSchema = { // Tools //----------------------------------------------------------------------------- -mcpServer.tool( +mcpServer.registerTool( "lint-files", - "Lint files using ESLint. You must provide a list of absolute file paths to the files you want to lint. The absolute file paths should be in the correct format for your operating system (e.g., forward slashes on Unix-like systems, backslashes on Windows).", - filePathsSchema, + { + description: + "Lint files using ESLint. You must provide a list of absolute file paths to the files you want to lint. The absolute file paths should be in the correct format for your operating system (e.g., forward slashes on Unix-like systems, backslashes on Windows).", + inputSchema: filePathsSchema, + }, async ({ filePaths }) => { const eslint = new ESLint({ // enable lookup from file rather than from cwd diff --git a/packages/mcp/tsconfig.json b/packages/mcp/tsconfig.json index 95fd6b2b8..2ece54b6a 100644 --- a/packages/mcp/tsconfig.json +++ b/packages/mcp/tsconfig.json @@ -3,7 +3,6 @@ "files": ["src/mcp-cli.js"], "compilerOptions": { "noEmit": true, - "strict": true, - "skipLibCheck": true + "strict": true } } From ac5e857bf0a6bea5338f336b5d862a0030198882 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A3=A8=EB=B0=80LuMir?= Date: Thu, 27 Nov 2025 16:26:44 +0900 Subject: [PATCH 13/23] wip --- packages/mcp/src/mcp-server.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/mcp/src/mcp-server.js b/packages/mcp/src/mcp-server.js index 3feff2d23..810ead629 100644 --- a/packages/mcp/src/mcp-server.js +++ b/packages/mcp/src/mcp-server.js @@ -21,9 +21,9 @@ const mcpServer = new McpServer({ }); // Important: Cursor throws an error when `describe()` is used in the schema. -const filePathsSchema = { +const filePathsSchema = z.object({ filePaths: z.array(z.string().min(1)).nonempty(), -}; +}); //----------------------------------------------------------------------------- // Tools From a79fb04ca867b4c1fabd976763d4274e09295247 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A3=A8=EB=B0=80LuMir?= Date: Thu, 27 Nov 2025 16:34:57 +0900 Subject: [PATCH 14/23] wip --- packages/mcp/src/mcp-server.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/mcp/src/mcp-server.js b/packages/mcp/src/mcp-server.js index 810ead629..3feff2d23 100644 --- a/packages/mcp/src/mcp-server.js +++ b/packages/mcp/src/mcp-server.js @@ -21,9 +21,9 @@ const mcpServer = new McpServer({ }); // Important: Cursor throws an error when `describe()` is used in the schema. -const filePathsSchema = z.object({ +const filePathsSchema = { filePaths: z.array(z.string().min(1)).nonempty(), -}); +}; //----------------------------------------------------------------------------- // Tools From a3d66e9ba0c6eac46a68f1fb8f69e8817b966ed7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A3=A8=EB=B0=80LuMir?= Date: Fri, 28 Nov 2025 00:55:46 +0900 Subject: [PATCH 15/23] wip: try modelcontextprotocol branch --- packages/mcp/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mcp/package.json b/packages/mcp/package.json index 4e7104b07..204514414 100644 --- a/packages/mcp/package.json +++ b/packages/mcp/package.json @@ -36,7 +36,7 @@ "node": "^20.19.0 || ^22.13.0 || >=24" }, "dependencies": { - "@modelcontextprotocol/sdk": "^1.23.0", + "@modelcontextprotocol/sdk": "https://pkg.pr.new/modelcontextprotocol/typescript-sdk/@modelcontextprotocol/sdk@1181", "eslint": "^9.39.1", "zod": "^3.25.76" }, From 0258f862578dff3b5de053030581539d72edfc89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A3=A8=EB=B0=80LuMir?= Date: Fri, 28 Nov 2025 15:20:05 +0900 Subject: [PATCH 16/23] wip: apply comments from `@modelcontextprotocol/sdk` --- packages/mcp/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/mcp/package.json b/packages/mcp/package.json index 204514414..cdc84f26c 100644 --- a/packages/mcp/package.json +++ b/packages/mcp/package.json @@ -36,9 +36,9 @@ "node": "^20.19.0 || ^22.13.0 || >=24" }, "dependencies": { - "@modelcontextprotocol/sdk": "https://pkg.pr.new/modelcontextprotocol/typescript-sdk/@modelcontextprotocol/sdk@1181", + "@modelcontextprotocol/sdk": "^1.23.0", "eslint": "^9.39.1", - "zod": "^3.25.76" + "zod": "^4.1.13" }, "devDependencies": { "@cfworker/json-schema": "^4.1.1", From 19fc40aefd0fb4aae71e507e8ec35a0e01ad8ee4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A3=A8=EB=B0=80LuMir?= Date: Fri, 28 Nov 2025 15:29:27 +0900 Subject: [PATCH 17/23] wip: use `v10_config_lookup_from_file` --- packages/mcp/src/mcp-server.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mcp/src/mcp-server.js b/packages/mcp/src/mcp-server.js index 3feff2d23..8ae8b1acf 100644 --- a/packages/mcp/src/mcp-server.js +++ b/packages/mcp/src/mcp-server.js @@ -39,7 +39,7 @@ mcpServer.registerTool( async ({ filePaths }) => { const eslint = new ESLint({ // enable lookup from file rather than from cwd - flags: ["unstable_config_lookup_from_file"], + flags: ["v10_config_lookup_from_file"], }); const type = /** @type {const} */ ("text"); From 3e5f69e93d90b770f5880c2831f064161c3c48c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A3=A8=EB=B0=80LuMir?= Date: Fri, 28 Nov 2025 15:45:04 +0900 Subject: [PATCH 18/23] wip: add `$schema` in test --- packages/mcp/tests/mcp-server.test.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/mcp/tests/mcp-server.test.js b/packages/mcp/tests/mcp-server.test.js index fdc6088fb..d7be975a2 100644 --- a/packages/mcp/tests/mcp-server.test.js +++ b/packages/mcp/tests/mcp-server.test.js @@ -23,6 +23,8 @@ const passingFilePath = path.join(dirname, "fixtures", "passing.js"); const syntaxErrorFilePath = path.join(dirname, "fixtures", "syntax-error.js"); const filePathsJsonSchema = { + $schema: "http://json-schema.org/draft-07/schema#", + additionalProperties: false, properties: { filePaths: { items: { From 098ef13662e0b2148c1226f11e213d6fb59ed578 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A3=A8=EB=B0=80LuMir?= Date: Fri, 28 Nov 2025 15:49:27 +0900 Subject: [PATCH 19/23] wip: `prettier` --- package.json | 2 +- packages/core/src/types.ts | 5 +++-- packages/core/tests/types/types.test.ts | 19 ++++++++----------- 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index 7870ba402..31046e6a4 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "knip": "^5.62.0", "lint-staged": "^16.0.0", "mocha": "^11.5.0", - "prettier": "^3.4.1", + "prettier": "^3.7.1", "rollup": "^4.52.3", "typescript": "^5.8.3", "typescript-eslint": "^8.0.0", diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts index 95604e70d..971df45ba 100644 --- a/packages/core/src/types.ts +++ b/packages/core/src/types.ts @@ -1030,8 +1030,9 @@ export interface BaseConfig< /** * The overwrites that apply more differing configuration to specific files or directories. */ -export interface ConfigOverride - extends BaseConfig { +export interface ConfigOverride< + Rules extends RulesConfig = RulesConfig, +> extends BaseConfig { /** * The glob patterns for excluded files. */ diff --git a/packages/core/tests/types/types.test.ts b/packages/core/tests/types/types.test.ts index 14935c2fe..3719a2f64 100644 --- a/packages/core/tests/types/types.test.ts +++ b/packages/core/tests/types/types.test.ts @@ -96,15 +96,12 @@ interface TestLanguageOptions extends LanguageOptions { howMuch?: "yes" | "no" | boolean; } -class TestSourceCode - implements - TextSourceCode<{ - LangOptions: TestLanguageOptions; - RootNode: TestRootNode; - SyntaxElementWithLoc: unknown; - ConfigNode: unknown; - }> -{ +class TestSourceCode implements TextSourceCode<{ + LangOptions: TestLanguageOptions; + RootNode: TestRootNode; + SyntaxElementWithLoc: unknown; + ConfigNode: unknown; +}> { text: string; ast: TestRootNode; notMuch: "no" | false; @@ -394,8 +391,8 @@ const testRuleWithInvalidDefaultOptions: RuleDefinition<{ testRuleWithInvalidDefaultOptions.meta satisfies RulesMeta | undefined; type TestRuleDefinition< - Options extends - Partial = CustomRuleTypeDefinitions, + Options extends Partial = + CustomRuleTypeDefinitions, > = CustomRuleDefinitionType< { LangOptions: TestLanguageOptions; From 72b26b84534430d556acc31bf28690f8480b1bbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A3=A8=EB=B0=80LuMir?= Date: Fri, 28 Nov 2025 15:52:43 +0900 Subject: [PATCH 20/23] wip: revert using `v10` flag --- packages/mcp/src/mcp-server.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/mcp/src/mcp-server.js b/packages/mcp/src/mcp-server.js index 8ae8b1acf..3feff2d23 100644 --- a/packages/mcp/src/mcp-server.js +++ b/packages/mcp/src/mcp-server.js @@ -39,7 +39,7 @@ mcpServer.registerTool( async ({ filePaths }) => { const eslint = new ESLint({ // enable lookup from file rather than from cwd - flags: ["v10_config_lookup_from_file"], + flags: ["unstable_config_lookup_from_file"], }); const type = /** @type {const} */ ("text"); From e6082c91f072b4de4ce441643440e32e80c05db7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A3=A8=EB=B0=80LuMir?= Date: Mon, 1 Dec 2025 01:11:54 +0900 Subject: [PATCH 21/23] wip: update `prettier` to latest --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 31046e6a4..092101953 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "knip": "^5.62.0", "lint-staged": "^16.0.0", "mocha": "^11.5.0", - "prettier": "^3.7.1", + "prettier": "^3.7.3", "rollup": "^4.52.3", "typescript": "^5.8.3", "typescript-eslint": "^8.0.0", From 8ad6bc63f8ed94061f2a7defc15e2ff775f4e780 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A3=A8=EB=B0=80LuMir?= Date: Wed, 3 Dec 2025 12:20:03 +0900 Subject: [PATCH 22/23] wip: update `@modelcontextprotocol/sdk` and install `@types/express` --- packages/mcp/package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/mcp/package.json b/packages/mcp/package.json index cdc84f26c..abf904d60 100644 --- a/packages/mcp/package.json +++ b/packages/mcp/package.json @@ -36,12 +36,13 @@ "node": "^20.19.0 || ^22.13.0 || >=24" }, "dependencies": { - "@modelcontextprotocol/sdk": "^1.23.0", + "@modelcontextprotocol/sdk": "^1.24.1", "eslint": "^9.39.1", "zod": "^4.1.13" }, "devDependencies": { "@cfworker/json-schema": "^4.1.1", + "@types/express": "^5.0.6", "@types/node": "^24.7.2" } } From fb2b0dd78ae2e620b218b212b322c65807b5c552 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A3=A8=EB=B0=80LuMir?= Date: Wed, 3 Dec 2025 12:24:12 +0900 Subject: [PATCH 23/23] wip: add `@types/express` to `ignoreDependenices` for `knip` --- knip.json | 1 + 1 file changed, 1 insertion(+) diff --git a/knip.json b/knip.json index cad406275..8b84e6971 100644 --- a/knip.json +++ b/knip.json @@ -18,6 +18,7 @@ }, "packages/core": { "project": ["src/**/*.{cts,js,ts}"] }, "packages/mcp": { + "ignoreDependencies": ["@types/express"], "entry": ["tests/**/*.{cts,js,ts}"], "project": ["src/**/*.{cts,js,ts}", "tests/**/*.{cts,js,ts}"] },