scip-query 0.6.4 → 0.6.6
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/README.md +74 -35
- package/dist/augment-vue-worker.js +2 -0
- package/dist/chunk-25HOGELX.js +2 -0
- package/dist/chunk-2TLYCK2L.js +11 -0
- package/dist/chunk-3PVIYZ74.js +84 -0
- package/dist/chunk-4TX5IMMK.js +12 -0
- package/dist/chunk-6DVA22YE.js +2 -0
- package/dist/{chunk-CGAO6FHN.js → chunk-6GPFHZP3.js} +2 -2
- package/dist/chunk-7LSCW7NF.js +6 -0
- package/dist/chunk-7PRMSA4Z.js +2 -0
- package/dist/chunk-7X7FLQC5.js +2 -0
- package/dist/chunk-7YI2M2AQ.js +2 -0
- package/dist/chunk-AADJ7MCQ.js +2 -0
- package/dist/chunk-AV7BOODV.js +4 -0
- package/dist/chunk-AXP4H62Q.js +6 -0
- package/dist/chunk-C4C3T4K3.js +2 -0
- package/dist/chunk-CSRPJCWO.js +2 -0
- package/dist/chunk-CYJMOTIH.js +2 -0
- package/dist/chunk-DLWRLPKO.js +29 -0
- package/dist/chunk-E2V5SE6M.js +70 -0
- package/dist/{chunk-ZE3BTHTS.js → chunk-ERRUE5G4.js} +4 -4
- package/dist/chunk-GBDZY73J.js +2 -0
- package/dist/chunk-GPY33RTH.js +19 -0
- package/dist/{chunk-4TYGGOLO.js → chunk-H4DXD2FB.js} +1 -1
- package/dist/{chunk-LAXFZ3UW.js → chunk-HVNVO6UW.js} +4 -4
- package/dist/chunk-I377UMS2.js +2 -0
- package/dist/chunk-IKQYNTW3.js +2 -0
- package/dist/chunk-IZ4KV37N.js +7 -0
- package/dist/{chunk-KYT47WU2.js → chunk-KAM4C6ZD.js} +1 -1
- package/dist/{chunk-OOMAS234.js → chunk-KBGFYKOJ.js} +2 -2
- package/dist/chunk-KW2F3WSV.js +5 -0
- package/dist/chunk-LJ2YWNQF.js +2 -0
- package/dist/chunk-MO65UK5V.js +6 -0
- package/dist/{chunk-6UJ5PXER.js → chunk-MXWC53GJ.js} +4 -4
- package/dist/chunk-NIN762LD.js +5 -0
- package/dist/{chunk-5OVBASGY.js → chunk-O6VBAW7P.js} +2 -2
- package/dist/{chunk-IVT2U2BV.js → chunk-OQZF2DQJ.js} +3 -3
- package/dist/chunk-PIRXZGV6.js +2 -0
- package/dist/{chunk-GALIM3IE.js → chunk-Q2ALKKSE.js} +4 -4
- package/dist/chunk-Q4R2IYA3.js +7 -0
- package/dist/{chunk-AW3QJT4O.js → chunk-QFBJZHMV.js} +3 -3
- package/dist/chunk-QFZE73XF.js +84 -0
- package/dist/chunk-QPJG6VRT.js +16 -0
- package/dist/chunk-QRYEOK3M.js +2 -0
- package/dist/{chunk-LORWXBOO.js → chunk-RKTDEIHF.js} +1 -1
- package/dist/chunk-TBJDUS4E.js +71 -0
- package/dist/chunk-TLRA5TR6.js +2 -0
- package/dist/chunk-TUV2VI7D.js +7 -0
- package/dist/chunk-UAPNU7UP.js +2 -0
- package/dist/chunk-URCJTFOD.js +2 -0
- package/dist/chunk-UUIWMLDX.js +39 -0
- package/dist/chunk-VEXS3I3N.js +2 -0
- package/dist/chunk-VRC3WKKE.js +2 -0
- package/dist/chunk-WFDTS7XL.js +2 -0
- package/dist/chunk-Y4DS3MDC.js +5 -0
- package/dist/chunk-YJODB2F5.js +2 -0
- package/dist/{chunk-QID23O53.js → chunk-YXMHTJYY.js} +2 -2
- package/dist/chunk-Z4AMQWVY.js +90 -0
- package/dist/chunk-ZHHMG4UC.js +114 -0
- package/dist/cli.js +487 -388
- package/dist/{db-DKhNQ75l.d.ts → db-BZPa7dzJ.d.ts} +19 -9
- package/dist/index.d.ts +224 -13
- package/dist/index.js +45 -31
- package/dist/postinstall.js +1 -1
- package/dist/queries/affected.d.ts +1 -1
- package/dist/queries/affected.js +1 -1
- package/dist/queries/bottlenecks.d.ts +1 -1
- package/dist/queries/bottlenecks.js +1 -1
- package/dist/queries/by-kind.d.ts +1 -1
- package/dist/queries/by-kind.js +1 -1
- package/dist/queries/call-graph.d.ts +1 -1
- package/dist/queries/call-graph.js +1 -1
- package/dist/queries/change-surface.d.ts +1 -1
- package/dist/queries/change-surface.js +1 -1
- package/dist/queries/code.d.ts +1 -1
- package/dist/queries/code.js +1 -1
- package/dist/queries/complexity-hotspots.d.ts +1 -1
- package/dist/queries/complexity-hotspots.js +1 -1
- package/dist/queries/complexity.d.ts +1 -1
- package/dist/queries/complexity.js +1 -1
- package/dist/queries/convergence.d.ts +1 -1
- package/dist/queries/convergence.js +1 -1
- package/dist/queries/coupling.d.ts +1 -1
- package/dist/queries/coupling.js +1 -1
- package/dist/queries/cycles.d.ts +1 -1
- package/dist/queries/cycles.js +1 -1
- package/dist/queries/dataflow.d.ts +1 -1
- package/dist/queries/dataflow.js +1 -1
- package/dist/queries/dead.d.ts +1 -1
- package/dist/queries/dead.js +1 -1
- package/dist/queries/deep-chains.d.ts +1 -1
- package/dist/queries/deep-chains.js +1 -1
- package/dist/queries/deps.d.ts +1 -1
- package/dist/queries/deps.js +1 -1
- package/dist/queries/diff-impact.d.ts +1 -1
- package/dist/queries/diff-impact.js +1 -1
- package/dist/queries/drift-policy.d.ts +6 -0
- package/dist/queries/drift-policy.js +2 -0
- package/dist/queries/drift.d.ts +1 -1
- package/dist/queries/drift.js +1 -1
- package/dist/queries/extract-candidates.d.ts +1 -1
- package/dist/queries/extract-candidates.js +1 -1
- package/dist/queries/fan.d.ts +1 -1
- package/dist/queries/fan.js +1 -1
- package/dist/queries/files.d.ts +1 -1
- package/dist/queries/files.js +1 -1
- package/dist/queries/health.d.ts +1 -1
- package/dist/queries/health.js +1 -1
- package/dist/queries/hierarchy.d.ts +1 -1
- package/dist/queries/hierarchy.js +1 -1
- package/dist/queries/hotspots.d.ts +1 -1
- package/dist/queries/hotspots.js +1 -1
- package/dist/queries/imports.d.ts +1 -1
- package/dist/queries/imports.js +1 -1
- package/dist/queries/index.d.ts +1 -1
- package/dist/queries/index.js +1 -1
- package/dist/queries/isolated.d.ts +1 -1
- package/dist/queries/isolated.js +1 -1
- package/dist/queries/members.d.ts +1 -1
- package/dist/queries/members.js +1 -1
- package/dist/queries/methods.d.ts +1 -1
- package/dist/queries/methods.js +1 -1
- package/dist/queries/outline.d.ts +1 -1
- package/dist/queries/outline.js +1 -1
- package/dist/queries/passthrough-candidates.d.ts +1 -1
- package/dist/queries/passthrough-candidates.js +1 -1
- package/dist/queries/redundant-reexports.d.ts +1 -1
- package/dist/queries/redundant-reexports.js +1 -1
- package/dist/queries/refs.d.ts +1 -1
- package/dist/queries/refs.js +1 -1
- package/dist/queries/similar-chains.d.ts +1 -1
- package/dist/queries/similar-chains.js +1 -1
- package/dist/queries/similar-files.d.ts +1 -1
- package/dist/queries/similar-files.js +1 -1
- package/dist/queries/similar-signatures.d.ts +1 -1
- package/dist/queries/similar-signatures.js +1 -1
- package/dist/queries/similar.d.ts +1 -1
- package/dist/queries/similar.js +1 -1
- package/dist/queries/slice.d.ts +1 -1
- package/dist/queries/slice.js +1 -1
- package/dist/queries/stale-abstractions.d.ts +1 -1
- package/dist/queries/stale-abstractions.js +1 -1
- package/dist/queries/stats.d.ts +1 -1
- package/dist/queries/stats.js +1 -1
- package/dist/queries/surface.d.ts +1 -1
- package/dist/queries/surface.js +1 -1
- package/dist/queries/symbols.d.ts +1 -1
- package/dist/queries/symbols.js +1 -1
- package/dist/queries/system.d.ts +1 -1
- package/dist/queries/system.js +1 -1
- package/dist/queries/trace.d.ts +1 -1
- package/dist/queries/trace.js +1 -1
- package/dist/queries/wrapper-candidates.d.ts +1 -1
- package/dist/queries/wrapper-candidates.js +1 -1
- package/dist/reindex-worker.js +10 -63
- package/package.json +5 -3
- package/dist/chunk-2DQK2IDZ.js +0 -19
- package/dist/chunk-4HCKXL7T.js +0 -6
- package/dist/chunk-4Q2D5BMS.js +0 -2
- package/dist/chunk-5IM4IQ6N.js +0 -2
- package/dist/chunk-5NSYCQWM.js +0 -6
- package/dist/chunk-6QKHOBC6.js +0 -2
- package/dist/chunk-6U5UHIRD.js +0 -5
- package/dist/chunk-AQFXC7CF.js +0 -2
- package/dist/chunk-BSONDC3H.js +0 -7
- package/dist/chunk-ECT6SOBO.js +0 -2
- package/dist/chunk-FFE3RZ65.js +0 -2
- package/dist/chunk-FT4WPAEX.js +0 -65
- package/dist/chunk-G6HYVVRV.js +0 -2
- package/dist/chunk-GVVKLMXG.js +0 -10
- package/dist/chunk-HVM6SQPQ.js +0 -2
- package/dist/chunk-IDCWMWWP.js +0 -5
- package/dist/chunk-IJO2HZFL.js +0 -2
- package/dist/chunk-INPQVQ6O.js +0 -12
- package/dist/chunk-JSBWVSES.js +0 -39
- package/dist/chunk-MFVPKCS5.js +0 -2
- package/dist/chunk-MWCN46ZX.js +0 -89
- package/dist/chunk-N3Z2SJCR.js +0 -2
- package/dist/chunk-NKU7Z242.js +0 -8
- package/dist/chunk-P6IUCZA3.js +0 -24
- package/dist/chunk-PM3GTZ4I.js +0 -2
- package/dist/chunk-QL5MJOVA.js +0 -84
- package/dist/chunk-QWFK4QOQ.js +0 -2
- package/dist/chunk-RBYC6PHE.js +0 -2
- package/dist/chunk-TS7E5XBZ.js +0 -29
- package/dist/chunk-TUC6IWTY.js +0 -2
- package/dist/chunk-USMVRM6F.js +0 -2
- package/dist/chunk-VTZPTRKS.js +0 -7
- package/dist/chunk-WUYKGQSK.js +0 -2
- package/dist/chunk-X7LOLGYY.js +0 -2
- package/dist/chunk-XGOEZVMA.js +0 -7
- package/dist/chunk-Y6NOLG4X.js +0 -70
- package/dist/chunk-YVQ7CIKO.js +0 -6
- package/dist/chunk-ZIFKQQW2.js +0 -4
- package/dist/chunk-ZOR6FW74.js +0 -2
- package/dist/chunk-ZPZLVFJQ.js +0 -41
- package/dist/chunk-ZZ3F6P3X.js +0 -2
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import ue from"better-sqlite3";import{createRequire as ce}from"module";import{existsSync as le,mkdtempSync as Sn,readFileSync as v,rmSync as yn,statSync as vn,writeFileSync as Rn}from"fs";import{cpus as Vn,tmpdir as xn}from"os";import{dirname as F,extname as ge,join as O,relative as fe,resolve as de}from"path";import{pathToFileURL as me}from"url";import{Worker as In}from"worker_threads";import K from"better-sqlite3";import{execFileSync as B}from"child_process";import{existsSync as J,readdirSync as z,readFileSync as X}from"fs";import{extname as m,join as E}from"path";import M from"ignore";import{readFileSync as A,existsSync as h}from"fs";import{dirname as b,isAbsolute as R,join as S,relative as P,resolve as j}from"path";function V(e){let n=M(),r=!1,t=W(e);for(let o of t)try{let i=A(o,"utf-8");n.add(i),r=!0}catch{}return r||n.add($),{isIgnored:o=>k(n,e,o),filter:o=>o.filter(i=>!k(n,e,i))}}function W(e){let n=[],r=S(e,".gitignore");h(r)&&n.push(r);let t=b(e),o=0;for(;t!==b(t)&&o<5;){let i=S(t,".gitignore");if(h(i)&&n.push(i),h(S(t,".git")))break;t=b(t),o++}return n}var $=`
|
|
2
|
+
# Dependencies
|
|
3
|
+
node_modules/
|
|
4
|
+
vendor/
|
|
5
|
+
.bundle/
|
|
6
|
+
|
|
7
|
+
# Build output
|
|
8
|
+
dist/
|
|
9
|
+
build/
|
|
10
|
+
out/
|
|
11
|
+
target/
|
|
12
|
+
bin/
|
|
13
|
+
obj/
|
|
14
|
+
|
|
15
|
+
# Python
|
|
16
|
+
__pycache__/
|
|
17
|
+
*.pyc
|
|
18
|
+
*.pyo
|
|
19
|
+
.venv/
|
|
20
|
+
venv/
|
|
21
|
+
.env/
|
|
22
|
+
env/
|
|
23
|
+
*.egg-info/
|
|
24
|
+
|
|
25
|
+
# Rust
|
|
26
|
+
target/
|
|
27
|
+
|
|
28
|
+
# Java / Kotlin / Scala
|
|
29
|
+
*.class
|
|
30
|
+
.gradle/
|
|
31
|
+
.mvn/
|
|
32
|
+
|
|
33
|
+
# C# / .NET
|
|
34
|
+
bin/
|
|
35
|
+
obj/
|
|
36
|
+
packages/
|
|
37
|
+
|
|
38
|
+
# Go
|
|
39
|
+
vendor/
|
|
40
|
+
|
|
41
|
+
# Dart
|
|
42
|
+
.dart_tool/
|
|
43
|
+
build/
|
|
44
|
+
|
|
45
|
+
# PHP
|
|
46
|
+
vendor/
|
|
47
|
+
|
|
48
|
+
# IDE / OS
|
|
49
|
+
.idea/
|
|
50
|
+
.vscode/
|
|
51
|
+
*.swp
|
|
52
|
+
*.swo
|
|
53
|
+
.DS_Store
|
|
54
|
+
Thumbs.db
|
|
55
|
+
|
|
56
|
+
# Type definitions (often noise in queries)
|
|
57
|
+
*.d.ts
|
|
58
|
+
`;function k(e,n,r){let t=U(n,r);if(!t)return!1;try{return e.ignores(t)}catch{return!1}}function U(e,n){if(!n||n===".")return null;if(!R(n)&&!n.startsWith(".."))return n.replaceAll("\\","/");let r=R(n)?n:j(e,n),t=P(e,r).replaceAll("\\","/");return!t||t==="."||t.startsWith("..")?null:t}import{readdirSync as Be}from"fs";import{extname as ze,join as Xe}from"path";function x(e){let n=new WeakMap,r=t=>{let o=n.get(t);return o||(o=new Map,n.set(t,o)),o};return{get(t,o,i){let s=r(t);if(s.has(o))return s.get(o);let a=i();return s.set(o,a),a},invalidate(t,o){n.get(t)?.delete(o)},invalidateAll(t){n.delete(t)},size(t){return n.get(t)?.size??0}}}var H=[".ts",".tsx",".mts",".cts",".js",".jsx",".mjs",".cjs",".vue",".rs",".py",".pyi",".java",".kt",".kts",".scala",".sc",".rb",".c",".h",".cc",".cpp",".cxx",".hpp",".hh",".hxx",".cs",".vb",".php",".dart"],w=[".vue"],G=new Set(H.map(e=>e.toLowerCase())),qe=[...G].sort().join(","),T=new Set(["node_modules",".git","target","dist","build",".next",".nuxt",".cache",".turbo","out","coverage",".scipquery-cache","__pycache__",".venv","venv",".idea",".vscode"]);var Qe=x("source-files");function an(e){let n=new Set((e.extensions??w).map(i=>i.toLowerCase()));if(n.size===0)return{scanned:0,inserted:0,existing:0};if(!J(e.dbPath))throw new Error(`SCIP SQLite database not found at ${e.dbPath}`);let r=V(e.projectRoot),t=Y(e.projectRoot,n).filter(i=>!r.isIgnored(i)),o=new K(e.dbPath);try{let i=Q(o,t),s=o.prepare(`INSERT OR IGNORE INTO documents (language, relative_path, position_encoding, text)
|
|
59
|
+
VALUES (?, ?, NULL, ?)`),u=o.transaction(l=>{let d=0;for(let g of l){if(i.has(g))continue;let f=X(E(e.projectRoot,g),"utf-8"),_=s.run(Z(g),g,f);d+=Number(_.changes)}return d})(t),c={scanned:t.length,inserted:u,existing:t.length-u};return e.onStatus?.(`Augmented SQLite documents with ${u} auxiliary source file${u===1?"":"s"} (${c.existing} already present).`),c}finally{o.close()}}function Y(e,n){let r=q(e,n);if(r)return r;let t=[],o=i=>{let s=i?E(e,i):e,a;try{a=z(s,{withFileTypes:!0})}catch{return}for(let u of a){if(T.has(u.name))continue;let c=i?`${i}/${u.name}`:u.name;if(u.isDirectory()){o(c);continue}n.has(m(u.name).toLowerCase())&&t.push(c)}};return o(""),t.sort()}function q(e,n){try{return B("git",["-C",e,"ls-files","-co","--exclude-standard","--","."],{encoding:"utf-8",maxBuffer:26214400,stdio:["ignore","pipe","ignore"]}).split(`
|
|
60
|
+
`).filter(t=>t&&n.has(m(t).toLowerCase())).sort()}catch{return null}}function Q(e,n){let r=new Set,t=500;for(let o=0;o<n.length;o+=t){let i=n.slice(o,o+t),s=e.prepare(`SELECT relative_path FROM documents WHERE relative_path IN (${i.map(()=>"?").join(",")})`).all(...i);for(let a of s)r.add(a.relative_path)}return r}function Z(e){return m(e).toLowerCase()===".vue"?"vue":m(e).replace(/^\./,"").toLowerCase()||"source"}import{execFileSync as ee}from"child_process";import{createHash as ne}from"crypto";import{readdirSync as te,readFileSync as re}from"fs";import{join as I}from"path";function oe(e){return(ie(e)??se(e)).filter(n=>n&&!C(n)).sort()}function dn(e){return oe(e).map(n=>{let r=I(e,n);try{let t=re(r);return{path:n,size:t.byteLength,hash:ne("sha256").update(t).digest("hex")}}catch{return{path:n,size:-1,hash:"unreadable"}}})}function ie(e){try{return ee("git",["-C",e,"ls-files","-co","--exclude-standard","--","."],{encoding:"utf-8",maxBuffer:50*1024*1024,stdio:["ignore","pipe","ignore"]}).split(`
|
|
61
|
+
`).filter(Boolean)}catch{return null}}function se(e){let n=[],r=[""];for(;r.length>0;){let t=r.pop(),o=t?I(e,t):e,i;try{i=te(o,{withFileTypes:!0})}catch{continue}for(let s of i){let a=t?`${t}/${s.name}`:s.name;if(s.isDirectory()){C(a)||r.push(a);continue}n.push(a)}}return n}function C(e){return e.split("/").some(r=>ae.has(r))||e.endsWith(".db")||e.endsWith(".db-wal")||e.endsWith(".db-shm")||e.endsWith(".scip")}var ae=new Set([".git","node_modules",".scipquery-cache",".stryker-tmp","dist","build","coverage",".next",".nuxt","target"]);function Cn(e){let n=de(e.projectRoot,e.tsconfig),r=ke(e.projectRoot,n),t=new ue(e.dbPath,{readonly:!0});try{let o=Me();return pe({projectRoot:e.projectRoot,vueFiles:e.vueFiles??[],tasks:e.tasks,context:r,symbolLookup:Ee(t,e.projectRoot,o),vueSymbolLookup:Fe(t,e.projectRoot),sourceCache:o})}finally{t.close()}}function pe(e){let n=[],r=0,t=e.tasks??e.vueFiles.map(o=>({fileName:o,startOffset:0,endOffset:Number.POSITIVE_INFINITY,countFileSkip:!0}));for(let o of t){let i=he(e,o);n.push(...i.occurrences),r+=i.skippedReferences}return{occurrences:n,skippedReferences:r}}function he(e,n){let r=e.context.language.scripts.get(n.fileName),t=r?.generated?.languagePlugin.typescript?.getServiceScript(r.generated.root)?.code;if(!r||!t)return{occurrences:[],skippedReferences:n.countFileSkip?1:0};let o=e.sourceCache(n.fileName);if(!o)return{occurrences:[],skippedReferences:n.countFileSkip?1:0};let i=e.context.language.maps.get(t,r),s=p(e.projectRoot,n.fileName),a=[...Le(o.text)],u={tokens:a.filter(c=>c.start>=n.startOffset&&c.start<n.endOffset),tokenByStart:new Map(a.map(c=>[c.start,c])),tokenTextCounts:ye(a),processedStarts:new Set};return be({...e,fileName:n.fileName,sourceInfo:o,sourceFile:s,map:i,tokenContext:u})}function be(e){let n=[],r=0;for(let t of e.tokenContext.tokens){if(e.tokenContext.processedStarts.has(t.start))continue;let o=De(e.map,t.start);if(o===null)continue;let s=(e.context.languageService.getDefinitionAtPosition(e.fileName,o+1)??[]).find(u=>!Ne(e.projectRoot,u.fileName));if(!s){r++;continue}let a=Oe(s,e.symbolLookup,e.vueSymbolLookup,e.context,e.projectRoot);if(a===null){r++;continue}L(n,e.sourceInfo,e.sourceFile,t,a),e.tokenContext.processedStarts.add(t.start),Se(n,e,t,o,a)}return{occurrences:n,skippedReferences:r}}function Se(e,n,r,t,o){if(!((n.tokenContext.tokenTextCounts.get(r.text)??0)<=1))for(let i of ve(n.context.languageService,n.fileName,t+1,n.map,r,n.tokenContext.tokenByStart)){if(n.tokenContext.processedStarts.has(i))continue;let s=n.tokenContext.tokenByStart.get(i);s&&(L(e,n.sourceInfo,n.sourceFile,s,o),n.tokenContext.processedStarts.add(i))}}function L(e,n,r,t,o){let i=N(n,t.start);e.push({sourceFile:r,sourceLine:i.line,sourceStartChar:i.character,sourceEndChar:i.character+t.text.length,symbolId:o})}function ye(e){let n=new Map;for(let r of e)n.set(r.text,(n.get(r.text)??0)+1);return n}function ve(e,n,r,t,o,i){let s=e.getDocumentHighlights?.(n,r,[n])??[],a=[];for(let u of s)if(u.fileName===n)for(let c of u.highlightSpans){let l=Re(t,c.textSpan.start,i,o.text);l!==null&&a.push(l)}return a}function Re(e,n,r,t){let o=r.get(n);if(o?.text===t)return o.start;let i=D(e,n);if(i===null)return null;let s=r.get(i);return s?.text===t?s.start:null}function ke(e,n){let{vueCore:r,ts:t,volarTs:o}=Ve(e),{parsed:i,vueOptions:s}=xe(r,t,n),a=F(n),u=r.createVueLanguagePlugin(t,i.options,s,f=>f),c=we(r,t,u),l=Te(a,i),{languageServiceHost:d}=o.createLanguageServiceHost(t,t.sys,c,f=>f,l),g=t.createLanguageService(d);return{ts:t,language:c,languageService:g,fileNames:i.fileNames,configDir:a}}function Ve(e){let n=ce(me(O(e,"package.json")).href);return{vueCore:y(n,"@vue/language-core",e),ts:y(n,"typescript",e),volarTs:y(n,"@volar/typescript",e)}}function xe(e,n,r){let t=n.readConfigFile(r,n.sys.readFile);if(t.error||!t.config)throw new Error(`Failed to read ${r}`);let i=e.createParsedCommandLine(n,n.sys,r).vueOptions;return typeof e.createGlobalTypesWriter=="function"&&(i.globalTypesPath=e.createGlobalTypesWriter(i,n.sys.writeFile)),{parsed:n.parseJsonConfigFileContent(t.config,n.sys,F(r),void 0,r,void 0,e.getAllExtensions(i).map(s=>({extension:s.slice(1),isMixedContent:!0,scriptKind:n.ScriptKind.Deferred}))),vueOptions:i}}function we(e,n,r){let t={},o=e.createLanguage([r],new Map,i=>{if(!le(i))return;let s=v(i,"utf-8");t.current?.scripts.set(i,n.ScriptSnapshot.fromString(s),r.getLanguageId(i)??_e(i))});return t.current=o,o}function Te(e,n){return{getCurrentDirectory:()=>e,getCompilationSettings:()=>n.options,getScriptFileNames:()=>n.fileNames,getProjectReferences:()=>n.projectReferences,getProjectVersion:()=>"0"}}function y(e,n,r){try{return e(n)}catch(t){throw(typeof t=="object"&&t!==null&&"code"in t?t.code:null)==="MODULE_NOT_FOUND"?new Error(`Vue augmentation requires ${n} to be installed in ${r}. Install Vue/Volar dependencies for that project, then rerun augment-vue.`,{cause:t}):t}}function Ee(e,n,r){let t=Ie(e);return o=>{let i=p(n,o.fileName),s=r(o.fileName);if(!s)return null;let a=N(s,o.textSpan.start),u=t.get(i);if(!u)return null;let c=u.containingByLine.get(a.line);return c!==void 0?c:Ce(u.starts,a.line,2)}}function Ie(e){let n=e.prepare(`
|
|
62
|
+
SELECT
|
|
63
|
+
d.relative_path AS relativePath,
|
|
64
|
+
der.start_line AS startLine,
|
|
65
|
+
der.end_line AS endLine,
|
|
66
|
+
der.symbol_id AS symbolId
|
|
67
|
+
FROM defn_enclosing_ranges der
|
|
68
|
+
JOIN documents d ON d.id = der.document_id
|
|
69
|
+
ORDER BY d.relative_path, (der.end_line - der.start_line) DESC
|
|
70
|
+
`).all(),r=new Map;for(let t of n){let o=r.get(t.relativePath);o||(o={containingByLine:new Map,starts:[]},r.set(t.relativePath,o)),o.starts.push({line:t.startLine,symbolId:t.symbolId});for(let i=t.startLine;i<=t.endLine;i++)o.containingByLine.set(i,t.symbolId)}for(let t of r.values())t.starts.sort((o,i)=>o.line-i.line);return r}function Ce(e,n,r){let t=0,o=e.length-1;for(;t<=o;){let s=Math.floor((t+o)/2);e[s].line<n?t=s+1:o=s-1}let i=null;for(let s of[o,t]){let a=e[s];if(!a)continue;let u=Math.abs(a.line-n);u>r||(!i||u<i.distance)&&(i={distance:u,symbolId:a.symbolId})}return i?.symbolId??null}function Fe(e,n){let r=Pe(n),t=e.prepare("SELECT id FROM global_symbols WHERE symbol = ?"),o=new Map;return{get(i){if(o.has(i))return o.get(i)??null;let s=p(n,i),a=je(r.name,r.version,s),c=t.get(a)?.id??null;return o.set(i,c),c}}}function Oe(e,n,r,t,o){if(e.fileName.endsWith(".vue")){let i=t.language.scripts.get(e.fileName),s=i?.generated?.languagePlugin.typescript?.getServiceScript(i.generated.root)?.code;if(i&&s){let a=t.language.maps.get(s,i);if(D(a,e.textSpan.start)!==null)return r.get(e.fileName)}return e.fileName.startsWith(o)?r.get(e.fileName):null}return n(e)}function*Le(e){let n=/\b[A-Za-z_$][A-Za-z0-9_$]*\b/g,r=new Set(["script","setup","template","style","lang","scoped","true","false","null","undefined","const","let","var","import","from","export","return","if","else","for","while","function","class","type","interface","as","await","async"]),t;for(;t=n.exec(e);){let o=t[0];r.has(o)||(yield{text:o,start:t.index,end:t.index+o.length})}}function De(e,n){for(let[r]of e.toGeneratedLocation(n,t=>!!t.navigation))return r;return null}function D(e,n){let r=e;for(let[t]of r.toSourceLocation(n,o=>!!o.navigation))return t;return null}function N(e,n){let r=0,t=e.lineStarts.length-1;for(;r<=t;){let i=Math.floor((r+t)/2);e.lineStarts[i]<=n?r=i+1:t=i-1}let o=Math.max(0,t);return{line:o,character:n-e.lineStarts[o]}}function Ne(e,n){return p(e,n).startsWith("node_modules/")}function p(e,n){return fe(e,n).replaceAll("\\","/")}function _e(e){switch(ge(e)){case".vue":return"vue";case".tsx":return"typescriptreact";case".ts":case".mts":case".cts":return"typescript";case".jsx":return"javascriptreact";case".js":case".mjs":case".cjs":return"javascript";case".json":return"json";default:return"typescript"}}function Me(){let e=new Map;return n=>{if(e.has(n))return e.get(n)??null;try{let r=v(n,"utf-8"),t={text:r,lineStarts:Ae(r)};return e.set(n,t),t}catch{return e.set(n,null),null}}}function Ae(e){let n=[0];for(let r=0;r<e.length;r++)e.charCodeAt(r)===10&&n.push(r+1);return n}function Pe(e){try{let n=JSON.parse(v(O(e,"package.json"),"utf-8"));return{name:n.name??"workspace",version:n.version??"0.0.0"}}catch{return{name:"workspace",version:"0.0.0"}}}function je(e,n,r){let t=r.split("/").map(o=>`\`${o.replaceAll("`","")}\``).join("/");return`scip-vue npm ${e} ${n} ${t}/default.`}export{an as a,dn as b,Cn as c};
|
|
71
|
+
//# sourceMappingURL=chunk-TBJDUS4E.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as p}from"./chunk-MO65UK5V.js";import{D as u,x as f}from"./chunk-QFZE73XF.js";function S(a,b){let y=p(a,b),o=u(a,y,{sort:!0});if(o.length===0)return[];let i=o.map(e=>({symbol:e.symbol,shortName:e.shortName,startLine:e.startLine,endLine:e.endLine,children:[]})),s=new Map;for(let e of i)s.set(e.symbol,e);let m=[];for(let e=0;e<o.length;e++){let r=o[e],n=i[e];if(r.enclosingSymbol&&s.has(r.enclosingSymbol)){s.get(r.enclosingSymbol).children.push(n);continue}let l=null,c=1/0;for(let t of i)if(t!==n&&t.startLine<=n.startLine&&t.endLine>=n.endLine){if(t.startLine===n.startLine&&t.endLine===n.endLine&&!f(t.symbol,n.symbol))continue;let d=t.endLine-t.startLine;d<c&&(c=d,l=t)}l?l.children.push(n):m.push(n)}return m}export{S as a};
|
|
2
|
+
//# sourceMappingURL=chunk-TLRA5TR6.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import{a as M}from"./chunk-UAPNU7UP.js";import{f as b}from"./chunk-3PVIYZ74.js";import{E as C,o as p,p as g,v as I}from"./chunk-QFZE73XF.js";import{basename as c,extname as d}from"path";function R(i,e){let{scope:n,maxLoc:o=15,limit:r=30}=e??{},t=new M(i),a=P(t.fileDependencyGraph(n)),s=x(t,n,o),u=v(t.crossFileCallerMap(s),t.sourceFallbackCallerFiles(s)),m=[];for(let f of s){let l=F(i,t,f,{callerFileMap:u,reverseFanIn:a});l&&m.push(l)}return m.sort((f,l)=>l.callerFanIn-f.callerFanIn||l.loc-f.loc),m.slice(0,r)}function F(i,e,n,o){let r=D(e,n,o.callerFileMap);if(r.length!==1)return null;let t=r[0],a=S(i,n.symbolId,t);if(!a)return null;let s=L(e,i,t,n.symbol,a);if(s&&I(s.symbol))return null;let u=y(o.callerFileMap,o.reverseFanIn,t,s);return u<=3?null:{symbol:n.symbol,shortName:p(n.symbol),file:n.relativePath,startLine:n.startLine,endLine:n.endLine,loc:h(n),singleCaller:s?.symbol??"",singleCallerShort:s?.isFunctionLike?p(s.symbol):c(t),callerFanIn:u}}function h(i){return i.endLine-i.startLine+1}function x(i,e,n){return i.productionCallableDefinitions({scope:e,minLoc:2,maxLoc:n,requireFunctionLikeSymbol:!0})}function D(i,e,n){let o=c(e.relativePath,d(e.relativePath));return[...n.get(e.symbolId)??[]].filter(r=>r!==e.relativePath).filter(r=>c(r,d(r))!==o).filter(r=>{let t=i.fileKind(r);return t!=="barrel"&&t!=="entry"&&t!=="test"})}function S(i,e,n){return i.get(`SELECT c.start_line, c.end_line
|
|
2
|
+
FROM mentions m
|
|
3
|
+
JOIN chunks c ON m.chunk_id = c.id
|
|
4
|
+
JOIN documents d ON c.document_id = d.id
|
|
5
|
+
WHERE m.symbol_id = ? AND m.role != 1 AND d.relative_path = ?
|
|
6
|
+
LIMIT 1`,e,n)}function L(i,e,n,o,r){let t=i.definitionsForFile(n),a=k(e,n,o,r.start_line,r.end_line);return C(t,a)}function y(i,e,n,o){if(o?.isFunctionLike){let r=[...i.get(o.symbolId)??[]].filter(t=>t!==o.relativePath);if(r.length>0)return r.length}return _(e,n)}function k(i,e,n,o,r){let t=g(n);if(!t)return o;let a=b(i,e).get(t);if(!a||a.length===0)return o;for(let s of a)if(s>=o&&s<=r)return s;return o}function v(...i){let e=new Map;for(let n of i)for(let[o,r]of n){let t=e.get(o);t||(t=new Set,e.set(o,t));for(let a of r)t.add(a)}return e}function P(i){let e=new Map;for(let[n,o]of i){e.has(n)||e.set(n,e.get(n)??0);for(let r of o)e.set(r,(e.get(r)??0)+1)}return e}function _(i,e){let n=i.get(e)??0;if(n>0)return n;let o=c(e,d(e)),r=0;for(let[t,a]of i)t!==e&&c(t,d(t))===o&&a>r&&(r=a);return r}export{R as a};
|
|
7
|
+
//# sourceMappingURL=chunk-TUV2VI7D.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as b,e as A}from"./chunk-YXMHTJYY.js";import{a as m,b as O,d as E}from"./chunk-VEXS3I3N.js";import{c as q}from"./chunk-Y4DS3MDC.js";import{b as F,c as L,f as D,g as M,k as v,m as N}from"./chunk-3PVIYZ74.js";import{A as P,C as T,e as p,f as g,g as h,l as R,r as C,s as I,u as x,v as k}from"./chunk-QFZE73XF.js";function V(i,e,o){let c=e.identifierResolution==="strict"?m:O;for(let t of e.paths){let l=g(t);if(!l&&!(e.includeVueSfc&&h(t))||i.isIgnored(t)||e.skipPath?.(t))continue;let u=D(i,t);for(let[n,s]of u)for(let f of c(i,t,n))o({sourceFile:t,name:n,target:f,occurrences:s.length,kind:"identifier"});if(e.includeCrossLanguageDispatchNames)for(let n of L(i,t))for(let s of m(i,t,n))o({sourceFile:t,name:n,target:s,occurrences:1,kind:"cross-language-dispatch"});if(e.includeRustAttributeNames&&l==="rust")for(let n of F(i,t))for(let s of c(i,t,n))o({sourceFile:t,name:n,target:s,occurrences:1,kind:"rust-attribute"})}}var G=class{constructor(e){this.db=e}db;scopedDefinitions(e){return T(this.db,e)}definitionsForFile(e){return P(this.db,e)}productionCallableDefinitions(e={}){let{scope:o,minLoc:c=1,maxLoc:t=Number.POSITIVE_INFINITY,excludeSymbol:l,excludeEntrySurfaces:u=!1,excludeTypesFiles:n=!1,requireFunctionLikeSymbol:s=!1,requireCallableSymbol:f=!1,excludeRustTraitImplMembers:K=!1,includeSuppressed:j=!1,sortByLocDesc:B=!1}=e,d=[];for(let r of this.scopedDefinitions(o)){let a=r.relativePath;if(this.db.isIgnored(a)||u&&A(this.db,a)||!H(r,{requireFunctionLikeSymbol:s,requireCallableSymbol:f})||l!==void 0&&r.symbol===l)continue;let S=y(r);S<c||S>t||n&&Y(a)||K&&x(r.symbol)||b(a)!=="test"&&(k(r.symbol)||!j&&p(this.db,a,r.startLine)||d.push(r))}return B?d.sort((r,a)=>y(a)-y(r)):d}calleeMap(e,o={}){return v(this.db,e,o)}crossFileCallerMap(e){return N(this.db,e)}sourceFallbackCallerFiles(e){return E(this.db,e)}fileDependencyGraph(e){return M(this.db,e)}fileKind(e){return b(e)}hasSuppressionComment(e){return p(this.db,e.relativePath,e.startLine)}sourceFiles(){return q(this.db)}scanSourceReferences(e,o){V(this.db,e,o)}callableSignature(e){return R(this.db,e.relativePath,e.startLine,e.endLine)}};function y(i){return i.endLine-i.startLine+1}function H(i,e){return e.requireCallableSymbol?C(i.symbol):e.requireFunctionLikeSymbol?I(i.symbol):i.isFunctionLike}function Y(i){return(i.split("/").pop()??"").includes("types")}export{G as a};
|
|
2
|
+
//# sourceMappingURL=chunk-UAPNU7UP.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as m}from"./chunk-UAPNU7UP.js";import{o as p}from"./chunk-QFZE73XF.js";function L(s,r){let{scope:l,minLoc:o=10,limit:u=30}=r??{},{definitions:d,callerMap:y,calleeMap:b}=f(s,l);return d.map(e=>{let a=e.endLine-e.startLine+1,n=y.get(e.symbolId)?.size??0,c=b.get(e.symbolId)??[],x=c.filter(t=>t.file!==e.relativePath),i=new Set(x.map(t=>`${t.symbol}|${t.file}`)).size,M=new Set(c.map(t=>`${t.symbol}|${t.file}`)).size;return{symbol:e.symbol,shortName:p(e.symbol),file:e.relativePath,startLine:e.startLine,endLine:e.endLine,loc:a,fanIn:n,fanOut:i,calleeCount:M,score:Math.round(a/50*(n/5)*Math.max(i/5,1)*100)/100}}).filter(e=>e.loc>=o).sort((e,a)=>a.score-e.score||a.loc-e.loc).slice(0,u)}function f(s,r){let l=new m(s),o=l.productionCallableDefinitions({scope:r,requireCallableSymbol:!0,includeSuppressed:!0});return{definitions:o,callerMap:l.crossFileCallerMap(o),calleeMap:l.calleeMap(o)}}export{L as a};
|
|
2
|
+
//# sourceMappingURL=chunk-URCJTFOD.js.map
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import{a as g}from"./chunk-MO65UK5V.js";import{e as a}from"./chunk-KW2F3WSV.js";import{n as u}from"./chunk-Z4AMQWVY.js";import{a as p}from"./chunk-ZHHMG4UC.js";import{o as l,p as c,t as f}from"./chunk-QFZE73XF.js";function T(t,r){return h(t,r)?.map(e=>({symbol:e.symbol,shortName:e.shortName,fromFile:e.fromFile}))??[]}function M(t,r){let e=E(t,r);return e.length>0?e:N(t,r)}function J(t,r){return h(t,r)?.filter(e=>!e.used).map(e=>({symbol:e.symbol,shortName:e.shortName,importedIn:e.importer}))??[]}function E(t,r){return t.all(`SELECT DISTINCT gs.symbol, d.relative_path AS importer
|
|
2
|
+
FROM mentions m
|
|
3
|
+
JOIN chunks c ON m.chunk_id = c.id
|
|
4
|
+
JOIN documents d ON c.document_id = d.id
|
|
5
|
+
JOIN global_symbols gs ON m.symbol_id = gs.id
|
|
6
|
+
WHERE gs.symbol LIKE ?
|
|
7
|
+
AND m.role = 2
|
|
8
|
+
ORDER BY d.relative_path`,`%${r}%`).filter(s=>!t.isIgnored(s.importer)).map(s=>({symbol:s.symbol,shortName:l(s.symbol),fromFile:s.importer}))}function N(t,r){let e=p(t,r),s=e?.relativePath??null,o=e?c(e.symbol):r.replace(/\(\)$/,""),i=e?f(e.symbol):!1,m=t.all(`SELECT relative_path
|
|
9
|
+
FROM documents
|
|
10
|
+
WHERE 1 = 1
|
|
11
|
+
${t.pathExclusionsFor("documents")}
|
|
12
|
+
ORDER BY relative_path`),d=new Set;for(let n of m)if(!t.isIgnored(n.relative_path))for(let b of a(t,n.relative_path))S(b,n.relative_path,{targetFile:s,targetLeaf:o,targetIsModule:i})&&d.add(n.relative_path);return[...d].sort().map(n=>({symbol:e?.symbol??o,shortName:e?l(e.symbol):o,fromFile:n}))}function S(t,r,e){return!t.sourcePath||e.targetFile&&_(t.sourcePath)!==_(e.targetFile)?!1:t.kind==="side-effect"||e.targetFile&&R(r)||e.targetIsModule||t.kind==="named"&&t.importedName===e.targetLeaf?!0:t.kind==="namespace"&&t.usedMembers.includes(e.targetLeaf)}function h(t,r){let e=g(t,r);return e?O(t,e)??F(t,e)??y(t,e):null}function O(t,r){let s=t.all(`SELECT DISTINCT
|
|
13
|
+
gs.symbol,
|
|
14
|
+
def_d.relative_path AS from_file,
|
|
15
|
+
imp_d.relative_path AS importer,
|
|
16
|
+
EXISTS (
|
|
17
|
+
SELECT 1
|
|
18
|
+
FROM mentions ref_m
|
|
19
|
+
JOIN chunks ref_c ON ref_m.chunk_id = ref_c.id
|
|
20
|
+
WHERE ref_m.symbol_id = gs.id
|
|
21
|
+
AND ref_m.role != 1
|
|
22
|
+
AND ref_c.document_id = imp_d.id
|
|
23
|
+
) AS used
|
|
24
|
+
FROM mentions m
|
|
25
|
+
JOIN chunks c ON m.chunk_id = c.id
|
|
26
|
+
JOIN documents imp_d ON c.document_id = imp_d.id
|
|
27
|
+
JOIN global_symbols gs ON m.symbol_id = gs.id
|
|
28
|
+
LEFT JOIN (
|
|
29
|
+
SELECT m2.symbol_id, c2.document_id
|
|
30
|
+
FROM mentions m2
|
|
31
|
+
JOIN chunks c2 ON m2.chunk_id = c2.id
|
|
32
|
+
WHERE m2.role = 1
|
|
33
|
+
GROUP BY m2.symbol_id
|
|
34
|
+
) sym_def ON sym_def.symbol_id = gs.id
|
|
35
|
+
LEFT JOIN documents def_d ON sym_def.document_id = def_d.id
|
|
36
|
+
WHERE imp_d.relative_path = ?
|
|
37
|
+
AND m.role = 2
|
|
38
|
+
ORDER BY def_d.relative_path, gs.symbol`,r).filter(o=>!t.isIgnored(o.importer));if(s.length>0){let o=u(t,r);return s.map(i=>({symbol:i.symbol,shortName:l(i.symbol),fromFile:i.from_file??"(external)",importer:i.importer,used:i.used!==0||o.some(m=>m.isUsed&&m.sourcePath===i.from_file)}))}return null}function F(t,r){let e=u(t,r);return e.length>0?e.map(s=>{let o=I(s.importedName,s.localName,s.kind);return{symbol:o,shortName:o,fromFile:s.sourcePath??"(external)",importer:r,used:s.kind==="side-effect"?!0:s.isUsed}}):null}function y(t,r){return a(t,r).map(e=>{let s=I(e.importedName,e.localName,e.kind),o=e.kind==="side-effect"?!0:e.used;return{symbol:s,shortName:s,fromFile:e.sourcePath??"(external)",importer:r,used:o}})}function I(t,r,e){return e==="namespace"&&t==="*"&&r?`* as ${r}`:e==="default"&&r?`default as ${r}`:e==="side-effect"?"(side effect import)":r&&r!==t?`${t} as ${r}`:t}function _(t){return t.replace(/\\/g,"/")}function R(t){return/\.(?:c|h|cc|cpp|cxx|hpp|hh|hxx)$/i.test(t)}export{T as a,M as b,J as c};
|
|
39
|
+
//# sourceMappingURL=chunk-UUIWMLDX.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{c as p}from"./chunk-Y4DS3MDC.js";import{d as b,e as S,l as u}from"./chunk-3PVIYZ74.js";import{e as y}from"./chunk-KW2F3WSV.js";import{o as L}from"./chunk-Z4AMQWVY.js";import{c as x}from"./chunk-ZHHMG4UC.js";import{A as I,E as R,d,p as h}from"./chunk-QFZE73XF.js";function g(n,a,t){let e=u(n).get(t);if(!e||e.length===0)return[];if(e.length===1)return[m(e[0])];let s=e.filter(r=>r.file===a);if(s.length>0)return s.map(m);let i=F(n,a),o=i.get(t);if(o)for(let r of o){let f=e.filter(l=>w(r,l.file));if(f.length>0)return f.map(m)}let c=new Set;for(let r of i.values())for(let f of r)c.add(f);for(let r of c){let f=e.filter(l=>w(r,l.file));if(f.length>0&&f.length===e.length)return f.map(m)}return[]}function C(n,a,t){let e=g(n,a,t);if(e.length>0)return e;let s=u(n).get(t);return!s||s.length===0?[]:s.map(m)}function E(n,a){let t=x(n,a);if(!t)return[];let e=h(t.symbol);if(!e)return[];let s=L(n,{...t,leaf:e,parentTypeName:null,isFunctionLike:!1,isTypeLike:!1,kind:null,documentation:null,enclosingSymbol:null});if(s.length>0){let o=new Map;for(let c of s){let r=o.get(c.file)??[];r.push(c.line),o.set(c.file,r)}return D(n,o)}let i=new Map;for(let o of p(n)){let c=d(n,o);if(!c||c.indexOf(e)===-1||o!==t.relativePath&&!g(n,o,e).some(l=>l.symbolId===t.symbolId))continue;let r=b(n,o,e,o===t.relativePath?{excludeStartLine:t.startLine,excludeEndLine:t.endLine}:{});r.length>0&&i.set(o,r)}return D(n,i)}function A(n,a){let t=new Map;for(let i of a){if(!i.leaf)continue;let o=t.get(i.leaf)??[];o.push(i),t.set(i.leaf,o)}if(t.size===0)return new Map;let e=new Set(a.map(i=>i.symbolId)),s=new Map;for(let i of p(n)){let o=S(n,i);if(o.size!==0){for(let c of o)if(t.has(c))for(let r of g(n,i,c)){if(!e.has(r.symbolId)||i===r.relativePath)continue;let f=s.get(r.symbolId);f||(f=new Set,s.set(r.symbolId,f)),f.add(i)}}}return s}function F(n,a){let t=new Map;for(let e of y(n,a)){if(!e.sourcePath)continue;let s=e.localName??e.importedName;if(s){let i=t.get(s);i||(i=new Set,t.set(s,i)),i.add(e.sourcePath)}if(e.kind==="namespace")for(let i of e.usedMembers){let o=t.get(i);o||(o=new Set,t.set(i,o)),o.add(e.sourcePath)}}return t}function w(n,a){let t=e=>e.replace(/\\/g,"/").replace(/^\.\//,"");return t(n)===t(a)}function m(n){return{symbolId:n.symbolId,symbol:n.symbol,relativePath:n.file}}function D(n,a){let t=[],e=new Set;for(let[s,i]of a){let o=I(n,s);for(let c of i){let r=R(o,c),f=`${s}|${c}|${r?.symbol??""}`;e.has(f)||(e.add(f),t.push({file:s,line:c,enclosingSymbol:r?.symbol??null}))}}return t}export{g as a,C as b,E as c,A as d};
|
|
2
|
+
//# sourceMappingURL=chunk-VEXS3I3N.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as c}from"./chunk-UAPNU7UP.js";import{h as a,i}from"./chunk-3PVIYZ74.js";import{o as m}from"./chunk-QFZE73XF.js";function d(o,e={}){let{limit:r=20,scope:s,minFanIn:t=2,minFanOut:p=2}=e;return new c(o).productionCallableDefinitions({scope:s,requireCallableSymbol:!0,includeSuppressed:!0}).map(n=>u(o,n)).filter(n=>n.fanIn>=t&&n.fanOut>=p).sort((n,l)=>l.score-n.score||l.fanIn-n.fanIn).slice(0,r)}function u(o,e){let r=new Set(i(o,e,{limit:500}).map(t=>t.file)).size,s=new Set(a(o,e,{limit:500}).filter(t=>t.file!==e.relativePath).map(t=>`${t.symbol}|${t.file}`)).size;return{symbol:e.symbol,shortName:m(e.symbol),fanIn:r,fanOut:s,score:r*s,definedIn:e.relativePath}}export{d as a};
|
|
2
|
+
//# sourceMappingURL=chunk-VRC3WKKE.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as S}from"./chunk-Z4AMQWVY.js";import{B as x,d as g,o as d,y as h,z as b}from"./chunk-QFZE73XF.js";function B(t,e={}){let{scope:s,minLoc:o=1,limit:i}=e,c=new Map;for(let r of x(t,{scope:s})){if(!r.isFunctionLike||t.isIgnored(r.relativePath))continue;let n=r.endLine-r.startLine+1;if(n<o)continue;let m=L(t,r);if(!m)continue;let u={symbol:r.symbol,shortName:d(r.symbol),file:r.relativePath,startLine:r.startLine,endLine:r.endLine,loc:n},l=c.get(m);l?l.push(u):c.set(m,[u])}let a=[];for(let[r,n]of c)n.length<2||a.push({signature:r,functions:n});return a.sort((r,n)=>{let m=n.functions.length-r.functions.length;if(m!==0)return m;let u=r.functions.reduce((f,p)=>f+p.loc,0);return n.functions.reduce((f,p)=>f+p.loc,0)-u}),i?a.slice(0,i):a}function L(t,e){let s=S(t,e);if(s)return s;let o=$(e.documentation),i=o?v(o):null;return i||w(D(t,e.relativePath,e.startLine,e.endLine,e.leaf),e.leaf)}function $(t){return h(b(t))}function D(t,e,s,o,i){let c=g(t,e);if(!c)return null;let a=c.split(/\r?\n/),r=I(a,s,o,i);for(let n of r){let m=Math.min(a.length-1,Math.max(n,n+4)),u="";for(let l=n;l<=m;l+=1){let f=a[l]?.trim();if(f&&(u=u?`${u} ${f}`:f,M(u)))return u}if(u&&u.includes("("))return u}return null}function M(t){let e=t.replace(/\s+/g," ").trim();return!e.includes("(")||P(e)>0?!1:/[;{]$/.test(e)||/\)\s*(?::\s*[^={]+)?\s*(?:=>|=|throws\b|where\b|$)/i.test(e)||/\)\s*As\s+.+$/i.test(e)}function v(t){if(!t||!t.trim())return null;let e=t.replace(/^```\w*\s*/,"").replace(/\s*```$/,"").replace(/^\(method\)\s*/,"").replace(/^\(property\)\s*/,"").replace(/^\(function\)\s*/,"").replace(/^\(class\)\s*/,"").replace(/^\(interface\)\s*/,"").replace(/^\(enum\)\s*/,"").replace(/^\(type alias\)\s*/,"").replace(/^\(const\)\s*/,"").replace(/^\(var\)\s*/,"").trim(),s=e.indexOf("(");return s===-1||(e=e.slice(s),e=e.replace(/\s+/g,"").toLowerCase(),e.length<3)?null:e}function w(t,e){if(!t||!t.trim())return null;let s=t.replace(/\s+/g," ").trim(),o=s.indexOf("(");if(o===-1)return null;let i=s.slice(0,o),a=new RegExp(`\\b${y(e)}\\b`,"i").exec(i);a&&typeof a.index=="number"&&(i=i.slice(0,a.index)),i=i.replace(/\b(public|private|protected|internal|final|static|abstract|sealed|virtual|override|async|suspend|inline|constexpr|consteval|constinit|const|pub|fn|function|def|sub|friend|shared|readonly|new|open|partial|export)\b/gi," ").replace(/\s+/g," ").trim();let r=z(s.slice(o)).replace(/\)\s*=\s*[\s\S]*$/,")").replace(/\s+throws\s+[^={]+$/i,"").replace(/\s+where\s+.+$/i,"").replace(/\s+/g," ").trim();if(!r.startsWith("("))return null;let n=`${i?`${i} `:""}${r}`.replace(/\s+/g,"").toLowerCase();return n.length>=3?n:null}function z(t){let e=0,s=0,o=0,i=0,c=null,a=!1;for(let r=0;r<t.length;r+=1){let n=t[r];if(c){if(a){a=!1;continue}if(n==="\\"){a=!0;continue}n===c&&(c=null);continue}if(n==='"'||n==="'"||n==="`"){c=n;continue}if(n==="(")e+=1;else if(n===")")e=Math.max(0,e-1);else if(n==="[")o+=1;else if(n==="]")o=Math.max(0,o-1);else if(n==="<")i+=1;else if(n===">")i=Math.max(0,i-1);else if(n==="{"){if(e===0&&o===0&&i===0)return t.slice(0,r);s+=1}else if(n==="}")s=Math.max(0,s-1);else if(n==="="&&t[r+1]===">"&&e===0&&s===0&&o===0&&i===0)return t.slice(0,r)}return t}function I(t,e,s,o){let i=y(o),c=new RegExp(`\\b${i}\\b\\s*\\(`,"i"),a=new RegExp(`\\bdef\\s+${i}\\b`,"i"),r=[],n=new Set,m=Math.max(0,Math.min(e,t.length-1)),u=Math.max(m,Math.min(t.length-1,Math.max(s,e+4)));for(let l=m;l<=u;l+=1){let f=t[l]??"";(c.test(f)||a.test(f))&&!n.has(l)&&(n.add(l),r.push(l))}for(let l=0;l<t.length;l+=1){let f=t[l]??"";(c.test(f)||a.test(f))&&!n.has(l)&&(n.add(l),r.push(l))}return r}function P(t){let e=0;for(let s of t)s==="("&&(e+=1),s===")"&&(e-=1);return e}function y(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}export{B as a};
|
|
2
|
+
//# sourceMappingURL=chunk-WFDTS7XL.js.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{a as l}from"./chunk-QFZE73XF.js";import{readdirSync as x}from"fs";import{extname as p,join as g}from"path";var f=[".ts",".tsx",".mts",".cts",".js",".jsx",".mjs",".cjs",".vue",".rs",".py",".pyi",".java",".kt",".kts",".scala",".sc",".rb",".c",".h",".cc",".cpp",".cxx",".hpp",".hh",".hxx",".cs",".vb",".php",".dart"],w=[".vue"],S=new Set(f.map(e=>e.toLowerCase())),m=[...S].sort().join(","),E=new Set(["node_modules",".git","target","dist","build",".next",".nuxt",".cache",".turbo","out","coverage",".scipquery-cache","__pycache__",".venv","venv",".idea",".vscode"]);function C(e,o={}){let s=o.includeIndexed??!0,i=o.includeAuxiliary??!0,t=o.extensions?.map(c=>c.toLowerCase()),r=t?new Set(t):S,a=t?[...r].sort().join(","):m,n=`${s?"1":"0"}|${i?"1":"0"}|${a}`;return h.get(e,n,()=>{let c=new Set;if(s){let u=e.all(`SELECT relative_path
|
|
2
|
+
FROM documents
|
|
3
|
+
WHERE 1 = 1
|
|
4
|
+
${e.pathExclusionsFor("documents")}`);for(let d of u)e.isIgnored(d.relative_path)||r.has(p(d.relative_path).toLowerCase())&&c.add(d.relative_path)}if(i)for(let u of y(e.config.projectRoot,r))e.isIgnored(u)||c.add(u);return[...c].sort()})}var h=l("source-files");function y(e,o){let s=new Set,i=t=>{let r=t?g(e,t):e,a;try{a=x(r,{withFileTypes:!0})}catch{return}for(let n of a)if(!E.has(n.name)){if(n.isDirectory()){i(t?`${t}/${n.name}`:n.name);continue}o.has(p(n.name).toLowerCase())&&s.add(t?`${t}/${n.name}`:n.name)}};return i(""),s}export{w as a,E as b,C as c};
|
|
5
|
+
//# sourceMappingURL=chunk-Y4DS3MDC.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{h as a,i as n}from"./chunk-3PVIYZ74.js";import{a as m}from"./chunk-ZHHMG4UC.js";import{o as i}from"./chunk-QFZE73XF.js";function p(e,s){let o=m(e,s);if(!o)return null;let t=n(e,o,{limit:50}),r=y(a(e,o,{limit:50,additive:!0,callableOnly:!0}));return{symbol:o.symbol,shortName:i(o.symbol),callers:t.map(l=>({symbol:l.symbol,shortName:i(l.symbol),file:l.file})),callees:r.map(l=>({symbol:l.symbol,shortName:i(l.symbol),file:l.file}))}}function y(e){let s=new Set,o=[];for(let t of e){let r=`${t.symbol}|${t.file}`;s.has(r)||(s.add(r),o.push(t))}return o}export{p as a};
|
|
2
|
+
//# sourceMappingURL=chunk-YJODB2F5.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{c as a}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{c as a}from"./chunk-Y4DS3MDC.js";import{g as p}from"./chunk-3PVIYZ74.js";import{b as f}from"./chunk-QFZE73XF.js";function c(t){let r=o(t);return x(r)?"test":S(r)?"worker":y(r)?"entry":P(r)?"barrel":"source"}function _(t){return c(t)==="barrel"}function g(t){return h.get(t,()=>{let r=p(t),e=a(t).filter(s=>{let u=c(s);return u==="entry"||u==="worker"}),n=new Set,i=new Set;for(;e.length>0;){let s=e.shift();if(!n.has(s)){n.add(s),c(s)==="barrel"&&i.add(s);for(let u of r.get(s)??[])n.has(u)||e.push(u)}}return i})}var h=f("live-barrels");function b(t,r){return g(t).has(o(r))}function w(t){let r=g(t);return a(t).filter(e=>_(e)&&!r.has(e))}function D(t,r){let e=c(r);return e==="entry"||e==="worker"||b(t,r)}function E(t,r,e){let n=t.config.entryRoots;if(!n)return!1;let i=o(e);return!!(n.files?.some(s=>o(s)===i)||n.pathPrefixes?.some(s=>i.startsWith(o(s)))||n.qualifiedVars?.some(s=>$(r,s))||n.symbolPatterns?.some(s=>{try{return new RegExp(s).test(r)}catch{return!1}}))}var v=["%/__tests__/%","%.test.%","%.spec.%","%/test/%","%/tests/%","%_test.%","%_spec.%","%/test_%.%","%/spec_%.%"],B=["%/test-utils/%"];function x(t){return!!(/\.(?:test|spec)\.[a-z0-9]+$/i.test(t)||/(?:^|\/)(?:_)?test_[^/]+$/i.test(t)||/(?:^|\/)spec_[^/]+$/i.test(t)||/(?:^|\/)[^/]+_test\.[a-z0-9]+$/i.test(t)||/(?:^|\/)[^/]+_tests\.rs$/i.test(t)||/(?:^|\/)tests\.rs$/i.test(t)||/(?:^|\/)[^/]+_spec\.[a-z0-9]+$/i.test(t)||/(?:^|\/)__tests__\//i.test(t)||/(?:^|\/)test\//i.test(t)||/(?:^|\/)tests\//i.test(t)||/(?:^|\/)__fixtures__\//i.test(t)||/(?:^|\/)__mocks__\//i.test(t)||/(?:^|\/)test-support\//i.test(t)||/(?:^|\/)test-utils\//i.test(t)||/(?:^|\/)testing\//i.test(t))}function S(t){return/(?:^|\/)[^/]*worker\.(?:ts|tsx|js|mjs|cjs|rs|py|go)$/.test(t)}function y(t){let r=t.split("/"),e=r[r.length-1]??t;return e==="cli.ts"||e==="cli.js"||e==="postinstall.ts"||e==="postinstall.js"||e==="main.ts"||e==="main.js"||e==="main.rs"||e==="main.go"||e==="main.py"||e==="build.rs"||e==="lib.rs"||/\bsrc\/bin\/[^/]+\.rs$/.test(t)||/(?:^|\/)examples\/[^/]+\.rs$/.test(t)||/(?:^|\/)tests\/[^/]+\.rs$/.test(t)||/(?:^|\/)benches\/[^/]+\.rs$/.test(t)?!0:e==="index.ts"||e==="index.js"?/(?:^|\/)(?:apps|services)\/[^/]+\/src\/index\.(?:ts|js)$/.test(t)?!0:r.length<=2:!1}function P(t){return t==="index.ts"||t==="index.js"||t.endsWith("/index.ts")||t.endsWith("/index.js")||t.endsWith("/mod.rs")||t.endsWith("/__init__.py")}function o(t){return t.replace(/\\/g,"/")}function $(t,r){let e=r.lastIndexOf("/");if(e<0)return!1;let n=r.slice(0,e),i=r.slice(e+1);return t.includes(l(n)+"/")&&t.includes(l(i)+".")}function l(t){return/^[A-Za-z0-9_$+-]+$/.test(t)?t:"`"+t.replace(/`/g,"``")+"`"}export{c as a,_ as b,b as c,w as d,D as e,E as f,v as g,B as h};
|
|
2
|
+
//# sourceMappingURL=chunk-YXMHTJYY.js.map
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import{A as F,b as z,p as C}from"./chunk-QFZE73XF.js";import g from"path";import{createRequire as Ye}from"module";import{existsSync as T,readdirSync as Ge,readFileSync as fe}from"fs";import{existsSync as D}from"fs";import{basename as he,dirname as y,extname as S,join as p,relative as E,resolve as f}from"path";var ye=z("indexed-paths"),N=[".ts",".tsx",".mts",".cts",".js",".jsx",".mjs",".cjs",".vue"],Y=[".py",".pyi"],G=[".java",".scala",".kt",".kts"],q=[".rs"],Q=[".rb"],Z=[".c",".h",".cc",".cpp",".cxx",".hpp",".hh",".hxx"],ee=[".cs",".vb"],te=[".dart"],ne=[".php"],Ie=new Set(N),O=new Set(Y),re=new Set(G),P=new Set(q),A=new Set(Q),ie=new Set(Z),oe=new Set(ee),j=new Set(te),se=new Set(ne),xe=[{extensions:N,lookup:Ie},{extensions:Y,lookup:O},{extensions:G,lookup:re},{extensions:q,lookup:P},{extensions:Q,lookup:A},{extensions:Z,lookup:ie},{extensions:ee,lookup:oe},{extensions:te,lookup:j},{extensions:ne,lookup:se}];function I(n,e){return e.has(S(n).toLowerCase())}function Ee(n){return I(n,O)}function Ne(n){return I(n,re)}function be(n){return I(n,P)}function ve(n){return I(n,A)}function ke(n){return I(n,ie)}function Re(n){return I(n,oe)}function Rt(n){return S(n).toLowerCase()===".vb"}function De(n){return I(n,j)}function Te(n){return I(n,se)}function Le(n){let e=S(n).toLowerCase();for(let t of xe)if(t.lookup.has(e))return t.extensions;return N}function _e(n){return Ne(n)||Re(n)||Te(n)}function w(n,e,t){return Ee(e)?Ce(n,e,t):be(e)?Fe(n,e,t):ve(e)?Oe(n,e,t):ke(e)?Pe(n,e,t):_e(e)?Ae(n,t.replace(/\\/g,"."),Le(e)):De(e)?je(n,e,t):Me(n,e,t)}function Me(n,e,t){if(!t.startsWith(".")&&!t.startsWith("/"))return null;let r=y(p(n.config.projectRoot,e)),i=f(r,t),o=b(n);for(let s of Ke(i)){let a=x(E(n.config.projectRoot,s));if(o.has(a)||D(s))return a}return x(E(n.config.projectRoot,i))}function Ce(n,e,t){let r=b(n),i;if(t.startsWith(".")){let o=t.match(/^(\.+)(.*)$/);if(!o)return null;let s=o[1].length,a=o[2].replace(/^\./,""),c=y(p(n.config.projectRoot,e));for(let l=1;l<s;l++)c=y(c);i=a?f(c,a.replace(/\./g,"/")):c}else i=f(n.config.projectRoot,t.replace(/\./g,"/"));for(let o of we(i)){let s=x(E(n.config.projectRoot,o));if(r.has(s)||D(o))return s}return null}function Fe(n,e,t){if(!t)return null;let r=t.replace(/\s+as\s+.+$/,"").trim();if(!r.startsWith("crate::")&&!r.startsWith("self::")&&!r.startsWith("super::"))return null;let i=y(p(n.config.projectRoot,e)),o;return r.startsWith("crate::")?o=f(n.config.projectRoot,"src",r.slice(7).replace(/::/g,"/")):r.startsWith("self::")?o=f(i,r.slice(6).replace(/::/g,"/")):o=f(y(i),r.slice(7).replace(/::/g,"/")),W(n,We(o))}function Oe(n,e,t){let r=y(p(n.config.projectRoot,e)),i=f(r,t);return W(n,$e(i))}function Pe(n,e,t){let r=y(p(n.config.projectRoot,e)),i=[f(r,t),f(n.config.projectRoot,t),f(n.config.projectRoot,"include",t),f(n.config.projectRoot,"src",t)];return W(n,i)}function Ae(n,e,t){let r=b(n),i=e.replace(/\\/g,".").replace(/::/g,".").replace(/^global::/,""),o=i.replace(/\./g,"/"),s=i.split(".").pop()??i;for(let c of t){let l=`${o}${c}`,d=[...r].find(m=>m.endsWith(l));if(d)return d}for(let c of t){let l=[...r].find(d=>he(d)===`${s}${c}`);if(l)return l}let a=[...r].filter(c=>t.includes(S(c).toLowerCase())).filter(c=>c.includes(`/${o}/`)||c.includes(`/${s}/`)).sort((c,l)=>c.localeCompare(l));return a.length===1?a[0]:null}function je(n,e,t){let r=b(n);if(t.startsWith("package:")){let s=t.slice(8),a=s.indexOf("/");if(a<0)return null;let c=s.slice(a+1),l=x(c.startsWith("lib/")?c:`lib/${c}`);return r.has(l)?l:null}let i=y(p(n.config.projectRoot,e)),o=f(i,t);for(let s of Ue(o)){let a=x(E(n.config.projectRoot,s));if(r.has(a)||D(s))return a}return null}function we(n){let e=S(n);return O.has(e)?[n]:[`${n}.py`,`${n}.pyi`,p(n,"__init__.py"),p(n,"__init__.pyi")]}function W(n,e){let t=b(n);for(let r of e){let i=x(E(n.config.projectRoot,r));if(t.has(i)||D(r))return i}return null}function We(n){let e=S(n);return P.has(e)?[n]:[`${n}.rs`,p(n,"mod.rs")]}function $e(n){let e=S(n);return A.has(e)?[n]:[`${n}.rb`,p(n,"index.rb")]}function Ue(n){let e=S(n);return j.has(e)?[n]:[`${n}.dart`,n]}function Ke(n){let e=S(n),t=new Set;if(e){t.add(n);for(let r of N)t.add(n.slice(0,-e.length)+r)}else for(let r of N)t.add(`${n}${r}`),t.add(p(n,`index${r}`));return[...t]}function b(n){return ye.get(n,()=>new Set(n.all(`SELECT relative_path
|
|
2
|
+
FROM documents
|
|
3
|
+
WHERE 1 = 1
|
|
4
|
+
${n.pathExclusionsFor("documents")}`).map(e=>x(e.relative_path)).filter(e=>!n.isIgnored(e))))}function x(n){return n.replace(/\\/g,"/")}import{existsSync as v,readFileSync as He,readdirSync as Xe,statSync as Je}from"fs";import u from"path";var U=["tsconfig.json","tsconfig.app.json","tsconfig.node.json","tsconfig.base.json"];function K(n,e){let r=e?u.dirname(u.join(n,e)):n,i=u.resolve(n);for(;r.startsWith(i);){for(let s of U){let a=u.join(r,s);if(v(a))return a}let o=u.dirname(r);if(o===r)break;r=o}for(let o of U){let s=u.join(n,o);if(v(s))return s}return null}function ae(n){let e=n.config.projectRoot,t=new Set(Be(e,n.config.semantic?.typescript?.tsconfigs)),r=n.all(`SELECT relative_path
|
|
5
|
+
FROM documents
|
|
6
|
+
WHERE (
|
|
7
|
+
relative_path LIKE '%.ts'
|
|
8
|
+
OR relative_path LIKE '%.tsx'
|
|
9
|
+
OR relative_path LIKE '%.mts'
|
|
10
|
+
OR relative_path LIKE '%.cts'
|
|
11
|
+
OR relative_path LIKE '%.js'
|
|
12
|
+
OR relative_path LIKE '%.jsx'
|
|
13
|
+
OR relative_path LIKE '%.mjs'
|
|
14
|
+
OR relative_path LIKE '%.cjs'
|
|
15
|
+
)
|
|
16
|
+
${n.pathExclusionsFor("documents")}`);for(let i of r){if(n.isIgnored(i.relative_path))continue;let o=K(e,i.relative_path);o&&t.add(u.resolve(o))}if(t.size===0){let i=K(e);i&&t.add(u.resolve(i))}return[...t].filter(i=>!ce(e,i)).sort((i,o)=>i.localeCompare(o))}function Be(n,e=[]){let t=new Set;for(let r of e){let i=u.isAbsolute(r)?r:u.join(n,r);v(i)&&t.add(u.resolve(i))}for(let r of Ve(n))for(let i of U){let o=u.join(r,i);v(o)&&t.add(u.resolve(o))}if(t.size===0){let r=K(n);r&&t.add(u.resolve(r))}return[...t].filter(r=>!ce(n,r)).sort((r,i)=>r.localeCompare(i))}function Ve(n){let e=u.join(n,"package.json");if(!v(e))return[];let t;try{t=JSON.parse(He(e,"utf8"))}catch{return[]}return(Array.isArray(t.workspaces)?t.workspaces:t.workspaces?.packages??[]).flatMap(i=>ze(n,i))}function ze(n,e){if(!e||e.startsWith("!")||e.includes("node_modules"))return[];if(!e.includes("*")){let s=u.join(n,e);return $(s)?[s]:[]}let t=e.indexOf("*"),r=e.slice(0,t).replace(/\/$/,""),i=e.slice(t+1).replace(/^\//,""),o=u.join(n,r||".");return $(o)?Xe(o).map(s=>u.join(o,s,i)).filter($):[]}function $(n){try{return Je(n).isDirectory()}catch{return!1}}function ce(n,e){let t=u.relative(n,e).replace(/\\/g,"/");return t.startsWith("..")||t.includes("/node_modules/")||t.startsWith("node_modules/")||t.includes("/dist/")||t.startsWith("dist/")}var qe=Ye(import.meta.url),k;function pe(n,e){let t=Qe();if(!t)return H("ts-morph is not installed");let r=ae(n);if(r.length===0)return H("no tsconfig found");try{let i=r.map(o=>({tsconfigPath:o,project:new t.Project({tsConfigFilePath:o,skipFileDependencyResolution:!1})}));return new X(n,t,i)}catch(i){return H(i instanceof Error?i.message:String(i),r[0],r)}}function Qe(){if(k!==void 0)return k;try{k=qe("ts-morph")}catch{k=null}return k}function H(n,e,t){return{language:"typescript",availability:()=>({available:!1,reason:n,tsconfigPath:e,tsconfigPaths:t}),importUsage:()=>[],referencesFor:()=>[],calleesFor:()=>[],signatureFor:()=>null}}var X=class{constructor(e,t,r){this.db=e;this.tsMorph=t;this.projects=r;this.workspacePackages=rt(e.config.projectRoot)}db;tsMorph;projects;language="typescript";importUsageCache=new Map;referencesCache=new Map;calleesCache=new Map;fileCalleesCache=new Map;signatureCache=new Map;sourceFileCache=new Map;definitionNodeCache=new Map;fileDefinitionNodeCache=new Map;indexedDefinitionLeafCache=new Map;packageImportReferenceIndex=null;packageExportIndex=null;workspacePackages;availability(){return{available:!0,tsconfigPath:this.projects[0]?.tsconfigPath,tsconfigPaths:this.projects.map(e=>e.tsconfigPath)}}importUsage(e){return h(this.importUsageCache,e,()=>{let t=this.sourceFile(e);if(!t)return[];let r=[];for(let i of t.getImportDeclarations())for(let o of this.importUsageForDeclaration(e,i))r.push(o);return r})}referencesFor(e){return h(this.referencesCache,e.symbolId,()=>{let t=this.nodeForDefinition(e),r=this.packageImportReferencesForDefinition(e);return t?ut(t,e,r,this.db.config.projectRoot):r})}calleesFor(e){return h(this.calleesCache,e.symbolId,()=>h(this.fileCalleesCache,e.relativePath,()=>this.calleeMapForFile(e.relativePath)).get(e.symbolId)??[])}signatureFor(e){return h(this.signatureCache,e.symbolId,()=>{let t=this.nodeForDefinition(e);if(!t||!this.tsMorph.Node.isFunctionDeclaration(t)&&!this.tsMorph.Node.isMethodDeclaration(t)&&!this.tsMorph.Node.isArrowFunction(t)&&!this.tsMorph.Node.isFunctionExpression(t)&&!this.tsMorph.Node.isConstructorDeclaration(t))return null;let r=t.getType().getCallSignatures()[0];if(!r)return null;let i=r.getParameters().map(s=>{let a=s.getDeclarations()[0],c=a?s.getTypeAtLocation(a).getText(a):s.getValueDeclaration()?.getType().getText()??"unknown";return de(c)}),o=r.getReturnType().getText(t);return`(${i.join(",")})=>${de(o)}`})}importUsageForDeclaration(e,t){let r=w(this.db,e,t.getModuleSpecifierValue()),i=le(t);return t.getImportClause()?.isTypeOnly()?i.map(o=>tt(e,r,o)):i.map(o=>this.valueImportUsageForEntry(e,r,o))}valueImportUsageForEntry(e,t,r){let i=r.identifier?r.identifier.findReferences():[],o=[];for(let l of i)for(let d of dt(l,e,r.identifier,this.db.config.projectRoot))o.push(d);let s=o.some(l=>!ue(l.node)),a=o.some(l=>ue(l.node)),c=r.isTypeOnly;return{importer:e,sourcePath:t,importedName:r.importedName,localName:r.localName,kind:r.kind,isTypeOnly:c,isUsed:c||o.length>0,isTypeUsed:c||a,isValueUsed:s,references:o.map(l=>l.location)}}sourceFile(e){return this.sourceFileMatch(e)?.sourceFile??null}sourceFileMatch(e){return It(e)?h(this.sourceFileCache,e,()=>{let t=g.join(this.db.config.projectRoot,e);for(let{project:r}of this.projects){let i=r.getSourceFile(t)??r.addSourceFileAtPathIfExists(t)??null;if(i)return{project:r,sourceFile:i}}return null}):null}packageImportReferencesForDefinition(e){return this.packageImportReferences().get(e.symbolId)??[]}packageImportReferences(){if(this.packageImportReferenceIndex)return this.packageImportReferenceIndex;let e=new Map,t=this.packageExports();for(let r of this.indexedTypeScriptLikeDocuments())this.addPackageImportReferencesForDocument(e,t,r);for(let[r,i]of e)e.set(r,J(i));return this.packageImportReferenceIndex=e,e}indexedTypeScriptLikeDocuments(){return this.db.all(`SELECT relative_path
|
|
17
|
+
FROM documents
|
|
18
|
+
WHERE (
|
|
19
|
+
relative_path LIKE '%.ts'
|
|
20
|
+
OR relative_path LIKE '%.tsx'
|
|
21
|
+
OR relative_path LIKE '%.mts'
|
|
22
|
+
OR relative_path LIKE '%.cts'
|
|
23
|
+
OR relative_path LIKE '%.js'
|
|
24
|
+
OR relative_path LIKE '%.jsx'
|
|
25
|
+
OR relative_path LIKE '%.mjs'
|
|
26
|
+
OR relative_path LIKE '%.cjs'
|
|
27
|
+
)
|
|
28
|
+
${this.db.pathExclusionsFor("documents")}`).map(e=>e.relative_path)}addPackageImportReferencesForDocument(e,t,r){if(this.db.isIgnored(r))return;let i=this.sourceFileMatch(r);if(i)for(let o of i.sourceFile.getImportDeclarations())this.addPackageImportReferencesForDeclaration(e,t,r,o)}addPackageImportReferencesForDeclaration(e,t,r,i){let o=st(this.workspacePackages,i.getModuleSpecifierValue());if(!o)return;let s=t.get(o);if(s)for(let a of le(i)){if(a.kind!=="named"||!a.identifier)continue;let c=s.get(a.importedName);if(!c||c.size===0)continue;let l=ft(a.identifier,r,this.db.config.projectRoot);l.length>0&&ht(e,c,l)}}packageExports(){if(this.packageExportIndex)return this.packageExportIndex;let e=new Map;for(let t of this.workspacePackages){let r=new Map;for(let i of at(t))this.collectPackageExports(t,i,r,new Set);r.size>0&&e.set(t.name,r)}return this.packageExportIndex=e,e}collectPackageExports(e,t,r,i){if(i.has(t))return;i.add(t);let o=this.sourceFile(t);if(o)for(let s of o.getExportDeclarations()){let a=s.getModuleSpecifierValue(),c=a?w(this.db,t,a):t;if(!c||!c.startsWith(`${e.sourceRootRelative}/`))continue;let l=s.getNamedExports();if(l.length===0){if(s.isNamespaceExport())continue;this.collectPackageExports(e,c,r,i);continue}for(let d of l){let m=d.getNameNode().getText(),B=d.getAliasNode()?.getText()??m,V=this.indexedDefinitionByLeaf(c,m);if(!V)continue;let R=r.get(B);R||(R=new Set,r.set(B,R)),R.add(V.symbolId)}}}indexedDefinitionByLeaf(e,t){return h(this.indexedDefinitionLeafCache,e,()=>mt(this.db,e)).get(t)??null}nodeForDefinition(e){return h(this.definitionNodeCache,e.symbolId,()=>this.definitionNodesForFile(e.relativePath).get(e.symbolId)??null)}definitionNodesForFile(e){return h(this.fileDefinitionNodeCache,e,()=>{let t=this.sourceFile(e);if(!t)return new Map;let r=Ze(this.db,e);return r.size===0?new Map:et(this.tsMorph,t,r)})}definitionFromSymbol(e){let t=e.getDeclarations();for(let r of t){let i=r.getSourceFile(),o=_(this.db.config.projectRoot,i.getFilePath());if(!o||this.db.isIgnored(o))continue;let s=L(i,r),a=gt(this.db,o,s,e.getName());if(a)return{symbol:a.symbol,file:a.relativePath,line:a.startLine}}return null}calleeMapForFile(e){let t=this.sourceFile(e);if(!t)return new Map;let r=F(this.db,e).sort((o,s)=>o.startLine-s.startLine||s.endLine-o.endLine);if(r.length===0)return new Map;let i=new Map;t.forEachDescendant(o=>{if(!this.tsMorph.Node.isCallExpression(o)&&!this.tsMorph.Node.isNewExpression(o))return;let s=this.semanticCalleeForCallNode(t,r,o);s&&nt(i,s.callerId,s.target)});for(let[o,s]of i)i.set(o,yt(s));return i}semanticCalleeForCallNode(e,t,r){let i=St(t,L(e,r));if(!i)return null;let o=r.getExpression(),s=o.getSymbol()??o.getType().getSymbol(),a=s?this.definitionFromSymbol(s):null;return a?{callerId:i.symbolId,target:{symbol:a.symbol,file:a.file,line:a.line}}:null}};function le(n){let e=[],t=n.getDefaultImport();t&&e.push({identifier:t,importedName:"default",localName:t.getText(),kind:"default",isTypeOnly:n.getImportClause()?.isTypeOnly()??!1});let r=n.getNamespaceImport();r&&e.push({identifier:r,importedName:"*",localName:r.getText(),kind:"namespace",isTypeOnly:n.getImportClause()?.isTypeOnly()??!1});for(let i of n.getNamedImports()){let o=i.getNameNode(),a=i.getAliasNode()??(o.getKindName()==="Identifier"?o:null);e.push({identifier:a,importedName:o.getText(),localName:a?.getText()??o.getText(),kind:"named",isTypeOnly:i.isTypeOnly()||(n.getImportClause()?.isTypeOnly()??!1)})}return e.length===0&&e.push({identifier:null,importedName:"*",localName:null,kind:"side-effect",isTypeOnly:!1}),e}function Ze(n,e){let t=new Map;for(let r of F(n,e)){let i=C(r.symbol)??r.leaf;if(!i)continue;let o=t.get(i);o||(o=[],t.set(i,o)),o.push(r)}return t}function et(n,e,t){let r=new Map,i=new Map;return e.forEachDescendant(o=>{for(let s of pt(n,o)){let a=t.get(s);if(!a)continue;let c=L(e,o);for(let l of a){if(c<l.startLine-1||c>l.endLine+1)continue;let d=Math.abs(c-l.startLine),m=i.get(l.symbolId);m!==void 0&&m<=d||(i.set(l.symbolId,d),r.set(l.symbolId,o))}}}),r}function tt(n,e,t){return{importer:n,sourcePath:e,importedName:t.importedName,localName:t.localName,kind:t.kind,isTypeOnly:!0,isUsed:!0,isTypeUsed:!0,isValueUsed:!1,references:[]}}function nt(n,e,t){let r=n.get(e);r||(r=[],n.set(e,r)),r.push(t)}function rt(n){let e=g.join(n,"package.json");if(!T(e))return[];let t;try{t=JSON.parse(fe(e,"utf8"))}catch{return[]}return(Array.isArray(t.workspaces)?t.workspaces:t.workspaces?.packages??[]).flatMap(i=>it(n,i)).flatMap(i=>ot(n,i))}function it(n,e){if(!e||e.startsWith("!")||e.includes("node_modules"))return[];if(!e.includes("*")){let s=g.join(n,e);return T(g.join(s,"package.json"))?[s]:[]}let t=e.indexOf("*"),r=e.slice(0,t).replace(/\/$/,""),i=e.slice(t+1).replace(/^\//,""),o=g.join(n,r||".");if(!T(o))return[];try{return Ge(o).map(s=>g.join(o,s,i)).filter(s=>T(g.join(s,"package.json")))}catch{return[]}}function ot(n,e){try{let t=JSON.parse(fe(g.join(e,"package.json"),"utf8"));if(!t.name)return[];let r=g.relative(n,e).replace(/\\/g,"/");return[{name:t.name,rootRelative:r,sourceRootRelative:`${r}/src`}]}catch{return[]}}function st(n,e){for(let t of n)if(e===t.name||e.startsWith(`${t.name}/`))return t.name;return null}function at(n){return[`${n.sourceRootRelative}/index.ts`,`${n.sourceRootRelative}/index.tsx`,`${n.sourceRootRelative}/index.mts`,`${n.sourceRootRelative}/index.cts`]}function ct(n,e){return n.getReferences().map(t=>{let r=t.getNode();return ge(r,e)})}function lt(n){let e=n;return typeof e.findReferences=="function"?e.findReferences():[]}function ut(n,e,t,r){let i=[];for(let o of lt(n))for(let s of ct(o,r))s.file===e.relativePath&&s.line>=e.startLine&&s.line<=e.endLine||i.push(s);for(let o of t)i.push(o);return J(i)}function dt(n,e,t,r){let i=[],o=t?.getStart();for(let s of n.getReferences()){let a=s.getNode();_(r,a.getSourceFile().getFilePath())===e&&(o!==void 0&&a.getStart()===o||i.push({location:ge(a,r),node:a}))}return i}function ge(n,e){let t=n.getSourceFile(),r=t.getLineAndColumnAtPos(n.getStart());return{file:_(e,t.getFilePath())??t.getBaseName(),line:r.line-1,column:r.column-1}}function ft(n,e,t){let r=n.getSourceFile(),i=L(r,n),o=n.getText(),s=new RegExp(`\\b${xt(o)}\\b`,"g"),a=r.getFullText().split(`
|
|
29
|
+
`),c=[];for(let l=0;l<a.length;l++){if(l===i)continue;let d=a[l]??"";s.lastIndex=0;let m;for(;(m=s.exec(d))!==null;)c.push({file:e,line:l,column:m.index})}return J(c.filter(l=>_(t,g.join(t,l.file))===e))}function ue(n){for(let e=n;e;e=e.getParent()){let t=e.getKindName();if(t.includes("Type")||t==="InterfaceDeclaration"||t==="TypeAliasDeclaration")return!0;if(t==="CallExpression"||t==="NewExpression"||t==="ExpressionStatement")return!1}return!1}function pt(n,e){let t=[],r=i=>{i&&!t.includes(i)&&t.push(i)};if("getNameNode"in e&&typeof e.getNameNode=="function"){let i=e.getNameNode();r(i?.getText())}if("getName"in e&&typeof e.getName=="function"){let i=e.getName();r(i)}return n.Node.isIdentifier(e)&&r(e.getText()),t}function gt(n,e,t,r){return n.all(`SELECT
|
|
30
|
+
gs.id AS symbolId,
|
|
31
|
+
gs.symbol,
|
|
32
|
+
d.relative_path AS relativePath,
|
|
33
|
+
COALESCE(der.start_line, c.start_line) AS startLine,
|
|
34
|
+
COALESCE(der.end_line, c.end_line) AS endLine,
|
|
35
|
+
COALESCE(gs.display_name, '') AS leaf,
|
|
36
|
+
NULL AS parentTypeName,
|
|
37
|
+
CASE WHEN gs.kind IN (6, 12, 13) OR gs.symbol LIKE '%().' THEN 1 ELSE 0 END AS isFunctionLike,
|
|
38
|
+
CASE WHEN gs.kind IN (5, 8, 11) THEN 1 ELSE 0 END AS isTypeLike,
|
|
39
|
+
gs.kind AS kind,
|
|
40
|
+
gs.documentation AS documentation,
|
|
41
|
+
gs.enclosing_symbol AS enclosingSymbol
|
|
42
|
+
FROM global_symbols gs
|
|
43
|
+
LEFT JOIN defn_enclosing_ranges der ON der.symbol_id = gs.id
|
|
44
|
+
LEFT JOIN chunks c ON c.document_id = der.document_id
|
|
45
|
+
JOIN documents d ON d.id = der.document_id
|
|
46
|
+
WHERE d.relative_path = ?
|
|
47
|
+
AND COALESCE(gs.display_name, gs.symbol) LIKE ?
|
|
48
|
+
ORDER BY ABS(COALESCE(der.start_line, c.start_line) - ?)
|
|
49
|
+
LIMIT 5`,e,`%${r}%`,t)[0]??null}function mt(n,e){let t=n.all(`SELECT
|
|
50
|
+
d.id AS documentId,
|
|
51
|
+
gs.id AS symbolId,
|
|
52
|
+
gs.symbol,
|
|
53
|
+
d.relative_path AS relativePath,
|
|
54
|
+
der.start_line AS startLine,
|
|
55
|
+
der.end_line AS endLine,
|
|
56
|
+
COALESCE(gs.display_name, '') AS leaf,
|
|
57
|
+
NULL AS parentTypeName,
|
|
58
|
+
CASE WHEN gs.kind IN (6, 12, 13) OR gs.symbol LIKE '%().' THEN 1 ELSE 0 END AS isFunctionLike,
|
|
59
|
+
CASE WHEN gs.kind IN (5, 8, 11) THEN 1 ELSE 0 END AS isTypeLike,
|
|
60
|
+
gs.kind AS kind,
|
|
61
|
+
gs.documentation AS documentation,
|
|
62
|
+
gs.enclosing_symbol AS enclosingSymbol
|
|
63
|
+
FROM global_symbols gs
|
|
64
|
+
JOIN defn_enclosing_ranges der ON der.symbol_id = gs.id
|
|
65
|
+
JOIN documents d ON d.id = der.document_id
|
|
66
|
+
WHERE d.relative_path = ?
|
|
67
|
+
UNION ALL
|
|
68
|
+
SELECT
|
|
69
|
+
d.id AS documentId,
|
|
70
|
+
gs.id AS symbolId,
|
|
71
|
+
gs.symbol,
|
|
72
|
+
d.relative_path AS relativePath,
|
|
73
|
+
MIN(c.start_line) AS startLine,
|
|
74
|
+
MAX(c.end_line) AS endLine,
|
|
75
|
+
COALESCE(gs.display_name, '') AS leaf,
|
|
76
|
+
NULL AS parentTypeName,
|
|
77
|
+
CASE WHEN gs.kind IN (6, 12, 13) OR gs.symbol LIKE '%().' THEN 1 ELSE 0 END AS isFunctionLike,
|
|
78
|
+
CASE WHEN gs.kind IN (5, 8, 11) THEN 1 ELSE 0 END AS isTypeLike,
|
|
79
|
+
gs.kind AS kind,
|
|
80
|
+
gs.documentation AS documentation,
|
|
81
|
+
gs.enclosing_symbol AS enclosingSymbol
|
|
82
|
+
FROM global_symbols gs
|
|
83
|
+
JOIN mentions m ON m.symbol_id = gs.id
|
|
84
|
+
JOIN chunks c ON c.id = m.chunk_id
|
|
85
|
+
JOIN documents d ON d.id = c.document_id
|
|
86
|
+
WHERE d.relative_path = ?
|
|
87
|
+
AND m.role = 1
|
|
88
|
+
GROUP BY gs.id, gs.symbol, d.id, d.relative_path, gs.display_name, gs.kind, gs.documentation, gs.enclosing_symbol
|
|
89
|
+
ORDER BY startLine, endLine`,e,e),r=new Set,i=new Map;for(let o of t){if(r.has(o.symbolId))continue;r.add(o.symbolId);let s=o.leaf||C(o.symbol);!s||i.has(s)||i.set(s,{...o,leaf:s})}return i}function St(n,e){let t=null;for(let r of n)e<r.startLine||e>r.endLine||(!t||r.startLine>=t.startLine)&&(t=r);return t}function L(n,e){return n.getLineAndColumnAtPos(e.getStart()).line-1}function J(n){let e=new Set,t=[];for(let r of n){let i=`${r.file}:${r.line}:${r.column}`;e.has(i)||(e.add(i),t.push(r))}return t}function ht(n,e,t){for(let r of e){let i=n.get(r)??[];i.push(...t),n.set(r,i)}}function yt(n){let e=new Set,t=[];for(let r of n){let i=`${r.symbol}|${r.file}|${r.line}`;e.has(i)||(e.add(i),t.push(r))}return t}function h(n,e,t){if(n.has(e))return n.get(e);let r=t();return n.set(e,r),r}function _(n,e){let t=g.relative(n||process.cwd(),e).replace(/\\/g,"/");return!t||t.startsWith("..")?null:t}function It(n){return/\.(?:ts|tsx|mts|cts|js|jsx|mjs|cjs)$/.test(n)}function de(n){return n.replace(/\s+/g," ").replace(/\bimport\("[^"]+"\)\./g,"").trim()}function xt(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var me=new WeakMap;function Se(n,e){let t=`${n.config.projectRoot}:typescript-workspace`,r=me.get(n);r||(r=new Map,me.set(n,r));let i=r.get(t);if(i)return i;let o=pe(n,e);return r.set(t,o),o}function Kt(n,e){let t=M(n,e);return t?t.importUsage(e):[]}function Et(n,e){let t=M(n,e.relativePath);return t?t.referencesFor(e):[]}function Ht(n,e){let t=new Map;for(let r of e)for(let i of Et(n,r)){if(i.file===r.relativePath||n.isIgnored(i.file))continue;let o=t.get(r.symbolId);o||(o=new Set,t.set(r.symbolId,o)),o.add(i.file)}return t}function Xt(n,e){let t=new Map;for(let r of e){let i=M(n,r.relativePath);if(!i)continue;let o=i.calleesFor(r);o.length>0&&t.set(r.symbolId,o)}return t}function Jt(n,e){let t=M(n,e.relativePath);return t?t.signatureFor(e):null}function M(n,e){if(!Nt(e))return null;let t=Se(n,e);return t.availability().available?t:null}function Nt(n){return/\.(?:ts|tsx|mts|cts|js|jsx|mjs|cjs)$/.test(n)}export{G as a,ee as b,ne as c,Rt as d,Le as e,w as f,Ce as g,Fe as h,Oe as i,Pe as j,Ae as k,je as l,x as m,Kt as n,Et as o,Ht as p,Xt as q,Jt as r};
|
|
90
|
+
//# sourceMappingURL=chunk-Z4AMQWVY.js.map
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import{F as y,G as S,o as E,p as I,r as L,s as $,t as v}from"./chunk-QFZE73XF.js";function ne(e,t){let n=K(e,t.trim());if(n)return n;let s=B(e,t);if(s)return s;let a=F(e,t);return a||W(e,t)}function F(e,t){let n=C(t),s=w(n);if(!s)return null;let a=`%${s.path}%`,i=s.leaf,r=k(e,a,i,n)[0];return r?y(e,r):null}function k(e,t,n,s){let a=M([],[...J(e,t,n),...T(e,t,n)]).filter(i=>!e.isIgnored(i.relative_path)).filter(i=>_(i,s)>1);return a.sort((i,o)=>_(o,s)-_(i,s)||i.end_line-i.start_line-(o.end_line-o.start_line)||i.start_line-o.start_line||i.symbol.localeCompare(o.symbol)),a}function J(e,t,n){return e.all(`SELECT gs.id, gs.symbol, der.document_id, der.start_line, der.end_line, d.relative_path, gs.display_name, gs.documentation
|
|
2
|
+
FROM global_symbols gs
|
|
3
|
+
JOIN defn_enclosing_ranges der ON gs.id = der.symbol_id
|
|
4
|
+
JOIN documents d ON der.document_id = d.id
|
|
5
|
+
WHERE d.relative_path LIKE ?
|
|
6
|
+
AND (gs.display_name = ? OR gs.symbol LIKE ?)
|
|
7
|
+
${e.pathExclusionsFor("d")}`,t,n,`%/${n}.%`)}function T(e,t,n){return e.all(`SELECT
|
|
8
|
+
gs.id,
|
|
9
|
+
gs.symbol,
|
|
10
|
+
c.document_id,
|
|
11
|
+
MIN(c.start_line) AS start_line,
|
|
12
|
+
MAX(c.end_line) AS end_line,
|
|
13
|
+
d.relative_path,
|
|
14
|
+
gs.display_name,
|
|
15
|
+
gs.documentation
|
|
16
|
+
FROM global_symbols gs
|
|
17
|
+
JOIN mentions m ON m.symbol_id = gs.id
|
|
18
|
+
JOIN chunks c ON m.chunk_id = c.id
|
|
19
|
+
JOIN documents d ON c.document_id = d.id
|
|
20
|
+
WHERE m.role = 1
|
|
21
|
+
AND d.relative_path LIKE ?
|
|
22
|
+
AND (gs.display_name = ? OR gs.symbol LIKE ?)
|
|
23
|
+
${e.pathExclusionsFor("d")}
|
|
24
|
+
GROUP BY gs.id, gs.symbol, c.document_id, d.relative_path, gs.display_name, gs.documentation`,t,n,`%/${n}.%`)}function W(e,t){let n=C(t),s=j(t),a=z(e,s),i=q(a,t,n);if(i&&!e.isIgnored(i.relative_path))return y(e,i);let o=null;for(let r of a){if(e.isIgnored(r.relative_path))continue;let d=U(r,t,n,s);d<=0||(!o||d>o.score)&&(o={row:r,score:d})}return o?y(e,o.row):null}function B(e,t){let n=t.match(/^(.+):(\d+)-(\d+)$/);if(!n)return null;let[,s,a,i]=n,o=Math.max(0,parseInt(a,10)-1),r=Math.max(o,parseInt(i,10)-1),d=Y(e,s,o,r)??H(e,s,o,r);return d&&!e.isIgnored(d.relative_path)?y(e,d):null}function Y(e,t,n,s){return e.get(`SELECT gs.id, gs.symbol, der.document_id, der.start_line, der.end_line, d.relative_path
|
|
25
|
+
FROM global_symbols gs
|
|
26
|
+
JOIN defn_enclosing_ranges der ON gs.id = der.symbol_id
|
|
27
|
+
JOIN documents d ON der.document_id = d.id
|
|
28
|
+
WHERE d.relative_path LIKE ?
|
|
29
|
+
AND der.start_line <= ? AND der.end_line >= ?
|
|
30
|
+
${e.pathExclusionsFor("d")}
|
|
31
|
+
ORDER BY (der.end_line - der.start_line) ASC
|
|
32
|
+
LIMIT 1`,`%${t}%`,n,s)}function H(e,t,n,s){return e.get(`SELECT gs.id, gs.symbol, c.document_id, MIN(c.start_line) AS start_line, MAX(c.end_line) AS end_line, d.relative_path
|
|
33
|
+
FROM global_symbols gs
|
|
34
|
+
JOIN mentions m ON m.symbol_id = gs.id
|
|
35
|
+
JOIN chunks c ON m.chunk_id = c.id
|
|
36
|
+
JOIN documents d ON c.document_id = d.id
|
|
37
|
+
WHERE m.role = 1
|
|
38
|
+
AND d.relative_path LIKE ?
|
|
39
|
+
AND c.start_line <= ? AND c.end_line >= ?
|
|
40
|
+
${e.pathExclusionsFor("d")}
|
|
41
|
+
GROUP BY gs.id, gs.symbol, c.document_id, d.relative_path
|
|
42
|
+
ORDER BY (MAX(c.end_line) - MIN(c.start_line)) ASC
|
|
43
|
+
LIMIT 1`,`%${t}%`,n,s)}function K(e,t){let s=e.get(`SELECT gs.id, gs.symbol, der.document_id, der.start_line, der.end_line, d.relative_path
|
|
44
|
+
FROM global_symbols gs
|
|
45
|
+
JOIN defn_enclosing_ranges der ON gs.id = der.symbol_id
|
|
46
|
+
JOIN documents d ON der.document_id = d.id
|
|
47
|
+
WHERE gs.symbol = ?
|
|
48
|
+
${e.pathExclusionsFor("d")}
|
|
49
|
+
ORDER BY d.relative_path, der.start_line
|
|
50
|
+
LIMIT 1`,t)??e.get(`SELECT
|
|
51
|
+
gs.id,
|
|
52
|
+
gs.symbol,
|
|
53
|
+
c.document_id,
|
|
54
|
+
MIN(c.start_line) AS start_line,
|
|
55
|
+
MAX(c.end_line) AS end_line,
|
|
56
|
+
d.relative_path
|
|
57
|
+
FROM global_symbols gs
|
|
58
|
+
JOIN mentions m ON m.symbol_id = gs.id
|
|
59
|
+
JOIN chunks c ON m.chunk_id = c.id
|
|
60
|
+
JOIN documents d ON c.document_id = d.id
|
|
61
|
+
WHERE gs.symbol = ?
|
|
62
|
+
AND m.role = 1
|
|
63
|
+
${e.pathExclusionsFor("d")}
|
|
64
|
+
GROUP BY gs.id, gs.symbol, c.document_id, d.relative_path
|
|
65
|
+
ORDER BY d.relative_path, start_line
|
|
66
|
+
LIMIT 1`,t);return!s||e.isIgnored(s.relative_path)?null:y(e,s)}function te(e,t){if("symbol"in t&&"relativePath"in t)return t;let n=X(e,t.symbolId)[0];return n?y(e,n):null}function X(e,t){let n=e.all(`SELECT gs.id, gs.symbol, der.document_id, der.start_line, der.end_line, d.relative_path, gs.display_name, gs.documentation
|
|
67
|
+
FROM global_symbols gs
|
|
68
|
+
JOIN defn_enclosing_ranges der ON gs.id = der.symbol_id
|
|
69
|
+
JOIN documents d ON der.document_id = d.id
|
|
70
|
+
WHERE gs.id = ?
|
|
71
|
+
ORDER BY der.start_line, der.end_line`,t),s=e.all(`SELECT
|
|
72
|
+
gs.id,
|
|
73
|
+
gs.symbol,
|
|
74
|
+
c.document_id,
|
|
75
|
+
MIN(c.start_line) AS start_line,
|
|
76
|
+
MAX(c.end_line) AS end_line,
|
|
77
|
+
d.relative_path,
|
|
78
|
+
gs.display_name,
|
|
79
|
+
gs.documentation
|
|
80
|
+
FROM global_symbols gs
|
|
81
|
+
JOIN mentions m ON m.symbol_id = gs.id
|
|
82
|
+
JOIN chunks c ON m.chunk_id = c.id
|
|
83
|
+
JOIN documents d ON c.document_id = d.id
|
|
84
|
+
WHERE gs.id = ?
|
|
85
|
+
AND m.role = 1
|
|
86
|
+
${e.pathExclusionsFor("d")}
|
|
87
|
+
GROUP BY gs.id, gs.symbol, c.document_id, d.relative_path, gs.display_name, gs.documentation
|
|
88
|
+
ORDER BY start_line, end_line`,t);return M(n,s)}function z(e,t){let n=t.map(()=>"(gs.symbol LIKE ? OR d.relative_path LIKE ? OR COALESCE(gs.display_name, '') LIKE ?)"),s=t.flatMap(o=>{let r=`%${o}%`;return[r,r,r]}),a=e.all(`SELECT gs.id, gs.symbol, der.document_id, der.start_line, der.end_line, d.relative_path, gs.display_name, gs.documentation
|
|
89
|
+
FROM global_symbols gs
|
|
90
|
+
JOIN defn_enclosing_ranges der ON gs.id = der.symbol_id
|
|
91
|
+
JOIN documents d ON der.document_id = d.id
|
|
92
|
+
WHERE ${n.join(`
|
|
93
|
+
AND `)}
|
|
94
|
+
${e.pathExclusionsFor("d")}
|
|
95
|
+
LIMIT 200`,...s),i=e.all(`SELECT
|
|
96
|
+
gs.id,
|
|
97
|
+
gs.symbol,
|
|
98
|
+
c.document_id,
|
|
99
|
+
MIN(c.start_line) AS start_line,
|
|
100
|
+
MAX(c.end_line) AS end_line,
|
|
101
|
+
d.relative_path,
|
|
102
|
+
gs.display_name,
|
|
103
|
+
gs.documentation
|
|
104
|
+
FROM global_symbols gs
|
|
105
|
+
JOIN mentions m ON m.symbol_id = gs.id
|
|
106
|
+
JOIN chunks c ON m.chunk_id = c.id
|
|
107
|
+
JOIN documents d ON c.document_id = d.id
|
|
108
|
+
WHERE m.role = 1
|
|
109
|
+
AND ${n.join(`
|
|
110
|
+
AND `)}
|
|
111
|
+
${e.pathExclusionsFor("d")}
|
|
112
|
+
GROUP BY gs.id, gs.symbol, c.document_id, d.relative_path, gs.display_name, gs.documentation
|
|
113
|
+
LIMIT 200`,...s);return M(a,i)}function M(e,t){let n=new Map;for(let s of t)e.length>0&&!G(s)||n.set(s.id,s);for(let s of e)n.set(s.id,s);return[...n.values()]}function G(e){if(S(e.symbol)!==null)return!1;let n=(e.documentation??"").replace(/^```\w*\s*/,"").replace(/\s*```$/,"").trim();return/^(?:var|let|const|function|class|interface|type|enum)\b/.test(n)}function U(e,t,n,s){let a=t.trim(),i=n,o=i.replace(/\(\)$/,""),r=t.toLowerCase(),d=n.toLowerCase(),g=d.replace(/\(\)$/,""),D=e.symbol,R=E(e.symbol),p=I(e.symbol),Q=e.display_name??"",f=e.symbol.toLowerCase(),c=R.toLowerCase(),m=p.toLowerCase(),O=Q.toLowerCase(),u=e.relative_path.toLowerCase(),A=/[/:.]/.test(n),N=w(n),b=N?.leaf.toLowerCase(),l=0;return(D===a||D===i)&&(l+=1150),(R===a||R===i)&&(l+=1100),Q===o&&(l+=1180),p===o&&(l+=1160),(`${p}()`===a||`${p}()`===i)&&(l+=955),(f===r||f===d)&&(l+=1e3),(c===r||c===d)&&(l+=950),(u===r||u===d)&&(l+=925),(u.endsWith(`/${d}`)||u.endsWith(`/${r}`))&&(l+=875),O===g&&(l+=850),m===g&&(l+=825),(`${m}()`===r||`${m}()`===d)&&(l+=820),(c.endsWith(`:${d}`)||c.endsWith(`:${g}`)||c.endsWith(`:${g}()`))&&(l+=800),f.includes(d)&&(l+=120),c.includes(d)&&(l+=140),u.includes(d)&&(l+=140),O.includes(d)&&(l+=110),s.every(x=>{let h=x.toLowerCase();return f.includes(h)||c.includes(h)||u.includes(h)||O.includes(h)})&&(l+=100+s.length*15),N&&u.includes(N.path.toLowerCase())&&(l+=360,b&&(m===b||`${m}()`===b||`${m}()`==`${b}()`)&&(l+=700),L(e.symbol)&&(l+=180)),$(e.symbol)&&m===g&&(l+=60),!A&&v(e.symbol)&&(l-=160),l-=Math.min(50,Math.max(0,e.end_line-e.start_line)),l}function w(e){let t=e.trim().replace(/\\/g,"/"),n=t.lastIndexOf("/");if(n<=0||n===t.length-1)return null;let s=t.slice(n+1).replace(/\(\)$/,"");return!s||s.includes(".")?null:{path:t.slice(0,n),leaf:s}}function C(e){return e.trim().replace(/\(\)$/,"").replace(/\(.*$/,"")}function j(e){let t=C(e),n=t.split(/[^A-Za-z0-9_]+/).map(s=>s.trim()).filter(s=>s.length>0);return n.length>0?[...new Set(n)]:[t]}function q(e,t,n){let s=t.trim(),a=e.filter(i=>{let o=E(i.symbol),r=(i.display_name??"").trim();return i.symbol===s||o===s||o===n||r===s||r===n||`${r}()`===s||_(i,n)>1||i.relative_path===s});return a.length===0?null:(a.sort((i,o)=>_(o,n)-_(i,n)||i.end_line-i.start_line-(o.end_line-o.start_line)||i.relative_path.localeCompare(o.relative_path)||i.symbol.localeCompare(o.symbol)),a[0]??null)}function _(e,t){let n=w(t);if(!n)return 0;let s=e.relative_path.toLowerCase(),a=I(e.symbol).toLowerCase(),i=n.path.toLowerCase(),o=n.leaf.toLowerCase();return s.includes(i)?a!==o?1:L(e.symbol)?S(e.symbol)===null?5:4:S(e.symbol)===null?3:2:0}export{ne as a,K as b,te as c};
|
|
114
|
+
//# sourceMappingURL=chunk-ZHHMG4UC.js.map
|