@scoutello/i18n-magic 0.39.1 → 0.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/mcp-server.js +34 -1
- package/dist/mcp-server.js.map +1 -1
- package/package.json +2 -1
- package/src/mcp-server.ts +38 -1
package/dist/mcp-server.js
CHANGED
|
@@ -5,6 +5,28 @@ import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextpro
|
|
|
5
5
|
import { z } from "zod";
|
|
6
6
|
import { addTranslationKey } from "./lib/utils.js";
|
|
7
7
|
import { loadConfig } from "./lib/utils.js";
|
|
8
|
+
import path from "path";
|
|
9
|
+
// Helper function to resolve project root
|
|
10
|
+
function resolveProjectRoot() {
|
|
11
|
+
// 1. Check for --project-root CLI argument
|
|
12
|
+
const args = process.argv.slice(2);
|
|
13
|
+
const projectRootIndex = args.indexOf("--project-root");
|
|
14
|
+
if (projectRootIndex !== -1 && args[projectRootIndex + 1]) {
|
|
15
|
+
const projectRoot = args[projectRootIndex + 1];
|
|
16
|
+
console.error(`[i18n-magic MCP] Using project root from --project-root: ${projectRoot}`);
|
|
17
|
+
return path.resolve(projectRoot);
|
|
18
|
+
}
|
|
19
|
+
// 2. Check for I18N_MCP_PROJECT_ROOT environment variable
|
|
20
|
+
if (process.env.I18N_MCP_PROJECT_ROOT) {
|
|
21
|
+
const projectRoot = process.env.I18N_MCP_PROJECT_ROOT;
|
|
22
|
+
console.error(`[i18n-magic MCP] Using project root from I18N_MCP_PROJECT_ROOT: ${projectRoot}`);
|
|
23
|
+
return path.resolve(projectRoot);
|
|
24
|
+
}
|
|
25
|
+
// 3. Fall back to current working directory
|
|
26
|
+
const cwd = process.cwd();
|
|
27
|
+
console.error(`[i18n-magic MCP] Using current working directory as project root: ${cwd}`);
|
|
28
|
+
return cwd;
|
|
29
|
+
}
|
|
8
30
|
// Zod schema for the add_translation_key tool parameters
|
|
9
31
|
const AddTranslationKeySchema = z.object({
|
|
10
32
|
key: z
|
|
@@ -130,7 +152,18 @@ class I18nMagicServer {
|
|
|
130
152
|
});
|
|
131
153
|
}
|
|
132
154
|
async run() {
|
|
133
|
-
//
|
|
155
|
+
// Resolve and change to the project root directory
|
|
156
|
+
const projectRoot = resolveProjectRoot();
|
|
157
|
+
// Change to the project directory to ensure config and files are found
|
|
158
|
+
try {
|
|
159
|
+
process.chdir(projectRoot);
|
|
160
|
+
console.error(`[i18n-magic MCP] Changed working directory to: ${process.cwd()}`);
|
|
161
|
+
}
|
|
162
|
+
catch (error) {
|
|
163
|
+
console.error(`[i18n-magic MCP] Failed to change to project root: ${error}`);
|
|
164
|
+
throw new Error(`Cannot access project directory: ${projectRoot}`);
|
|
165
|
+
}
|
|
166
|
+
// Load config immediately at startup
|
|
134
167
|
await this.ensureConfig();
|
|
135
168
|
const transport = new StdioServerTransport();
|
|
136
169
|
await this.server.connect(transport);
|
package/dist/mcp-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
+
|
|
2
3
|
"name": "@scoutello/i18n-magic",
|
|
3
|
-
"version": "0.
|
|
4
|
+
"version": "0.40.0",
|
|
4
5
|
"private": false,
|
|
5
6
|
"license": "MIT",
|
|
6
7
|
"description": "Intelligent CLI toolkit that automates internationalization workflows with AI-powered translations for JavaScript/TypeScript projects",
|
package/src/mcp-server.ts
CHANGED
|
@@ -8,6 +8,31 @@ import { z } from "zod"
|
|
|
8
8
|
import { addTranslationKey } from "./lib/utils.js"
|
|
9
9
|
import { loadConfig } from "./lib/utils.js"
|
|
10
10
|
import type { Configuration } from "./lib/types.js"
|
|
11
|
+
import path from "path"
|
|
12
|
+
|
|
13
|
+
// Helper function to resolve project root
|
|
14
|
+
function resolveProjectRoot(): string {
|
|
15
|
+
// 1. Check for --project-root CLI argument
|
|
16
|
+
const args = process.argv.slice(2)
|
|
17
|
+
const projectRootIndex = args.indexOf("--project-root")
|
|
18
|
+
if (projectRootIndex !== -1 && args[projectRootIndex + 1]) {
|
|
19
|
+
const projectRoot = args[projectRootIndex + 1]
|
|
20
|
+
console.error(`[i18n-magic MCP] Using project root from --project-root: ${projectRoot}`)
|
|
21
|
+
return path.resolve(projectRoot)
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// 2. Check for I18N_MCP_PROJECT_ROOT environment variable
|
|
25
|
+
if (process.env.I18N_MCP_PROJECT_ROOT) {
|
|
26
|
+
const projectRoot = process.env.I18N_MCP_PROJECT_ROOT
|
|
27
|
+
console.error(`[i18n-magic MCP] Using project root from I18N_MCP_PROJECT_ROOT: ${projectRoot}`)
|
|
28
|
+
return path.resolve(projectRoot)
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// 3. Fall back to current working directory
|
|
32
|
+
const cwd = process.cwd()
|
|
33
|
+
console.error(`[i18n-magic MCP] Using current working directory as project root: ${cwd}`)
|
|
34
|
+
return cwd
|
|
35
|
+
}
|
|
11
36
|
|
|
12
37
|
// Zod schema for the add_translation_key tool parameters
|
|
13
38
|
const AddTranslationKeySchema = z.object({
|
|
@@ -168,7 +193,19 @@ class I18nMagicServer {
|
|
|
168
193
|
}
|
|
169
194
|
|
|
170
195
|
async run() {
|
|
171
|
-
//
|
|
196
|
+
// Resolve and change to the project root directory
|
|
197
|
+
const projectRoot = resolveProjectRoot()
|
|
198
|
+
|
|
199
|
+
// Change to the project directory to ensure config and files are found
|
|
200
|
+
try {
|
|
201
|
+
process.chdir(projectRoot)
|
|
202
|
+
console.error(`[i18n-magic MCP] Changed working directory to: ${process.cwd()}`)
|
|
203
|
+
} catch (error) {
|
|
204
|
+
console.error(`[i18n-magic MCP] Failed to change to project root: ${error}`)
|
|
205
|
+
throw new Error(`Cannot access project directory: ${projectRoot}`)
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
// Load config immediately at startup
|
|
172
209
|
await this.ensureConfig()
|
|
173
210
|
|
|
174
211
|
const transport = new StdioServerTransport()
|