scip-query 0.6.7 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/dist/augment-vue-worker.js +1 -1
- package/dist/chunk-23YIGCYF.js +25 -0
- package/dist/{chunk-KQWFRAQI.js → chunk-2IYEIFPP.js} +6 -6
- package/dist/chunk-2JEFS2YJ.js +2 -0
- package/dist/chunk-33SSUPCB.js +7 -0
- package/dist/chunk-3GNFUVFA.js +2 -0
- package/dist/{chunk-ZNNCDAYX.js → chunk-3OUC276S.js} +2 -2
- package/dist/{chunk-PQTGBYXV.js → chunk-4STLJYHI.js} +4 -4
- package/dist/chunk-563HLCDW.js +35 -0
- package/dist/chunk-5TT47UMX.js +44 -0
- package/dist/chunk-6H2XIIPY.js +71 -0
- package/dist/{chunk-HTJ5BOYP.js → chunk-72JOIFXL.js} +3 -3
- package/dist/chunk-7H4RJ4MC.js +2 -0
- package/dist/chunk-7O4MJYIW.js +63 -0
- package/dist/chunk-7OX2O53H.js +62 -0
- package/dist/chunk-A2AVLALL.js +2 -0
- package/dist/chunk-AQYBOORI.js +2 -0
- package/dist/chunk-ARBZM2NF.js +34 -0
- package/dist/{chunk-2CC7RA6B.js → chunk-BI4F6GXI.js} +2 -2
- package/dist/chunk-BOVNTAKQ.js +3 -0
- package/dist/chunk-CKIO6SVS.js +2 -0
- package/dist/chunk-D6Z67MZL.js +2 -0
- package/dist/chunk-DFK54IRN.js +2 -0
- package/dist/chunk-FD37DBTD.js +2 -0
- package/dist/chunk-FOQQDXE7.js +2 -0
- package/dist/chunk-GAQGJ52J.js +11 -0
- package/dist/chunk-IODTPF5H.js +20 -0
- package/dist/chunk-J6Z5YKGQ.js +4 -0
- package/dist/chunk-JB4PUN5S.js +40 -0
- package/dist/chunk-JTXKS5GK.js +3 -0
- package/dist/chunk-KJ3ZJIE5.js +2 -0
- package/dist/chunk-KJ6CW6EK.js +2 -0
- package/dist/{chunk-2R7OKZE5.js → chunk-KNA6Z7JB.js} +3 -3
- package/dist/{chunk-FYO3FPFH.js → chunk-LDV2B7ET.js} +8 -8
- package/dist/chunk-LWYIGRHR.js +5 -0
- package/dist/chunk-MDAYGS6T.js +2 -0
- package/dist/chunk-MX6F756F.js +2 -0
- package/dist/chunk-NHDPYW7O.js +2 -0
- package/dist/{chunk-TYRPQE6R.js → chunk-NKJKI6SE.js} +2 -2
- package/dist/chunk-NN3O7TPH.js +8 -0
- package/dist/chunk-NSTZMBAB.js +18 -0
- package/dist/chunk-NYEMZHUC.js +6 -0
- package/dist/chunk-OHEIZWIA.js +4 -0
- package/dist/chunk-PG3ZI5IH.js +2 -0
- package/dist/chunk-QAEDNTY7.js +2 -0
- package/dist/chunk-QE6MGGUY.js +2 -0
- package/dist/chunk-QPRIYXH4.js +2 -0
- package/dist/chunk-QWJBIBE6.js +3 -0
- package/dist/chunk-RCJEFQOK.js +4 -0
- package/dist/chunk-ROOHENEP.js +61 -0
- package/dist/{chunk-2YA36CXK.js → chunk-ROZNBWIF.js} +2 -2
- package/dist/chunk-TGK5DFBJ.js +2 -0
- package/dist/chunk-TKDJQ2WD.js +59 -0
- package/dist/chunk-TRNAQABL.js +7 -0
- package/dist/chunk-U75WH4XG.js +2 -0
- package/dist/chunk-V53J46BX.js +2 -0
- package/dist/chunk-V76FCF5F.js +2 -0
- package/dist/chunk-VUBQBW7H.js +16 -0
- package/dist/chunk-WJQY2LGT.js +2 -0
- package/dist/{chunk-ILQSK2KJ.js → chunk-WODJHE6Z.js} +3 -3
- package/dist/{chunk-RRWPHKZA.js → chunk-WPLKHAH7.js} +4 -4
- package/dist/chunk-XO6R3X5J.js +2 -0
- package/dist/chunk-YSZNAG4G.js +2 -0
- package/dist/chunk-ZNUPGRPR.js +3 -0
- package/dist/{chunk-OCQN6WF4.js → chunk-ZXFTC5ET.js} +4 -4
- package/dist/cli.js +361 -505
- package/dist/config-types-CGIeLEpY.d.ts +108 -0
- package/dist/db-DdTPetj5.d.ts +69 -0
- package/dist/health-x7B4Xu_6.d.ts +119 -0
- package/dist/index.d.ts +109 -336
- package/dist/index.js +3 -131
- package/dist/postinstall.js +1 -1
- package/dist/queries/affected.d.ts +9 -2
- package/dist/queries/affected.js +1 -1
- package/dist/queries/bottlenecks.d.ts +14 -2
- package/dist/queries/bottlenecks.js +1 -1
- package/dist/queries/by-kind.d.ts +12 -2
- package/dist/queries/by-kind.js +1 -1
- package/dist/queries/call-graph.d.ts +22 -3
- package/dist/queries/call-graph.js +1 -1
- package/dist/queries/change-surface.d.ts +19 -3
- package/dist/queries/change-surface.js +1 -1
- package/dist/queries/code.d.ts +12 -2
- package/dist/queries/code.js +1 -1
- package/dist/queries/complexity-hotspots.d.ts +16 -2
- package/dist/queries/complexity-hotspots.js +1 -1
- package/dist/queries/complexity.d.ts +22 -3
- package/dist/queries/complexity.js +1 -1
- package/dist/queries/convergence.d.ts +25 -3
- package/dist/queries/convergence.js +1 -1
- package/dist/queries/coupling.d.ts +8 -2
- package/dist/queries/coupling.js +1 -1
- package/dist/queries/cycles.d.ts +16 -2
- package/dist/queries/cycles.js +1 -1
- package/dist/queries/dataflow.d.ts +35 -3
- package/dist/queries/dataflow.js +1 -1
- package/dist/queries/dead.d.ts +34 -2
- package/dist/queries/dead.js +1 -1
- package/dist/queries/deep-chains.d.ts +8 -2
- package/dist/queries/deep-chains.js +1 -1
- package/dist/queries/deps.d.ts +6 -2
- package/dist/queries/deps.js +1 -1
- package/dist/queries/diff-impact.d.ts +22 -2
- package/dist/queries/diff-impact.js +1 -1
- package/dist/queries/drift.d.ts +19 -2
- package/dist/queries/drift.js +1 -1
- package/dist/queries/extract-candidates.d.ts +20 -2
- package/dist/queries/extract-candidates.js +1 -1
- package/dist/queries/fan.d.ts +7 -2
- package/dist/queries/fan.js +1 -1
- package/dist/queries/files.d.ts +6 -2
- package/dist/queries/files.js +1 -1
- package/dist/queries/health.d.ts +4 -81
- package/dist/queries/health.js +1 -1
- package/dist/queries/hierarchy.d.ts +8 -2
- package/dist/queries/hierarchy.js +1 -1
- package/dist/queries/hotspots.d.ts +10 -2
- package/dist/queries/hotspots.js +1 -1
- package/dist/queries/imports.d.ts +19 -4
- package/dist/queries/imports.js +1 -1
- package/dist/queries/index.d.ts +45 -44
- package/dist/queries/index.js +1 -1
- package/dist/queries/isolated.d.ts +13 -2
- package/dist/queries/isolated.js +1 -1
- package/dist/queries/members.d.ts +10 -2
- package/dist/queries/members.js +1 -1
- package/dist/queries/methods.d.ts +8 -2
- package/dist/queries/methods.js +1 -1
- package/dist/queries/outline.d.ts +10 -2
- package/dist/queries/outline.js +1 -1
- package/dist/queries/passthrough-candidates.d.ts +15 -2
- package/dist/queries/passthrough-candidates.js +1 -1
- package/dist/queries/redundant-reexports.d.ts +13 -2
- package/dist/queries/redundant-reexports.js +1 -1
- package/dist/queries/refs.d.ts +10 -3
- package/dist/queries/refs.js +1 -1
- package/dist/queries/similar-chains.d.ts +21 -2
- package/dist/queries/similar-chains.js +1 -1
- package/dist/queries/similar-files.d.ts +12 -2
- package/dist/queries/similar-files.js +1 -1
- package/dist/queries/similar-signatures.d.ts +18 -2
- package/dist/queries/similar-signatures.js +1 -1
- package/dist/queries/similar.d.ts +24 -2
- package/dist/queries/similar.js +1 -1
- package/dist/queries/slice.d.ts +17 -2
- package/dist/queries/slice.js +1 -1
- package/dist/queries/stale-abstractions.d.ts +37 -3
- package/dist/queries/stale-abstractions.js +1 -1
- package/dist/queries/stats.d.ts +11 -2
- package/dist/queries/stats.js +1 -1
- package/dist/queries/surface.d.ts +8 -2
- package/dist/queries/surface.js +1 -1
- package/dist/queries/symbols.d.ts +10 -2
- package/dist/queries/symbols.js +1 -1
- package/dist/queries/system.d.ts +10 -2
- package/dist/queries/system.js +1 -1
- package/dist/queries/trace.d.ts +21 -3
- package/dist/queries/trace.js +1 -1
- package/dist/queries/wrapper-candidates.d.ts +15 -2
- package/dist/queries/wrapper-candidates.js +1 -1
- package/dist/reindex-worker.js +10 -10
- package/dist/reindex.d.ts +153 -0
- package/dist/reindex.js +69 -0
- package/dist/runtime.d.ts +108 -0
- package/dist/runtime.js +3 -0
- package/dist/scip-cli-a-xOztiK.d.ts +20 -0
- package/package.json +184 -4
- package/dist/chunk-2AUZ3PLO.js +0 -2
- package/dist/chunk-3A2M7AF3.js +0 -4
- package/dist/chunk-3EJRPTTB.js +0 -2
- package/dist/chunk-3SWWYJPB.js +0 -6
- package/dist/chunk-4M4FEWBL.js +0 -7
- package/dist/chunk-4Y6KUJDO.js +0 -39
- package/dist/chunk-55ZJ2FCW.js +0 -6
- package/dist/chunk-6FLGPRBR.js +0 -5
- package/dist/chunk-6XRB6ATD.js +0 -16
- package/dist/chunk-7EQ4J66C.js +0 -2
- package/dist/chunk-7TGEXAN5.js +0 -25
- package/dist/chunk-ABLXPGAZ.js +0 -2
- package/dist/chunk-BG7YU4DJ.js +0 -2
- package/dist/chunk-D2R6IIEO.js +0 -2
- package/dist/chunk-E47WMJ5F.js +0 -2
- package/dist/chunk-EEA3R37V.js +0 -11
- package/dist/chunk-FAN2CVZT.js +0 -2
- package/dist/chunk-FVH3Y44U.js +0 -1
- package/dist/chunk-G47V5V3U.js +0 -90
- package/dist/chunk-GS55K4WJ.js +0 -85
- package/dist/chunk-H4DXD2FB.js +0 -5
- package/dist/chunk-HADDFTMU.js +0 -2
- package/dist/chunk-IARIBTCL.js +0 -2
- package/dist/chunk-IBWYWAWE.js +0 -70
- package/dist/chunk-JVMXNDRU.js +0 -2
- package/dist/chunk-K345WFTU.js +0 -2
- package/dist/chunk-K6ULLR7M.js +0 -19
- package/dist/chunk-KAM4C6ZD.js +0 -4
- package/dist/chunk-KCC3GMCX.js +0 -2
- package/dist/chunk-KRVRD6KZ.js +0 -5
- package/dist/chunk-KYGNCIJ6.js +0 -84
- package/dist/chunk-LHLXHH43.js +0 -2
- package/dist/chunk-LJ2YWNQF.js +0 -2
- package/dist/chunk-M7GBLQG4.js +0 -7
- package/dist/chunk-MEVK6R7N.js +0 -2
- package/dist/chunk-QRYEOK3M.js +0 -2
- package/dist/chunk-QYWGC7JV.js +0 -114
- package/dist/chunk-R373SHXM.js +0 -2
- package/dist/chunk-RUAJV3TN.js +0 -2
- package/dist/chunk-S57GUI2T.js +0 -7
- package/dist/chunk-SVUVC5VS.js +0 -2
- package/dist/chunk-T426XELO.js +0 -12
- package/dist/chunk-TBJDUS4E.js +0 -71
- package/dist/chunk-TX7BHRMT.js +0 -2
- package/dist/chunk-WPY46NIL.js +0 -5
- package/dist/chunk-X3Z4KZNX.js +0 -2
- package/dist/db-DdlToIC-.d.ts +0 -835
- package/dist/queries/drift-policy.d.ts +0 -6
- package/dist/queries/drift-policy.js +0 -2
- package/dist/queries/health-cache-control.d.ts +0 -15
- package/dist/queries/health-cache-control.js +0 -2
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { P as ProjectConfig, a as SupportedLanguage } from './config-types-CGIeLEpY.js';
|
|
2
|
+
export { g as getScipVersion, i as isScipInstalled, p as printScipInstallInstructions } from './scip-cli-a-xOztiK.js';
|
|
3
|
+
|
|
4
|
+
type WatcherStatus = {
|
|
5
|
+
state: 'idle';
|
|
6
|
+
} | {
|
|
7
|
+
state: 'waiting';
|
|
8
|
+
changedFiles: number;
|
|
9
|
+
reindexAt: number;
|
|
10
|
+
} | {
|
|
11
|
+
state: 'indexing';
|
|
12
|
+
startedAt: number;
|
|
13
|
+
} | {
|
|
14
|
+
state: 'cooldown';
|
|
15
|
+
until: number;
|
|
16
|
+
dirty: boolean;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Load project config from .scipquery.json in the project root.
|
|
21
|
+
* Returns defaults for anything not specified.
|
|
22
|
+
*/
|
|
23
|
+
declare function loadProjectConfig(projectRoot: string): ProjectConfig;
|
|
24
|
+
/**
|
|
25
|
+
* Resolve all paths for a project's index files.
|
|
26
|
+
*/
|
|
27
|
+
declare function resolveIndexPaths(projectRoot: string, config?: ProjectConfig): {
|
|
28
|
+
cacheDir: string;
|
|
29
|
+
dbPath: string;
|
|
30
|
+
indexPath: string;
|
|
31
|
+
metaPath: string;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Scaffold a default .scipquery.json in the project root.
|
|
35
|
+
* Does not overwrite an existing config.
|
|
36
|
+
*/
|
|
37
|
+
declare function initProjectConfig(projectRoot: string, languages: string[]): string;
|
|
38
|
+
|
|
39
|
+
interface WatcherOptions {
|
|
40
|
+
projectRoot: string;
|
|
41
|
+
config: ProjectConfig;
|
|
42
|
+
languages?: SupportedLanguage[];
|
|
43
|
+
onStatus?: (status: WatcherStatus) => void;
|
|
44
|
+
onReindexComplete?: (durationMs: number) => void;
|
|
45
|
+
onError?: (error: Error) => void;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* File watcher that triggers single-flight background reindexing.
|
|
49
|
+
*
|
|
50
|
+
* Design:
|
|
51
|
+
* - Debounce: waits 30s (configurable) after the last file change
|
|
52
|
+
* - Single-flight: only one reindex runs at a time, never queued
|
|
53
|
+
* - Dirty flag: changes during reindex schedule ONE follow-up
|
|
54
|
+
* - Cooldown: minimum interval between reindex completions
|
|
55
|
+
* - Atomic swap: writes to index.db.tmp, renames on success
|
|
56
|
+
*/
|
|
57
|
+
declare class Watcher {
|
|
58
|
+
private projectRoot;
|
|
59
|
+
private watchConfig;
|
|
60
|
+
private indexPaths;
|
|
61
|
+
private languages?;
|
|
62
|
+
private pnpmWorkspaces;
|
|
63
|
+
private onStatus;
|
|
64
|
+
private onReindexComplete;
|
|
65
|
+
private onError;
|
|
66
|
+
private status;
|
|
67
|
+
private debounceTimer;
|
|
68
|
+
private cooldownTimer;
|
|
69
|
+
private dirty;
|
|
70
|
+
private changedFiles;
|
|
71
|
+
private reindexInFlight;
|
|
72
|
+
private lastReindexEnd;
|
|
73
|
+
private fsWatchers;
|
|
74
|
+
private gitignoreFilter;
|
|
75
|
+
private extraIgnore;
|
|
76
|
+
private stopped;
|
|
77
|
+
constructor(opts: WatcherOptions);
|
|
78
|
+
/** Start watching for file changes */
|
|
79
|
+
start(): void;
|
|
80
|
+
/** Stop watching and clean up */
|
|
81
|
+
stop(): void;
|
|
82
|
+
private handleFileChange;
|
|
83
|
+
private triggerReindex;
|
|
84
|
+
/**
|
|
85
|
+
* Run the reindex in a forked child process.
|
|
86
|
+
* Writes to index.db.tmp, then atomically renames to index.db.
|
|
87
|
+
*/
|
|
88
|
+
private runReindex;
|
|
89
|
+
private setStatus;
|
|
90
|
+
private clearDebounceTimer;
|
|
91
|
+
private clearCooldownTimer;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
interface InstallSkillsResult {
|
|
95
|
+
installed: string[];
|
|
96
|
+
skipped: string[];
|
|
97
|
+
alreadyLinked: string[];
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Install scip-query skills into both Claude Code (~/.claude/skills/)
|
|
101
|
+
* and Codex (~/.codex/skills/). Uses symlinks (junctions on Windows)
|
|
102
|
+
* so skills auto-update when the package updates.
|
|
103
|
+
*/
|
|
104
|
+
declare function installSkills(opts?: {
|
|
105
|
+
quiet?: boolean;
|
|
106
|
+
}): InstallSkillsResult;
|
|
107
|
+
|
|
108
|
+
export { Watcher, type WatcherOptions, initProjectConfig, installSkills, loadProjectConfig, resolveIndexPaths };
|
package/dist/runtime.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{b as j,c as b,d as W}from"./chunk-LWYIGRHR.js";import{a as y}from"./chunk-TKDJQ2WD.js";import{readFileSync as _,writeFileSync as D,existsSync as C,mkdirSync as F}from"fs";import{join as l,resolve as w}from"path";import{createHash as L}from"crypto";import{homedir as $}from"os";var v=".scipquery.json",A={enabled:!1,debounceMs:3e4,cooldownMs:6e4,ignore:[]};function N(i){let t=l(i,v);if(!C(t))return{};try{let e=_(t,"utf-8");return JSON.parse(e)}catch{return{}}}function P(i){return{...A,...i.watch}}function O(i,t){let e=process.env.SCIP_QUERY_CACHE_DIR;if(e)return g(e);if(t?.dbPath)return g(w(i,t.dbPath));let o=process.env.XDG_CACHE_HOME||l($(),".cache"),n=L("sha256").update(w(i)).digest("hex").slice(0,12),r=l(o,"scip-query","projects",n);return g(r)}function f(i,t){let e=O(i,t);return{cacheDir:e,dbPath:l(e,"index.db"),indexPath:l(e,"index.scip"),metaPath:l(e,"meta.json")}}function M(i,t){let e=l(i,v);return C(e)||D(e,JSON.stringify({languages:t,watch:{enabled:!1,debounceMs:3e4,cooldownMs:6e4}},null,2)+`
|
|
2
|
+
`),e}function g(i){return F(i,{recursive:!0}),i}import{watch as q}from"fs";import{existsSync as R,renameSync as I}from"fs";import{join as U,relative as H}from"path";import{fork as G}from"child_process";import X from"ignore";var m=class{projectRoot;watchConfig;indexPaths;languages;pnpmWorkspaces;onStatus;onReindexComplete;onError;status={state:"idle"};debounceTimer=null;cooldownTimer=null;dirty=!1;changedFiles=0;reindexInFlight=!1;lastReindexEnd=0;fsWatchers=[];gitignoreFilter;extraIgnore;stopped=!1;constructor(t){this.projectRoot=t.projectRoot,this.watchConfig=P(t.config),this.indexPaths=f(t.projectRoot,t.config),this.languages=t.languages,this.pnpmWorkspaces=t.config.indexer?.typescript?.pnpmWorkspaces??!1,this.onStatus=t.onStatus??(()=>{}),this.onReindexComplete=t.onReindexComplete??(()=>{}),this.onError=t.onError??(e=>console.error(e.message)),this.gitignoreFilter=y(t.projectRoot),this.extraIgnore=X(),this.watchConfig.ignore.length>0&&this.extraIgnore.add(this.watchConfig.ignore)}start(){this.stopped=!1,this.setStatus({state:"idle"});try{let t=q(this.projectRoot,{recursive:!0},(e,s)=>{s&&!this.stopped&&this.handleFileChange(s)});this.fsWatchers.push(t)}catch{this.onError(new Error("Failed to start file watcher. On Linux, you may need to increase inotify limits: sysctl -w fs.inotify.max_user_watches=524288"))}}stop(){this.stopped=!0;for(let t of this.fsWatchers)t.close();this.fsWatchers=[],this.clearDebounceTimer(),this.clearCooldownTimer(),this.setStatus({state:"idle"})}handleFileChange(t){let e=H(this.projectRoot,U(this.projectRoot,t));if(this.gitignoreFilter.isIgnored(e)||this.extraIgnore.ignores(e)||t.endsWith("index.db")||t.endsWith("index.scip")||t.endsWith("index.db.tmp")||t.endsWith(".scipquery.json"))return;if(this.changedFiles++,this.reindexInFlight){this.dirty=!0,this.setStatus({state:"indexing",startedAt:this.status.startedAt});return}if(this.status.state==="cooldown"){this.dirty=!0,this.setStatus({state:"cooldown",until:this.status.until,dirty:!0});return}this.clearDebounceTimer();let s=Date.now()+this.watchConfig.debounceMs;this.setStatus({state:"waiting",changedFiles:this.changedFiles,reindexAt:s}),this.debounceTimer=setTimeout(()=>{this.debounceTimer=null,this.triggerReindex()},this.watchConfig.debounceMs)}triggerReindex(){if(this.reindexInFlight||this.stopped)return;let t=Date.now()-this.lastReindexEnd;if(this.lastReindexEnd>0&&t<this.watchConfig.cooldownMs){let s=this.watchConfig.cooldownMs-t;this.dirty=!0;let o=Date.now()+s;this.setStatus({state:"cooldown",until:o,dirty:!0}),this.cooldownTimer=setTimeout(()=>{this.cooldownTimer=null,this.dirty&&!this.stopped&&(this.dirty=!1,this.triggerReindex())},s);return}this.reindexInFlight=!0,this.dirty=!1,this.changedFiles=0;let e=Date.now();this.setStatus({state:"indexing",startedAt:e}),this.runReindex().then(s=>{if(this.reindexInFlight=!1,this.lastReindexEnd=Date.now(),this.onReindexComplete(s),this.dirty&&!this.stopped){let o=Date.now()+this.watchConfig.cooldownMs;this.setStatus({state:"cooldown",until:o,dirty:!0}),this.cooldownTimer=setTimeout(()=>{this.cooldownTimer=null,this.dirty&&!this.stopped?(this.dirty=!1,this.triggerReindex()):this.setStatus({state:"idle"})},this.watchConfig.cooldownMs)}else this.setStatus({state:"idle"})}).catch(s=>{this.reindexInFlight=!1,this.lastReindexEnd=Date.now(),this.onError(s instanceof Error?s:new Error(String(s))),this.setStatus({state:"idle"})})}runReindex(){return new Promise((t,e)=>{let s=Date.now(),o=this.indexPaths.dbPath+".tmp",n=B(this.indexPaths.indexPath),r=G(new URL("./reindex-worker.js",import.meta.url).pathname,[],{env:{...process.env,SCIP_REINDEX_PROJECT_ROOT:this.projectRoot,SCIP_REINDEX_OUTPUT_SCIP:n,SCIP_REINDEX_OUTPUT_DB:o,SCIP_REINDEX_LANGUAGES:this.languages?.join(",")??"",SCIP_REINDEX_PNPM_WORKSPACES:this.pnpmWorkspaces?"1":""},stdio:"pipe"});r.on("exit",d=>{if(d===0)try{R(o)&&I(o,this.indexPaths.dbPath),R(n)&&I(n,this.indexPaths.indexPath),t(Date.now()-s)}catch(a){e(new Error(`Atomic swap failed: ${a}`))}else e(new Error(`Reindex worker exited with code ${d}`))}),r.on("error",e)})}setStatus(t){this.status=t,this.onStatus(t)}clearDebounceTimer(){this.debounceTimer&&(clearTimeout(this.debounceTimer),this.debounceTimer=null)}clearCooldownTimer(){this.cooldownTimer&&(clearTimeout(this.cooldownTimer),this.cooldownTimer=null)}};function B(i){return i.endsWith(".scip")?i.slice(0,-5)+".tmp.scip":i+".tmp.scip"}import{existsSync as x,mkdirSync as J,symlinkSync as V,readlinkSync as K,unlinkSync as Q}from"fs";import{join as p,dirname as T,resolve as S}from"path";import{homedir as k,platform as Y}from"os";import{fileURLToPath as z}from"url";var Z=Y()==="win32",tt=["concrete-plan","scip-explore","scip-debloat","scip-verify","scip-language-playbook"];function et(i={}){let t=i.quiet?()=>{}:console.log,e=z(import.meta.url),s=S(T(e),"..","skills"),o=[p(k(),".claude","skills"),p(k(),".codex","skills")],n={installed:[],skipped:[],alreadyLinked:[]};for(let r of o){let d=T(r);if(!x(d))continue;J(r,{recursive:!0});let a=r.includes(".codex")?"Codex":"Claude";for(let c of tt){let u=p(s,c),h=p(r,c);if(!x(u)){n.skipped.push(`${a}/${c}`);continue}if(x(h)){try{let E=K(h);if(S(E)===S(u)){n.alreadyLinked.push(`${a}/${c}`),t(` ok: ${c} \u2192 ${a} (already linked)`);continue}}catch{n.skipped.push(`${a}/${c}`),t(` skip: ${c} \u2192 ${a} (exists, not a symlink)`);continue}Q(h)}V(u,h,Z?"junction":"dir"),n.installed.push(`${a}/${c}`),t(` done: ${c} \u2192 ${a}`)}}return n}export{m as Watcher,b as getScipVersion,M as initProjectConfig,et as installSkills,j as isScipInstalled,N as loadProjectConfig,W as printScipInstallInstructions,f as resolveIndexPaths};
|
|
3
|
+
//# sourceMappingURL=runtime.js.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check if the `scip` CLI binary is available on PATH.
|
|
3
|
+
*/
|
|
4
|
+
declare function isScipInstalled(): boolean;
|
|
5
|
+
/**
|
|
6
|
+
* Get the scip CLI version if installed.
|
|
7
|
+
*/
|
|
8
|
+
declare function getScipVersion(): string | null;
|
|
9
|
+
/**
|
|
10
|
+
* Print instructions for installing the scip CLI binary.
|
|
11
|
+
*/
|
|
12
|
+
declare function printScipInstallInstructions(): void;
|
|
13
|
+
/**
|
|
14
|
+
* Attempt to auto-install the `scip` CLI binary.
|
|
15
|
+
* Tries brew (macOS), then go install, then prints manual instructions.
|
|
16
|
+
* Returns true if installation succeeded.
|
|
17
|
+
*/
|
|
18
|
+
declare function tryInstallScipCli(onStatus: (msg: string) => void): boolean;
|
|
19
|
+
|
|
20
|
+
export { getScipVersion as g, isScipInstalled as i, printScipInstallInstructions as p, tryInstallScipCli as t };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "scip-query",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Language-agnostic code intelligence CLI powered by SCIP indexes",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -23,9 +23,189 @@
|
|
|
23
23
|
"import": "./dist/queries/index.js",
|
|
24
24
|
"types": "./dist/queries/index.d.ts"
|
|
25
25
|
},
|
|
26
|
-
"./queries
|
|
27
|
-
"import": "./dist/queries
|
|
28
|
-
"types": "./dist/queries
|
|
26
|
+
"./queries/affected": {
|
|
27
|
+
"import": "./dist/queries/affected.js",
|
|
28
|
+
"types": "./dist/queries/affected.d.ts"
|
|
29
|
+
},
|
|
30
|
+
"./queries/bottlenecks": {
|
|
31
|
+
"import": "./dist/queries/bottlenecks.js",
|
|
32
|
+
"types": "./dist/queries/bottlenecks.d.ts"
|
|
33
|
+
},
|
|
34
|
+
"./queries/by-kind": {
|
|
35
|
+
"import": "./dist/queries/by-kind.js",
|
|
36
|
+
"types": "./dist/queries/by-kind.d.ts"
|
|
37
|
+
},
|
|
38
|
+
"./queries/call-graph": {
|
|
39
|
+
"import": "./dist/queries/call-graph.js",
|
|
40
|
+
"types": "./dist/queries/call-graph.d.ts"
|
|
41
|
+
},
|
|
42
|
+
"./queries/change-surface": {
|
|
43
|
+
"import": "./dist/queries/change-surface.js",
|
|
44
|
+
"types": "./dist/queries/change-surface.d.ts"
|
|
45
|
+
},
|
|
46
|
+
"./queries/code": {
|
|
47
|
+
"import": "./dist/queries/code.js",
|
|
48
|
+
"types": "./dist/queries/code.d.ts"
|
|
49
|
+
},
|
|
50
|
+
"./queries/complexity": {
|
|
51
|
+
"import": "./dist/queries/complexity.js",
|
|
52
|
+
"types": "./dist/queries/complexity.d.ts"
|
|
53
|
+
},
|
|
54
|
+
"./queries/complexity-hotspots": {
|
|
55
|
+
"import": "./dist/queries/complexity-hotspots.js",
|
|
56
|
+
"types": "./dist/queries/complexity-hotspots.d.ts"
|
|
57
|
+
},
|
|
58
|
+
"./queries/convergence": {
|
|
59
|
+
"import": "./dist/queries/convergence.js",
|
|
60
|
+
"types": "./dist/queries/convergence.d.ts"
|
|
61
|
+
},
|
|
62
|
+
"./queries/coupling": {
|
|
63
|
+
"import": "./dist/queries/coupling.js",
|
|
64
|
+
"types": "./dist/queries/coupling.d.ts"
|
|
65
|
+
},
|
|
66
|
+
"./queries/cycles": {
|
|
67
|
+
"import": "./dist/queries/cycles.js",
|
|
68
|
+
"types": "./dist/queries/cycles.d.ts"
|
|
69
|
+
},
|
|
70
|
+
"./queries/dataflow": {
|
|
71
|
+
"import": "./dist/queries/dataflow.js",
|
|
72
|
+
"types": "./dist/queries/dataflow.d.ts"
|
|
73
|
+
},
|
|
74
|
+
"./queries/dead": {
|
|
75
|
+
"import": "./dist/queries/dead.js",
|
|
76
|
+
"types": "./dist/queries/dead.d.ts"
|
|
77
|
+
},
|
|
78
|
+
"./queries/deep-chains": {
|
|
79
|
+
"import": "./dist/queries/deep-chains.js",
|
|
80
|
+
"types": "./dist/queries/deep-chains.d.ts"
|
|
81
|
+
},
|
|
82
|
+
"./queries/deps": {
|
|
83
|
+
"import": "./dist/queries/deps.js",
|
|
84
|
+
"types": "./dist/queries/deps.d.ts"
|
|
85
|
+
},
|
|
86
|
+
"./queries/diff-impact": {
|
|
87
|
+
"import": "./dist/queries/diff-impact.js",
|
|
88
|
+
"types": "./dist/queries/diff-impact.d.ts"
|
|
89
|
+
},
|
|
90
|
+
"./queries/drift": {
|
|
91
|
+
"import": "./dist/queries/drift.js",
|
|
92
|
+
"types": "./dist/queries/drift.d.ts"
|
|
93
|
+
},
|
|
94
|
+
"./queries/extract-candidates": {
|
|
95
|
+
"import": "./dist/queries/extract-candidates.js",
|
|
96
|
+
"types": "./dist/queries/extract-candidates.d.ts"
|
|
97
|
+
},
|
|
98
|
+
"./queries/fan": {
|
|
99
|
+
"import": "./dist/queries/fan.js",
|
|
100
|
+
"types": "./dist/queries/fan.d.ts"
|
|
101
|
+
},
|
|
102
|
+
"./queries/files": {
|
|
103
|
+
"import": "./dist/queries/files.js",
|
|
104
|
+
"types": "./dist/queries/files.d.ts"
|
|
105
|
+
},
|
|
106
|
+
"./queries/health": {
|
|
107
|
+
"import": "./dist/queries/health.js",
|
|
108
|
+
"types": "./dist/queries/health.d.ts"
|
|
109
|
+
},
|
|
110
|
+
"./queries/hierarchy": {
|
|
111
|
+
"import": "./dist/queries/hierarchy.js",
|
|
112
|
+
"types": "./dist/queries/hierarchy.d.ts"
|
|
113
|
+
},
|
|
114
|
+
"./queries/hotspots": {
|
|
115
|
+
"import": "./dist/queries/hotspots.js",
|
|
116
|
+
"types": "./dist/queries/hotspots.d.ts"
|
|
117
|
+
},
|
|
118
|
+
"./queries/imports": {
|
|
119
|
+
"import": "./dist/queries/imports.js",
|
|
120
|
+
"types": "./dist/queries/imports.d.ts"
|
|
121
|
+
},
|
|
122
|
+
"./queries/index": {
|
|
123
|
+
"import": "./dist/queries/index.js",
|
|
124
|
+
"types": "./dist/queries/index.d.ts"
|
|
125
|
+
},
|
|
126
|
+
"./queries/isolated": {
|
|
127
|
+
"import": "./dist/queries/isolated.js",
|
|
128
|
+
"types": "./dist/queries/isolated.d.ts"
|
|
129
|
+
},
|
|
130
|
+
"./queries/members": {
|
|
131
|
+
"import": "./dist/queries/members.js",
|
|
132
|
+
"types": "./dist/queries/members.d.ts"
|
|
133
|
+
},
|
|
134
|
+
"./queries/methods": {
|
|
135
|
+
"import": "./dist/queries/methods.js",
|
|
136
|
+
"types": "./dist/queries/methods.d.ts"
|
|
137
|
+
},
|
|
138
|
+
"./queries/outline": {
|
|
139
|
+
"import": "./dist/queries/outline.js",
|
|
140
|
+
"types": "./dist/queries/outline.d.ts"
|
|
141
|
+
},
|
|
142
|
+
"./queries/passthrough-candidates": {
|
|
143
|
+
"import": "./dist/queries/passthrough-candidates.js",
|
|
144
|
+
"types": "./dist/queries/passthrough-candidates.d.ts"
|
|
145
|
+
},
|
|
146
|
+
"./queries/redundant-reexports": {
|
|
147
|
+
"import": "./dist/queries/redundant-reexports.js",
|
|
148
|
+
"types": "./dist/queries/redundant-reexports.d.ts"
|
|
149
|
+
},
|
|
150
|
+
"./queries/refs": {
|
|
151
|
+
"import": "./dist/queries/refs.js",
|
|
152
|
+
"types": "./dist/queries/refs.d.ts"
|
|
153
|
+
},
|
|
154
|
+
"./queries/similar": {
|
|
155
|
+
"import": "./dist/queries/similar.js",
|
|
156
|
+
"types": "./dist/queries/similar.d.ts"
|
|
157
|
+
},
|
|
158
|
+
"./queries/similar-chains": {
|
|
159
|
+
"import": "./dist/queries/similar-chains.js",
|
|
160
|
+
"types": "./dist/queries/similar-chains.d.ts"
|
|
161
|
+
},
|
|
162
|
+
"./queries/similar-files": {
|
|
163
|
+
"import": "./dist/queries/similar-files.js",
|
|
164
|
+
"types": "./dist/queries/similar-files.d.ts"
|
|
165
|
+
},
|
|
166
|
+
"./queries/similar-signatures": {
|
|
167
|
+
"import": "./dist/queries/similar-signatures.js",
|
|
168
|
+
"types": "./dist/queries/similar-signatures.d.ts"
|
|
169
|
+
},
|
|
170
|
+
"./queries/slice": {
|
|
171
|
+
"import": "./dist/queries/slice.js",
|
|
172
|
+
"types": "./dist/queries/slice.d.ts"
|
|
173
|
+
},
|
|
174
|
+
"./queries/stale-abstractions": {
|
|
175
|
+
"import": "./dist/queries/stale-abstractions.js",
|
|
176
|
+
"types": "./dist/queries/stale-abstractions.d.ts"
|
|
177
|
+
},
|
|
178
|
+
"./queries/stats": {
|
|
179
|
+
"import": "./dist/queries/stats.js",
|
|
180
|
+
"types": "./dist/queries/stats.d.ts"
|
|
181
|
+
},
|
|
182
|
+
"./queries/surface": {
|
|
183
|
+
"import": "./dist/queries/surface.js",
|
|
184
|
+
"types": "./dist/queries/surface.d.ts"
|
|
185
|
+
},
|
|
186
|
+
"./queries/symbols": {
|
|
187
|
+
"import": "./dist/queries/symbols.js",
|
|
188
|
+
"types": "./dist/queries/symbols.d.ts"
|
|
189
|
+
},
|
|
190
|
+
"./queries/system": {
|
|
191
|
+
"import": "./dist/queries/system.js",
|
|
192
|
+
"types": "./dist/queries/system.d.ts"
|
|
193
|
+
},
|
|
194
|
+
"./queries/trace": {
|
|
195
|
+
"import": "./dist/queries/trace.js",
|
|
196
|
+
"types": "./dist/queries/trace.d.ts"
|
|
197
|
+
},
|
|
198
|
+
"./queries/wrapper-candidates": {
|
|
199
|
+
"import": "./dist/queries/wrapper-candidates.js",
|
|
200
|
+
"types": "./dist/queries/wrapper-candidates.d.ts"
|
|
201
|
+
},
|
|
202
|
+
"./reindex": {
|
|
203
|
+
"import": "./dist/reindex.js",
|
|
204
|
+
"types": "./dist/reindex.d.ts"
|
|
205
|
+
},
|
|
206
|
+
"./runtime": {
|
|
207
|
+
"import": "./dist/runtime.js",
|
|
208
|
+
"types": "./dist/runtime.d.ts"
|
|
29
209
|
}
|
|
30
210
|
},
|
|
31
211
|
"scripts": {
|
package/dist/chunk-2AUZ3PLO.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{g as c,h as n}from"./chunk-GS55K4WJ.js";import{c as o,h as m}from"./chunk-6FLGPRBR.js";import{n as r}from"./chunk-G47V5V3U.js";import{e as t,i}from"./chunk-KYGNCIJ6.js";import{getHeapStatistics as s}from"v8";var p=64*1024*1024;function P(e,a={}){n(e),a.semanticProvider===!0&&r(e),c(e),m(e),o(e),i(e),t(e)}function _(){let e=globalThis.gc;if(!e)return;let a=s();a.heap_size_limit-a.used_heap_size<p||e()}export{P as a,_ as b};
|
|
2
|
-
//# sourceMappingURL=chunk-2AUZ3PLO.js.map
|
package/dist/chunk-3A2M7AF3.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{c as S}from"./chunk-7EQ4J66C.js";import{l as d}from"./chunk-GS55K4WJ.js";import{a as f}from"./chunk-QYWGC7JV.js";import{A as m,B as g,d as a,q as s,u}from"./chunk-KYGNCIJ6.js";function _(n,o){let e=f(n,o);if(!e)return{definitions:[],referencedBy:[]};let i=n.get("SELECT display_name, documentation FROM global_symbols WHERE id = ?",e.symbolId),t=g(i?.documentation??null),c=n.isIgnored(e.relativePath)?[]:[{relativePath:e.relativePath,startLine:e.startLine,endLine:e.endLine,signature:b(t,i?.display_name??null,e.symbol),source:y(n,e.relativePath,e.startLine,e.endLine)}],l=S(n,e),p=(l.length>0?l:d(n,e)).filter(r=>!n.isIgnored(r.file)).map(r=>({relativePath:r.file,line:r.line,enclosingSymbol:r.enclosingSymbol,enclosingShort:r.enclosingSymbol?s(r.enclosingSymbol):"(top-level)"}));return{definitions:c,referencedBy:p}}function y(n,o,e,i){let t=a(n,o);if(!t)return null;let l=t.split(`
|
|
2
|
-
`).slice(e,i+1).join(`
|
|
3
|
-
`).trimEnd();return l.length>0?l:null}function b(n,o,e){let i=m(n);if(i&&!h(i))return i;let t=(o??"").trim();return t?u(e)&&!t.endsWith("()")?`${t}()`:t:s(e)}function h(n){return n.startsWith("undefined")||n.includes("|")||n.includes("```")}export{_ as a};
|
|
4
|
-
//# sourceMappingURL=chunk-3A2M7AF3.js.map
|
package/dist/chunk-3EJRPTTB.js
DELETED
package/dist/chunk-3SWWYJPB.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{a as F,b as y,d as A,e as $}from"./chunk-RKTDEIHF.js";import{a as k}from"./chunk-SVUVC5VS.js";import{j as T}from"./chunk-GS55K4WJ.js";import{a as R}from"./chunk-QYWGC7JV.js";import{d as M,q as p,r as q,u as x,x as B}from"./chunk-KYGNCIJ6.js";function se(e,i,t={}){let{minSimilarity:r=.4,limit:l=20}=t,s=Z(e,i);if(!s)return[];if(!x(s.symbol))return[];let n=O(e,s,r);return n.length>0?n.slice(0,l):K(e,i,{minSimilarity:r,limit:l})}function O(e,i,t){let r=E(e,{minCallees:3,excludeSymbol:i.symbol}),l=A([i,...r].map(n=>n.callees)),s=[];for(let n of r){if(n.callees.size<3)continue;let o=v(i,n,l,{minSimilarity:t,requireSignificantShared:1,requireSharedCount:0});o&&s.push(o)}return s.sort((n,o)=>o.similarity-n.similarity),s}function v(e,i,t,r){let{similarity:l,significantShared:s}=$(e.callees,i.callees,t);if(l<r.minSimilarity)return null;let n=F(e.callees,i.callees).size;if(s.length<r.requireSignificantShared&&n<r.requireSharedCount)return null;let o=s.length>0?s:[...F(e.callees,i.callees)];return{symbolA:e.symbol,shortNameA:p(e.symbol),fileA:e.file,symbolB:i.symbol,shortNameB:p(i.symbol),fileB:i.file,similarity:l,similarityBasis:"callees",sharedCallees:o.map(p),uniqueToA:[...y(e.callees,i.callees)].map(p),uniqueToB:[...y(i.callees,e.callees)].map(p)}}function le(e,i={}){let{minSimilarity:t=.5,limit:r=20,scope:l,minCallees:s=4,crossFileOnly:n=!1,scanLimit:o}=i,a=E(e,{minCallees:s,scope:l,scanLimit:o}),c=A(a.map(m=>m.callees)),u=new Map;for(let m of a)for(let f of m.callees)u.set(f,(u.get(f)??0)+1);let h=Math.max(8,Math.ceil(Math.sqrt(a.length))),w=new Map;for(let m=0;m<a.length;m+=1)for(let f of a[m].callees){if((u.get(f)??0)>h)continue;let g=w.get(f);g||(g=[],w.set(f,g)),g.push(m)}let C=[],z=new Set;e:for(let m=0;m<a.length;m+=1){let f=a[m],g=new Set;for(let D of f.callees){let S=w.get(D);if(S)for(let b of S)b>m&&g.add(b)}for(let D of g){let S=`${m}|${D}`;if(z.has(S))continue;z.add(S);let b=a[D];if(n&&f.file===b.file)continue;if(f.paramCount>=0&&b.paramCount>=0){let j=Math.abs(f.paramCount-b.paramCount),_=Math.max(2,Math.ceil(Math.max(f.paramCount,b.paramCount)*.5));if(j>_)continue}let P=v(f,b,c,{minSimilarity:t,requireSignificantShared:2,requireSharedCount:4});if(P&&(C.push(P),C.length>r*5))break e}}return C.sort((m,f)=>f.similarity-m.similarity),C.slice(0,r)}var V=["ScipDatabase#all","ScipDatabase#get","ScipDatabase#prepare","ScipDatabase#pathExclusionsFor","ScipDatabase#isIgnored","ScipDatabase#symbolNoiseFor","PerDbValue#get","PerDbValue#has",":storage:db:ScipDatabase:all",":storage:db:ScipDatabase:get",":storage:db:ScipDatabase:prepare",":storage:db:ScipDatabase:pathExclusionsFor",":storage:db:ScipDatabase:isIgnored",":storage:db:ScipDatabase:symbolNoiseFor",":storage:per-db-cache:PerDbValue:get",":storage:per-db-cache:PerDbValue:has"];function Z(e,i){let t=R(e,i),r=new k(e);if(!t)return null;let l=T(e,t);return{symbol:t.symbol,file:t.relativePath,callees:I(l.map(s=>s.symbol)),paramCount:r.callableSignature(t)?.paramCount??-1}}function E(e,i){let{minCallees:t,scope:r,excludeSymbol:l,scanLimit:s}=i,n=new k(e),o=U(n.productionCallableDefinitions({scope:r,minLoc:5,excludeSymbol:l,sortByLocDesc:typeof s=="number"&&s>0}),s),a=n.calleeMap(o);return o.map(c=>({symbol:c.symbol,file:c.relativePath,callees:I((a.get(c.symbolId)??[]).map(u=>u.symbol)),paramCount:n.callableSignature(c)?.paramCount??-1})).filter(c=>c.callees.size>=t)}function U(e,i){return typeof i!="number"||i<=0||e.length<=i?e:e.slice(0,i)}function I(e){return new Set([...e].filter(i=>!W(i)))}function W(e){return V.some(i=>e.includes(i))}function K(e,i,t){let r=G(e,i);if(!r||r.tokens.size<3)return[];let l=t.minSimilarity>=.5?t.minSimilarity:.3,s=[];for(let n of J(e)){if(n.symbol===r.symbol||n.tokens.size<3)continue;let o=F(r.tokens,n.tokens);if(o.size<2)continue;let a=new Set([...r.tokens,...n.tokens]),c=a.size>0?o.size/a.size:0;c<l||s.push({symbolA:r.symbol,shortNameA:p(r.symbol),fileA:r.file,symbolB:n.symbol,shortNameB:p(n.symbol),fileB:n.file,similarity:c,similarityBasis:"source-tokens",sharedCallees:[...o].sort(),uniqueToA:[...y(r.tokens,n.tokens)].sort(),uniqueToB:[...y(n.tokens,r.tokens)].sort()})}return s.sort((n,o)=>o.similarity-n.similarity||n.shortNameB.localeCompare(o.shortNameB)),s.slice(0,t.limit)}function G(e,i){let t=R(e,i);if(!t||!x(t.symbol))return null;let r=H(e,t);return r?{symbol:t.symbol,file:t.relativePath,tokens:r}:null}function H(e,i){let t=q(i.symbol),r=L(e,i.relativePath,i.startLine,i.endLine,t),l=N(r,t);return l.size>0?l:null}function J(e){let i=new k(e);return i.scopedDefinitions().filter(t=>t.isFunctionLike).filter(t=>i.fileKind(t.relativePath)!=="test").filter(t=>!B(t.symbol)).map(t=>({symbol:t.symbol,file:t.relativePath,tokens:N(L(e,t.relativePath,t.startLine,t.endLine,t.leaf),t.leaf)})).filter(t=>t.tokens.size>0)}function L(e,i,t,r,l){let s=M(e,i);if(!s)return"";let n=s.split(`
|
|
2
|
-
`);if(r>=t&&r-t<=12)return n.slice(t,r+1).join(`
|
|
3
|
-
`);let o=[new RegExp(`\\bdef\\s+${d(l)}\\b`),new RegExp(`\\bfun\\s+${d(l)}\\b`),new RegExp(`\\bfn\\s+${d(l)}\\b`),new RegExp(`\\bfunction\\s+${d(l)}\\b`),new RegExp(`\\b${d(l)}\\s*\\(`)],a=n.findIndex(c=>o.some(u=>u.test(c)));if(a>=0){let c=a;for(let u=a+1;u<n.length&&u<=a+8;u++){let h=n[u]??"";if(u>a&&X(h)||(c=u,h.trim()===""&&u>a+1))break}return n.slice(a,c+1).join(`
|
|
4
|
-
`)}return n.slice(t,Math.min(n.length,t+8)).join(`
|
|
5
|
-
`)}function N(e,i){if(!e)return new Set;let t=new Set(["public","private","protected","final","static","class","def","fun","fn","function","return","string","bool","boolean","void","unit","self","this","new","const","let","var","end","pub"]),r=Q(i),s=e.replace(/["'`]/g," ").replace(/\b\d+\b/g," NUM ").replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[^A-Za-z0-9_]+/g," ").replace(/_/g," ").toLowerCase().split(/\s+/).map(n=>n.trim()).filter(n=>n.length>1).filter(n=>!t.has(n)).filter(n=>!r.has(n));return new Set(s)}function Q(e){return new Set(e.replace(/([a-z0-9])([A-Z])/g,"$1 $2").split(/[^A-Za-z0-9_]+|_/).map(i=>i.toLowerCase()).filter(i=>i.length>1))}function X(e){return/^\s*(?:def|fun|fn|function|class|trait|module|object|enum|interface|public|private|protected)\b/.test(e)}function d(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}export{se as a,le as b};
|
|
6
|
-
//# sourceMappingURL=chunk-3SWWYJPB.js.map
|
package/dist/chunk-4M4FEWBL.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{a as F}from"./chunk-SVUVC5VS.js";import{f as g}from"./chunk-GS55K4WJ.js";import{G as M,q as p,r as I,x as C}from"./chunk-KYGNCIJ6.js";import{basename as f,extname as d}from"path";function A(t,e){let{scope:n,maxLoc:o=15,limit:r=30,scanLimit:i}=e??{},a=new F(t),l=_(a.fileDependencyGraph(n)),u=j(x(a,n,o).sort((c,s)=>b(c)-b(s)||c.relativePath.localeCompare(s.relativePath)),i),h=P(a.crossFileCallerMap(u),a.sourceFallbackCallerFiles(u)),m=[];for(let c of u){let s=S(t,a,c,{callerFileMap:h,reverseFanIn:l});s&&m.push(s)}return m.sort((c,s)=>s.callerFanIn-c.callerFanIn||s.loc-c.loc),m.slice(0,r)}function S(t,e,n,o){let r=D(e,n,o.callerFileMap);if(r.length!==1)return null;let i=r[0],a=L(t,n.symbolId,i);if(!a)return null;let l=y(e,t,i,n.symbol,a);if(l&&C(l.symbol))return null;let u=v(o.callerFileMap,o.reverseFanIn,i,l);return u<=3?null:{symbol:n.symbol,shortName:p(n.symbol),file:n.relativePath,startLine:n.startLine,endLine:n.endLine,loc:b(n),singleCaller:l?.symbol??"",singleCallerShort:l?.isFunctionLike?p(l.symbol):f(i),callerFanIn:u}}function b(t){return t.endLine-t.startLine+1}function x(t,e,n){return t.productionCallableDefinitions({scope:e,minLoc:2,maxLoc:n,requireFunctionLikeSymbol:!0})}function D(t,e,n){let o=f(e.relativePath,d(e.relativePath));return[...n.get(e.symbolId)??[]].filter(r=>r!==e.relativePath).filter(r=>f(r,d(r))!==o).filter(r=>{let i=t.fileKind(r);return i!=="barrel"&&i!=="entry"&&i!=="test"})}function L(t,e,n){return t.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 y(t,e,n,o,r){let i=t.definitionsForFile(n),a=k(e,n,o,r.start_line,r.end_line);return M(i,a)}function v(t,e,n,o){if(o?.isFunctionLike){let r=[...t.get(o.symbolId)??[]].filter(i=>i!==o.relativePath);if(r.length>0)return r.length}return N(e,n)}function k(t,e,n,o,r){let i=I(n);if(!i)return o;let a=g(t,e).get(i);if(!a||a.length===0)return o;for(let l of a)if(l>=o&&l<=r)return l;return o}function P(...t){let e=new Map;for(let n of t)for(let[o,r]of n){let i=e.get(o);i||(i=new Set,e.set(o,i));for(let a of r)i.add(a)}return e}function _(t){let e=new Map;for(let[n,o]of t){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 N(t,e){let n=t.get(e)??0;if(n>0)return n;let o=f(e,d(e)),r=0;for(let[i,a]of t)i!==e&&f(i,d(i))===o&&a>r&&(r=a);return r}function j(t,e){return typeof e!="number"||e<=0||t.length<=e?t:t.slice(0,e)}export{A as a};
|
|
7
|
-
//# sourceMappingURL=chunk-4M4FEWBL.js.map
|
package/dist/chunk-4Y6KUJDO.js
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import{a as g}from"./chunk-55ZJ2FCW.js";import{f as a}from"./chunk-6FLGPRBR.js";import{o as u}from"./chunk-G47V5V3U.js";import{a as p}from"./chunk-QYWGC7JV.js";import{q as l,r as c,v as f}from"./chunk-KYGNCIJ6.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-4Y6KUJDO.js.map
|
package/dist/chunk-55ZJ2FCW.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{a as p}from"./chunk-QYWGC7JV.js";import{existsSync as f}from"fs";import{basename as u,isAbsolute as g,join as d}from"path";function S(t,o){let e=h(t,o,{allowMultiple:!1})[0]?.relativePath;return e||v(t,o)}function b(t,o){return h(t,o,{allowMultiple:!0}).map(e=>e.relativePath)}function v(t,o){if(!o)return null;let e=o.replace(/\\/g,"/").replace(/^\.\//,""),i=g(e)&&e.startsWith(t.config.projectRoot)?e.slice(t.config.projectRoot.length).replace(/^\/+/,""):e,n=d(t.config.projectRoot,i);return f(n)?i:null}function h(t,o,e){let i=m(o);if(!i)return[];let a=t.all(`SELECT relative_path
|
|
2
|
-
FROM documents
|
|
3
|
-
WHERE 1 = 1
|
|
4
|
-
${t.pathExclusionsFor("documents")}
|
|
5
|
-
ORDER BY relative_path`).filter(r=>!t.isIgnored(r.relative_path)).map(r=>({relativePath:r.relative_path,score:x(r.relative_path,i)})).filter(r=>r.score>0).sort((r,c)=>c.score-r.score||r.relativePath.localeCompare(c.relativePath));if(a.length===0){let r=p(t,o);return!r||t.isIgnored(r.relativePath)?[]:[{relativePath:r.relativePath,score:700}]}let s=a.filter(r=>r.score>=1100);if(s.length>0)return e.allowMultiple?s:[s[0]];let l=a.filter(r=>r.score>=800);return l.length>0?e.allowMultiple?l:[l[0]]:e.allowMultiple?a:[a[0]]}function x(t,o){let e=m(t),i=u(e),n=u(o),a=0;return e===o&&(a+=1200),e.endsWith(`/${o}`)&&(a+=1100),i===n&&(a+=900),e.startsWith(`${o}/`)&&(a+=850),e.includes(o)&&(a+=250),a}function m(t){return t.trim().replace(/\\/g,"/").replace(/^\.\//,"").replace(/^\/+/,"").replace(/\/+$/,"")}export{S as a,b};
|
|
6
|
-
//# sourceMappingURL=chunk-55ZJ2FCW.js.map
|
package/dist/chunk-6FLGPRBR.js
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{a as b,b as j,c as U,d as Z,e as K,f as T,g as O,h as _,i as B,j as W,k as h,l as J,m as z}from"./chunk-G47V5V3U.js";import{a as $,c as Q,d as k,g as L,h as X,j as g}from"./chunk-KYGNCIJ6.js";function Y(e){return e.replace(/'''[\s\S]*?'''/g,C).replace(/"""[\s\S]*?"""/g,C).replace(/#.*$/gm,C).replace(/\/\/.*$/gm,C).replace(/\/\*[\s\S]*?\*\//g,C).replace(/`(?:\\[\s\S]|[^`])*`/g,C).replace(/'(?:\\.|[^'\\\r\n])*'/g,C).replace(/"(?:\\.|[^"\\\r\n])*"/g,C)}function C(e){return e.replace(/[^\r\n]/g," ")}var G=Q("stripped-lines");function Dt(e,r,t){return G.get(e,r,t,()=>Y(t).split(`
|
|
2
|
-
`))}function kt(e){G.invalidateAll(e),F=null,w=""}var F=null,w="";function _e(e){return F===e||(F=e,w=Y(e)),w}function E(e,r,t){let s=_e(e);return`${s.slice(0,r)}${" ".repeat(t-r)}${s.slice(t)}`}function S(e,r){return new RegExp(`\\b${ee(r)}\\b`,"m").test(e)}function A(e,r){let t=new Set,s=new RegExp(`\\b${ee(r)}\\s*\\.\\s*([A-Za-z_$][\\w$]*)`,"g");for(let n of e.matchAll(s)){let i=n[1];i&&t.add(i)}return[...t]}function ee(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var Ce=new Set(["identifier","type_identifier","property_identifier","shorthand_property_identifier","field_identifier"]);function x(e){let r=[],t=0,s=0;for(let n=0;n<e.length;n++){let i=e[n];(i==="{"||i==="["||i==="(")&&t++,(i==="}"||i==="]"||i===")")&&t--,i===","&&t===0&&(r.push(e.slice(s,n)),s=n+1)}return r.push(e.slice(s)),r}function y(e,r){for(let t of e.namedChildren)if(t.type===r)return t;return null}function f(e,r){let t=new Set,s=(n,i)=>{let o=i||r.has(n.type);!o&&Ce.has(n.type)&&t.add(n.text);for(let a of n.children)s(a,o)};return s(e.rootNode,!1),t}function P(e,r,t,s,n,i,o){return{importedName:n,localName:i,sourcePath:o??h(e,s,K(r)),kind:"named",used:S(t,i),usedMembers:[]}}function N(e,r,t){let s=[];for(let n of e.matchAll(r)){let i=n[0];if(!i||typeof n.index!="number")continue;let o=E(e,n.index,n.index+i.length);for(let a of t(n,o))s.push(a)}return s}function re(e,r,t){let s=g(e,r);return s?Ee(e,r,s):we(t).flatMap(n=>qe(e,r,n.clause,n.specifier,n.start,n.end,t))}function Ee(e,r,t){let s=Re(e,r,t),n=[];for(let i of t.rootNode.descendantsOfType("import_statement"))n.push(...Te(e,r,t,i,s));return n}function Re(e,r,t){let s=f(t,new Set(["import_statement"]));if(X(r))for(let n of Ke(e,r))s.add(n);return s}function Te(e,r,t,s,n){let i=Oe(s);if(!i)return[];let o=T(e,r,i),a=y(s,"import_clause");return a?De(t,a,o,n,ve(s.text)):[ke(o)]}function De(e,r,t,s,n){let i=[];for(let o of r.namedChildren)if(o.type==="identifier")i.push(Ae(o.text,t,s,n));else if(o.type==="namespace_import"){let a=Me(e,o,t,s,n);a&&i.push(a)}else o.type==="named_imports"&&i.push(...$e(o,t,s,n));return i}function ke(e){return{importedName:"*",localName:null,sourcePath:e,kind:"side-effect",used:!0,usedMembers:[]}}function Ae(e,r,t,s){return{importedName:"default",localName:e,sourcePath:r,kind:"default",used:t.has(e),usedMembers:[],isTypeOnly:s}}function Me(e,r,t,s,n){let o=y(r,"identifier")?.text??"";if(!o)return null;let a=je(e,o);return{importedName:"*",localName:o,sourcePath:t,kind:"namespace",used:a.length>0||s.has(o),usedMembers:a,isTypeOnly:n}}function $e(e,r,t,s){let n=[];for(let i of e.namedChildren){if(i.type!=="import_specifier")continue;let o=i.namedChild(0),a=i.namedChild(1);if(!o)continue;let c=o.text,p=a?.text??c;n.push({importedName:c,localName:p,sourcePath:r,kind:"named",used:t.has(p),usedMembers:[],isTypeOnly:s||Le(i.text)})}return n}function Oe(e){let r=y(e,"string");if(!r)return null;let t=y(r,"string_fragment");return t?t.text:null}function ve(e){return/^\s*import\s+type\b/.test(e)}function Le(e){return/^\s*type\b/.test(e.trim())}function je(e,r){let t=new Set;for(let s of e.rootNode.descendantsOfType("member_expression")){let n=s.namedChild(0),i=s.namedChild(1);!n||!i||n.type!=="identifier"||n.text!==r||(i.type==="property_identifier"||i.type==="identifier")&&t.add(i.text)}return[...t]}function we(e){let r=[],t=/^[ \t]*import\s+([\s\S]*?)\s+from\s+['"]([^'"]+)['"]\s*;?/gm;for(let n of e.matchAll(t)){let i=n[0],o=n[1],a=n[2];!i||!a||typeof n.index!="number"||r.push({clause:o,specifier:a,start:n.index,end:n.index+i.length})}let s=/^[ \t]*import\s+['"]([^'"]+)['"]\s*;?/gm;for(let n of e.matchAll(s)){let i=n[0],o=n[1];!i||!o||typeof n.index!="number"||r.push({clause:null,specifier:o,start:n.index,end:n.index+i.length})}return r.sort((n,i)=>n.start-i.start)}function qe(e,r,t,s,n,i,o){let a=T(e,r,s),c=E(o,n,i);return t?Ue(t).map(u=>({...u,sourcePath:a})).map(u=>{if(u.kind==="namespace"){let m=A(c,u.localName);return{...u,used:m.length>0||S(c,u.localName),usedMembers:m}}return u.kind==="side-effect"?{...u,used:!0,usedMembers:[]}:{...u,used:u.localName?S(c,u.localName):!1,usedMembers:[]}}):[{importedName:"*",localName:null,sourcePath:a,kind:"side-effect",used:!0,usedMembers:[]}]}function Ue(e){let r=e.trim(),t=/^type\b/.test(r),s=r.replace(/^type\s+/,""),[n,i]=Be(s),o=[];return n&&o.push(...te(n,t)),i&&o.push(...te(i,t)),o}function te(e,r){let t=e.trim();if(!t)return[];if(t.startsWith("{")){let s=t.slice(1,-1).trim();return s?x(s).map(n=>{let i=n.trim(),o=r||/^type\b/.test(i),a=i.replace(/^type\s+/,""),[c,p]=a.split(/\s+as\s+/);return{importedName:c.trim(),localName:(p??c).trim(),kind:"named",isTypeOnly:o}}):[]}return t.startsWith("* as ")?[{importedName:"*",localName:t.slice(5).trim(),kind:"namespace",isTypeOnly:r}]:[{importedName:"default",localName:t,kind:"default",isTypeOnly:r}]}function Be(e){let r=0;for(let t=0;t<e.length;t++){let s=e[t];if(s==="{"&&r++,s==="}"&&r--,s===","&&r===0)return[e.slice(0,t).trim(),e.slice(t+1).trim()]}return[e.trim(),null]}function se(e,r){let t=g(e,r);if(t)return He(e,r,t);let s=k(e,r);return s?We(e,r,s):[]}function We(e,r,t){return[...Je(e,r,t),...ze(e,r,t),...Fe(e,r,t)]}function Je(e,r,t){let s=[],n=/^[ \t]*export\s+(?:type\s+)?\{([\s\S]*?)\}\s+from\s+['"]([^'"]+)['"]\s*;?/gm;for(let i of t.matchAll(n)){if(typeof i.index!="number")continue;let o=i[1]??"",a=i[2]??"",c=x(o).map(m=>Ve(m.trim())).filter(m=>!!m),p=M(t,i.index),u=M(t,i.index+i[0].length-1);s.push({kind:"named",sourcePath:T(e,r,a),names:c,startLine:p,endLine:u})}return s}function ze(e,r,t){let s=[],n=/^[ \t]*export\s+\*\s+as\s+(\w+)\s+from\s+['"]([^'"]+)['"]\s*;?/gm;for(let i of t.matchAll(n)){if(typeof i.index!="number")continue;let o=i[2]??"",a=M(t,i.index),c=M(t,i.index+i[0].length-1);s.push({kind:"star-as",sourcePath:T(e,r,o),names:[],startLine:a,endLine:c})}return s}function Fe(e,r,t){let s=[],n=/^[ \t]*export\s+\*\s+from\s+['"]([^'"]+)['"]\s*;?/gm;for(let i of t.matchAll(n)){if(typeof i.index!="number")continue;let o=i[1]??"",a=M(t,i.index),c=M(t,i.index+i[0].length-1);s.push({kind:"star",sourcePath:T(e,r,o),names:[],startLine:a,endLine:c})}return s}function Ve(e){if(!e)return null;let r=e.replace(/^type\s+/,"").trim();if(!r)return null;let t=r.match(/^(\w+)\s+as\s+(\w+)$/);if(t)return t[2]??null;let s=r.match(/^(\w+)$/);return s?s[1]??null:null}function M(e,r){let t=0;for(let s=0;s<r&&s<e.length;s++)e.charCodeAt(s)===10&&t++;return t}function He(e,r,t){let s=[];for(let n of t.rootNode.descendantsOfType("export_statement")){let i=Qe(e,r,n);if(i===void 0)continue;let o=n.startPosition.row,a=n.endPosition.row,c=Xe(n,i,o,a);s.push(c)}return s}function Qe(e,r,t){let s=y(t,"string");if(!s)return;let n=y(s,"string_fragment");if(n)return T(e,r,n.text)}function Xe(e,r,t,s){let n=y(e,"export_clause");if(n){let o=[];for(let a of n.namedChildren){if(a.type!=="export_specifier")continue;let c=a.namedChild(0),p=a.namedChild(1);c&&o.push((p??c).text)}return{kind:"named",sourcePath:r,names:o,startLine:t,endLine:s}}return y(e,"namespace_export")?{kind:"star-as",sourcePath:r,names:[],startLine:t,endLine:s}:{kind:"star",sourcePath:r,names:[],startLine:t,endLine:s}}var Ze=$("vue-non-script-identifiers");function Ke(e,r){return Ze.get(e,r,()=>{let t=new Set,s=k(e,r);if(!s)return t;let i=s.replace(/<script\b[^>]*>[\s\S]*?<\/script>/g,o=>o.replace(/[^\r\n]/g," ")).replace(/<!--[\s\S]*?-->/g,o=>o.replace(/[^\r\n]/g," ")).replace(/\/\*[\s\S]*?\*\//g,o=>o.replace(/[^\r\n]/g," "));for(let o of i.matchAll(/[A-Za-z_$][\w$]*/g))t.add(o[0]);return t})}import{basename as ne}from"path";function oe(e,r,t){let s=g(e,r);return s?Ye(e,r,s):N(t,/^[ \t]*#include\s+[<"]([^">]+)[">]\s*$/gm,(n,i)=>{let o=n[1]?.trim();if(!o)return[];let a=ne(o).replace(/\.[^.]+$/,"");return[{importedName:o,localName:a,sourcePath:W(e,r,o),kind:"named",used:S(i,a),usedMembers:[]}]})}function Ye(e,r,t){let s=f(t,new Set(["preproc_include"])),n=[];for(let i of t.rootNode.descendantsOfType("preproc_include")){let o=null;for(let c of i.namedChildren){if(c.type==="system_lib_string"){o=c.text.replace(/^<|>$/g,"");break}if(c.type==="string_literal"){o=c.namedChildren.find(u=>u.type==="string_content")?.text??c.text.replace(/^"|"$/g,"");break}}if(!o)continue;let a=ne(o).replace(/\.[^.]+$/,"");n.push({importedName:o,localName:a,sourcePath:W(e,r,o),kind:"named",used:s.has(a),usedMembers:[]})}return n}function ie(e,r,t){let s=[];for(let n of t.matchAll(/^[ \t]*import\s+['"]([^'"]+)['"](?:\s+as\s+([A-Za-z_]\w*))?[\s\S]*?;$/gm)){let i=n[1]?.trim(),o=n[2]?.trim()??null,a=n[0];if(!i||!a||typeof n.index!="number")continue;let c=E(t,n.index,n.index+a.length);s.push({importedName:i,localName:o,sourcePath:J(e,r,i),kind:o?"namespace":"side-effect",used:o?S(c,o):!0,usedMembers:o?A(c,o):[]})}return s}function ae(e,r,t){let s=[];for(let n of t.matchAll(/^[ \t]*export\s+['"]([^'"]+)['"][\s\S]*?;$/gm)){let i=n[1]?.trim();i&&s.push({specifier:i,sourcePath:J(e,r,i)})}return s}function ce(e,r,t){let s=g(e,r),n=L(r);if(s&&n==="csharp")return et(e,r,s);if(s&&n==="vb")return Ge(e,r,s);let i=Z(r)?/^[ \t]*Imports\s+(.+?)\s*$/gm:/^[ \t]*using\s+(.+?)\s*;$/gm;return N(t,i,(o,a)=>{let c=o[1]?.trim();if(!c)return[];let[p,u]=c.split(/\s*=\s*/),m=!!u,l=(m?u:p)?.trim()??c,d=l.split(".").pop()??l,I=m?p?.trim()??d:d;return[P(e,r,a,l,d,I,h(e,l,j))]})}function Ge(e,r,t){let s=f(t,new Set(["imports_statement"])),n=[];for(let i of t.rootNode.descendantsOfType("imports_statement")){let o=i.namedChildren.filter(l=>l.type==="namespace_name");if(o.length===0)continue;let a=o[o.length-1],c=o.length>1?o[0]:null,p=a.text,u=p.split(".").pop()??p,m=c?.text??u;n.push({importedName:u,localName:m,sourcePath:h(e,p,j),kind:c?"namespace":"named",used:s.has(m),usedMembers:[]})}return n}function et(e,r,t){let s=f(t,new Set(["using_directive"])),n=[];for(let i of t.rootNode.descendantsOfType("using_directive")){let o=i.namedChildren;if(o.length===0)continue;let a=null,c;o.length>=2&&o[0].type==="identifier"&&(o[1].type==="qualified_name"||o[1].type==="identifier")?(a=o[0],c=o[1]):c=o[o.length-1];let p=c.text,u=p.split(".").pop()??p,m=a?.text??u;n.push({importedName:u,localName:m,sourcePath:h(e,p,j),kind:a?"namespace":"named",used:s.has(m),usedMembers:[]})}return n}function pe(e,r,t){let s=g(e,r),n=L(r);return s&&n==="java"?tt(e,r,s):s&&n==="kotlin"?rt(e,r,s):s&&n==="scala"?st(e,r,s):N(t,/^[ \t]*import\s+(?:static\s+)?(.+?)\s*;?$/gm,(i,o)=>{let a=i[1]?.trim();return a?nt(e,r,a,o):[]})}function tt(e,r,t){let s=f(t,new Set(["import_declaration"])),n=[];for(let i of t.rootNode.descendantsOfType("import_declaration")){let o=i.children.some(m=>m.type==="asterisk"),c=i.namedChildren.find(m=>m.type==="scoped_identifier")??i.namedChildren.find(m=>m.type==="identifier");if(!c)continue;let p=c.text;if(o){n.push({importedName:"*",localName:null,sourcePath:h(e,p,b),kind:"namespace",used:!0,usedMembers:[]});continue}let u=p.split(".").pop()??p;n.push({importedName:u,localName:u,sourcePath:h(e,p,b),kind:"named",used:s.has(u),usedMembers:[]})}return n}function rt(e,r,t){let s=f(t,new Set(["import_header","import_list"])),n=[];for(let i of t.rootNode.descendantsOfType("import_header")){let o=i.namedChildren.find(d=>d.type==="identifier");if(!o)continue;let a=i.namedChildren.some(d=>d.type==="wildcard_import"),c=i.namedChildren.find(d=>d.type==="import_alias");if(a){n.push({importedName:"*",localName:null,sourcePath:h(e,o.text,b),kind:"namespace",used:!0,usedMembers:[]});continue}let p=o.text,u=p.split(".").pop()??p,l=c?.namedChild(0)?.text??u;n.push({importedName:u,localName:l,sourcePath:h(e,p,b),kind:"named",used:s.has(l),usedMembers:[]})}return n}function st(e,r,t){let s=f(t,new Set(["import_declaration"])),n=[];for(let i of t.rootNode.descendantsOfType("import_declaration")){let o=i.namedChildren.find(m=>m.type==="namespace_selectors"||m.type==="namespace_wildcard"),a=i.namedChildren.filter(m=>m!==o&&(m.type==="identifier"||m.type==="stable_identifier")),c=a.map(m=>m.text).join(".");if(!c)continue;if(o?.type==="namespace_wildcard"){n.push({importedName:"*",localName:null,sourcePath:h(e,c,b),kind:"namespace",used:!0,usedMembers:[]});continue}if(o?.type==="namespace_selectors"){for(let m of o.namedChildren)if(m.type==="arrow_renamed_identifier"){let[l,d]=m.namedChildren;if(!l)continue;let I=l.text,R=d?.text??I;if(I==="_")continue;n.push({importedName:I,localName:R,sourcePath:h(e,`${c}.${I}`,b),kind:"named",used:s.has(R),usedMembers:[]})}else if(m.type==="identifier"){let l=m.text;n.push({importedName:l,localName:l,sourcePath:h(e,`${c}.${l}`,b),kind:"named",used:s.has(l),usedMembers:[]})}continue}let p=a[a.length-1]?.text??c,u=a.slice(0,-1).map(m=>m.text).join(".")||c;n.push({importedName:p,localName:p,sourcePath:h(e,u&&a.length>1?`${u}.${p}`:c,b),kind:"named",used:s.has(p),usedMembers:[]})}return n}function nt(e,r,t,s){if(t.includes("{")&&t.includes("}")){let n=t.slice(0,t.indexOf("{")).replace(/\.$/,"").trim(),i=t.slice(t.indexOf("{")+1,t.lastIndexOf("}")).trim();return x(i).flatMap(o=>{let a=o.trim();if(!a)return[];let[c,p]=a.includes("=>")?a.split(/\s*=>\s*/):a.split(/\s+as\s+/),u=c?.trim();if(!u||u==="_")return[];let m=(p??u.split(".").pop()??u).trim(),l=u==="_"?n:`${n}.${u}`.replace(/\.\./g,".");return[P(e,r,s,l,u,m)]})}return[P(e,r,s,t,t.split(".").pop()??t,t.split(".").pop()??t)]}function ue(e,r,t){let s=g(e,r);return s?ot(e,r,s):N(t,/^[ \t]*use\s+(.+?)\s*;$/gm,(n,i)=>{let o=n[1]?.trim();return o?x(o).flatMap(a=>{let c=a.trim();if(!c)return[];let[p,u]=c.split(/\s+as\s+/i),m=p?.trim()??c,l=m.split("\\").pop()??m,d=(u??l).trim();return[P(e,r,i,m,l,d,h(e,m.replace(/\\/g,"."),U))]}):[]})}function ot(e,r,t){let s=f(t,new Set(["namespace_use_declaration"])),n=[],i=(o,a,c)=>{n.push({importedName:a,localName:c,sourcePath:h(e,o.replace(/\\/g,"."),U),kind:"named",used:s.has(c),usedMembers:[]})};for(let o of t.rootNode.descendantsOfType("namespace_use_declaration")){let a=o.namedChildren.find(c=>c.type==="namespace_use_group");if(a){let c=o.namedChildren.find(p=>p.type==="namespace_name")?.text??"";for(let p of a.namedChildren){if(p.type!=="namespace_use_clause")continue;let{importedName:u,localName:m,qualified:l}=me(p,c);u&&i(l,u,m)}continue}for(let c of o.namedChildren){if(c.type!=="namespace_use_clause")continue;let{importedName:p,localName:u,qualified:m}=me(c,"");p&&i(m,p,u)}}return n}function me(e,r){let t=e.namedChildren.find(p=>p.type==="qualified_name"),s=e.namedChildren.filter(p=>p.type==="name"),n="";t?n=t.text:s.length>=1&&(n=s[0].text);let i=t&&s.length>0?s[s.length-1]:null,o=n.split("\\").pop()??n,a=i?.text??o,c=r?`${r}\\${n}`:n;return{importedName:o,localName:a,qualified:c}}function fe(e,r,t){let s=g(e,r);return s?it(e,r,s):ct(t).flatMap(n=>mt(e,r,n,t))}function it(e,r,t){let s=f(t,new Set(["import_statement","import_from_statement"])),n=[];for(let i of t.rootNode.descendantsOfType("import_statement"))for(let o of i.namedChildren){let a=le(o);if(!a)continue;let c=O(e,r,a.qualifiedName);n.push({importedName:a.qualifiedName,localName:a.localName,sourcePath:c,kind:"namespace",used:s.has(a.localName),usedMembers:[]})}for(let i of t.rootNode.descendantsOfType("import_from_statement")){let o=i.namedChild(0);if(!o)continue;let a=at(o);if(a===null)continue;let c=O(e,r,a);for(let p=1;p<i.namedChildCount;p+=1){let u=i.namedChild(p);if(u.type==="wildcard_import"){n.push({importedName:"*",localName:null,sourcePath:c,kind:"side-effect",used:!0,usedMembers:[]});continue}let m=le(u);m&&n.push({importedName:m.qualifiedName,localName:m.localName,sourcePath:c,kind:"named",used:s.has(m.localName),usedMembers:[]})}}return n}function le(e){if(e.type==="aliased_import"){let r=e.namedChild(0),t=e.namedChild(1);return!r||!t?null:{qualifiedName:r.text,localName:t.text}}if(e.type==="dotted_name"){let r=e.text;return{qualifiedName:r,localName:r.split(".")[0]??r}}return e.type==="identifier"?{qualifiedName:e.text,localName:e.text}:null}function at(e){if(e.type==="dotted_name")return e.text;if(e.type==="relative_import"){let r=y(e,"import_prefix")?.text??"",t=y(e,"dotted_name")?.text??"";return`${r}${t}`}return null}function ct(e){let r=e.split(`
|
|
3
|
-
`),t=[],s=0;for(let n=0;n<r.length;n++){let i=r[n],o=i.trimStart(),a=s;if(s+=i.length+1,!o.startsWith("import ")&&!o.startsWith("from "))continue;let c=i,p=a+i.length,u=de(i);for(;n+1<r.length&&(u>0||c.trimEnd().endsWith("\\"));){n++;let l=r[n];c+=`
|
|
4
|
-
${l}`,p+=1+l.length,u+=de(l),s+=l.length+1}let m=pt(c);m&&t.push({...m,start:a,end:p})}return t}function pt(e){let r=e.replace(/\\\s*\n/g," ").trim();if(r.startsWith("import "))return{kind:"import",module:null,clause:r.slice(7).trim()};let t=r.match(/^from\s+([.\w]+)\s+import\s+([\s\S]+)$/);if(!t)return null;let s=t[2].trim();return s.startsWith("(")&&s.endsWith(")")&&(s=s.slice(1,-1).trim()),{kind:"from",module:t[1],clause:s}}function mt(e,r,t,s){let n=E(s,t.start,t.end),i=t.clause.replace(/\n/g," ").trim();if(t.kind==="import")return x(i).flatMap(c=>{let p=c.trim().replace(/,$/,"");if(!p)return[];let[u,m]=p.split(/\s+as\s+/),l=u.trim(),d=(m??l.split(".")[0]??l).trim(),I=O(e,r,l),R=A(n,d);return[{importedName:l,localName:d,sourcePath:I,kind:"namespace",used:S(n,d)||R.length>0,usedMembers:R}]});let o=t.module?O(e,r,t.module):null,a=[];for(let c of x(i)){let p=c.trim().replace(/,$/,"");if(!p)continue;if(p==="*"){a.push({importedName:"*",localName:null,sourcePath:o,kind:"side-effect",used:!0,usedMembers:[]});continue}let[u,m]=p.split(/\s+as\s+/),l=(m??u).trim();a.push({importedName:u.trim(),localName:l,sourcePath:o,kind:"named",used:S(n,l),usedMembers:[]})}return a}function de(e){let r=0;for(let t of e)t==="("&&r++,t===")"&&r--;return r}import{basename as ut}from"path";function ge(e,r,t){let s=g(e,r);return s?lt(e,r,s):N(t,/^[ \t]*(require_relative|require)\s+["']([^"']+)["']\s*$/gm,(n,i)=>{let o=n[1],a=n[2];if(!o||!a)return[];let c=o==="require_relative"?B(e,r,a):null;if(c){let p=he(a);return[{importedName:p,localName:p,sourcePath:c,kind:"named",used:S(i,p),usedMembers:[]}]}return[{importedName:a,localName:null,sourcePath:c,kind:"side-effect",used:!0,usedMembers:[]}]})}function lt(e,r,t){let s=f(t,new Set([])),n=[],i=new Set(["require","require_relative","load"]);for(let o of t.rootNode.descendantsOfType("call")){let a=o.namedChild(0);if(!a||a.type!=="identifier"||!i.has(a.text))continue;let p=o.namedChildren.find(d=>d.type==="argument_list")?.namedChild(0);if(!p||p.type!=="string")continue;let m=p.namedChildren.find(d=>d.type==="string_content")?.text;if(!m)continue;let l=a.text==="require_relative"?B(e,r,m):null;if(l){let d=he(m);n.push({importedName:d,localName:d,sourcePath:l,kind:"named",used:s.has(d),usedMembers:[]})}else n.push({importedName:m,localName:null,sourcePath:l,kind:"side-effect",used:!0,usedMembers:[]})}return n}function he(e){return ut(e).replace(/\.[^.]+$/,"").split("_").filter(Boolean).map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join("")}function Se(e,r,t){let s=g(e,r);return s?dt(e,r,s):N(t,/^[ \t]*use\s+(.+?)\s*;$/gm,(n,i)=>{let o=n[1]?.trim();return o?ft(e,r,o,i):[]})}function dt(e,r,t){let s=f(t,new Set(["use_declaration"])),n=[];for(let i of t.rootNode.descendantsOfType("use_declaration")){let o=i.namedChild(0);if(o)for(let a of v(o,"")){if(!a.importedName||a.importedName==="*")continue;let c=_(e,r,a.qualifiedName)??_(e,r,a.qualifiedName.split("::").slice(0,-1).join("::"));n.push({importedName:a.importedName,localName:a.localName,sourcePath:c,kind:"named",used:s.has(a.localName),usedMembers:[]})}}return n}function v(e,r){switch(e.type){case"identifier":case"super":case"self":case"crate":{let t=e.text;return[{qualifiedName:q(r,t),importedName:t,localName:t}]}case"scoped_identifier":{let t=e.text,s=t.split("::").pop()??t;return[{qualifiedName:q(r,t),importedName:s,localName:s}]}case"scoped_use_list":{let t=e.namedChild(0),s=e.namedChild(1);if(!t||!s)return[];let n=q(r,t.text),i=[];for(let o of s.namedChildren)i.push(...v(o,n));return i}case"use_list":{let t=[];for(let s of e.namedChildren)t.push(...v(s,r));return t}case"use_as_clause":{let t=e.namedChild(0),s=e.namedChild(1);if(!t||!s)return[];let n=v(t,r),i=s.text;return n.map(o=>({...o,localName:i}))}case"use_wildcard":{let t=e.namedChild(0),s=t?t.text:"";return[{qualifiedName:q(r,`${s}::*`),importedName:"*",localName:"*"}]}default:return[]}}function q(e,r){return e?r?`${e}::${r}`:e:r}function ft(e,r,t,s){let n=t.trim();if(n.includes("{")&&n.includes("}")){let u=n.slice(0,n.indexOf("{")).replace(/::$/,"").trim(),m=n.slice(n.indexOf("{")+1,n.lastIndexOf("}")).trim();return x(m).flatMap(l=>{let d=l.trim();if(!d||d==="self")return[];let[I,R]=d.split(/\s+as\s+/),D=I?.trim();if(!D)return[];let Pe=(R??D.split("::").pop()??D).trim(),be=`${u}::${D}`.replace(/::::/g,"::");return[P(e,r,s,be,D.split("::").pop()??D,Pe,_(e,r,u))]})}let[i,o]=n.split(/\s+as\s+/),a=i?.trim()??n,c=(o??a.split("::").pop()??a).trim(),p=_(e,r,a)??_(e,r,a.split("::").slice(0,-1).join("::"));return[P(e,r,s,a,a.split("::").pop()??a,c,p)]}function xe(e,r,t){let s=g(e,r);if(s)return gt(e,r,s);let n=[];for(let i of t.matchAll(/^[ \t]*pub\s+use\s+(.+?)\s*;$/gm)){let o=i[1]?.trim();o&&n.push(...St(e,r,o))}return n}function gt(e,r,t){let s=[];for(let n of t.rootNode.descendantsOfType("use_declaration")){if(!ht(n))continue;let i=n.namedChildren.find(o=>o.type!=="visibility_modifier");if(i)for(let o of v(i,""))o.importedName&&s.push(V(e,r,o.qualifiedName))}return s}function ht(e){for(let r of e.children)if(r.type==="visibility_modifier"&&r.text.startsWith("pub"))return!0;return!1}function St(e,r,t){let s=t.trim();if(s.includes("{")&&s.includes("}")){let n=s.slice(0,s.indexOf("{")).replace(/::$/,"").trim(),i=s.slice(s.indexOf("{")+1,s.lastIndexOf("}")).trim();return x(i).flatMap(o=>{let a=o.trim();if(!a||a==="self")return[];let[c]=a.split(/\s+as\s+/),p=`${n}::${c?.trim()??a}`.replace(/::::/g,"::");return[V(e,r,p)]})}return[V(e,r,s)]}function V(e,r,t){return{specifier:t,sourcePath:_(e,r,t)??_(e,r,t.split("::").slice(0,-1).join("::"))}}function ye(e,r){let t=r.toLowerCase();for(let s of e)for(let n of s.extensions)if(t.endsWith(n))return s;return null}var xt={language:"javascript",extensions:[".ts",".tsx",".mts",".cts",".js",".jsx",".mjs",".cjs",".vue"],parseImports:re},yt={language:"python",extensions:[".py",".pyi"],parseImports:fe},Nt={language:"jvm",extensions:[".java",".scala",".kt",".kts"],parseImports:pe},It={language:"rust",extensions:[".rs"],parseImports:Se,parseExports:xe},Pt={language:"ruby",extensions:[".rb"],parseImports:ge},bt={language:"c/cpp",extensions:[".c",".h",".cc",".cpp",".cxx",".hpp",".hh",".hxx"],parseImports:oe},_t={language:"dotnet",extensions:[".cs",".vb"],parseImports:ce},Ct={language:"dart",extensions:[".dart"],parseImports:ie,parseExports:ae},Et={language:"php",extensions:[".php"],parseImports:ue},Rt=[xt,yt,Nt,It,Pt,bt,_t,Ct,Et];function H(e){return ye(Rt,e)}function Br(e,r){return se(e,r)}var Ne=$("source-imports"),Ie=$("source-exports");function Wr(e,r){let t=z(r);return Ne.get(e,t,()=>{let s=H(t);if(!s)return[];let n=k(e,t);return n?s.parseImports(e,t,n):[]})}function Jr(e,r){let t=z(r);return Ie.get(e,t,()=>{let s=H(t);if(!s?.parseExports)return[];let n=k(e,t);return n?s.parseExports(e,t,n):[]})}function zr(e){Ne.invalidateAll(e),Ie.invalidateAll(e)}export{Y as a,Dt as b,kt as c,ee as d,Br as e,Wr as f,Jr as g,zr as h};
|
|
5
|
-
//# sourceMappingURL=chunk-6FLGPRBR.js.map
|
package/dist/chunk-6XRB6ATD.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import{a as h}from"./chunk-SVUVC5VS.js";import{q as p}from"./chunk-G47V5V3U.js";import{q as u,t as m,v as g}from"./chunk-KYGNCIJ6.js";import{execFileSync as d}from"child_process";function O(e,n={}){let t=b(e,n);return t.note?C(t.note,t.changedFileLines):t.changedFiles.length===0?D(t.changedFileLines):I(t.changedFiles,[S(e,t.changedFiles,t.changedFiles)])}function b(e,n={}){let{base:t="HEAD"}=n;try{let s=F(e.config.projectRoot,t);return{changedFileLines:s,changedFiles:_(e,s),note:s.length===0?"No changed files found.":void 0}}catch{return{changedFileLines:[],changedFiles:[],note:"Unable to compute git diff."}}}function S(e,n,t){let s=new h(e),r=new Set(t),a=[],l=new Map,o=n.flatMap(i=>s.definitionsForFile(i)).filter(N).sort((i,f)=>i.relativePath.localeCompare(f.relativePath)||i.startLine-f.startLine),c=p(e,o);for(let i of o)R(e,i,t,r,a,l,c.get(i.symbolId)??new Set);return{changedSymbols:a,consumerEntries:[...l.entries()].map(([i,f])=>({file:i,symbols:[...f].sort()}))}}function I(e,n){let t=new Map,s=n.flatMap(a=>a.changedSymbols);for(let a of n)for(let l of a.consumerEntries){let o=t.get(l.file);o||(o=new Set,t.set(l.file,o));for(let c of l.symbols)o.add(c)}let r=E(t);return{changedFiles:[...e],changedSymbols:s,affectedConsumers:r,summary:{totalChangedFiles:e.length,totalChangedSymbols:s.length,totalAffectedFiles:r.length}}}function C(e,n=[]){return{changedFiles:n,changedSymbols:[],affectedConsumers:[],summary:{totalChangedFiles:n.length,totalChangedSymbols:0,totalAffectedFiles:0,note:e}}}function D(e){return{changedFiles:e,changedSymbols:[],affectedConsumers:[],summary:{totalChangedFiles:e.length,totalChangedSymbols:0,totalAffectedFiles:0,note:"Changed files are not present in the current SCIP index."}}}function F(e,n){let t=d("git",["diff","--name-only",n],{encoding:"utf-8",cwd:e,timeout:1e4}),s=d("git",["diff","--name-only","--cached",n],{encoding:"utf-8",cwd:e,timeout:1e4}),r=d("git",["ls-files","--others","--exclude-standard"],{encoding:"utf-8",cwd:e,timeout:1e4});return[...new Set([t,s,r].flatMap(a=>a.split(`
|
|
2
|
-
`)).map(a=>a.trim()).filter(a=>a.length>0))]}function _(e,n){let t=[];for(let s of n){let r=e.get(`SELECT relative_path FROM documents
|
|
3
|
-
WHERE relative_path LIKE ?
|
|
4
|
-
LIMIT 1`,`%${s}`);r&&!e.isIgnored(r.relative_path)&&t.push(r.relative_path)}return t}function R(e,n,t,s,r,a,l){let o=Math.max(x(e,n.symbolId),l.size);if(!v(n,o))return;let c=u(n.symbol);r.push({symbol:n.symbol,shortName:c,file:n.relativePath,fanIn:o});for(let i of M(e,n.symbolId,t))y(e,s,a,i,c);for(let i of l)y(e,s,a,i,c)}function x(e,n){return e.get(`SELECT COUNT(DISTINCT c.document_id) AS fan_in
|
|
5
|
-
FROM mentions m
|
|
6
|
-
JOIN chunks c ON m.chunk_id = c.id
|
|
7
|
-
WHERE m.symbol_id = ?
|
|
8
|
-
AND m.role != 1`,n)?.fan_in??0}function M(e,n,t){return t.length===0?[]:e.all(`SELECT DISTINCT ref_d.relative_path
|
|
9
|
-
FROM mentions m
|
|
10
|
-
JOIN chunks c ON m.chunk_id = c.id
|
|
11
|
-
JOIN documents ref_d ON c.document_id = ref_d.id
|
|
12
|
-
WHERE m.symbol_id = ?
|
|
13
|
-
AND m.role != 1
|
|
14
|
-
AND ref_d.relative_path NOT IN (${t.map(()=>"?").join(",")})
|
|
15
|
-
${e.pathExclusionsFor("ref_d")}`,n,...t).map(r=>r.relative_path)}function y(e,n,t,s,r){if(e.isIgnored(s)||n.has(s))return;let a=t.get(s);a||(a=new Set,t.set(s,a)),a.add(r)}function E(e){return[...e.entries()].map(([n,t])=>({file:n,consumedSymbols:t.size})).sort((n,t)=>t.consumedSymbols-n.consumedSymbols)}function N(e){return!(g(e.symbol)||e.parentTypeName!==null&&!m(e.symbol))}function v(e,n){return m(e.symbol)||e.isTypeLike?!0:e.parentTypeName===null&&n>0}export{O as a,b,S as c,I as d};
|
|
16
|
-
//# sourceMappingURL=chunk-6XRB6ATD.js.map
|
package/dist/chunk-7EQ4J66C.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{c as p}from"./chunk-WPY46NIL.js";import{d as b,e as S,n as u}from"./chunk-GS55K4WJ.js";import{f as y}from"./chunk-6FLGPRBR.js";import{p as L}from"./chunk-G47V5V3U.js";import{c as x}from"./chunk-QYWGC7JV.js";import{C as I,G as R,d,r as h}from"./chunk-KYGNCIJ6.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-7EQ4J66C.js.map
|
package/dist/chunk-7TGEXAN5.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import{k as d}from"./chunk-GS55K4WJ.js";import{D as l,q as m}from"./chunk-KYGNCIJ6.js";function y(o,t={}){let{limit:s=30,scope:e}=t,n=e?`AND def_d.relative_path LIKE '%${e}%'`:"",r=o.all(`SELECT
|
|
2
|
-
gs.symbol,
|
|
3
|
-
COUNT(*) AS ref_count,
|
|
4
|
-
COUNT(DISTINCT ref_d.id) AS file_count,
|
|
5
|
-
def_d.relative_path AS defined_in
|
|
6
|
-
FROM mentions m
|
|
7
|
-
JOIN chunks c ON m.chunk_id = c.id
|
|
8
|
-
JOIN documents ref_d ON c.document_id = ref_d.id
|
|
9
|
-
JOIN global_symbols gs ON m.symbol_id = gs.id
|
|
10
|
-
JOIN (
|
|
11
|
-
SELECT m2.symbol_id, c2.document_id
|
|
12
|
-
FROM mentions m2
|
|
13
|
-
JOIN chunks c2 ON m2.chunk_id = c2.id
|
|
14
|
-
WHERE m2.role = 1
|
|
15
|
-
GROUP BY m2.symbol_id
|
|
16
|
-
) sym_def ON sym_def.symbol_id = gs.id
|
|
17
|
-
JOIN documents def_d ON sym_def.document_id = def_d.id
|
|
18
|
-
WHERE m.role != 1
|
|
19
|
-
${o.pathExclusionsFor("def_d")}
|
|
20
|
-
${o.symbolNoiseFor("gs")}
|
|
21
|
-
${n}
|
|
22
|
-
GROUP BY gs.id
|
|
23
|
-
ORDER BY ref_count DESC
|
|
24
|
-
LIMIT ?`,s).filter(i=>!o.isIgnored(i.defined_in)).map(i=>({symbol:i.symbol,shortName:m(i.symbol),refCount:i.ref_count,fileCount:i.file_count,definedIn:i.defined_in}));return r.length>0?r:f(o,e,s)}function f(o,t,s){return l(o,{scope:t}).filter(e=>!o.isIgnored(e.relativePath)).map(e=>u(o,e)).filter(e=>e.refCount>0).sort((e,n)=>n.refCount-e.refCount||n.fileCount-e.fileCount).slice(0,s)}function u(o,t){let s=d(o,t,{limit:500});return{symbol:t.symbol,shortName:m(t.symbol),refCount:s.length,fileCount:new Set(s.map(e=>e.file)).size,definedIn:t.relativePath}}export{y as a};
|
|
25
|
-
//# sourceMappingURL=chunk-7TGEXAN5.js.map
|
package/dist/chunk-ABLXPGAZ.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as u}from"./chunk-SVUVC5VS.js";import{q as m}from"./chunk-KYGNCIJ6.js";function L(o,t){let{scope:n,minLoc:r=10,limit:a=30,scanLimit:b}=t??{},{definitions:d,callerMap:y,calleeMap:f}=C(o,n,b);return d.map(e=>{let s=e.endLine-e.startLine+1,c=y.get(e.symbolId)?.size??0,p=f.get(e.symbolId)??[],x=p.filter(l=>l.file!==e.relativePath),i=new Set(x.map(l=>`${l.symbol}|${l.file}`)).size,M=new Set(p.map(l=>`${l.symbol}|${l.file}`)).size;return{symbol:e.symbol,shortName:m(e.symbol),file:e.relativePath,startLine:e.startLine,endLine:e.endLine,loc:s,fanIn:c,fanOut:i,calleeCount:M,score:Math.round(s/50*(c/5)*Math.max(i/5,1)*100)/100}}).filter(e=>e.loc>=r).sort((e,s)=>s.score-e.score||s.loc-e.loc).slice(0,a)}function C(o,t,n){let r=new u(o),a=S(r.productionCallableDefinitions({scope:t,requireCallableSymbol:!0,includeSuppressed:!0,sortByLocDesc:typeof n=="number"&&n>0}),n);return{definitions:a,callerMap:r.crossFileCallerMap(a),calleeMap:r.calleeMap(a)}}function S(o,t){return typeof t!="number"||t<=0||o.length<=t?o:o.slice(0,t)}export{L as a};
|
|
2
|
-
//# sourceMappingURL=chunk-ABLXPGAZ.js.map
|
package/dist/chunk-BG7YU4DJ.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as l}from"./chunk-SVUVC5VS.js";import{a as i}from"./chunk-QYWGC7JV.js";import{q as s,s as m,y as n}from"./chunk-KYGNCIJ6.js";function c(r,a){let t=i(r,a);return t?new l(r).definitionsForFile(t.relativePath).filter(e=>e.symbol!==t.symbol).filter(e=>n(t.symbol,e.symbol)).sort((e,o)=>e.startLine-o.startLine||e.endLine-o.endLine).map(e=>({symbol:e.symbol,shortName:s(e.symbol),startLine:e.startLine,endLine:e.endLine,kind:m(e.symbol)??"unknown"})):[]}export{c as a};
|
|
2
|
-
//# sourceMappingURL=chunk-BG7YU4DJ.js.map
|
package/dist/chunk-D2R6IIEO.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as m}from"./chunk-SVUVC5VS.js";import{q as f}from"./chunk-KYGNCIJ6.js";function E(e,l={}){let{scope:t,minLoc:o=10,minCallees:s=6,limit:n=20,scanLimit:c}=l,r=new m(e),i=r.productionCallableDefinitions({scope:t,minLoc:o,excludeTypesFiles:!0,requireFunctionLikeSymbol:!0,sortByLocDesc:!0}),g=L(i,c),p=r.calleeMap(g),d=[];for(let a of g){let u=b(a,p.get(a.symbolId)??[],s);u&&d.push(u)}return d.sort((a,u)=>u.clusters.length-a.clusters.length||u.loc-a.loc),d.slice(0,n)}function b(e,l,t){let o=new Set(l.map(r=>r.symbol));if(o.size<t)return null;let s=h(o,l),n=S(o,s);if(n.length<2)return null;let c=C(n,s);return c.length===0?null:{symbol:e.symbol,shortName:f(e.symbol),relativePath:e.relativePath,startLine:e.startLine,endLine:e.endLine,loc:x(e),totalCallees:o.size,clusters:c}}function h(e,l){let t=new Map;for(let s of e)t.set(s,new Set);let o=new Map;for(let s of l){let n=o.get(s.chunkId);n||(n=new Set,o.set(s.chunkId,n)),n.add(s.symbol)}for(let s of o.values()){let n=[...s];for(let c=0;c<n.length;c++)for(let r=c+1;r<n.length;r++)t.get(n[c]).add(n[r]),t.get(n[r]).add(n[c])}return t}function S(e,l){let t=new Set,o=[];for(let s of e){if(t.has(s))continue;let n=new Set,c=[s];for(;c.length>0;){let r=c.pop();if(!t.has(r)){t.add(r),n.add(r);for(let i of l.get(r)??[])t.has(i)||c.push(i)}}o.push(n)}return o}function C(e,l){return e.filter(t=>t.size>=3).map(t=>y(t,e,l)).filter(t=>t.isolation>.5).sort((t,o)=>o.isolation-t.isolation)}function y(e,l,t){let o=new Set;for(let r of l)if(r!==e)for(let i of r)o.add(i);let s=0;for(let r of e)for(let i of t.get(r)??[])o.has(i)&&s++;let n=e.size*o.size,c=n>0?1-s/n:1;return{callees:[...e].map(f),isolation:c}}function x(e){return e.endLine-e.startLine+1}function L(e,l){return typeof l!="number"||l<=0||e.length<=l?e:e.slice(0,l)}export{E as a};
|
|
2
|
-
//# sourceMappingURL=chunk-D2R6IIEO.js.map
|
package/dist/chunk-E47WMJ5F.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as a,k as n}from"./chunk-GS55K4WJ.js";import{a as m}from"./chunk-QYWGC7JV.js";import{q as i}from"./chunk-KYGNCIJ6.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-E47WMJ5F.js.map
|
package/dist/chunk-EEA3R37V.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import{a as d}from"./chunk-55ZJ2FCW.js";import{a as c}from"./chunk-SVUVC5VS.js";import{q as m}from"./chunk-G47V5V3U.js";import{q as u}from"./chunk-KYGNCIJ6.js";function I(e,n){let r=d(e,n);if(!r)return null;let t=p(e,r);if(!t||e.isIgnored(t.relative_path))return null;let s=[],i=0,l=h(e,t.relative_path),f=m(e,l);for(let o of l){let a=g(e,t,o,f.get(o.symbolId)??new Set);i+=a,s.push({symbol:o.symbol,shortName:u(o.symbol),startLine:o.startLine,endLine:o.endLine,externalConsumers:a,riskLevel:S(a)})}return{file:t.relative_path,symbols:s,totalExternalConsumers:i}}function p(e,n){return e.get(`SELECT id, relative_path FROM documents
|
|
2
|
-
WHERE relative_path = ?
|
|
3
|
-
${e.pathExclusionsFor("documents")}
|
|
4
|
-
LIMIT 1`,n)??null}function h(e,n){return new c(e).definitionsForFile(n).sort((r,t)=>r.startLine-t.startLine||r.endLine-t.endLine)}function g(e,n,r,t){let s=e.all(`SELECT DISTINCT consumer_d.relative_path
|
|
5
|
-
FROM mentions m
|
|
6
|
-
JOIN chunks c ON m.chunk_id = c.id
|
|
7
|
-
JOIN documents consumer_d ON consumer_d.id = c.document_id
|
|
8
|
-
WHERE m.symbol_id = ?
|
|
9
|
-
AND m.role != 1
|
|
10
|
-
AND c.document_id != ?`,r.symbolId,n.id);return new Set([...s.map(i=>i.relative_path),...[...t].filter(i=>i!==n.relative_path)]).size}function S(e){return e>10?"high":e>0?"medium":"low"}export{I as a};
|
|
11
|
-
//# sourceMappingURL=chunk-EEA3R37V.js.map
|