scip-query 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -43
- package/dist/chunk-2UELLEBI.js +1 -0
- package/dist/chunk-34JPTNRN.js +601 -0
- package/dist/{chunk-W4ALF422.js → chunk-3566TKJ5.js} +3 -3
- package/dist/{chunk-Z6YZJ36C.js → chunk-4ACRRQC4.js} +8 -4
- package/dist/{chunk-Z4GHE2HD.js → chunk-4BQFSNFI.js} +6 -2
- package/dist/{chunk-4XHWPRAX.js → chunk-6QSHLFSL.js} +3 -3
- package/dist/{chunk-4EXL2CUA.js → chunk-6WVR5K46.js} +16 -8
- package/dist/{chunk-ZQIIPFD7.js → chunk-75RQSBTK.js} +2 -2
- package/dist/{chunk-KPPHZCZJ.js → chunk-7HK5ZLOE.js} +28 -46
- package/dist/{chunk-MCUX5LA7.js → chunk-7JFZSOJ7.js} +3 -3
- package/dist/{chunk-6SXADWLW.js → chunk-AKMBBKWV.js} +2 -2
- package/dist/{chunk-NHBZIL2J.js → chunk-AMNISGYR.js} +3 -3
- package/dist/{chunk-2CKGIR6G.js → chunk-BFLULBEU.js} +3 -3
- package/dist/{chunk-HPFZLISB.js → chunk-CU62ZDHI.js} +2 -2
- package/dist/{chunk-EQYLEQCW.js → chunk-DY4AFG2W.js} +12 -10
- package/dist/{chunk-5RMYT5WH.js → chunk-F7XU27LU.js} +2 -2
- package/dist/{chunk-KCBMVQL5.js → chunk-GPJVPT3U.js} +2 -2
- package/dist/{chunk-NUZ4OMU3.js → chunk-GU2H5QRN.js} +2 -2
- package/dist/{chunk-UJQN5N3I.js → chunk-H6WCPKCX.js} +6 -3
- package/dist/{chunk-OVPLOMPY.js → chunk-HMYJJ3HY.js} +7 -4
- package/dist/chunk-IJKLB2JW.js +69 -0
- package/dist/{chunk-DGUPQSOR.js → chunk-IXPHLF6K.js} +2 -2
- package/dist/{chunk-7PBOG4YE.js → chunk-KBOQX573.js} +2 -2
- package/dist/{chunk-ZOGY2V3N.js → chunk-LLMPAG56.js} +93 -30
- package/dist/{chunk-BOVXCR46.js → chunk-LTJC5ZQL.js} +2 -2
- package/dist/{chunk-LAWMH22O.js → chunk-M3NPW3FC.js} +2 -2
- package/dist/{chunk-NWCE4CIC.js → chunk-M4QGEKKD.js} +5 -27
- package/dist/{chunk-63G7IQTD.js → chunk-MVH45PYK.js} +20 -40
- package/dist/chunk-N4C3H7LH.js +37 -0
- package/dist/chunk-NG5F43OU.js +200 -0
- package/dist/{chunk-D567NFIF.js → chunk-NVIIM34O.js} +3 -3
- package/dist/{chunk-BNN2RKD2.js → chunk-ORINICIZ.js} +3 -3
- package/dist/{chunk-4PDAL6IL.js → chunk-PMJKOXOT.js} +3 -3
- package/dist/{chunk-QOV2R2WT.js → chunk-QIXNAB5K.js} +42 -2
- package/dist/{chunk-7LLPRPR5.js → chunk-R2I3M5B4.js} +2 -2
- package/dist/{chunk-7RLE5EWE.js → chunk-R56FJU3E.js} +34 -13
- package/dist/{chunk-H2MDONBU.js → chunk-RFMT7UAZ.js} +3 -3
- package/dist/{chunk-SEFSL2GF.js → chunk-TOIEB3LG.js} +2 -2
- package/dist/chunk-VO4QI3LS.js +84 -0
- package/dist/{chunk-ZK6GXM3J.js → chunk-WVK7AASK.js} +3 -3
- package/dist/{chunk-HMLMH7VZ.js → chunk-Y3M323OX.js} +2 -2
- package/dist/{chunk-DCKMSTJ4.js → chunk-Y4JFVQ7C.js} +2 -2
- package/dist/{chunk-7UCKSQRS.js → chunk-YAFWL3RA.js} +3 -3
- package/dist/{chunk-FGXRVW7G.js → chunk-YZ6L7GFO.js} +2 -2
- package/dist/cli.js +1355 -671
- package/dist/{db-BNVVZSfP.d.ts → db-BHYam4BK.d.ts} +6 -18
- package/dist/index.d.ts +15 -15
- package/dist/index.js +260 -231
- package/dist/postinstall.js +5 -76
- package/dist/queries/affected.d.ts +1 -1
- package/dist/queries/affected.js +3 -3
- package/dist/queries/bottlenecks.d.ts +1 -1
- package/dist/queries/bottlenecks.js +2 -2
- package/dist/queries/by-kind.d.ts +1 -1
- package/dist/queries/by-kind.js +2 -2
- package/dist/queries/call-graph.d.ts +1 -1
- package/dist/queries/call-graph.js +3 -3
- package/dist/queries/change-surface.d.ts +2 -2
- package/dist/queries/change-surface.js +2 -3
- package/dist/queries/code.d.ts +1 -1
- package/dist/queries/code.js +3 -3
- package/dist/queries/complexity-hotspots.d.ts +1 -1
- package/dist/queries/complexity-hotspots.js +3 -3
- package/dist/queries/complexity.d.ts +1 -1
- package/dist/queries/complexity.js +3 -3
- package/dist/queries/convergence.d.ts +1 -1
- package/dist/queries/convergence.js +3 -3
- package/dist/queries/coupling.d.ts +1 -1
- package/dist/queries/cycles.d.ts +1 -1
- package/dist/queries/cycles.js +3 -2
- package/dist/queries/dataflow.d.ts +1 -1
- package/dist/queries/dataflow.js +3 -3
- package/dist/queries/dead.d.ts +1 -1
- package/dist/queries/dead.js +4 -3
- package/dist/queries/deep-chains.d.ts +1 -1
- package/dist/queries/deep-chains.js +3 -2
- package/dist/queries/deps.d.ts +1 -1
- package/dist/queries/diff-impact.d.ts +2 -2
- package/dist/queries/diff-impact.js +2 -3
- package/dist/queries/doc-coverage.d.ts +1 -1
- package/dist/queries/doc-coverage.js +2 -2
- package/dist/queries/drift.d.ts +1 -1
- package/dist/queries/drift.js +3 -2
- package/dist/queries/extract-candidates.d.ts +1 -1
- package/dist/queries/extract-candidates.js +3 -3
- package/dist/queries/fan.d.ts +1 -1
- package/dist/queries/fan.js +2 -2
- package/dist/queries/files.d.ts +1 -1
- package/dist/queries/health.d.ts +1 -1
- package/dist/queries/health.js +14 -14
- package/dist/queries/hierarchy.d.ts +1 -1
- package/dist/queries/hierarchy.js +3 -2
- package/dist/queries/hotspots.d.ts +1 -1
- package/dist/queries/hotspots.js +2 -2
- package/dist/queries/imports.d.ts +1 -1
- package/dist/queries/imports.js +3 -2
- package/dist/queries/index.d.ts +1 -2
- package/dist/queries/index.js +43 -48
- package/dist/queries/isolated.d.ts +1 -1
- package/dist/queries/isolated.js +4 -3
- package/dist/queries/members.d.ts +2 -2
- package/dist/queries/members.js +3 -2
- package/dist/queries/methods.d.ts +1 -1
- package/dist/queries/methods.js +2 -2
- package/dist/queries/outline.d.ts +1 -1
- package/dist/queries/outline.js +2 -2
- package/dist/queries/passthrough-candidates.d.ts +1 -1
- package/dist/queries/passthrough-candidates.js +3 -3
- package/dist/queries/redundant-reexports.d.ts +1 -1
- package/dist/queries/redundant-reexports.js +4 -2
- package/dist/queries/refs.d.ts +1 -1
- package/dist/queries/similar-chains.d.ts +1 -1
- package/dist/queries/similar-chains.js +3 -2
- package/dist/queries/similar-files.d.ts +1 -1
- package/dist/queries/similar-files.js +3 -2
- package/dist/queries/similar-signatures.d.ts +1 -1
- package/dist/queries/similar-signatures.js +2 -2
- package/dist/queries/similar.d.ts +1 -1
- package/dist/queries/similar.js +3 -3
- package/dist/queries/slice.d.ts +1 -1
- package/dist/queries/slice.js +3 -3
- package/dist/queries/stale-abstractions.d.ts +1 -1
- package/dist/queries/stale-abstractions.js +3 -3
- package/dist/queries/stats.d.ts +1 -1
- package/dist/queries/surface.d.ts +1 -1
- package/dist/queries/surface.js +2 -2
- package/dist/queries/symbols.d.ts +1 -1
- package/dist/queries/symbols.js +2 -2
- package/dist/queries/system.d.ts +1 -1
- package/dist/queries/system.js +2 -2
- package/dist/queries/trace.d.ts +1 -1
- package/dist/queries/trace.js +3 -1
- package/dist/queries/wrapper-candidates.d.ts +1 -1
- package/dist/queries/wrapper-candidates.js +3 -3
- package/dist/reindex-worker.js +24 -12
- package/package.json +6 -1
- package/IMPROVEMENTS.md +0 -143
- package/PLAN.md +0 -320
- package/dist/chunk-2CKGIR6G.js.map +0 -1
- package/dist/chunk-3UOUTZQT.js +0 -45
- package/dist/chunk-3UOUTZQT.js.map +0 -1
- package/dist/chunk-4EXL2CUA.js.map +0 -1
- package/dist/chunk-4PDAL6IL.js.map +0 -1
- package/dist/chunk-4TYLS5XX.js.map +0 -1
- package/dist/chunk-4XHWPRAX.js.map +0 -1
- package/dist/chunk-5RMYT5WH.js.map +0 -1
- package/dist/chunk-63G7IQTD.js.map +0 -1
- package/dist/chunk-6SXADWLW.js.map +0 -1
- package/dist/chunk-74RFWB5T.js.map +0 -1
- package/dist/chunk-7LLPRPR5.js.map +0 -1
- package/dist/chunk-7PBOG4YE.js.map +0 -1
- package/dist/chunk-7RLE5EWE.js.map +0 -1
- package/dist/chunk-7UCKSQRS.js.map +0 -1
- package/dist/chunk-BNN2RKD2.js.map +0 -1
- package/dist/chunk-BOVXCR46.js.map +0 -1
- package/dist/chunk-D567NFIF.js.map +0 -1
- package/dist/chunk-DCKMSTJ4.js.map +0 -1
- package/dist/chunk-DEZKCZXD.js +0 -40
- package/dist/chunk-DEZKCZXD.js.map +0 -1
- package/dist/chunk-DGUPQSOR.js.map +0 -1
- package/dist/chunk-DVWGWHFW.js +0 -99
- package/dist/chunk-DVWGWHFW.js.map +0 -1
- package/dist/chunk-EQYLEQCW.js.map +0 -1
- package/dist/chunk-FGXRVW7G.js.map +0 -1
- package/dist/chunk-H2MDONBU.js.map +0 -1
- package/dist/chunk-HB7MRLLL.js +0 -76
- package/dist/chunk-HB7MRLLL.js.map +0 -1
- package/dist/chunk-HDSRORNV.js.map +0 -1
- package/dist/chunk-HMLMH7VZ.js.map +0 -1
- package/dist/chunk-HPFZLISB.js.map +0 -1
- package/dist/chunk-HZBC7PPD.js +0 -88
- package/dist/chunk-HZBC7PPD.js.map +0 -1
- package/dist/chunk-ITZ3DDOG.js.map +0 -1
- package/dist/chunk-JJP7KQND.js +0 -1
- package/dist/chunk-JJP7KQND.js.map +0 -1
- package/dist/chunk-KCBMVQL5.js.map +0 -1
- package/dist/chunk-KPPHZCZJ.js.map +0 -1
- package/dist/chunk-LAWMH22O.js.map +0 -1
- package/dist/chunk-MCUX5LA7.js.map +0 -1
- package/dist/chunk-MGNMHKX3.js.map +0 -1
- package/dist/chunk-N5KEREIA.js.map +0 -1
- package/dist/chunk-NHBZIL2J.js.map +0 -1
- package/dist/chunk-NUZ4OMU3.js.map +0 -1
- package/dist/chunk-NWCE4CIC.js.map +0 -1
- package/dist/chunk-OVPLOMPY.js.map +0 -1
- package/dist/chunk-QOV2R2WT.js.map +0 -1
- package/dist/chunk-SEFSL2GF.js.map +0 -1
- package/dist/chunk-UJQN5N3I.js.map +0 -1
- package/dist/chunk-W4ALF422.js.map +0 -1
- package/dist/chunk-Z4GHE2HD.js.map +0 -1
- package/dist/chunk-Z6YZJ36C.js.map +0 -1
- package/dist/chunk-ZK6GXM3J.js.map +0 -1
- package/dist/chunk-ZOGY2V3N.js.map +0 -1
- package/dist/chunk-ZQIIPFD7.js.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/postinstall.js.map +0 -1
- package/dist/queries/affected.js.map +0 -1
- package/dist/queries/bottlenecks.js.map +0 -1
- package/dist/queries/by-kind.js.map +0 -1
- package/dist/queries/call-graph.js.map +0 -1
- package/dist/queries/change-surface.js.map +0 -1
- package/dist/queries/clean-signature.js.map +0 -1
- package/dist/queries/code.js.map +0 -1
- package/dist/queries/complexity-hotspots.js.map +0 -1
- package/dist/queries/complexity.js.map +0 -1
- package/dist/queries/convergence.js.map +0 -1
- package/dist/queries/coupling.js.map +0 -1
- package/dist/queries/cycles.js.map +0 -1
- package/dist/queries/dataflow.js.map +0 -1
- package/dist/queries/dead.js.map +0 -1
- package/dist/queries/deep-chains.js.map +0 -1
- package/dist/queries/deps.js.map +0 -1
- package/dist/queries/diff-impact.js.map +0 -1
- package/dist/queries/doc-coverage.js.map +0 -1
- package/dist/queries/drift.js.map +0 -1
- package/dist/queries/extract-candidates.js.map +0 -1
- package/dist/queries/fan.js.map +0 -1
- package/dist/queries/files.js.map +0 -1
- package/dist/queries/health.js.map +0 -1
- package/dist/queries/hierarchy.js.map +0 -1
- package/dist/queries/hotspots.js.map +0 -1
- package/dist/queries/imports.js.map +0 -1
- package/dist/queries/index.js.map +0 -1
- package/dist/queries/isolated.js.map +0 -1
- package/dist/queries/members.js.map +0 -1
- package/dist/queries/methods.js.map +0 -1
- package/dist/queries/outline.js.map +0 -1
- package/dist/queries/passthrough-candidates.js.map +0 -1
- package/dist/queries/redundant-reexports.js.map +0 -1
- package/dist/queries/refs.js.map +0 -1
- package/dist/queries/similar-chains.js.map +0 -1
- package/dist/queries/similar-files.js.map +0 -1
- package/dist/queries/similar-signatures.js.map +0 -1
- package/dist/queries/similar.js.map +0 -1
- package/dist/queries/slice.js.map +0 -1
- package/dist/queries/stale-abstractions.js.map +0 -1
- package/dist/queries/stats.js.map +0 -1
- package/dist/queries/surface.js.map +0 -1
- package/dist/queries/symbols.js.map +0 -1
- package/dist/queries/system.js.map +0 -1
- package/dist/queries/test-coverage.d.ts +0 -22
- package/dist/queries/test-coverage.js +0 -11
- package/dist/queries/test-coverage.js.map +0 -1
- package/dist/queries/trace.js.map +0 -1
- package/dist/queries/wrapper-candidates.js.map +0 -1
- package/dist/reindex-worker.js.map +0 -1
- package/docs/AGENT_GUIDE.md +0 -359
- package/reports/debloat/2026-04-10-scip-query-self-audit.md +0 -161
- package/src/cli.ts +0 -1480
- package/src/config.ts +0 -117
- package/src/db.ts +0 -127
- package/src/gitignore-filter.ts +0 -143
- package/src/index.ts +0 -11
- package/src/postinstall.ts +0 -8
- package/src/queries/affected.ts +0 -86
- package/src/queries/bottlenecks.ts +0 -67
- package/src/queries/by-kind.ts +0 -204
- package/src/queries/call-graph.ts +0 -66
- package/src/queries/change-surface.ts +0 -110
- package/src/queries/clean-signature.ts +0 -22
- package/src/queries/code.ts +0 -101
- package/src/queries/complexity-hotspots.ts +0 -119
- package/src/queries/complexity.ts +0 -152
- package/src/queries/convergence.ts +0 -82
- package/src/queries/coupling.ts +0 -99
- package/src/queries/cycles.ts +0 -78
- package/src/queries/dataflow.ts +0 -128
- package/src/queries/dead.ts +0 -122
- package/src/queries/deep-chains.ts +0 -59
- package/src/queries/deps.ts +0 -46
- package/src/queries/diff-impact.ts +0 -204
- package/src/queries/doc-coverage.ts +0 -86
- package/src/queries/drift.ts +0 -224
- package/src/queries/extract-candidates.ts +0 -167
- package/src/queries/fan.ts +0 -148
- package/src/queries/files.ts +0 -16
- package/src/queries/health.ts +0 -324
- package/src/queries/hierarchy.ts +0 -49
- package/src/queries/hotspots.ts +0 -53
- package/src/queries/imports.ts +0 -95
- package/src/queries/index.ts +0 -45
- package/src/queries/isolated.ts +0 -67
- package/src/queries/members.ts +0 -54
- package/src/queries/methods.ts +0 -27
- package/src/queries/outline.ts +0 -52
- package/src/queries/passthrough-candidates.ts +0 -94
- package/src/queries/redundant-reexports.ts +0 -170
- package/src/queries/refs.ts +0 -27
- package/src/queries/similar-chains.ts +0 -314
- package/src/queries/similar-files.ts +0 -140
- package/src/queries/similar-signatures.ts +0 -151
- package/src/queries/similar.ts +0 -305
- package/src/queries/slice.ts +0 -154
- package/src/queries/stale-abstractions.ts +0 -82
- package/src/queries/stats.ts +0 -22
- package/src/queries/surface.ts +0 -34
- package/src/queries/symbols.ts +0 -39
- package/src/queries/system.ts +0 -86
- package/src/queries/test-coverage.ts +0 -106
- package/src/queries/trace.ts +0 -55
- package/src/queries/wrapper-candidates.ts +0 -112
- package/src/query-support.ts +0 -226
- package/src/reindex/detect.ts +0 -58
- package/src/reindex/index.ts +0 -153
- package/src/reindex/indexers.ts +0 -220
- package/src/reindex/install.ts +0 -125
- package/src/reindex-worker.ts +0 -35
- package/src/setup.ts +0 -202
- package/src/symbol-parser.ts +0 -278
- package/src/types.ts +0 -654
- package/src/watch.ts +0 -274
- package/tests/gitignore-filter.test.ts +0 -48
- package/tests/queries.test.ts +0 -300
- package/tests/symbol-parser.test.ts +0 -157
- package/tsconfig.json +0 -20
- package/tsup.config.ts +0 -40
- package/vitest.config.ts +0 -7
package/dist/index.js
CHANGED
|
@@ -1,156 +1,153 @@
|
|
|
1
|
-
import "./chunk-
|
|
1
|
+
import "./chunk-2UELLEBI.js";
|
|
2
2
|
import {
|
|
3
3
|
surface
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-LTJC5ZQL.js";
|
|
5
5
|
import {
|
|
6
6
|
symbols
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-GPJVPT3U.js";
|
|
8
8
|
import {
|
|
9
9
|
system
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-Y4JFVQ7C.js";
|
|
11
11
|
import {
|
|
12
12
|
trace
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-DY4AFG2W.js";
|
|
14
14
|
import {
|
|
15
15
|
redundantReexports
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-4BQFSNFI.js";
|
|
17
17
|
import {
|
|
18
18
|
refs
|
|
19
19
|
} from "./chunk-ITZ3DDOG.js";
|
|
20
20
|
import {
|
|
21
21
|
similarChains
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-R2I3M5B4.js";
|
|
23
23
|
import {
|
|
24
24
|
similarFiles
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-CU62ZDHI.js";
|
|
26
26
|
import {
|
|
27
27
|
similarSignatures
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-TOIEB3LG.js";
|
|
29
29
|
import {
|
|
30
30
|
slice
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-AMNISGYR.js";
|
|
32
32
|
import {
|
|
33
33
|
hierarchy
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-IJKLB2JW.js";
|
|
35
35
|
import {
|
|
36
36
|
hotspots
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-KBOQX573.js";
|
|
38
38
|
import {
|
|
39
39
|
importedBy,
|
|
40
40
|
imports,
|
|
41
41
|
unusedImports
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-34JPTNRN.js";
|
|
43
43
|
import {
|
|
44
44
|
members
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-N4C3H7LH.js";
|
|
46
46
|
import {
|
|
47
47
|
methods
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-GU2H5QRN.js";
|
|
49
49
|
import {
|
|
50
50
|
outline
|
|
51
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-AKMBBKWV.js";
|
|
52
52
|
import {
|
|
53
53
|
deps,
|
|
54
54
|
rdeps
|
|
55
55
|
} from "./chunk-N5KEREIA.js";
|
|
56
56
|
import {
|
|
57
57
|
diffImpact
|
|
58
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-7HK5ZLOE.js";
|
|
59
59
|
import {
|
|
60
60
|
docCoverage
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-YZ6L7GFO.js";
|
|
62
62
|
import {
|
|
63
63
|
fanIn,
|
|
64
64
|
fanOut,
|
|
65
65
|
topFanIn,
|
|
66
66
|
topFanOut
|
|
67
|
-
} from "./chunk-
|
|
67
|
+
} from "./chunk-IXPHLF6K.js";
|
|
68
68
|
import {
|
|
69
69
|
files
|
|
70
70
|
} from "./chunk-MGNMHKX3.js";
|
|
71
71
|
import {
|
|
72
72
|
health
|
|
73
|
-
} from "./chunk-
|
|
73
|
+
} from "./chunk-MVH45PYK.js";
|
|
74
74
|
import {
|
|
75
75
|
staleAbstractions
|
|
76
|
-
} from "./chunk-
|
|
76
|
+
} from "./chunk-ORINICIZ.js";
|
|
77
77
|
import {
|
|
78
78
|
stats
|
|
79
79
|
} from "./chunk-74RFWB5T.js";
|
|
80
|
-
import {
|
|
81
|
-
testCoverage,
|
|
82
|
-
testCoverageSummary
|
|
83
|
-
} from "./chunk-HZBC7PPD.js";
|
|
84
80
|
import {
|
|
85
81
|
wrapperCandidates
|
|
86
|
-
} from "./chunk-
|
|
82
|
+
} from "./chunk-PMJKOXOT.js";
|
|
87
83
|
import {
|
|
88
84
|
passthroughCandidates
|
|
89
|
-
} from "./chunk-
|
|
85
|
+
} from "./chunk-3566TKJ5.js";
|
|
90
86
|
import {
|
|
91
87
|
similar,
|
|
92
88
|
similarAll
|
|
93
|
-
} from "./chunk-
|
|
89
|
+
} from "./chunk-H6WCPKCX.js";
|
|
94
90
|
import {
|
|
95
91
|
isolated
|
|
96
|
-
} from "./chunk-
|
|
92
|
+
} from "./chunk-HMYJJ3HY.js";
|
|
97
93
|
import {
|
|
98
94
|
drift
|
|
99
|
-
} from "./chunk-
|
|
95
|
+
} from "./chunk-R56FJU3E.js";
|
|
100
96
|
import {
|
|
101
97
|
extractCandidates
|
|
102
|
-
} from "./chunk-
|
|
98
|
+
} from "./chunk-BFLULBEU.js";
|
|
103
99
|
import {
|
|
104
100
|
complexityHotspots
|
|
105
|
-
} from "./chunk-
|
|
101
|
+
} from "./chunk-WVK7AASK.js";
|
|
106
102
|
import {
|
|
107
103
|
complexity
|
|
108
|
-
} from "./chunk-
|
|
104
|
+
} from "./chunk-6QSHLFSL.js";
|
|
109
105
|
import {
|
|
110
106
|
convergence
|
|
111
|
-
} from "./chunk-
|
|
107
|
+
} from "./chunk-4ACRRQC4.js";
|
|
112
108
|
import {
|
|
113
109
|
coupling,
|
|
114
110
|
topCoupling
|
|
115
111
|
} from "./chunk-HDSRORNV.js";
|
|
116
112
|
import {
|
|
117
113
|
cycles
|
|
118
|
-
} from "./chunk-
|
|
114
|
+
} from "./chunk-Y3M323OX.js";
|
|
119
115
|
import {
|
|
120
116
|
dataflow
|
|
121
|
-
} from "./chunk-
|
|
117
|
+
} from "./chunk-7JFZSOJ7.js";
|
|
122
118
|
import {
|
|
123
119
|
dead
|
|
124
|
-
} from "./chunk-
|
|
120
|
+
} from "./chunk-6WVR5K46.js";
|
|
121
|
+
import "./chunk-VO4QI3LS.js";
|
|
125
122
|
import {
|
|
126
123
|
deepChains
|
|
127
|
-
} from "./chunk-
|
|
124
|
+
} from "./chunk-75RQSBTK.js";
|
|
128
125
|
import {
|
|
129
126
|
affected
|
|
130
|
-
} from "./chunk-
|
|
127
|
+
} from "./chunk-NVIIM34O.js";
|
|
131
128
|
import {
|
|
132
129
|
bottlenecks
|
|
133
|
-
} from "./chunk-
|
|
130
|
+
} from "./chunk-F7XU27LU.js";
|
|
134
131
|
import {
|
|
135
132
|
byKind,
|
|
136
133
|
kindCounts
|
|
137
|
-
} from "./chunk-
|
|
134
|
+
} from "./chunk-M3NPW3FC.js";
|
|
138
135
|
import {
|
|
139
136
|
callGraph
|
|
140
|
-
} from "./chunk-
|
|
137
|
+
} from "./chunk-YAFWL3RA.js";
|
|
141
138
|
import {
|
|
142
139
|
changeSurface
|
|
143
|
-
} from "./chunk-
|
|
140
|
+
} from "./chunk-M4QGEKKD.js";
|
|
144
141
|
import "./chunk-4TYLS5XX.js";
|
|
145
142
|
import {
|
|
146
143
|
code
|
|
147
|
-
} from "./chunk-
|
|
148
|
-
import "./chunk-
|
|
144
|
+
} from "./chunk-RFMT7UAZ.js";
|
|
145
|
+
import "./chunk-LLMPAG56.js";
|
|
149
146
|
import {
|
|
150
147
|
leafName,
|
|
151
148
|
parseSymbol,
|
|
152
149
|
shortenSymbol
|
|
153
|
-
} from "./chunk-
|
|
150
|
+
} from "./chunk-QIXNAB5K.js";
|
|
154
151
|
|
|
155
152
|
// src/db.ts
|
|
156
153
|
import Database from "better-sqlite3";
|
|
@@ -349,10 +346,200 @@ Thumbs.db
|
|
|
349
346
|
`;
|
|
350
347
|
|
|
351
348
|
// src/reindex/index.ts
|
|
352
|
-
import { execFileSync as
|
|
349
|
+
import { execFileSync as execFileSync3 } from "child_process";
|
|
353
350
|
import { existsSync as existsSync3 } from "fs";
|
|
354
351
|
import { join as join3 } from "path";
|
|
355
352
|
|
|
353
|
+
// src/scip-cli.ts
|
|
354
|
+
import { execFileSync as execFileSync2 } from "child_process";
|
|
355
|
+
import { platform as platform2, arch } from "os";
|
|
356
|
+
|
|
357
|
+
// src/reindex/install.ts
|
|
358
|
+
import { execFileSync } from "child_process";
|
|
359
|
+
import { platform } from "os";
|
|
360
|
+
var IS_WINDOWS = platform() === "win32";
|
|
361
|
+
function isBinaryAvailable(name) {
|
|
362
|
+
const cmd = IS_WINDOWS ? "where" : "which";
|
|
363
|
+
try {
|
|
364
|
+
execFileSync(cmd, [name], { stdio: "pipe" });
|
|
365
|
+
return true;
|
|
366
|
+
} catch {
|
|
367
|
+
return false;
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
function getBinaryCandidates(config) {
|
|
371
|
+
return [config.indexerBinary, ...config.binaryAliases ?? []];
|
|
372
|
+
}
|
|
373
|
+
function describeIndexerBinary(config) {
|
|
374
|
+
const candidates = getBinaryCandidates(config);
|
|
375
|
+
return candidates.length === 1 ? candidates[0] : candidates.join(" or ");
|
|
376
|
+
}
|
|
377
|
+
function resolveIndexerBinary(config) {
|
|
378
|
+
for (const candidate of getBinaryCandidates(config)) {
|
|
379
|
+
if (isBinaryAvailable(candidate)) {
|
|
380
|
+
return candidate;
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
return null;
|
|
384
|
+
}
|
|
385
|
+
function isIndexerInstalled(config) {
|
|
386
|
+
return resolveIndexerBinary(config) !== null;
|
|
387
|
+
}
|
|
388
|
+
function tryInstallIndexer(config, onStatus) {
|
|
389
|
+
const methods2 = config.installMethods;
|
|
390
|
+
const binaryLabel = describeIndexerBinary(config);
|
|
391
|
+
if (!methods2?.length) {
|
|
392
|
+
onStatus(`No auto-install method available for ${binaryLabel}.`);
|
|
393
|
+
if (config.installUrl) {
|
|
394
|
+
onStatus(`Install manually from: ${config.installUrl}`);
|
|
395
|
+
}
|
|
396
|
+
return false;
|
|
397
|
+
}
|
|
398
|
+
for (const method of methods2) {
|
|
399
|
+
if (!isBinaryAvailable(method.prerequisite)) {
|
|
400
|
+
continue;
|
|
401
|
+
}
|
|
402
|
+
onStatus(`Installing ${binaryLabel} via ${method.label}...`);
|
|
403
|
+
try {
|
|
404
|
+
execFileSync(method.binary, method.args, {
|
|
405
|
+
stdio: "inherit",
|
|
406
|
+
timeout: 3e5,
|
|
407
|
+
env: process.env
|
|
408
|
+
});
|
|
409
|
+
const resolvedBinary = resolveIndexerBinary(config);
|
|
410
|
+
if (resolvedBinary) {
|
|
411
|
+
const resolutionNote = resolvedBinary === config.indexerBinary ? "" : ` (using ${resolvedBinary})`;
|
|
412
|
+
onStatus(`Successfully installed ${binaryLabel} via ${method.label}${resolutionNote}`);
|
|
413
|
+
return true;
|
|
414
|
+
}
|
|
415
|
+
onStatus(`${method.label} command completed but ${binaryLabel} was not found on PATH`);
|
|
416
|
+
} catch (err) {
|
|
417
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
418
|
+
onStatus(`${method.label} install failed: ${msg}`);
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
onStatus(`Could not auto-install ${binaryLabel}.`);
|
|
422
|
+
if (config.installUrl) {
|
|
423
|
+
onStatus(`Install manually from: ${config.installUrl}`);
|
|
424
|
+
}
|
|
425
|
+
return false;
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
// src/scip-cli.ts
|
|
429
|
+
var IS_WINDOWS2 = platform2() === "win32";
|
|
430
|
+
var SCIP_VERSION = "v0.7.0";
|
|
431
|
+
function isScipInstalled() {
|
|
432
|
+
try {
|
|
433
|
+
const cmd = IS_WINDOWS2 ? "where" : "which";
|
|
434
|
+
execFileSync2(cmd, ["scip"], { stdio: "pipe" });
|
|
435
|
+
return true;
|
|
436
|
+
} catch {
|
|
437
|
+
return false;
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
function getScipVersion() {
|
|
441
|
+
try {
|
|
442
|
+
const output = execFileSync2("scip", ["--version"], { stdio: "pipe" }).toString().trim();
|
|
443
|
+
return output;
|
|
444
|
+
} catch {
|
|
445
|
+
return null;
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
function getScipDownloadUrl() {
|
|
449
|
+
const os = platform2();
|
|
450
|
+
const cpu = arch();
|
|
451
|
+
let osName;
|
|
452
|
+
let archName;
|
|
453
|
+
let ext;
|
|
454
|
+
switch (os) {
|
|
455
|
+
case "darwin":
|
|
456
|
+
osName = "darwin";
|
|
457
|
+
ext = "tar.gz";
|
|
458
|
+
break;
|
|
459
|
+
case "linux":
|
|
460
|
+
osName = "linux";
|
|
461
|
+
ext = "tar.gz";
|
|
462
|
+
break;
|
|
463
|
+
case "win32":
|
|
464
|
+
osName = "windows";
|
|
465
|
+
ext = "zip";
|
|
466
|
+
break;
|
|
467
|
+
default:
|
|
468
|
+
return null;
|
|
469
|
+
}
|
|
470
|
+
switch (cpu) {
|
|
471
|
+
case "arm64":
|
|
472
|
+
archName = "arm64";
|
|
473
|
+
break;
|
|
474
|
+
case "x64":
|
|
475
|
+
archName = "amd64";
|
|
476
|
+
break;
|
|
477
|
+
default:
|
|
478
|
+
return null;
|
|
479
|
+
}
|
|
480
|
+
const filename = `scip-${osName}-${archName}.${ext}`;
|
|
481
|
+
const url = `https://github.com/sourcegraph/scip/releases/download/${SCIP_VERSION}/${filename}`;
|
|
482
|
+
return { url, filename };
|
|
483
|
+
}
|
|
484
|
+
function printScipInstallInstructions() {
|
|
485
|
+
const download = getScipDownloadUrl();
|
|
486
|
+
console.log("\nThe `scip` CLI is required but not found on PATH.\n");
|
|
487
|
+
if (platform2() === "darwin") {
|
|
488
|
+
console.log("Install via Homebrew:");
|
|
489
|
+
console.log(" brew install sourcegraph/scip/scip\n");
|
|
490
|
+
console.log("Or download manually:");
|
|
491
|
+
} else {
|
|
492
|
+
console.log("Download from:");
|
|
493
|
+
}
|
|
494
|
+
if (download) {
|
|
495
|
+
console.log(` ${download.url}
|
|
496
|
+
`);
|
|
497
|
+
} else {
|
|
498
|
+
console.log(` https://github.com/sourcegraph/scip/releases/tag/${SCIP_VERSION}
|
|
499
|
+
`);
|
|
500
|
+
}
|
|
501
|
+
console.log("After installing, ensure `scip` is on your PATH and run `scip-query reindex`.");
|
|
502
|
+
}
|
|
503
|
+
function tryInstallScipCli(onStatus) {
|
|
504
|
+
if (platform2() === "darwin" && isBinaryAvailable("brew")) {
|
|
505
|
+
onStatus("Installing scip CLI via Homebrew...");
|
|
506
|
+
try {
|
|
507
|
+
execFileSync2("brew", ["install", "sourcegraph/scip/scip"], {
|
|
508
|
+
stdio: "inherit",
|
|
509
|
+
timeout: 3e5,
|
|
510
|
+
env: process.env
|
|
511
|
+
});
|
|
512
|
+
if (isBinaryAvailable("scip")) {
|
|
513
|
+
onStatus("Successfully installed scip CLI via Homebrew");
|
|
514
|
+
return true;
|
|
515
|
+
}
|
|
516
|
+
} catch (err) {
|
|
517
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
518
|
+
onStatus(`Homebrew install failed: ${msg}`);
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
if (isBinaryAvailable("go")) {
|
|
522
|
+
onStatus("Installing scip CLI via go install...");
|
|
523
|
+
try {
|
|
524
|
+
execFileSync2("go", ["install", "github.com/sourcegraph/scip/cmd/scip@latest"], {
|
|
525
|
+
stdio: "inherit",
|
|
526
|
+
timeout: 3e5,
|
|
527
|
+
env: process.env
|
|
528
|
+
});
|
|
529
|
+
if (isBinaryAvailable("scip")) {
|
|
530
|
+
onStatus("Successfully installed scip CLI via go install");
|
|
531
|
+
return true;
|
|
532
|
+
}
|
|
533
|
+
} catch (err) {
|
|
534
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
535
|
+
onStatus(`go install failed: ${msg}`);
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
onStatus("Could not auto-install scip CLI.");
|
|
539
|
+
onStatus("Install manually from: https://github.com/sourcegraph/scip/releases");
|
|
540
|
+
return false;
|
|
541
|
+
}
|
|
542
|
+
|
|
356
543
|
// src/reindex/detect.ts
|
|
357
544
|
import { existsSync as existsSync2 } from "fs";
|
|
358
545
|
import { join as join2 } from "path";
|
|
@@ -483,9 +670,10 @@ var INDEXER_CONFIGS = {
|
|
|
483
670
|
python: {
|
|
484
671
|
language: "python",
|
|
485
672
|
indexerBinary: "scip-python",
|
|
673
|
+
binaryAliases: ["scip-python-plus"],
|
|
486
674
|
checkCommand: "scip-python --version",
|
|
487
|
-
indexArgs: ({ outputPath }) => ({
|
|
488
|
-
binary:
|
|
675
|
+
indexArgs: ({ outputPath, indexerBinary }) => ({
|
|
676
|
+
binary: indexerBinary,
|
|
489
677
|
args: ["index", "--output", outputPath, "--project-name", "project"]
|
|
490
678
|
}),
|
|
491
679
|
markerFiles: ["pyproject.toml", "setup.py"],
|
|
@@ -591,98 +779,6 @@ function getIndexerConfig(language) {
|
|
|
591
779
|
return INDEXER_CONFIGS[language];
|
|
592
780
|
}
|
|
593
781
|
|
|
594
|
-
// src/reindex/install.ts
|
|
595
|
-
import { execFileSync } from "child_process";
|
|
596
|
-
import { platform } from "os";
|
|
597
|
-
var IS_WINDOWS = platform() === "win32";
|
|
598
|
-
function isBinaryAvailable(name) {
|
|
599
|
-
const cmd = IS_WINDOWS ? "where" : "which";
|
|
600
|
-
try {
|
|
601
|
-
execFileSync(cmd, [name], { stdio: "pipe" });
|
|
602
|
-
return true;
|
|
603
|
-
} catch {
|
|
604
|
-
return false;
|
|
605
|
-
}
|
|
606
|
-
}
|
|
607
|
-
function isIndexerInstalled(config) {
|
|
608
|
-
return isBinaryAvailable(config.indexerBinary);
|
|
609
|
-
}
|
|
610
|
-
function tryInstallIndexer(config, onStatus) {
|
|
611
|
-
const methods2 = config.installMethods;
|
|
612
|
-
if (!methods2?.length) {
|
|
613
|
-
onStatus(`No auto-install method available for ${config.indexerBinary}.`);
|
|
614
|
-
if (config.installUrl) {
|
|
615
|
-
onStatus(`Install manually from: ${config.installUrl}`);
|
|
616
|
-
}
|
|
617
|
-
return false;
|
|
618
|
-
}
|
|
619
|
-
for (const method of methods2) {
|
|
620
|
-
if (!isBinaryAvailable(method.prerequisite)) {
|
|
621
|
-
continue;
|
|
622
|
-
}
|
|
623
|
-
onStatus(`Installing ${config.indexerBinary} via ${method.label}...`);
|
|
624
|
-
try {
|
|
625
|
-
execFileSync(method.binary, method.args, {
|
|
626
|
-
stdio: "inherit",
|
|
627
|
-
timeout: 3e5,
|
|
628
|
-
env: process.env
|
|
629
|
-
});
|
|
630
|
-
if (isIndexerInstalled(config)) {
|
|
631
|
-
onStatus(`Successfully installed ${config.indexerBinary} via ${method.label}`);
|
|
632
|
-
return true;
|
|
633
|
-
}
|
|
634
|
-
onStatus(`${method.label} command completed but ${config.indexerBinary} not found on PATH`);
|
|
635
|
-
} catch (err) {
|
|
636
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
637
|
-
onStatus(`${method.label} install failed: ${msg}`);
|
|
638
|
-
}
|
|
639
|
-
}
|
|
640
|
-
onStatus(`Could not auto-install ${config.indexerBinary}.`);
|
|
641
|
-
if (config.installUrl) {
|
|
642
|
-
onStatus(`Install manually from: ${config.installUrl}`);
|
|
643
|
-
}
|
|
644
|
-
return false;
|
|
645
|
-
}
|
|
646
|
-
function tryInstallScipCli(onStatus) {
|
|
647
|
-
if (platform() === "darwin" && isBinaryAvailable("brew")) {
|
|
648
|
-
onStatus("Installing scip CLI via Homebrew...");
|
|
649
|
-
try {
|
|
650
|
-
execFileSync("brew", ["install", "sourcegraph/scip/scip"], {
|
|
651
|
-
stdio: "inherit",
|
|
652
|
-
timeout: 3e5,
|
|
653
|
-
env: process.env
|
|
654
|
-
});
|
|
655
|
-
if (isBinaryAvailable("scip")) {
|
|
656
|
-
onStatus("Successfully installed scip CLI via Homebrew");
|
|
657
|
-
return true;
|
|
658
|
-
}
|
|
659
|
-
} catch (err) {
|
|
660
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
661
|
-
onStatus(`Homebrew install failed: ${msg}`);
|
|
662
|
-
}
|
|
663
|
-
}
|
|
664
|
-
if (isBinaryAvailable("go")) {
|
|
665
|
-
onStatus("Installing scip CLI via go install...");
|
|
666
|
-
try {
|
|
667
|
-
execFileSync("go", ["install", "github.com/sourcegraph/scip/cmd/scip@latest"], {
|
|
668
|
-
stdio: "inherit",
|
|
669
|
-
timeout: 3e5,
|
|
670
|
-
env: process.env
|
|
671
|
-
});
|
|
672
|
-
if (isBinaryAvailable("scip")) {
|
|
673
|
-
onStatus("Successfully installed scip CLI via go install");
|
|
674
|
-
return true;
|
|
675
|
-
}
|
|
676
|
-
} catch (err) {
|
|
677
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
678
|
-
onStatus(`go install failed: ${msg}`);
|
|
679
|
-
}
|
|
680
|
-
}
|
|
681
|
-
onStatus("Could not auto-install scip CLI.");
|
|
682
|
-
onStatus("Install manually from: https://github.com/sourcegraph/scip/releases");
|
|
683
|
-
return false;
|
|
684
|
-
}
|
|
685
|
-
|
|
686
782
|
// src/reindex/index.ts
|
|
687
783
|
async function reindex(opts) {
|
|
688
784
|
const {
|
|
@@ -720,29 +816,38 @@ async function reindex(opts) {
|
|
|
720
816
|
};
|
|
721
817
|
for (const lang of languages) {
|
|
722
818
|
const config = getIndexerConfig(lang);
|
|
819
|
+
const binaryLabel = describeIndexerBinary(config);
|
|
723
820
|
if (!isIndexerInstalled(config)) {
|
|
724
821
|
if (skipAutoInstall) {
|
|
725
822
|
throw new Error(
|
|
726
|
-
`${
|
|
727
|
-
` + (config.installUrl ? `Install from: ${config.installUrl}` : `Make sure ${
|
|
823
|
+
`${binaryLabel} is required to index ${lang} but not found on PATH.
|
|
824
|
+
` + (config.installUrl ? `Install from: ${config.installUrl}` : `Make sure ${binaryLabel} is installed and available on PATH.`)
|
|
728
825
|
);
|
|
729
826
|
}
|
|
730
|
-
onStatus(`${
|
|
827
|
+
onStatus(`${binaryLabel} not found. Attempting auto-install...`);
|
|
731
828
|
if (!tryInstallIndexer(config, onStatus)) {
|
|
732
829
|
throw new Error(
|
|
733
|
-
`${
|
|
734
|
-
` + (config.installUrl ? `Install manually from: ${config.installUrl}` : `Make sure ${
|
|
830
|
+
`${binaryLabel} is required to index ${lang} but could not be installed.
|
|
831
|
+
` + (config.installUrl ? `Install manually from: ${config.installUrl}` : `Make sure ${binaryLabel} is installed and available on PATH.`)
|
|
735
832
|
);
|
|
736
833
|
}
|
|
737
834
|
}
|
|
738
|
-
|
|
835
|
+
const resolvedBinary = resolveIndexerBinary(config);
|
|
836
|
+
if (!resolvedBinary) {
|
|
837
|
+
throw new Error(
|
|
838
|
+
`${binaryLabel} is required to index ${lang} but was not found on PATH after installation checks.
|
|
839
|
+
` + (config.installUrl ? `Install manually from: ${config.installUrl}` : `Make sure ${binaryLabel} is installed and available on PATH.`)
|
|
840
|
+
);
|
|
841
|
+
}
|
|
842
|
+
onStatus(`Indexing ${lang} with ${resolvedBinary}...`);
|
|
739
843
|
const { binary, args } = config.indexArgs({
|
|
740
844
|
projectRoot,
|
|
741
845
|
outputPath: outputScip,
|
|
742
|
-
pnpmWorkspaces: opts.pnpmWorkspaces
|
|
846
|
+
pnpmWorkspaces: opts.pnpmWorkspaces,
|
|
847
|
+
indexerBinary: resolvedBinary
|
|
743
848
|
});
|
|
744
849
|
try {
|
|
745
|
-
|
|
850
|
+
execFileSync3(binary, args, {
|
|
746
851
|
cwd: projectRoot,
|
|
747
852
|
env,
|
|
748
853
|
stdio: "pipe",
|
|
@@ -751,8 +856,8 @@ async function reindex(opts) {
|
|
|
751
856
|
} catch (err) {
|
|
752
857
|
const msg = err instanceof Error ? err.message : String(err);
|
|
753
858
|
throw new Error(
|
|
754
|
-
`Failed to index ${lang} with ${
|
|
755
|
-
Make sure ${
|
|
859
|
+
`Failed to index ${lang} with ${resolvedBinary}: ${msg}
|
|
860
|
+
Make sure ${binaryLabel} is installed and available on PATH.`
|
|
756
861
|
);
|
|
757
862
|
}
|
|
758
863
|
}
|
|
@@ -761,7 +866,7 @@ Make sure ${config.indexerBinary} is installed and available on PATH.`
|
|
|
761
866
|
throw new Error(`SCIP index not found at ${outputScip} after indexing`);
|
|
762
867
|
}
|
|
763
868
|
try {
|
|
764
|
-
|
|
869
|
+
execFileSync3("scip", ["expt-convert", "--output", outputDb, outputScip], {
|
|
765
870
|
env,
|
|
766
871
|
stdio: "pipe",
|
|
767
872
|
maxBuffer: 50 * 1024 * 1024
|
|
@@ -1061,12 +1166,10 @@ import {
|
|
|
1061
1166
|
unlinkSync
|
|
1062
1167
|
} from "fs";
|
|
1063
1168
|
import { join as join6, dirname as dirname2, resolve as resolve2 } from "path";
|
|
1064
|
-
import { homedir as homedir2, platform as
|
|
1065
|
-
import { execFileSync as execFileSync3 } from "child_process";
|
|
1169
|
+
import { homedir as homedir2, platform as platform3 } from "os";
|
|
1066
1170
|
import { fileURLToPath } from "url";
|
|
1067
|
-
var
|
|
1171
|
+
var IS_WINDOWS3 = platform3() === "win32";
|
|
1068
1172
|
var SKILLS = ["concrete-plan", "scip-explore", "scip-debloat", "scip-verify"];
|
|
1069
|
-
var SCIP_VERSION = "v0.7.0";
|
|
1070
1173
|
function installSkills(opts = {}) {
|
|
1071
1174
|
const log = opts.quiet ? () => {
|
|
1072
1175
|
} : console.log;
|
|
@@ -1110,85 +1213,13 @@ function installSkills(opts = {}) {
|
|
|
1110
1213
|
}
|
|
1111
1214
|
unlinkSync(target);
|
|
1112
1215
|
}
|
|
1113
|
-
symlinkSync(source, target,
|
|
1216
|
+
symlinkSync(source, target, IS_WINDOWS3 ? "junction" : "dir");
|
|
1114
1217
|
result.installed.push(`${toolName}/${skill}`);
|
|
1115
1218
|
log(` done: ${skill} \u2192 ${toolName}`);
|
|
1116
1219
|
}
|
|
1117
1220
|
}
|
|
1118
1221
|
return result;
|
|
1119
1222
|
}
|
|
1120
|
-
function isScipInstalled() {
|
|
1121
|
-
try {
|
|
1122
|
-
const cmd = IS_WINDOWS2 ? "where" : "which";
|
|
1123
|
-
execFileSync3(cmd, ["scip"], { stdio: "pipe" });
|
|
1124
|
-
return true;
|
|
1125
|
-
} catch {
|
|
1126
|
-
return false;
|
|
1127
|
-
}
|
|
1128
|
-
}
|
|
1129
|
-
function getScipVersion() {
|
|
1130
|
-
try {
|
|
1131
|
-
const output = execFileSync3("scip", ["--version"], { stdio: "pipe" }).toString().trim();
|
|
1132
|
-
return output;
|
|
1133
|
-
} catch {
|
|
1134
|
-
return null;
|
|
1135
|
-
}
|
|
1136
|
-
}
|
|
1137
|
-
function getScipDownloadUrl() {
|
|
1138
|
-
const os = platform2();
|
|
1139
|
-
const cpu = arch();
|
|
1140
|
-
let osName;
|
|
1141
|
-
let archName;
|
|
1142
|
-
let ext;
|
|
1143
|
-
switch (os) {
|
|
1144
|
-
case "darwin":
|
|
1145
|
-
osName = "darwin";
|
|
1146
|
-
ext = "tar.gz";
|
|
1147
|
-
break;
|
|
1148
|
-
case "linux":
|
|
1149
|
-
osName = "linux";
|
|
1150
|
-
ext = "tar.gz";
|
|
1151
|
-
break;
|
|
1152
|
-
case "win32":
|
|
1153
|
-
osName = "windows";
|
|
1154
|
-
ext = "zip";
|
|
1155
|
-
break;
|
|
1156
|
-
default:
|
|
1157
|
-
return null;
|
|
1158
|
-
}
|
|
1159
|
-
switch (cpu) {
|
|
1160
|
-
case "arm64":
|
|
1161
|
-
archName = "arm64";
|
|
1162
|
-
break;
|
|
1163
|
-
case "x64":
|
|
1164
|
-
archName = "amd64";
|
|
1165
|
-
break;
|
|
1166
|
-
default:
|
|
1167
|
-
return null;
|
|
1168
|
-
}
|
|
1169
|
-
const filename = `scip-${osName}-${archName}.${ext}`;
|
|
1170
|
-
const url = `https://github.com/sourcegraph/scip/releases/download/${SCIP_VERSION}/${filename}`;
|
|
1171
|
-
return { url, filename };
|
|
1172
|
-
}
|
|
1173
|
-
function printScipInstallInstructions() {
|
|
1174
|
-
const download = getScipDownloadUrl();
|
|
1175
|
-
console.log("\nThe `scip` CLI is required but not found on PATH.\n");
|
|
1176
|
-
if (platform2() === "darwin") {
|
|
1177
|
-
console.log("Install via Homebrew:");
|
|
1178
|
-
console.log(" brew install sourcegraph/scip/scip\n");
|
|
1179
|
-
console.log("Or download manually:");
|
|
1180
|
-
} else {
|
|
1181
|
-
console.log("Download from:");
|
|
1182
|
-
}
|
|
1183
|
-
if (download) {
|
|
1184
|
-
console.log(` ${download.url}
|
|
1185
|
-
`);
|
|
1186
|
-
} else {
|
|
1187
|
-
console.log(` https://github.com/sourcegraph/scip/releases/tag/${SCIP_VERSION}
|
|
1188
|
-
`);
|
|
1189
|
-
}
|
|
1190
|
-
console.log("After installing, ensure `scip` is on your PATH and run `scip-query reindex`.");
|
|
1191
|
-
}
|
|
1192
1223
|
export {
|
|
1193
1224
|
INDEXER_CONFIGS,
|
|
1194
1225
|
ScipDatabase,
|
|
@@ -1257,8 +1288,6 @@ export {
|
|
|
1257
1288
|
surface,
|
|
1258
1289
|
symbols,
|
|
1259
1290
|
system,
|
|
1260
|
-
testCoverage,
|
|
1261
|
-
testCoverageSummary,
|
|
1262
1291
|
topCoupling,
|
|
1263
1292
|
topFanIn,
|
|
1264
1293
|
topFanOut,
|