sourceverity 1.0.1 → 1.0.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.
- package/dist/analysis/controlFlow.d.ts +5 -0
- package/dist/analysis/controlFlow.d.ts.map +1 -1
- package/dist/analysis/controlFlow.js +2388 -74
- package/dist/analysis/controlFlow.js.map +1 -1
- package/dist/analysis/frameworks.d.ts.map +1 -1
- package/dist/analysis/frameworks.js +136 -12
- package/dist/analysis/frameworks.js.map +1 -1
- package/dist/analysis/functions.d.ts.map +1 -1
- package/dist/analysis/functions.js +95 -19
- package/dist/analysis/functions.js.map +1 -1
- package/dist/analysis/promiseFlow.d.ts.map +1 -1
- package/dist/analysis/promiseFlow.js +85 -11
- package/dist/analysis/promiseFlow.js.map +1 -1
- package/dist/baseline/manager.js +1 -1
- package/dist/baseline/manager.js.map +1 -1
- package/dist/baseline/types.d.ts +1 -1
- package/dist/baseline/types.d.ts.map +1 -1
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +4 -2
- package/dist/cli/main.js.map +1 -1
- package/dist/core/paths.d.ts +0 -4
- package/dist/core/paths.d.ts.map +1 -1
- package/dist/core/paths.js +0 -6
- package/dist/core/paths.js.map +1 -1
- package/dist/core/version.d.ts +9 -0
- package/dist/core/version.d.ts.map +1 -0
- package/dist/core/version.js +51 -0
- package/dist/core/version.js.map +1 -0
- package/dist/engine/runner.d.ts +6 -1
- package/dist/engine/runner.d.ts.map +1 -1
- package/dist/engine/runner.js +37 -20
- package/dist/engine/runner.js.map +1 -1
- package/dist/engine/symbols.d.ts +17 -4
- package/dist/engine/symbols.d.ts.map +1 -1
- package/dist/engine/symbols.js +267 -34
- package/dist/engine/symbols.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/reporters/agent.d.ts +1 -1
- package/dist/reporters/agent.d.ts.map +1 -1
- package/dist/reporters/agent.js +2 -1
- package/dist/reporters/agent.js.map +1 -1
- package/dist/reporters/sarif.d.ts +2 -0
- package/dist/reporters/sarif.d.ts.map +1 -1
- package/dist/reporters/sarif.js +38 -8
- package/dist/reporters/sarif.js.map +1 -1
- package/dist/reporters/terminal.d.ts.map +1 -1
- package/dist/reporters/terminal.js +2 -1
- package/dist/reporters/terminal.js.map +1 -1
- package/dist/rules/async/floatingPromise.d.ts.map +1 -1
- package/dist/rules/async/floatingPromise.js +4 -2
- package/dist/rules/async/floatingPromise.js.map +1 -1
- package/dist/rules/browser/eventListenerCleanup.d.ts.map +1 -1
- package/dist/rules/browser/eventListenerCleanup.js +2 -9
- package/dist/rules/browser/eventListenerCleanup.js.map +1 -1
- package/dist/rules/browser/observerCleanup.d.ts.map +1 -1
- package/dist/rules/browser/observerCleanup.js +2 -9
- package/dist/rules/browser/observerCleanup.js.map +1 -1
- package/dist/rules/browser/timerCleanup.d.ts.map +1 -1
- package/dist/rules/browser/timerCleanup.js +194 -27
- package/dist/rules/browser/timerCleanup.js.map +1 -1
- package/dist/rules/network/fetchStatusUnchecked.d.ts.map +1 -1
- package/dist/rules/network/fetchStatusUnchecked.js +245 -46
- package/dist/rules/network/fetchStatusUnchecked.js.map +1 -1
- package/dist/rules/react/asyncEffectCallback.d.ts.map +1 -1
- package/dist/rules/react/asyncEffectCallback.js +2 -9
- package/dist/rules/react/asyncEffectCallback.js.map +1 -1
- package/dist/rules/react/derivedStateEffect.d.ts.map +1 -1
- package/dist/rules/react/derivedStateEffect.js +2 -9
- package/dist/rules/react/derivedStateEffect.js.map +1 -1
- package/dist/rules/react/missingEffectCleanup.d.ts.map +1 -1
- package/dist/rules/react/missingEffectCleanup.js +102 -10
- package/dist/rules/react/missingEffectCleanup.js.map +1 -1
- package/dist/rules/typescript/uncheckedIndexAccess.d.ts.map +1 -1
- package/dist/rules/typescript/uncheckedIndexAccess.js +55 -0
- package/dist/rules/typescript/uncheckedIndexAccess.js.map +1 -1
- package/dist/rules/typescript/unsafeUnvalidatedAssertion.d.ts.map +1 -1
- package/dist/rules/typescript/unsafeUnvalidatedAssertion.js +58 -21
- package/dist/rules/typescript/unsafeUnvalidatedAssertion.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { isPromiseLike } from "../engine/symbols.js";
|
|
1
|
+
import { isPromiseLike, resolveReactHook } from "../engine/symbols.js";
|
|
2
2
|
import { unwrapExpression } from "./values.js";
|
|
3
|
+
import { evaluateFrameworkPromiseCall } from "./frameworks.js";
|
|
3
4
|
/**
|
|
4
5
|
* Context for managing function summary analysis, caching, and recursion cycle detection.
|
|
5
6
|
*/
|
|
@@ -37,18 +38,47 @@ export class FunctionSummaryContext {
|
|
|
37
38
|
}
|
|
38
39
|
}
|
|
39
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Evaluates whether an await expression is awaiting a verified non-rejecting framework API or handled local function.
|
|
43
|
+
*/
|
|
44
|
+
function isAwaitProvenNonRejecting(awaitNode, context) {
|
|
45
|
+
if (!context || !context.checker)
|
|
46
|
+
return false;
|
|
47
|
+
const { ts, checker } = context;
|
|
48
|
+
const unwrapped = unwrapExpression(awaitNode.expression, ts);
|
|
49
|
+
if (ts.isCallExpression(unwrapped)) {
|
|
50
|
+
const fw = evaluateFrameworkPromiseCall(unwrapped, ts, checker);
|
|
51
|
+
if (fw.isHandled && !fw.isKnownRejecting) {
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
const localDecl = resolveLocalOrProjectFunctionDeclaration(unwrapped, ts, checker);
|
|
55
|
+
if (localDecl) {
|
|
56
|
+
const summary = context.getSummary(localDecl);
|
|
57
|
+
if (summary.promiseBehavior === "handles-known-rejections") {
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
40
64
|
/**
|
|
41
65
|
* Checks if an expression contains an await or throw operation.
|
|
42
66
|
*/
|
|
43
|
-
function containsAwaitOrThrow(node, ts) {
|
|
67
|
+
function containsAwaitOrThrow(node, ts, context) {
|
|
44
68
|
let found = false;
|
|
45
69
|
function walk(n) {
|
|
46
70
|
if (found)
|
|
47
71
|
return;
|
|
48
|
-
if (ts.
|
|
72
|
+
if (ts.isThrowStatement(n)) {
|
|
49
73
|
found = true;
|
|
50
74
|
return;
|
|
51
75
|
}
|
|
76
|
+
if (ts.isAwaitExpression(n)) {
|
|
77
|
+
if (!isAwaitProvenNonRejecting(n, context)) {
|
|
78
|
+
found = true;
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
52
82
|
// Do not descend into nested function boundaries
|
|
53
83
|
if (n !== node &&
|
|
54
84
|
(ts.isFunctionDeclaration(n) ||
|
|
@@ -111,6 +141,32 @@ function isProvenNonThrowingExpression(expr, ts, checker) {
|
|
|
111
141
|
unwrapped.kind === ts.SyntaxKind.UndefinedKeyword) {
|
|
112
142
|
return true;
|
|
113
143
|
}
|
|
144
|
+
if (ts.isArrowFunction(unwrapped) || ts.isFunctionExpression(unwrapped)) {
|
|
145
|
+
return true;
|
|
146
|
+
}
|
|
147
|
+
if (ts.isArrayLiteralExpression(unwrapped)) {
|
|
148
|
+
return unwrapped.elements.every((el) => {
|
|
149
|
+
if (ts.isOmittedExpression(el))
|
|
150
|
+
return true;
|
|
151
|
+
if (ts.isSpreadElement(el))
|
|
152
|
+
return isProvenNonThrowingExpression(el.expression, ts, checker);
|
|
153
|
+
return isProvenNonThrowingExpression(el, ts, checker);
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
if (ts.isObjectLiteralExpression(unwrapped)) {
|
|
157
|
+
return unwrapped.properties.every((prop) => {
|
|
158
|
+
if (ts.isPropertyAssignment(prop) && ts.isExpression(prop.initializer)) {
|
|
159
|
+
return isProvenNonThrowingExpression(prop.initializer, ts, checker);
|
|
160
|
+
}
|
|
161
|
+
if (ts.isShorthandPropertyAssignment(prop)) {
|
|
162
|
+
return isProvenNonThrowingExpression(prop.name, ts, checker);
|
|
163
|
+
}
|
|
164
|
+
if (ts.isSpreadAssignment(prop)) {
|
|
165
|
+
return isProvenNonThrowingExpression(prop.expression, ts, checker);
|
|
166
|
+
}
|
|
167
|
+
return false;
|
|
168
|
+
});
|
|
169
|
+
}
|
|
114
170
|
if (ts.isBinaryExpression(unwrapped)) {
|
|
115
171
|
return (isProvenNonThrowingExpression(unwrapped.left, ts, checker) &&
|
|
116
172
|
isProvenNonThrowingExpression(unwrapped.right, ts, checker));
|
|
@@ -122,11 +178,16 @@ function isProvenNonThrowingExpression(expr, ts, checker) {
|
|
|
122
178
|
if (checker) {
|
|
123
179
|
try {
|
|
124
180
|
const objType = checker.getTypeAtLocation(unwrapped.expression);
|
|
125
|
-
|
|
181
|
+
const nullishOrUnknown = ts.TypeFlags.Null |
|
|
182
|
+
ts.TypeFlags.Undefined |
|
|
183
|
+
ts.TypeFlags.Void |
|
|
184
|
+
ts.TypeFlags.Any |
|
|
185
|
+
ts.TypeFlags.Unknown;
|
|
186
|
+
if ((objType.flags & nullishOrUnknown) !== 0) {
|
|
126
187
|
return false;
|
|
127
188
|
}
|
|
128
189
|
if (objType.isUnion()) {
|
|
129
|
-
const hasNullish = objType.types.some((t) => (t.flags &
|
|
190
|
+
const hasNullish = objType.types.some((t) => (t.flags & nullishOrUnknown) !== 0);
|
|
130
191
|
if (hasNullish)
|
|
131
192
|
return false;
|
|
132
193
|
}
|
|
@@ -134,11 +195,15 @@ function isProvenNonThrowingExpression(expr, ts, checker) {
|
|
|
134
195
|
catch {
|
|
135
196
|
return false;
|
|
136
197
|
}
|
|
198
|
+
return isProvenNonThrowingExpression(unwrapped.expression, ts, checker);
|
|
137
199
|
}
|
|
138
|
-
return
|
|
200
|
+
return false;
|
|
139
201
|
}
|
|
140
202
|
if (ts.isCallExpression(unwrapped)) {
|
|
141
|
-
|
|
203
|
+
if (!isKnownSafeSynchronousCall(unwrapped, ts)) {
|
|
204
|
+
return false;
|
|
205
|
+
}
|
|
206
|
+
return unwrapped.arguments.every((arg) => isProvenNonThrowingExpression(arg, ts, checker));
|
|
142
207
|
}
|
|
143
208
|
return false;
|
|
144
209
|
}
|
|
@@ -252,6 +317,9 @@ function isSafeSynchronousPreamble(stmt, ts, checker) {
|
|
|
252
317
|
if (containsAwaitOrThrow(stmt, ts)) {
|
|
253
318
|
return false;
|
|
254
319
|
}
|
|
320
|
+
if (ts.isFunctionDeclaration(stmt) || ts.isEmptyStatement(stmt)) {
|
|
321
|
+
return true;
|
|
322
|
+
}
|
|
255
323
|
if (ts.isVariableStatement(stmt)) {
|
|
256
324
|
for (const decl of stmt.declarationList.declarations) {
|
|
257
325
|
if (decl.initializer && !isProvenNonThrowingExpression(decl.initializer, ts, checker)) {
|
|
@@ -280,7 +348,7 @@ function isSafeSynchronousPreamble(stmt, ts, checker) {
|
|
|
280
348
|
/**
|
|
281
349
|
* Checks if a node contains an unhandled throw or await (not wrapped in an inner try-catch).
|
|
282
350
|
*/
|
|
283
|
-
function containsUncaughtAwaitOrThrow(node, ts) {
|
|
351
|
+
function containsUncaughtAwaitOrThrow(node, ts, context) {
|
|
284
352
|
let found = false;
|
|
285
353
|
function walk(n) {
|
|
286
354
|
if (found)
|
|
@@ -298,25 +366,27 @@ function containsUncaughtAwaitOrThrow(node, ts) {
|
|
|
298
366
|
return;
|
|
299
367
|
}
|
|
300
368
|
if (ts.isAwaitExpression(n)) {
|
|
301
|
-
|
|
302
|
-
|
|
369
|
+
if (!isAwaitProvenNonRejecting(n, context)) {
|
|
370
|
+
found = true;
|
|
371
|
+
return;
|
|
372
|
+
}
|
|
303
373
|
}
|
|
304
374
|
if (ts.isTryStatement(n)) {
|
|
305
375
|
// If try has no catch clause, its tryBlock can propagate rejections!
|
|
306
376
|
if (!n.catchClause) {
|
|
307
|
-
if (containsAwaitOrThrow(n.tryBlock, ts)) {
|
|
377
|
+
if (containsAwaitOrThrow(n.tryBlock, ts, context)) {
|
|
308
378
|
found = true;
|
|
309
379
|
return;
|
|
310
380
|
}
|
|
311
381
|
}
|
|
312
382
|
else {
|
|
313
383
|
// Has catch clause: check catch block for uncaught throw/await
|
|
314
|
-
if (containsUncaughtAwaitOrThrow(n.catchClause.block, ts)) {
|
|
384
|
+
if (containsUncaughtAwaitOrThrow(n.catchClause.block, ts, context)) {
|
|
315
385
|
found = true;
|
|
316
386
|
return;
|
|
317
387
|
}
|
|
318
388
|
}
|
|
319
|
-
if (n.finallyBlock && containsUncaughtAwaitOrThrow(n.finallyBlock, ts)) {
|
|
389
|
+
if (n.finallyBlock && containsUncaughtAwaitOrThrow(n.finallyBlock, ts, context)) {
|
|
320
390
|
found = true;
|
|
321
391
|
return;
|
|
322
392
|
}
|
|
@@ -349,23 +419,23 @@ function analyzeAsyncFunctionBody(body, context) {
|
|
|
349
419
|
if (ts.isTryStatement(stmt)) {
|
|
350
420
|
if (!stmt.catchClause) {
|
|
351
421
|
// try...finally with no catch: awaits in tryBlock propagate!
|
|
352
|
-
if (containsAwaitOrThrow(stmt.tryBlock, ts)) {
|
|
422
|
+
if (containsAwaitOrThrow(stmt.tryBlock, ts, context)) {
|
|
353
423
|
hasUncaught = true;
|
|
354
424
|
}
|
|
355
425
|
}
|
|
356
426
|
else {
|
|
357
427
|
hasTryWithCatch = true;
|
|
358
428
|
// catch block: check if it re-throws or has uncaught await
|
|
359
|
-
if (containsUncaughtAwaitOrThrow(stmt.catchClause.block, ts)) {
|
|
429
|
+
if (containsUncaughtAwaitOrThrow(stmt.catchClause.block, ts, context)) {
|
|
360
430
|
hasUncaught = true;
|
|
361
431
|
}
|
|
362
432
|
}
|
|
363
|
-
if (stmt.finallyBlock && containsUncaughtAwaitOrThrow(stmt.finallyBlock, ts)) {
|
|
433
|
+
if (stmt.finallyBlock && containsUncaughtAwaitOrThrow(stmt.finallyBlock, ts, context)) {
|
|
364
434
|
hasUncaught = true;
|
|
365
435
|
}
|
|
366
436
|
}
|
|
367
437
|
else {
|
|
368
|
-
if (containsAwaitOrThrow(stmt, ts)) {
|
|
438
|
+
if (containsAwaitOrThrow(stmt, ts, context) || !isSafeSynchronousPreamble(stmt, ts, checker)) {
|
|
369
439
|
hasUncaught = true;
|
|
370
440
|
}
|
|
371
441
|
}
|
|
@@ -497,7 +567,10 @@ function resolveFunctionFromInitializer(init, ts, checker) {
|
|
|
497
567
|
// useCallback(async () => ...)
|
|
498
568
|
if (ts.isCallExpression(unwrapped)) {
|
|
499
569
|
const callee = unwrapExpression(unwrapped.expression, ts);
|
|
500
|
-
|
|
570
|
+
const isCallback = checker
|
|
571
|
+
? resolveReactHook(unwrapped, checker, "useCallback")
|
|
572
|
+
: (ts.isIdentifier(callee) && callee.text === "useCallback");
|
|
573
|
+
if (isCallback) {
|
|
501
574
|
const cbArg = unwrapped.arguments[0];
|
|
502
575
|
if (cbArg) {
|
|
503
576
|
return resolveFunctionFromInitializer(cbArg, ts, checker);
|
|
@@ -580,7 +653,10 @@ function computeResolveLocalOrProjectFunctionDeclaration(callExpr, ts, checker)
|
|
|
580
653
|
const init = unwrapExpression(decl.initializer, ts);
|
|
581
654
|
if (ts.isCallExpression(init)) {
|
|
582
655
|
const initCallee = unwrapExpression(init.expression, ts);
|
|
583
|
-
|
|
656
|
+
const isRef = checker
|
|
657
|
+
? resolveReactHook(init, checker, "useRef")
|
|
658
|
+
: (ts.isIdentifier(initCallee) && initCallee.text === "useRef");
|
|
659
|
+
if (isRef) {
|
|
584
660
|
const refArg = init.arguments[0];
|
|
585
661
|
if (refArg) {
|
|
586
662
|
if (ts.isIdentifier(refArg)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/analysis/functions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/analysis/functions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promiseFlow.d.ts","sourceRoot":"","sources":["../../src/analysis/promiseFlow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,YAAY,CAAC;AAG1C,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,gBAAgB,CAAC;AAGxB,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;CAC1C;AAID;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,CAAC,IAAI,GAAG,SAAS,EAC7B,OAAO,EAAE,MAAM,CAAC,WAAW,EAC3B,EAAE,EAAE,OAAO,MAAM,GAChB,qBAAqB,CA6CvB;AAQD;;;;;;;;;;;;GAYG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,CAAC,UAAU,EACvB,EAAE,EAAE,OAAO,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,CAAC,WAAW,GAAG,SAAS,GACvC,OAAO,CAuCT;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,OAAO,MAAM,GAChB,OAAO,
|
|
1
|
+
{"version":3,"file":"promiseFlow.d.ts","sourceRoot":"","sources":["../../src/analysis/promiseFlow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,YAAY,CAAC;AAG1C,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,gBAAgB,CAAC;AAGxB,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;CAC1C;AAID;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,CAAC,IAAI,GAAG,SAAS,EAC7B,OAAO,EAAE,MAAM,CAAC,WAAW,EAC3B,EAAE,EAAE,OAAO,MAAM,GAChB,qBAAqB,CA6CvB;AAQD;;;;;;;;;;;;GAYG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,CAAC,UAAU,EACvB,EAAE,EAAE,OAAO,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,CAAC,WAAW,GAAG,SAAS,GACvC,OAAO,CAuCT;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,CAAC,IAAI,EACjB,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,OAAO,MAAM,GAChB,OAAO,CAqMT;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;CACtC;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,CAAC,UAAU,EACvB,EAAE,EAAE,OAAO,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,CAAC,WAAW,GAAG,SAAS,EACxC,OAAO,CAAC,EAAE,sBAAsB,GAAG,SAAS,GAC3C,wBAAwB,CA8C1B"}
|
|
@@ -124,11 +124,31 @@ export function isVariableTargetReturnedInScope(node, targetName, ts) {
|
|
|
124
124
|
return false;
|
|
125
125
|
// Set of valid return target names (includes targetName and any alias variables)
|
|
126
126
|
const validReturnNames = new Set([targetName]);
|
|
127
|
+
function scanAssignmentsInNode(n) {
|
|
128
|
+
if (ts.isBinaryExpression(n) && n.operatorToken.kind === ts.SyntaxKind.EqualsToken) {
|
|
129
|
+
const assignedLeft = unwrapExpression(n.left, ts);
|
|
130
|
+
const assignedName = ts.isIdentifier(assignedLeft)
|
|
131
|
+
? assignedLeft.text
|
|
132
|
+
: ts.isPropertyAccessExpression(assignedLeft)
|
|
133
|
+
? assignedLeft.getText()
|
|
134
|
+
: undefined;
|
|
135
|
+
if (assignedName) {
|
|
136
|
+
const rhs = unwrapExpression(n.right, ts);
|
|
137
|
+
if (ts.isIdentifier(rhs) && validReturnNames.has(rhs.text)) {
|
|
138
|
+
validReturnNames.add(assignedName);
|
|
139
|
+
}
|
|
140
|
+
else if (validReturnNames.has(assignedName)) {
|
|
141
|
+
validReturnNames.delete(assignedName);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
n.forEachChild(scanAssignmentsInNode);
|
|
146
|
+
}
|
|
127
147
|
for (let i = startIndex + 1; i < statements.length; i++) {
|
|
128
148
|
const currentStmt = statements[i];
|
|
129
149
|
if (!currentStmt)
|
|
130
150
|
continue;
|
|
131
|
-
// Check
|
|
151
|
+
// Check assignments
|
|
132
152
|
if (ts.isExpressionStatement(currentStmt)) {
|
|
133
153
|
const expr = unwrapExpression(currentStmt.expression, ts);
|
|
134
154
|
if (ts.isBinaryExpression(expr) && expr.operatorToken.kind === ts.SyntaxKind.EqualsToken) {
|
|
@@ -138,23 +158,45 @@ export function isVariableTargetReturnedInScope(node, targetName, ts) {
|
|
|
138
158
|
: ts.isPropertyAccessExpression(assignedLeft)
|
|
139
159
|
? assignedLeft.getText()
|
|
140
160
|
: undefined;
|
|
141
|
-
if (assignedName
|
|
142
|
-
|
|
143
|
-
|
|
161
|
+
if (assignedName) {
|
|
162
|
+
const rhs = unwrapExpression(expr.right, ts);
|
|
163
|
+
if (ts.isIdentifier(rhs) && validReturnNames.has(rhs.text)) {
|
|
164
|
+
validReturnNames.add(assignedName);
|
|
165
|
+
}
|
|
166
|
+
else if (validReturnNames.has(assignedName)) {
|
|
167
|
+
validReturnNames.delete(assignedName);
|
|
168
|
+
}
|
|
144
169
|
}
|
|
145
170
|
}
|
|
146
171
|
}
|
|
147
|
-
// Check for alias: const alias = targetName;
|
|
172
|
+
// Check for alias declarations: const alias = targetName;
|
|
148
173
|
if (ts.isVariableStatement(currentStmt)) {
|
|
149
174
|
for (const decl of currentStmt.declarationList.declarations) {
|
|
150
|
-
if (ts.isIdentifier(decl.name)
|
|
151
|
-
const
|
|
152
|
-
if (
|
|
153
|
-
|
|
175
|
+
if (ts.isIdentifier(decl.name)) {
|
|
176
|
+
const declName = decl.name.text;
|
|
177
|
+
if (decl.initializer) {
|
|
178
|
+
const init = unwrapExpression(decl.initializer, ts);
|
|
179
|
+
if (ts.isIdentifier(init) && validReturnNames.has(init.text)) {
|
|
180
|
+
validReturnNames.add(declName);
|
|
181
|
+
}
|
|
182
|
+
else if (validReturnNames.has(declName)) {
|
|
183
|
+
validReturnNames.delete(declName);
|
|
184
|
+
}
|
|
154
185
|
}
|
|
155
186
|
}
|
|
156
187
|
}
|
|
157
188
|
}
|
|
189
|
+
// Conditional structures that reassign aliases invalidate those aliases conservatively
|
|
190
|
+
if (ts.isIfStatement(currentStmt) ||
|
|
191
|
+
ts.isSwitchStatement(currentStmt) ||
|
|
192
|
+
ts.isTryStatement(currentStmt) ||
|
|
193
|
+
ts.isForStatement(currentStmt) ||
|
|
194
|
+
ts.isForOfStatement(currentStmt) ||
|
|
195
|
+
ts.isForInStatement(currentStmt) ||
|
|
196
|
+
ts.isWhileStatement(currentStmt) ||
|
|
197
|
+
ts.isDoStatement(currentStmt)) {
|
|
198
|
+
currentStmt.forEachChild(scanAssignmentsInNode);
|
|
199
|
+
}
|
|
158
200
|
// Check for return statement
|
|
159
201
|
if (ts.isReturnStatement(currentStmt) && currentStmt.expression) {
|
|
160
202
|
const unwrappedRet = unwrapExpression(currentStmt.expression, ts);
|
|
@@ -194,11 +236,43 @@ export function isVariableTargetReturnedInScope(node, targetName, ts) {
|
|
|
194
236
|
: ts.isPropertyAccessExpression(assignedLeft)
|
|
195
237
|
? assignedLeft.getText()
|
|
196
238
|
: undefined;
|
|
197
|
-
if (assignedName
|
|
198
|
-
|
|
239
|
+
if (assignedName) {
|
|
240
|
+
const rhs = unwrapExpression(expr.right, ts);
|
|
241
|
+
if (ts.isIdentifier(rhs) && validReturnNames.has(rhs.text)) {
|
|
242
|
+
validReturnNames.add(assignedName);
|
|
243
|
+
}
|
|
244
|
+
else if (validReturnNames.has(assignedName)) {
|
|
245
|
+
validReturnNames.delete(assignedName);
|
|
246
|
+
}
|
|
199
247
|
}
|
|
200
248
|
}
|
|
201
249
|
}
|
|
250
|
+
if (ts.isVariableStatement(outerS)) {
|
|
251
|
+
for (const decl of outerS.declarationList.declarations) {
|
|
252
|
+
if (ts.isIdentifier(decl.name)) {
|
|
253
|
+
const declName = decl.name.text;
|
|
254
|
+
if (decl.initializer) {
|
|
255
|
+
const init = unwrapExpression(decl.initializer, ts);
|
|
256
|
+
if (ts.isIdentifier(init) && validReturnNames.has(init.text)) {
|
|
257
|
+
validReturnNames.add(declName);
|
|
258
|
+
}
|
|
259
|
+
else if (validReturnNames.has(declName)) {
|
|
260
|
+
validReturnNames.delete(declName);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
if (ts.isIfStatement(outerS) ||
|
|
267
|
+
ts.isSwitchStatement(outerS) ||
|
|
268
|
+
ts.isTryStatement(outerS) ||
|
|
269
|
+
ts.isForStatement(outerS) ||
|
|
270
|
+
ts.isForOfStatement(outerS) ||
|
|
271
|
+
ts.isForInStatement(outerS) ||
|
|
272
|
+
ts.isWhileStatement(outerS) ||
|
|
273
|
+
ts.isDoStatement(outerS)) {
|
|
274
|
+
outerS.forEachChild(scanAssignmentsInNode);
|
|
275
|
+
}
|
|
202
276
|
if (ts.isReturnStatement(outerS) && outerS.expression) {
|
|
203
277
|
const unwrappedRet = unwrapExpression(outerS.expression, ts);
|
|
204
278
|
if (ts.isIdentifier(unwrappedRet) && validReturnNames.has(unwrappedRet.text)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promiseFlow.js","sourceRoot":"","sources":["../../src/analysis/promiseFlow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAM/C,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAQ/D,MAAM,oBAAoB,GAAG,IAAI,OAAO,EAAmE,CAAC;AAE5G;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAA6B,EAC7B,OAA2B,EAC3B,EAAiB;IAEjB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC;IACvF,CAAC;IAED,IAAI,YAAY,GAAG,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,YAAY,GAAG,IAAI,OAAO,EAAsC,CAAC;QACjE,oBAAoB,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QAClC,MAAM,GAAG,GAA0B,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC;QACjH,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACnB,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAC1F,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QACrE,IAAI,kBAAkB,IAAI,UAAU,EAAE,CAAC;YACrC,MAAM,GAAG,GAA0B;gBACjC,SAAS,EAAE,IAAI;gBACf,iBAAiB,EAAE,KAAK;gBACxB,sBAAsB,EAAE,IAAI;aAC7B,CAAC;YACF,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC5B,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAA0B;QACjC,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI;QACvB,sBAAsB,EAAE,KAAK;KAC9B,CAAC;IACF,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC5B,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAiB,EAAE,EAAiB;IACjE,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IACpE,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,gBAAgB;QAAE,OAAO,IAAI,CAAC;IACzG,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,4BAA4B,CAC1C,IAAuB,EACvB,EAAiB,EACjB,OAAwC;IAExC,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAE3C,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAClC,IAAI,CAAC,EAAE,CAAC,0BAA0B,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IAEpC,wCAAwC;IACxC,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC;QAC/B,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACvE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,oDAAoD;IACpD,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC;QAC/B,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACvE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,8DAA8D;IAC9D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC;QACnC,IAAI,QAAQ,IAAI,4BAA4B,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,+BAA+B,CAC7C,IAAiB,EACjB,UAAkB,EAClB,EAAiB;IAEjB,2BAA2B;IAC3B,IAAI,IAAI,GAAgB,IAAI,CAAC;IAC7B,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAChF,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;IAChC,MAAM,UAAU,GAAgC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;QACrE,CAAC,CAAC,WAAW,CAAC,UAAU;QACxB,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC;YAC5B,CAAC,CAAC,WAAW,CAAC,UAAU;YACxB,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,IAAwB,CAAC,CAAC;IAChE,IAAI,UAAU,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAEpC,iFAAiF;IACjF,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAS,CAAC,UAAU,CAAC,CAAC,CAAC;IAEvD,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxD,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,WAAW;YAAE,SAAS;QAE3B,mDAAmD;QACnD,IAAI,EAAE,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,gBAAgB,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC1D,IAAI,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;gBACzF,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACrD,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC;oBAChD,CAAC,CAAC,YAAY,CAAC,IAAI;oBACnB,CAAC,CAAC,EAAE,CAAC,0BAA0B,CAAC,YAAY,CAAC;wBAC3C,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE;wBACxB,CAAC,CAAC,SAAS,CAAC;gBAEhB,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;oBAChC,wEAAwE;oBACxE,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,IAAI,EAAE,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;YACxC,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;gBAC5D,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACnD,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;oBACpD,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC7D,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACvC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,IAAI,EAAE,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;YAChE,MAAM,YAAY,GAAG,gBAAgB,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAClE,IAAI,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7E,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,EAAE,CAAC,0BAA0B,CAAC,YAAY,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBAChG,OAAO,IAAI,CAAC;YACd,CAAC;YACD,qEAAqE;YACrE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,sFAAsF;IACtF,6DAA6D;IAC7D,IAAI,cAAc,GAAgB,WAAW,CAAC;IAC9C,OAAO,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9G,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC;IACzC,CAAC;IAED,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAC3G,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC;QACzC,MAAM,UAAU,GAAgC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;YACpE,CAAC,CAAC,UAAU,CAAC,UAAU;YACvB,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;QAE1B,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,CAAC,cAAkC,CAAC,CAAC;QAC/E,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;YAC3B,KAAK,IAAI,CAAC,GAAG,eAAe,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7D,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,CAAC,MAAM;oBAAE,SAAS;gBAEtB,IAAI,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;oBACrC,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;oBACrD,IAAI,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;wBACzF,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBACrD,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC;4BAChD,CAAC,CAAC,YAAY,CAAC,IAAI;4BACnB,CAAC,CAAC,EAAE,CAAC,0BAA0B,CAAC,YAAY,CAAC;gCAC3C,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE;gCACxB,CAAC,CAAC,SAAS,CAAC;wBAEhB,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;4BAChC,OAAO,KAAK,CAAC;wBACf,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBACtD,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;oBAC7D,IAAI,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC7E,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,IAAI,EAAE,CAAC,0BAA0B,CAAC,YAAY,CAAC,IAAI,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;wBAChG,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAQD;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,IAAuB,EACvB,EAAiB,EACjB,OAAwC,EACxC,OAA4C;IAE5C,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAE7C,4BAA4B;IAC5B,IAAI,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,uDAAuD,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;IAC1H,CAAC;IAED,6BAA6B;IAC7B,IAAI,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;IAC5E,CAAC;IAED,8FAA8F;IAC9F,IAAI,4BAA4B,CAAC,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC;QACzD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,qCAAqC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;IACvG,CAAC;IAED,kFAAkF;IAClF,8CAA8C;IAC9C,IAAI,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,aAAa,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QACnG,MAAM,IAAI,GAAG,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC;YACtC,CAAC,CAAC,IAAI,CAAC,IAAI;YACX,CAAC,CAAC,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC;gBACnC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;gBAChB,CAAC,CAAC,SAAS,CAAC;QAEhB,IAAI,UAAU,IAAI,+BAA+B,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC;YAC7E,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,0DAA0D,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;QAC5H,CAAC;IACH,CAAC;IAED,gFAAgF;IAChF,IAAI,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,MAAM,cAAc,GAAG,4BAA4B,CAAC,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QAC5E,IAAI,cAAc,CAAC,SAAS,EAAE,CAAC;YAC7B,OAAO;gBACL,UAAU,EAAE,IAAI;gBAChB,MAAM,EAAE,cAAc,CAAC,MAAM,IAAI,8BAA8B;gBAC/D,kBAAkB,EAAE,IAAI;aACzB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;AAC1D,CAAC"}
|
|
1
|
+
{"version":3,"file":"promiseFlow.js","sourceRoot":"","sources":["../../src/analysis/promiseFlow.ts"],"names":[],"mappings":"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"}
|
package/dist/baseline/manager.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/baseline/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,MAAM,CAAC,MAAM,yBAAyB,GAAG,6BAA6B,CAAC;AAEvE;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,QAA4B,EAAE,QAAgB;IAC3E,MAAM,UAAU,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEpD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;YACnC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE;gBAC5B,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC;gBACrC,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IAE3G,OAAO;QACL,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/baseline/manager.ts"],"names":[],"mappings":"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"}
|
package/dist/baseline/types.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export interface BaselineEntry {
|
|
|
8
8
|
export interface BaselineFile {
|
|
9
9
|
readonly version: 1;
|
|
10
10
|
readonly generatedAt: string;
|
|
11
|
-
readonly repositoryRoot
|
|
11
|
+
readonly repositoryRoot?: string | undefined;
|
|
12
12
|
readonly entries: readonly BaselineEntry[];
|
|
13
13
|
}
|
|
14
14
|
export interface BaselineDelta {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/baseline/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/baseline/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,EAAE,SAAS,OAAO,EAAE,CAAC;IACzC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B"}
|
package/dist/cli/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAqB3D,OAAO,mBAAmB,CAAC;AAE3B;;GAEG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CA6JvE"}
|
package/dist/cli/main.js
CHANGED
|
@@ -2,7 +2,7 @@ import path from "node:path";
|
|
|
2
2
|
import { parseCliArgs } from "./args.js";
|
|
3
3
|
import { EXIT_CODES } from "./exitCodes.js";
|
|
4
4
|
import { getHelpText } from "./help.js";
|
|
5
|
-
import { runAudit } from "../engine/runner.js";
|
|
5
|
+
import { runAudit, computeAuditSummary } from "../engine/runner.js";
|
|
6
6
|
import { globalRuleRegistry } from "../engine/registry.js";
|
|
7
7
|
import { discoverRepository } from "../repository/detector.js";
|
|
8
8
|
import { loadRepositoryTypeScript } from "../repository/tsLoader.js";
|
|
@@ -14,6 +14,7 @@ import { renderJsonReport } from "../reporters/json.js";
|
|
|
14
14
|
import { renderAgentReport } from "../reporters/agent.js";
|
|
15
15
|
import { renderSarifReport } from "../reporters/sarif.js";
|
|
16
16
|
import { createStyler } from "../core/terminal.js";
|
|
17
|
+
import { SOURCEVERITY_VERSION } from "../core/version.js";
|
|
17
18
|
import "../rules/index.js";
|
|
18
19
|
/**
|
|
19
20
|
* Main CLI execution entry point.
|
|
@@ -36,7 +37,7 @@ export async function runCli(argv) {
|
|
|
36
37
|
}
|
|
37
38
|
// 2. Version command
|
|
38
39
|
if (options.command === "version") {
|
|
39
|
-
process.stdout.write(
|
|
40
|
+
process.stdout.write(`${SOURCEVERITY_VERSION}\n`);
|
|
40
41
|
return EXIT_CODES.SUCCESS;
|
|
41
42
|
}
|
|
42
43
|
// 3. Rules listing command
|
|
@@ -115,6 +116,7 @@ export async function runCli(argv) {
|
|
|
115
116
|
effectiveResult = {
|
|
116
117
|
...result,
|
|
117
118
|
findings: delta.newFindings,
|
|
119
|
+
summary: computeAuditSummary(delta.newFindings, result.summary.filesAnalyzed, result.summary.projectsCount),
|
|
118
120
|
};
|
|
119
121
|
if (!options.quiet && options.format === "pretty") {
|
|
120
122
|
process.stdout.write(`Baseline check against '${baselineFile}': ${delta.baselineCount} baseline, ${delta.newCount} new, ${delta.resolvedCount} resolved.\n\n`);
|