@jokeran/frontend-code-skimmer 0.4.0 → 0.4.1

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 (2) hide show
  1. package/dist/index.js +2 -2
  2. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -575,11 +575,11 @@ ${U(b)}`),{content:[{type:"text",text:g.join(`
575
575
  `)}]}}let{db:r,projectRoot:i}=e.getContext(t),a=r.getProjectStats(),c=["\u{1F4CA} \u9879\u76EE\u6982\u89C8","\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501",`\u{1F4C1} ${i}`,"",`\u{1F4C8} \u6574\u4F53: \u6587\u4EF6 ${a.fileCount} | \u7B26\u53F7 ${a.symbolCount} | \u884C\u4E3A\u6807\u7B7E ${a.behaviorCount} | \u8C03\u7528\u5173\u7CFB ${a.relationCount}`,""],l=a.frameworkBreakdown;if(l?.length){let f={vue2:"\u{1F7E2} Vue2",vue3:"\u{1F535} Vue3",react:"\u269B\uFE0F React",js:"\u{1F4DC} JS",ts:"\u{1F4D8} TS"};c.push("\u{1F527} \u6846\u67B6\u5206\u5E03:");for(let m of l)c.push(` ${f[m.framework]||m.framework}: ${m.count} \u4E2A`);c.push("");}let u=a.topFiles;u?.length&&(c.push("\u{1F5C2}\uFE0F Top 10 \u6700\u5927\u6587\u4EF6:"),u.forEach((f,m)=>{c.push(` ${m+1}. ${f.path} (${f.line_count} \u884C, ${f.symbol_count} \u7B26\u53F7)`);}),c.push(""));let p=a.behaviorStats;if(p?.length){let f={storage:"\u{1F4BE} \u5B58\u50A8",network:"\u{1F310} \u7F51\u7EDC",router:"\u{1F6E3}\uFE0F \u8DEF\u7531",vuex:"\u{1F4E6} Vuex",dom:"\u{1F5A5}\uFE0F DOM",event:"\u{1F4E1} \u4E8B\u4EF6",timer:"\u23F1\uFE0F \u5B9A\u65F6\u5668",i18n:"\u{1F30D} \u56FD\u9645\u5316"};c.push("\u{1F3F7}\uFE0F \u884C\u4E3A\u7EDF\u8BA1:");for(let m of p)c.push(` ${f[m.category]||m.category}: ${m.count} \u5904`);c.push("");}c.push(`\u{1F4BD} \u6570\u636E\u5E93: ${Math.round(a.dbSize/1024)} KB`);let d=Math.round((performance.now()-s)*100)/100,h=W({durationMs:d,resultCount:1,backend:"indexed"});return c.push(`
576
576
  \u2500\u2500 \u5143\u4FE1\u606F \u2500\u2500
577
577
  ${U(h)}`),{content:[{type:"text",text:c.join(`
578
- `)}]}});}var he=new rt,ve=new McpServer({name:"frontend-code-skimmer",version:"0.4.0"});fn(ve,he);hn(ve,he);Tn(ve,he);xn(ve,he);An(ve,he);async function $s(){if(process.env.SKIMMER_AUTO_INDEX==="true"&&process.env.SKIMMER_PROJECT){process.stderr.write(`[Frontend-Code-Skimmer] \u81EA\u52A8\u7D22\u5F15: ${process.env.SKIMMER_PROJECT}
578
+ `)}]}});}var he=new rt,ve=new McpServer({name:"frontend-code-skimmer",version:"0.4.1"});fn(ve,he);hn(ve,he);Tn(ve,he);xn(ve,he);An(ve,he);async function $s(){if(process.env.SKIMMER_AUTO_INDEX==="true"&&process.env.SKIMMER_PROJECT){process.stderr.write(`[Frontend-Code-Skimmer] \u81EA\u52A8\u7D22\u5F15: ${process.env.SKIMMER_PROJECT}
579
579
  `);try{let{projectRoot:n}=he.getContext(process.env.SKIMMER_PROJECT),s=he.getIndexer(n),r=await s.indexProject();process.stderr.write(`[Frontend-Code-Skimmer] \u5B8C\u6210: ${r.indexedFiles} \u6587\u4EF6, ${r.totalSymbols} \u7B26\u53F7
580
580
  `);let i=await s.startWatcher();he.registerWatcher(n,i),process.stderr.write(`[Frontend-Code-Skimmer] \u6587\u4EF6\u76D1\u542C\u5DF2\u542F\u52A8: ${n}
581
581
  `);}catch(n){process.stderr.write(`[Frontend-Code-Skimmer] \u7D22\u5F15\u5931\u8D25: ${String(n)}
582
- `);}}let e=new StdioServerTransport;await ve.connect(e),process.stderr.write(`[Frontend-Code-Skimmer MCP] \u5DF2\u542F\u52A8 (v0.4.0)
582
+ `);}}let e=new StdioServerTransport;await ve.connect(e),process.stderr.write(`[Frontend-Code-Skimmer MCP] \u5DF2\u542F\u52A8 (v0.4.1)
583
583
  `),process.stderr.write(`[Frontend-Code-Skimmer MCP] \u652F\u6301\u6846\u67B6: Vue 2 / Vue 3 / React Hooks
584
584
  `),process.stderr.write(`[Frontend-Code-Skimmer MCP] \u652F\u6301\u7CBE\u5EA6: heuristic / precise (\u8DE8\u6587\u4EF6 import \u7ED1\u5B9A)
585
585
  `),process.stderr.write(`[Frontend-Code-Skimmer MCP] \u652F\u6301\u6A21\u5F0F: \u52A8\u6001\u4EFB\u610F\u9879\u76EE\uFF08\u65E0\u9700\u542F\u52A8\u65F6\u6307\u5B9A\uFF09
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jokeran/frontend-code-skimmer",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Frontend-Code-Skimmer: 不读全文,只看骨架;不搜字符,搜语义关联。支持 Vue2/Vue3/React Hooks",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/",
@@ -28,7 +28,7 @@
28
28
  },
29
29
  "dependencies": {
30
30
  "@babel/parser": "^7.29.0",
31
- "@modelcontextprotocol/sdk": "^1.6.1",
31
+ "@modelcontextprotocol/sdk": "~1.29.0",
32
32
  "@vue/compiler-sfc": "^3.5.0",
33
33
  "acorn": "^8.12.0",
34
34
  "acorn-jsx": "^5.3.2",
@@ -47,4 +47,4 @@
47
47
  "tsx": "^4.19.2",
48
48
  "typescript": "^5.7.2"
49
49
  }
50
- }
50
+ }