mta-mcp 1.9.1 → 2.3.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.
Files changed (106) hide show
  1. package/README.md +140 -2
  2. package/bin/mta.cjs +43 -0
  3. package/dist/index.cjs +4784 -0
  4. package/dist/index.cjs.map +1 -0
  5. package/dist/index.d.cts +1 -0
  6. package/dist/index.d.ts +1 -0
  7. package/dist/index.js +4769 -0
  8. package/dist/index.js.map +1 -0
  9. package/package.json +44 -16
  10. package/build/core/agentTemplate.d.ts +0 -33
  11. package/build/core/agentTemplate.d.ts.map +0 -1
  12. package/build/core/agentTemplate.js +0 -158
  13. package/build/core/agentTemplate.js.map +0 -1
  14. package/build/core/autoInitializer.d.ts +0 -34
  15. package/build/core/autoInitializer.d.ts.map +0 -1
  16. package/build/core/autoInitializer.js +0 -145
  17. package/build/core/autoInitializer.js.map +0 -1
  18. package/build/core/codeValidator.d.ts +0 -82
  19. package/build/core/codeValidator.d.ts.map +0 -1
  20. package/build/core/codeValidator.js +0 -287
  21. package/build/core/codeValidator.js.map +0 -1
  22. package/build/core/githubClient.d.ts +0 -26
  23. package/build/core/githubClient.d.ts.map +0 -1
  24. package/build/core/githubClient.js +0 -60
  25. package/build/core/githubClient.js.map +0 -1
  26. package/build/core/i18nDetector.d.ts +0 -47
  27. package/build/core/i18nDetector.d.ts.map +0 -1
  28. package/build/core/i18nDetector.js +0 -314
  29. package/build/core/i18nDetector.js.map +0 -1
  30. package/build/core/projectContextManager.d.ts +0 -39
  31. package/build/core/projectContextManager.d.ts.map +0 -1
  32. package/build/core/projectContextManager.js +0 -147
  33. package/build/core/projectContextManager.js.map +0 -1
  34. package/build/core/smartAgentMatcher.d.ts +0 -51
  35. package/build/core/smartAgentMatcher.d.ts.map +0 -1
  36. package/build/core/smartAgentMatcher.js +0 -493
  37. package/build/core/smartAgentMatcher.js.map +0 -1
  38. package/build/core/standardsManager.d.ts +0 -130
  39. package/build/core/standardsManager.d.ts.map +0 -1
  40. package/build/core/standardsManager.js +0 -600
  41. package/build/core/standardsManager.js.map +0 -1
  42. package/build/core/types.d.ts +0 -55
  43. package/build/core/types.d.ts.map +0 -1
  44. package/build/core/types.js +0 -21
  45. package/build/core/types.js.map +0 -1
  46. package/build/index.d.ts +0 -3
  47. package/build/index.d.ts.map +0 -1
  48. package/build/index.js +0 -463
  49. package/build/index.js.map +0 -1
  50. package/build/tools/analyzeProject.d.ts +0 -12
  51. package/build/tools/analyzeProject.d.ts.map +0 -1
  52. package/build/tools/analyzeProject.js +0 -85
  53. package/build/tools/analyzeProject.js.map +0 -1
  54. package/build/tools/autoSetup.d.ts +0 -15
  55. package/build/tools/autoSetup.d.ts.map +0 -1
  56. package/build/tools/autoSetup.js +0 -291
  57. package/build/tools/autoSetup.js.map +0 -1
  58. package/build/tools/generateConfig.d.ts +0 -16
  59. package/build/tools/generateConfig.d.ts.map +0 -1
  60. package/build/tools/generateConfig.js +0 -379
  61. package/build/tools/generateConfig.js.map +0 -1
  62. package/build/tools/generateProjectAgent.d.ts +0 -15
  63. package/build/tools/generateProjectAgent.d.ts.map +0 -1
  64. package/build/tools/generateProjectAgent.js +0 -348
  65. package/build/tools/generateProjectAgent.js.map +0 -1
  66. package/build/tools/getCompactStandards.d.ts +0 -20
  67. package/build/tools/getCompactStandards.d.ts.map +0 -1
  68. package/build/tools/getCompactStandards.js +0 -367
  69. package/build/tools/getCompactStandards.js.map +0 -1
  70. package/build/tools/getSmartStandards.d.ts +0 -17
  71. package/build/tools/getSmartStandards.d.ts.map +0 -1
  72. package/build/tools/getSmartStandards.js +0 -190
  73. package/build/tools/getSmartStandards.js.map +0 -1
  74. package/build/tools/healthCheck.d.ts +0 -14
  75. package/build/tools/healthCheck.d.ts.map +0 -1
  76. package/build/tools/healthCheck.js +0 -237
  77. package/build/tools/healthCheck.js.map +0 -1
  78. package/build/tools/listAgents.d.ts +0 -10
  79. package/build/tools/listAgents.d.ts.map +0 -1
  80. package/build/tools/listAgents.js +0 -79
  81. package/build/tools/listAgents.js.map +0 -1
  82. package/build/tools/matchAgents.d.ts +0 -14
  83. package/build/tools/matchAgents.d.ts.map +0 -1
  84. package/build/tools/matchAgents.js +0 -70
  85. package/build/tools/matchAgents.js.map +0 -1
  86. package/build/tools/usePreset.d.ts +0 -23
  87. package/build/tools/usePreset.d.ts.map +0 -1
  88. package/build/tools/usePreset.js +0 -163
  89. package/build/tools/usePreset.js.map +0 -1
  90. package/src/core/autoInitializer.ts +0 -170
  91. package/src/core/codeValidator.ts +0 -357
  92. package/src/core/githubClient.ts +0 -64
  93. package/src/core/i18nDetector.ts +0 -357
  94. package/src/core/smartAgentMatcher.ts +0 -490
  95. package/src/core/standardsManager.ts +0 -769
  96. package/src/core/types.ts +0 -72
  97. package/src/index.ts +0 -519
  98. package/src/tools/analyzeProject.ts +0 -94
  99. package/src/tools/autoSetup.ts +0 -312
  100. package/src/tools/generateConfig.ts +0 -429
  101. package/src/tools/getCompactStandards.ts +0 -413
  102. package/src/tools/getSmartStandards.ts +0 -214
  103. package/src/tools/healthCheck.ts +0 -261
  104. package/src/tools/listAgents.ts +0 -91
  105. package/src/tools/matchAgents.ts +0 -80
  106. package/src/tools/usePreset.ts +0 -180
