driftdetect-core 0.8.2 → 0.8.3
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.
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* Call Graph Store
|
|
3
3
|
*
|
|
4
4
|
* Persistence layer for the call graph.
|
|
5
|
-
* Stores and loads call graphs from .drift/call-graph/ directory
|
|
5
|
+
* Stores and loads call graphs from .drift/call-graph/ directory (legacy)
|
|
6
|
+
* or .drift/lake/callgraph/ directory (sharded storage).
|
|
6
7
|
*/
|
|
7
8
|
import type { CallGraph, CallGraphStoreConfig, FunctionNode } from '../types.js';
|
|
8
9
|
/**
|
|
@@ -20,8 +21,19 @@ export declare class CallGraphStore {
|
|
|
20
21
|
initialize(): Promise<void>;
|
|
21
22
|
/**
|
|
22
23
|
* Load the call graph from disk
|
|
24
|
+
*
|
|
25
|
+
* Checks both legacy (.drift/call-graph/graph.json) and
|
|
26
|
+
* lake storage (.drift/lake/callgraph/) locations.
|
|
23
27
|
*/
|
|
24
28
|
load(): Promise<CallGraph | null>;
|
|
29
|
+
/**
|
|
30
|
+
* Load call graph from lake storage (sharded format)
|
|
31
|
+
*/
|
|
32
|
+
private loadFromLake;
|
|
33
|
+
/**
|
|
34
|
+
* Detect language from file extension
|
|
35
|
+
*/
|
|
36
|
+
private detectLanguage;
|
|
25
37
|
/**
|
|
26
38
|
* Save the call graph to disk
|
|
27
39
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call-graph-store.d.ts","sourceRoot":"","sources":["../../../src/call-graph/store/call-graph-store.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"call-graph-store.d.ts","sourceRoot":"","sources":["../../../src/call-graph/store/call-graph-store.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EACV,SAAS,EAET,oBAAoB,EACpB,YAAY,EACb,MAAM,aAAa,CAAC;AAsCrB;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,KAAK,CAA0B;gBAE3B,MAAM,EAAE,oBAAoB;IAMxC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC;;;;;OAKG;IACG,IAAI,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IA2BvC;;OAEG;YACW,YAAY;IAgI1B;;OAEG;IACH,OAAO,CAAC,cAAc;IAuBtB;;OAEG;IACG,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAa3C;;OAEG;IACH,QAAQ,IAAI,SAAS,GAAG,IAAI;IAI5B;;OAEG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIjD;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE;IAYhD;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAmBlE;;OAEG;IACG,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlE;;OAEG;IACG,qBAAqB,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAe9D;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAWjC;;OAEG;IACH,OAAO,CAAC,SAAS;IAiBjB;;OAEG;IACH,OAAO,CAAC,WAAW;CAgBpB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,GAAG,cAAc,CAEjF"}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* Call Graph Store
|
|
3
3
|
*
|
|
4
4
|
* Persistence layer for the call graph.
|
|
5
|
-
* Stores and loads call graphs from .drift/call-graph/ directory
|
|
5
|
+
* Stores and loads call graphs from .drift/call-graph/ directory (legacy)
|
|
6
|
+
* or .drift/lake/callgraph/ directory (sharded storage).
|
|
6
7
|
*/
|
|
7
8
|
import * as fs from 'node:fs/promises';
|
|
8
9
|
import * as path from 'node:path';
|
|
@@ -13,6 +14,11 @@ const DRIFT_DIR = '.drift';
|
|
|
13
14
|
const CALL_GRAPH_DIR = 'call-graph';
|
|
14
15
|
const GRAPH_FILE = 'graph.json';
|
|
15
16
|
const REACHABILITY_CACHE_DIR = 'reachability-cache';
|
|
17
|
+
// Lake storage paths (new sharded format)
|
|
18
|
+
const LAKE_DIR = 'lake';
|
|
19
|
+
const LAKE_CALLGRAPH_DIR = 'callgraph';
|
|
20
|
+
const LAKE_INDEX_FILE = 'index.json';
|
|
21
|
+
const LAKE_FILES_DIR = 'files';
|
|
16
22
|
// ============================================================================
|
|
17
23
|
// Helper Functions
|
|
18
24
|
// ============================================================================
|
|
@@ -54,8 +60,18 @@ export class CallGraphStore {
|
|
|
54
60
|
}
|
|
55
61
|
/**
|
|
56
62
|
* Load the call graph from disk
|
|
63
|
+
*
|
|
64
|
+
* Checks both legacy (.drift/call-graph/graph.json) and
|
|
65
|
+
* lake storage (.drift/lake/callgraph/) locations.
|
|
57
66
|
*/
|
|
58
67
|
async load() {
|
|
68
|
+
// First, try lake storage (new sharded format)
|
|
69
|
+
const lakeGraph = await this.loadFromLake();
|
|
70
|
+
if (lakeGraph) {
|
|
71
|
+
this.graph = lakeGraph;
|
|
72
|
+
return this.graph;
|
|
73
|
+
}
|
|
74
|
+
// Fall back to legacy storage
|
|
59
75
|
const filePath = path.join(this.callGraphDir, GRAPH_FILE);
|
|
60
76
|
if (!(await fileExists(filePath))) {
|
|
61
77
|
this.graph = null;
|
|
@@ -72,6 +88,153 @@ export class CallGraphStore {
|
|
|
72
88
|
return null;
|
|
73
89
|
}
|
|
74
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* Load call graph from lake storage (sharded format)
|
|
93
|
+
*/
|
|
94
|
+
async loadFromLake() {
|
|
95
|
+
const lakeDir = path.join(this.config.rootDir, DRIFT_DIR, LAKE_DIR, LAKE_CALLGRAPH_DIR);
|
|
96
|
+
const indexPath = path.join(lakeDir, LAKE_INDEX_FILE);
|
|
97
|
+
const filesDir = path.join(lakeDir, LAKE_FILES_DIR);
|
|
98
|
+
// Check if lake index exists
|
|
99
|
+
if (!(await fileExists(indexPath))) {
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
try {
|
|
103
|
+
// Load the index
|
|
104
|
+
const indexContent = await fs.readFile(indexPath, 'utf-8');
|
|
105
|
+
const index = JSON.parse(indexContent);
|
|
106
|
+
// Load all file shards and reconstruct the graph
|
|
107
|
+
const functions = new Map();
|
|
108
|
+
const entryPoints = [];
|
|
109
|
+
const dataAccessors = [];
|
|
110
|
+
// Check if files directory exists
|
|
111
|
+
if (await fileExists(filesDir)) {
|
|
112
|
+
const shardFiles = await fs.readdir(filesDir);
|
|
113
|
+
for (const shardFile of shardFiles) {
|
|
114
|
+
if (!shardFile.endsWith('.json'))
|
|
115
|
+
continue;
|
|
116
|
+
try {
|
|
117
|
+
const shardPath = path.join(filesDir, shardFile);
|
|
118
|
+
const shardContent = await fs.readFile(shardPath, 'utf-8');
|
|
119
|
+
const shard = JSON.parse(shardContent);
|
|
120
|
+
// Convert shard functions to FunctionNode format
|
|
121
|
+
for (const fn of shard.functions ?? []) {
|
|
122
|
+
const funcNode = {
|
|
123
|
+
id: fn.id,
|
|
124
|
+
name: fn.name,
|
|
125
|
+
qualifiedName: fn.name,
|
|
126
|
+
file: shard.file,
|
|
127
|
+
startLine: fn.startLine,
|
|
128
|
+
endLine: fn.endLine,
|
|
129
|
+
language: this.detectLanguage(shard.file),
|
|
130
|
+
isExported: fn.isEntryPoint,
|
|
131
|
+
isConstructor: false,
|
|
132
|
+
isAsync: false,
|
|
133
|
+
decorators: [],
|
|
134
|
+
parameters: [],
|
|
135
|
+
calls: fn.calls?.map((calleeName) => ({
|
|
136
|
+
calleeName,
|
|
137
|
+
calleeId: null,
|
|
138
|
+
callerId: fn.id,
|
|
139
|
+
line: fn.startLine,
|
|
140
|
+
column: 0,
|
|
141
|
+
resolved: false,
|
|
142
|
+
confidence: 0.5,
|
|
143
|
+
})) ?? [],
|
|
144
|
+
calledBy: fn.calledBy?.map((callerId) => ({
|
|
145
|
+
callerId,
|
|
146
|
+
calleeId: fn.id,
|
|
147
|
+
calleeName: fn.name,
|
|
148
|
+
line: 0,
|
|
149
|
+
column: 0,
|
|
150
|
+
resolved: true,
|
|
151
|
+
confidence: 1.0,
|
|
152
|
+
})) ?? [],
|
|
153
|
+
dataAccess: fn.dataAccess?.map((da) => ({
|
|
154
|
+
id: `${fn.id}:${da.line}`,
|
|
155
|
+
file: shard.file,
|
|
156
|
+
table: da.table,
|
|
157
|
+
operation: da.operation,
|
|
158
|
+
fields: da.fields ?? [],
|
|
159
|
+
line: da.line,
|
|
160
|
+
column: 0,
|
|
161
|
+
context: fn.name,
|
|
162
|
+
confidence: 1.0,
|
|
163
|
+
isRawSql: false,
|
|
164
|
+
})) ?? [],
|
|
165
|
+
};
|
|
166
|
+
functions.set(fn.id, funcNode);
|
|
167
|
+
if (fn.isEntryPoint) {
|
|
168
|
+
entryPoints.push(fn.id);
|
|
169
|
+
}
|
|
170
|
+
if (fn.isDataAccessor) {
|
|
171
|
+
dataAccessors.push(fn.id);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
catch {
|
|
176
|
+
// Skip invalid shard files
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
// Construct the CallGraph
|
|
181
|
+
const graph = {
|
|
182
|
+
version: index.version ?? '1.0.0',
|
|
183
|
+
generatedAt: index.generatedAt ?? new Date().toISOString(),
|
|
184
|
+
projectRoot: this.config.rootDir,
|
|
185
|
+
functions,
|
|
186
|
+
entryPoints,
|
|
187
|
+
dataAccessors,
|
|
188
|
+
stats: {
|
|
189
|
+
totalFunctions: index.summary?.totalFunctions ?? functions.size,
|
|
190
|
+
totalCallSites: index.summary?.totalCalls ?? 0,
|
|
191
|
+
resolvedCallSites: 0,
|
|
192
|
+
unresolvedCallSites: 0,
|
|
193
|
+
totalDataAccessors: index.summary?.dataAccessors ?? dataAccessors.length,
|
|
194
|
+
byLanguage: {
|
|
195
|
+
python: 0,
|
|
196
|
+
typescript: 0,
|
|
197
|
+
javascript: 0,
|
|
198
|
+
java: 0,
|
|
199
|
+
csharp: 0,
|
|
200
|
+
php: 0,
|
|
201
|
+
go: 0,
|
|
202
|
+
rust: 0,
|
|
203
|
+
cpp: 0,
|
|
204
|
+
},
|
|
205
|
+
},
|
|
206
|
+
};
|
|
207
|
+
return graph;
|
|
208
|
+
}
|
|
209
|
+
catch {
|
|
210
|
+
return null;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Detect language from file extension
|
|
215
|
+
*/
|
|
216
|
+
detectLanguage(file) {
|
|
217
|
+
const ext = path.extname(file).toLowerCase();
|
|
218
|
+
switch (ext) {
|
|
219
|
+
case '.py': return 'python';
|
|
220
|
+
case '.ts':
|
|
221
|
+
case '.tsx': return 'typescript';
|
|
222
|
+
case '.js':
|
|
223
|
+
case '.jsx': return 'javascript';
|
|
224
|
+
case '.java': return 'java';
|
|
225
|
+
case '.cs': return 'csharp';
|
|
226
|
+
case '.php': return 'php';
|
|
227
|
+
case '.go': return 'go';
|
|
228
|
+
case '.rs': return 'rust';
|
|
229
|
+
case '.cpp':
|
|
230
|
+
case '.cc':
|
|
231
|
+
case '.cxx':
|
|
232
|
+
case '.c':
|
|
233
|
+
case '.h':
|
|
234
|
+
case '.hpp': return 'cpp';
|
|
235
|
+
default: return 'typescript';
|
|
236
|
+
}
|
|
237
|
+
}
|
|
75
238
|
/**
|
|
76
239
|
* Save the call graph to disk
|
|
77
240
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call-graph-store.js","sourceRoot":"","sources":["../../../src/call-graph/store/call-graph-store.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"call-graph-store.js","sourceRoot":"","sources":["../../../src/call-graph/store/call-graph-store.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "driftdetect-core",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.3",
|
|
4
4
|
"description": "Core engine for Drift - multi-language pattern detection, call graph analysis, and security boundary tracking. Supports TypeScript, Python, C#, Java, PHP.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|