@scoutello/i18n-magic 0.39.2 → 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 -2
- package/dist/mcp-server.js.map +1 -1
- package/package.json +2 -1
- package/src/mcp-server.ts +38 -2
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,8 +152,18 @@ class I18nMagicServer {
|
|
|
130
152
|
});
|
|
131
153
|
}
|
|
132
154
|
async run() {
|
|
133
|
-
//
|
|
134
|
-
|
|
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
|
|
135
167
|
await this.ensureConfig();
|
|
136
168
|
const transport = new StdioServerTransport();
|
|
137
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,8 +193,19 @@ class I18nMagicServer {
|
|
|
168
193
|
}
|
|
169
194
|
|
|
170
195
|
async run() {
|
|
171
|
-
//
|
|
172
|
-
|
|
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
|
|
173
209
|
await this.ensureConfig()
|
|
174
210
|
|
|
175
211
|
const transport = new StdioServerTransport()
|