@bangdao-ai/acw-tools 1.4.9 → 1.4.10

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.
@@ -208,43 +208,122 @@ function parseCodeChanges(bubble) {
208
208
  }
209
209
 
210
210
  // 如果仍未识别语言,尝试从文件扩展名推断
211
+ // 注意:此映射需要与后端 LanguageMapping.java 保持一致
211
212
  if (languageId === 'unknown' && filePath) {
212
213
  const ext = filePath.split('.').pop()?.toLowerCase();
213
- const extToLangMap = {
214
- 'js': 'javascript',
215
- 'jsx': 'javascriptreact',
216
- 'ts': 'typescript',
217
- 'tsx': 'typescriptreact',
218
- 'py': 'python',
219
- 'java': 'java',
220
- 'json': 'json',
221
- 'md': 'markdown',
222
- 'yml': 'yaml',
223
- 'yaml': 'yaml',
224
- 'xml': 'xml',
225
- 'html': 'html',
226
- 'css': 'css',
227
- 'scss': 'scss',
228
- 'less': 'less',
229
- 'sh': 'shellscript',
230
- 'bash': 'shellscript',
231
- 'sql': 'sql',
232
- 'go': 'go',
233
- 'rs': 'rust',
234
- 'rb': 'ruby',
235
- 'php': 'php',
236
- 'c': 'c',
237
- 'cpp': 'cpp',
238
- 'h': 'c',
239
- 'hpp': 'cpp',
240
- 'cs': 'csharp',
241
- 'swift': 'swift',
242
- 'kt': 'kotlin',
243
- 'vue': 'vue',
244
- 'svelte': 'svelte',
245
- };
246
- if (ext && extToLangMap[ext]) {
247
- languageId = extToLangMap[ext];
214
+ const fileName = filePath.split('/').pop()?.toLowerCase() || '';
215
+
216
+ // 特殊文件名处理
217
+ if (fileName === 'dockerfile' || fileName.startsWith('dockerfile.')) {
218
+ languageId = 'dockerfile';
219
+ } else if (fileName === 'makefile' || fileName.startsWith('makefile.')) {
220
+ languageId = 'makefile';
221
+ } else if (fileName === 'requirements.txt') {
222
+ languageId = 'pip-requirements';
223
+ } else if (fileName.endsWith('ignore') || fileName === '.gitignore' || fileName === '.dockerignore') {
224
+ languageId = 'ignore';
225
+ } else {
226
+ // 扩展名到语言的映射(与后端 LanguageMapping.java 保持一致)
227
+ const extToLangMap = {
228
+ // 前端框架
229
+ 'vue': 'vue',
230
+ 'svelte': 'svelte',
231
+ 'astro': 'astro',
232
+ // JavaScript/TypeScript
233
+ 'js': 'javascript',
234
+ 'mjs': 'javascript',
235
+ 'cjs': 'javascript',
236
+ 'jsx': 'javascriptreact',
237
+ 'ts': 'typescript',
238
+ 'mts': 'typescript',
239
+ 'cts': 'typescript',
240
+ 'tsx': 'typescriptreact',
241
+ // 样式
242
+ 'css': 'css',
243
+ 'scss': 'scss',
244
+ 'sass': 'scss',
245
+ 'less': 'less',
246
+ 'styl': 'stylus',
247
+ 'stylus': 'stylus',
248
+ // 标记语言
249
+ 'html': 'html',
250
+ 'htm': 'html',
251
+ 'xml': 'xml',
252
+ 'xsl': 'xml',
253
+ 'xslt': 'xml',
254
+ 'pom': 'xml',
255
+ 'svg': 'svg',
256
+ 'md': 'markdown',
257
+ 'markdown': 'markdown',
258
+ 'mdc': 'markdown',
259
+ // 数据格式
260
+ 'json': 'json',
261
+ 'jsonc': 'jsonc',
262
+ 'json5': 'jsonc',
263
+ 'yaml': 'yaml',
264
+ 'yml': 'yaml',
265
+ 'toml': 'toml',
266
+ 'ini': 'ini',
267
+ 'conf': 'ini',
268
+ 'cfg': 'ini',
269
+ // 后端语言
270
+ 'java': 'java',
271
+ 'py': 'python',
272
+ 'pyw': 'python',
273
+ 'rb': 'ruby',
274
+ 'php': 'php',
275
+ 'go': 'go',
276
+ 'rs': 'rust',
277
+ 'c': 'c',
278
+ 'cpp': 'cpp',
279
+ 'cc': 'cpp',
280
+ 'cxx': 'cpp',
281
+ 'h': 'cpp',
282
+ 'hpp': 'cpp',
283
+ 'cs': 'csharp',
284
+ 'swift': 'swift',
285
+ 'kt': 'kotlin',
286
+ 'kts': 'kotlin',
287
+ 'scala': 'scala',
288
+ 'clj': 'clojure',
289
+ 'cljs': 'clojure',
290
+ 'ex': 'elixir',
291
+ 'exs': 'elixir',
292
+ 'erl': 'erlang',
293
+ 'hrl': 'erlang',
294
+ 'hs': 'haskell',
295
+ 'lua': 'lua',
296
+ 'pl': 'perl',
297
+ 'pm': 'perl',
298
+ 'r': 'r',
299
+ 'dart': 'dart',
300
+ 'groovy': 'groovy',
301
+ // Shell 脚本
302
+ 'sh': 'shellscript',
303
+ 'bash': 'shellscript',
304
+ 'zsh': 'shellscript',
305
+ 'ps1': 'powershell',
306
+ 'psm1': 'powershell',
307
+ 'bat': 'bat',
308
+ 'cmd': 'bat',
309
+ // 数据库
310
+ 'sql': 'sql',
311
+ // 配置文件
312
+ 'properties': 'properties',
313
+ 'gradle': 'gradle',
314
+ // 其他
315
+ 'graphql': 'graphql',
316
+ 'gql': 'graphql',
317
+ 'proto': 'protobuf',
318
+ 'tf': 'terraform',
319
+ 'tfvars': 'terraform',
320
+ 'puml': 'plantuml',
321
+ 'plantuml': 'plantuml',
322
+ 'txt': 'plaintext',
323
+ };
324
+ if (ext && extToLangMap[ext]) {
325
+ languageId = extToLangMap[ext];
326
+ }
248
327
  }
249
328
  }
250
329
 
package/manifest.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ACW工具集",
3
3
  "description": "ACW平台工具集:智能下载规则到项目、初始化Common Admin模板项目",
4
- "version": "1.4.9",
4
+ "version": "1.4.10",
5
5
  "author": "邦道科技 - 产品技术中心",
6
6
  "homepage": "https://www.npmjs.com/package/@bangdao-ai/acw-tools",
7
7
  "repository": "https://www.npmjs.com/package/@bangdao-ai/acw-tools?activeTab=readme",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bangdao-ai/acw-tools",
3
- "version": "1.4.9",
3
+ "version": "1.4.10",
4
4
  "type": "module",
5
5
  "description": "MCP (Model Context Protocol) tools for ACW - download rules and initialize Common Admin projects",
6
6
  "main": "index.js",