@@ -1,287 +0,0 @@
1
- /**
2
- * 代码验证器 (v1.1.0)
3
- * 用于检测和防止常见的代码生成错误
4
- */
5
- import { ConsoleLogger } from './types.js';
6
- /**
7
- * 代码验证器类
8
- */
9
- export class CodeValidator {
10
- logger;
11
- constructor(logger) {
12
- this.logger = logger || new ConsoleLogger();
13
- }
14
- /**
15
- * 验证生成的配置文件内容
16
- */
17
- validateConfigContent(content) {
18
- const errors = [];
19
- const warnings = [];
20
- // 1. 检查重复标签闭合 (如 </style></style>)
21
- this.checkDuplicateTags(content, errors);
22
- // 2. 检查括号匹配
23
- this.checkBracketMatching(content, errors);
24
- // 3. 检查 Markdown 语法
25
- this.checkMarkdownSyntax(content, errors);
26
- // 4. 检查必要章节完整性
27
- this.checkRequiredSections(content, warnings);
28
- // 5. 检查自定义内容标记
29
- this.checkCustomContentMarkers(content, warnings);
30
- return {
31
- isValid: errors.length === 0,
32
- errors,
33
- warnings
34
- };
35
- }
36
- /**
37
- * 检查重复的HTML标签
38
- */
39
- checkDuplicateTags(content, errors) {
40
- const lines = content.split('\n');
41
- const tagPattern = /<\/([\w-]+)>/g;
42
- for (let i = 0; i < lines.length; i++) {
43
- const line = lines[i];
44
- const matches = Array.from(line.matchAll(tagPattern));
45
- if (matches.length > 0) {
46
- const tags = matches.map(m => m[1]);
47
- const tagCounts = new Map();
48
- tags.forEach(tag => {
49
- tagCounts.set(tag, (tagCounts.get(tag) || 0) + 1);
50
- });
51
- tagCounts.forEach((count, tag) => {
52
- if (count > 1) {
53
- errors.push({
54
- type: 'syntax',
55
- message: `重复的闭合标签 </${tag}> 在同一行出现 ${count} 次`,
56
- line: i + 1,
57
- suggestion: `检查是否有多余的闭合标签,应该只保留一个 </${tag}>`
58
- });
59
- }
60
- });
61
- }
62
- }
63
- }
64
- /**
65
- * 检查括号匹配
66
- */
67
- checkBracketMatching(content, errors) {
68
- const brackets = {
69
- '(': ')',
70
- '[': ']',
71
- '{': '}',
72
- '<': '>'
73
- };
74
- const stack = [];
75
- const lines = content.split('\n');
76
- for (let lineNum = 0; lineNum < lines.length; lineNum++) {
77
- const line = lines[lineNum];
78
- // 跳过代码块内容
79
- if (line.trim().startsWith('```')) {
80
- continue;
81
- }
82
- // 跳过 Markdown blockquote 行(以 > 开头)
83
- if (line.trim().startsWith('>')) {
84
- continue;
85
- }
86
- for (let col = 0; col < line.length; col++) {
87
- const char = line[col];
88
- // 跳过 Markdown blockquote 的 > 符号
89
- if (char === '>' && (col === 0 || line[col - 1] === ' ') &&
90
- (col === line.length - 1 || line[col + 1] === ' ')) {
91
- continue;
92
- }
93
- if (char in brackets) {
94
- stack.push({ char, line: lineNum + 1, col: col + 1 });
95
- }
96
- else if (Object.values(brackets).includes(char)) {
97
- if (stack.length === 0) {
98
- errors.push({
99
- type: 'syntax',
100
- message: `未配对的闭合括号 '${char}'`,
101
- line: lineNum + 1,
102
- suggestion: `检查是否缺少对应的开放括号`
103
- });
104
- }
105
- else {
106
- const last = stack.pop();
107
- const expectedClose = brackets[last.char];
108
- if (char !== expectedClose) {
109
- errors.push({
110
- type: 'syntax',
111
- message: `括号不匹配: 期望 '${expectedClose}' 但得到 '${char}'`,
112
- line: lineNum + 1,
113
- suggestion: `检查第 ${last.line} 行的 '${last.char}' 对应的闭合括号`
114
- });
115
- }
116
- }
117
- }
118
- }
119
- }
120
- // 检查未闭合的括号
121
- if (stack.length > 0) {
122
- stack.forEach(bracket => {
123
- errors.push({
124
- type: 'syntax',
125
- message: `未闭合的括号 '${bracket.char}'`,
126
- line: bracket.line,
127
- suggestion: `添加对应的闭合括号 '${brackets[bracket.char]}'`
128
- });
129
- });
130
- }
131
- }
132
- /**
133
- * 检查 Markdown 语法
134
- */
135
- checkMarkdownSyntax(content, errors) {
136
- const lines = content.split('\n');
137
- let inCodeBlock = false;
138
- let codeBlockStart = 0;
139
- for (let i = 0; i < lines.length; i++) {
140
- const line = lines[i];
141
- // 检查代码块标记
142
- if (line.trim().startsWith('```')) {
143
- if (inCodeBlock) {
144
- inCodeBlock = false;
145
- }
146
- else {
147
- inCodeBlock = true;
148
- codeBlockStart = i + 1;
149
- }
150
- }
151
- }
152
- // 如果代码块未闭合
153
- if (inCodeBlock) {
154
- errors.push({
155
- type: 'syntax',
156
- message: '未闭合的代码块',
157
- line: codeBlockStart,
158
- suggestion: '在代码块末尾添加 ``` 闭合标记'
159
- });
160
- }
161
- }
162
- /**
163
- * 检查必要章节完整性
164
- */
165
- checkRequiredSections(content, warnings) {
166
- const requiredSections = [
167
- { pattern: /## ⚠️ 强制工作流/i, name: '强制工作流章节' },
168
- { pattern: /## 📚 配置的 Agents/i, name: 'Agents 配置章节' }
169
- ];
170
- requiredSections.forEach(section => {
171
- if (!section.pattern.test(content)) {
172
- warnings.push({
173
- type: 'completeness',
174
- message: `缺少必要章节: ${section.name}`,
175
- suggestion: '确保生成的配置文件包含所有必要的章节'
176
- });
177
- }
178
- });
179
- }
180
- /**
181
- * 检查自定义内容标记
182
- */
183
- checkCustomContentMarkers(content, warnings) {
184
- const hasCustomStart = content.includes('<!-- CUSTOM_START -->');
185
- const hasCustomEnd = content.includes('<!-- CUSTOM_END -->');
186
- if (hasCustomStart !== hasCustomEnd) {
187
- warnings.push({
188
- type: 'completeness',
189
- message: 'CUSTOM 标记不完整',
190
- suggestion: '确保 CUSTOM_START 和 CUSTOM_END 成对出现'
191
- });
192
- }
193
- }
194
- /**
195
- * 验证 Agent 内容
196
- */
197
- validateAgentContent(content, agentId) {
198
- const errors = [];
199
- const warnings = [];
200
- // 检查 Agent 文件的特殊要求
201
- if (!content.includes('⚠️ 强制工作流') && !content.includes('## 强制工作流')) {
202
- warnings.push({
203
- type: 'best-practice',
204
- message: `Agent ${agentId} 缺少强制工作流说明`,
205
- suggestion: '建议在 Agent 中包含 MCP 工具调用的强制说明'
206
- });
207
- }
208
- // 基本语法检查
209
- const syntaxValidation = this.validateConfigContent(content);
210
- errors.push(...syntaxValidation.errors);
211
- warnings.push(...syntaxValidation.warnings);
212
- return {
213
- isValid: errors.length === 0,
214
- errors,
215
- warnings
216
- };
217
- }
218
- /**
219
- * 生成验证报告
220
- */
221
- generateValidationReport(result) {
222
- let report = '';
223
- if (result.isValid && result.warnings.length === 0) {
224
- report = '✅ 验证通过,未发现问题\n';
225
- return report;
226
- }
227
- if (!result.isValid) {
228
- report += '❌ 验证失败,发现以下错误:\n\n';
229
- result.errors.forEach((error, index) => {
230
- report += `${index + 1}. [${error.type}] ${error.message}\n`;
231
- if (error.line) {
232
- report += ` 位置: 第 ${error.line} 行\n`;
233
- }
234
- if (error.suggestion) {
235
- report += ` 建议: ${error.suggestion}\n`;
236
- }
237
- report += '\n';
238
- });
239
- }
240
- else {
241
- report += '✅ 验证通过\n\n';
242
- }
243
- if (result.warnings.length > 0) {
244
- report += '⚠️ 发现以下警告:\n\n';
245
- result.warnings.forEach((warning, index) => {
246
- report += `${index + 1}. [${warning.type}] ${warning.message}\n`;
247
- if (warning.suggestion) {
248
- report += ` 建议: ${warning.suggestion}\n`;
249
- }
250
- report += '\n';
251
- });
252
- }
253
- return report;
254
- }
255
- /**
256
- * 尝试自动修复简单的语法错误
257
- */
258
- attemptAutoFix(content) {
259
- let fixedContent = content;
260
- const changes = [];
261
- // 1. 修复重复的闭合标签
262
- const tagPattern = /(<\/([\w-]+)>)\1+/g;
263
- const tagMatches = content.match(tagPattern);
264
- if (tagMatches) {
265
- fixedContent = fixedContent.replace(tagPattern, '$1');
266
- changes.push(`修复了重复的闭合标签: ${tagMatches.join(', ')}`);
267
- }
268
- // 2. 修复未闭合的代码块
269
- const codeBlockCount = (fixedContent.match(/```/g) || []).length;
270
- if (codeBlockCount % 2 !== 0) {
271
- fixedContent += '\n```\n';
272
- changes.push('添加了缺失的代码块闭合标记');
273
- }
274
- return {
275
- fixed: changes.length > 0,
276
- content: fixedContent,
277
- changes
278
- };
279
- }
280
- }
281
- /**
282
- * 创建默认验证器实例
283
- */
284
- export function createValidator(logger) {
285
- return new CodeValidator(logger);
286
- }
287
- //# sourceMappingURL=codeValidator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"codeValidator.js","sourceRoot":"","sources":["../../src/core/codeValidator.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- import { Logger } from './types.js';
2
- /**
3
- * GitHub 客户端(Node.js 版本,无 VS Code 依赖)
4
- */
5
- export declare class GitHubClient {
6
- private logger?;
7
- private readonly owner;
8
- private readonly repo;
9
- private readonly branch;
10
- private readonly baseUrl;
11
- private readonly rawBaseUrl;
12
- constructor(logger?: Logger | undefined);
13
- /**
14
- * 列出目录中的文件
15
- */
16
- listDirectoryFiles(dirPath: string): Promise<Array<{
17
- name: string;
18
- path: string;
19
- type: string;
20
- }>>;
21
- /**
22
- * 获取文件内容
23
- */
24
- fetchFileContent(filePath: string): Promise<string>;
25
- }
26
- //# sourceMappingURL=githubClient.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"githubClient.d.ts","sourceRoot":"","sources":["../../src/core/githubClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC;;GAEG;AACH,qBAAa,YAAY;IAOT,OAAO,CAAC,MAAM,CAAC;IAN3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuC;gBAE9C,MAAM,CAAC,EAAE,MAAM,YAAA;IAEnC;;OAEG;IACG,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IA0BvG;;OAEG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAgB5D"}
@@ -1,60 +0,0 @@
1
- import axios from 'axios';
2
- /**
3
- * GitHub 客户端(Node.js 版本,无 VS Code 依赖)
4
- */
5
- export class GitHubClient {
6
- logger;
7
- owner = 'ForLear';
8
- repo = 'copilot-prompts';
9
- branch = 'main';
10
- baseUrl = 'https://api.github.com';
11
- rawBaseUrl = 'https://raw.githubusercontent.com';
12
- constructor(logger) {
13
- this.logger = logger;
14
- }
15
- /**
16
- * 列出目录中的文件
17
- */
18
- async listDirectoryFiles(dirPath) {
19
- const url = `${this.baseUrl}/repos/${this.owner}/${this.repo}/contents/${dirPath}?ref=${this.branch}`;
20
- try {
21
- const response = await axios.get(url, {
22
- headers: {
23
- 'Accept': 'application/vnd.github.v3+json',
24
- 'User-Agent': 'Copilot-Prompts-MCP-Server'
25
- }
26
- });
27
- if (Array.isArray(response.data)) {
28
- return response.data.map((item) => ({
29
- name: item.name,
30
- path: item.path,
31
- type: item.type
32
- }));
33
- }
34
- return [];
35
- }
36
- catch (error) {
37
- this.logger?.error(`获取目录失败: ${error}`);
38
- return [];
39
- }
40
- }
41
- /**
42
- * 获取文件内容
43
- */
44
- async fetchFileContent(filePath) {
45
- const url = `${this.rawBaseUrl}/${this.owner}/${this.repo}/${this.branch}/${filePath}`;
46
- try {
47
- const response = await axios.get(url, {
48
- headers: {
49
- 'User-Agent': 'Copilot-Prompts-MCP-Server'
50
- }
51
- });
52
- return response.data;
53
- }
54
- catch (error) {
55
- this.logger?.error(`获取文件失败: ${filePath}`);
56
- throw error;
57
- }
58
- }
59
- }
60
- //# sourceMappingURL=githubClient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"githubClient.js","sourceRoot":"","sources":["../../src/core/githubClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;GAEG;AACH,MAAM,OAAO,YAAY;IAOD;IANH,KAAK,GAAG,SAAS,CAAC;IAClB,IAAI,GAAG,iBAAiB,CAAC;IACzB,MAAM,GAAG,MAAM,CAAC;IAChB,OAAO,GAAG,wBAAwB,CAAC;IACnC,UAAU,GAAG,mCAAmC,CAAC;IAElE,YAAoB,MAAe;QAAf,WAAM,GAAN,MAAM,CAAS;IAAG,CAAC;IAEvC;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,OAAe;QACpC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,UAAU,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,aAAa,OAAO,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QAEtG,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;gBAClC,OAAO,EAAE;oBACL,QAAQ,EAAE,gCAAgC;oBAC1C,YAAY,EAAE,4BAA4B;iBAC7C;aACJ,CAAC,CAAC;YAEH,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,CAAC;oBACrC,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,IAAI,CAAC,IAAI;iBAClB,CAAC,CAAC,CAAC;YACR,CAAC;YAED,OAAO,EAAE,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC;YACvC,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,QAAgB;QACnC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;QAEvF,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;gBAClC,OAAO,EAAE;oBACL,YAAY,EAAE,4BAA4B;iBAC7C;aACJ,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,QAAQ,EAAE,CAAC,CAAC;YAC1C,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;CACJ"}
@@ -1,47 +0,0 @@
1
- /**
2
- * 国际化配置信息
3
- */
4
- export interface I18nConfig {
5
- enabled: boolean;
6
- type: 'vue-i18n' | 'flutter-intl' | 'react-i18n' | 'custom' | 'none';
7
- configFiles: string[];
8
- messageFiles: string[];
9
- method: string;
10
- example: string;
11
- tips: string[];
12
- }
13
- /**
14
- * 国际化检测器
15
- * 支持检测 Vue、Flutter、React 等项目的国际化配置
16
- */
17
- export declare class I18nDetector {
18
- /**
19
- * 检测项目的国际化配置
20
- */
21
- static detect(projectPath: string): Promise<I18nConfig>;
22
- /**
23
- * 检测前端项目的国际化配置(Vue/React)
24
- */
25
- private static detectFrontendI18n;
26
- /**
27
- * 检测 vue-i18n 配置
28
- */
29
- private static detectVueI18n;
30
- /**
31
- * 检测 react-i18next 配置
32
- */
33
- private static detectReactI18n;
34
- /**
35
- * 检测 react-intl 配置
36
- */
37
- private static detectReactIntl;
38
- /**
39
- * 检测自定义国际化方案
40
- */
41
- private static detectCustomI18n;
42
- /**
43
- * 检测 Flutter 项目的国际化配置
44
- */
45
- private static detectFlutterI18n;
46
- }
47
- //# sourceMappingURL=i18nDetector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"i18nDetector.d.ts","sourceRoot":"","sources":["../../src/core/i18nDetector.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,UAAU,GAAG,cAAc,GAAG,YAAY,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrE,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;GAGG;AACH,qBAAa,YAAY;IACrB;;OAEG;WACU,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAyB7D;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IA2BjC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAmD5B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAkD9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAiB9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAsE/B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;CAyEnC"}