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.
Files changed (82) hide show
  1. package/dist/analysis/controlFlow.d.ts +5 -0
  2. package/dist/analysis/controlFlow.d.ts.map +1 -1
  3. package/dist/analysis/controlFlow.js +2388 -74
  4. package/dist/analysis/controlFlow.js.map +1 -1
  5. package/dist/analysis/frameworks.d.ts.map +1 -1
  6. package/dist/analysis/frameworks.js +136 -12
  7. package/dist/analysis/frameworks.js.map +1 -1
  8. package/dist/analysis/functions.d.ts.map +1 -1
  9. package/dist/analysis/functions.js +95 -19
  10. package/dist/analysis/functions.js.map +1 -1
  11. package/dist/analysis/promiseFlow.d.ts.map +1 -1
  12. package/dist/analysis/promiseFlow.js +85 -11
  13. package/dist/analysis/promiseFlow.js.map +1 -1
  14. package/dist/baseline/manager.js +1 -1
  15. package/dist/baseline/manager.js.map +1 -1
  16. package/dist/baseline/types.d.ts +1 -1
  17. package/dist/baseline/types.d.ts.map +1 -1
  18. package/dist/cli/main.d.ts.map +1 -1
  19. package/dist/cli/main.js +4 -2
  20. package/dist/cli/main.js.map +1 -1
  21. package/dist/core/paths.d.ts +0 -4
  22. package/dist/core/paths.d.ts.map +1 -1
  23. package/dist/core/paths.js +0 -6
  24. package/dist/core/paths.js.map +1 -1
  25. package/dist/core/version.d.ts +9 -0
  26. package/dist/core/version.d.ts.map +1 -0
  27. package/dist/core/version.js +51 -0
  28. package/dist/core/version.js.map +1 -0
  29. package/dist/engine/runner.d.ts +6 -1
  30. package/dist/engine/runner.d.ts.map +1 -1
  31. package/dist/engine/runner.js +37 -20
  32. package/dist/engine/runner.js.map +1 -1
  33. package/dist/engine/symbols.d.ts +17 -4
  34. package/dist/engine/symbols.d.ts.map +1 -1
  35. package/dist/engine/symbols.js +267 -34
  36. package/dist/engine/symbols.js.map +1 -1
  37. package/dist/index.d.ts +1 -0
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +1 -0
  40. package/dist/index.js.map +1 -1
  41. package/dist/reporters/agent.d.ts +1 -1
  42. package/dist/reporters/agent.d.ts.map +1 -1
  43. package/dist/reporters/agent.js +2 -1
  44. package/dist/reporters/agent.js.map +1 -1
  45. package/dist/reporters/sarif.d.ts +2 -0
  46. package/dist/reporters/sarif.d.ts.map +1 -1
  47. package/dist/reporters/sarif.js +38 -8
  48. package/dist/reporters/sarif.js.map +1 -1
  49. package/dist/reporters/terminal.d.ts.map +1 -1
  50. package/dist/reporters/terminal.js +2 -1
  51. package/dist/reporters/terminal.js.map +1 -1
  52. package/dist/rules/async/floatingPromise.d.ts.map +1 -1
  53. package/dist/rules/async/floatingPromise.js +4 -2
  54. package/dist/rules/async/floatingPromise.js.map +1 -1
  55. package/dist/rules/browser/eventListenerCleanup.d.ts.map +1 -1
  56. package/dist/rules/browser/eventListenerCleanup.js +2 -9
  57. package/dist/rules/browser/eventListenerCleanup.js.map +1 -1
  58. package/dist/rules/browser/observerCleanup.d.ts.map +1 -1
  59. package/dist/rules/browser/observerCleanup.js +2 -9
  60. package/dist/rules/browser/observerCleanup.js.map +1 -1
  61. package/dist/rules/browser/timerCleanup.d.ts.map +1 -1
  62. package/dist/rules/browser/timerCleanup.js +194 -27
  63. package/dist/rules/browser/timerCleanup.js.map +1 -1
  64. package/dist/rules/network/fetchStatusUnchecked.d.ts.map +1 -1
  65. package/dist/rules/network/fetchStatusUnchecked.js +245 -46
  66. package/dist/rules/network/fetchStatusUnchecked.js.map +1 -1
  67. package/dist/rules/react/asyncEffectCallback.d.ts.map +1 -1
  68. package/dist/rules/react/asyncEffectCallback.js +2 -9
  69. package/dist/rules/react/asyncEffectCallback.js.map +1 -1
  70. package/dist/rules/react/derivedStateEffect.d.ts.map +1 -1
  71. package/dist/rules/react/derivedStateEffect.js +2 -9
  72. package/dist/rules/react/derivedStateEffect.js.map +1 -1
  73. package/dist/rules/react/missingEffectCleanup.d.ts.map +1 -1
  74. package/dist/rules/react/missingEffectCleanup.js +102 -10
  75. package/dist/rules/react/missingEffectCleanup.js.map +1 -1
  76. package/dist/rules/typescript/uncheckedIndexAccess.d.ts.map +1 -1
  77. package/dist/rules/typescript/uncheckedIndexAccess.js +55 -0
  78. package/dist/rules/typescript/uncheckedIndexAccess.js.map +1 -1
  79. package/dist/rules/typescript/unsafeUnvalidatedAssertion.d.ts.map +1 -1
  80. package/dist/rules/typescript/unsafeUnvalidatedAssertion.js +58 -21
  81. package/dist/rules/typescript/unsafeUnvalidatedAssertion.js.map +1 -1
  82. package/package.json +1 -1
@@ -220,59 +220,292 @@ export function isDOMAbortController(node, checker, ts) {
220
220
  return false;
221
221
  }
222
222
  }
223
- /**
224
- * Resolves whether a function/call node corresponds to a standard React hook
225
- * (e.g. useEffect, useState, useMemo), supporting direct imports, namespace imports,
226
- * and aliased imports originating from React or @types/react.
227
- */
228
- export function resolveReactHook(node, checker, hookName) {
229
- let targetIdentifier;
230
- // Case 1: React.useEffect(...) property access
231
- if ("expression" in node && node.expression && typeof node.expression === "object") {
232
- const callExpr = node.expression;
233
- if ("name" in callExpr && "expression" in callExpr) {
234
- const propName = callExpr.name;
235
- if (propName && typeof propName === "object" && "text" in propName && propName.text === hookName) {
236
- targetIdentifier = propName;
223
+ function isPropertyAccessLike(node) {
224
+ return ("name" in node &&
225
+ "expression" in node &&
226
+ node.name !== undefined &&
227
+ node.expression !== undefined &&
228
+ typeof node.name === "object" &&
229
+ node.name !== null &&
230
+ !("arguments" in node));
231
+ }
232
+ function isReactImportDeclaration(decl) {
233
+ const fileName = decl.getSourceFile().fileName.replace(/\\/g, "/");
234
+ if (fileName.includes("react/index.d.ts") ||
235
+ fileName.includes("@types/react/") ||
236
+ fileName.includes("react.d.ts") ||
237
+ (fileName.includes("/react/") && fileName.endsWith(".d.ts"))) {
238
+ return true;
239
+ }
240
+ let current = decl;
241
+ while (current) {
242
+ if ("moduleSpecifier" in current &&
243
+ current.moduleSpecifier &&
244
+ typeof current.moduleSpecifier === "object" &&
245
+ "text" in current.moduleSpecifier &&
246
+ (current.moduleSpecifier.text === "react" ||
247
+ current.moduleSpecifier.text === "react-dom")) {
248
+ return true;
249
+ }
250
+ current = current.parent;
251
+ }
252
+ return false;
253
+ }
254
+ function getReactExportName(symbol, checker) {
255
+ // 1. If symbol is an alias, try resolving the target symbol first
256
+ if ((symbol.flags & 2097152) !== 0) {
257
+ try {
258
+ const aliased = checker.getAliasedSymbol(symbol);
259
+ if (aliased && aliased !== symbol && isReactSymbol(aliased)) {
260
+ return aliased.name;
237
261
  }
238
262
  }
239
- else {
240
- targetIdentifier = callExpr;
263
+ catch {
264
+ // ignore
241
265
  }
242
266
  }
243
- else {
244
- targetIdentifier = node;
267
+ // 2. Check declarations for ImportSpecifier where module is react
268
+ const declarations = symbol.getDeclarations();
269
+ if (declarations && declarations.length > 0) {
270
+ for (const decl of declarations) {
271
+ if (isReactImportDeclaration(decl)) {
272
+ if ("propertyName" in decl && decl.propertyName && typeof decl.propertyName === "object" && "text" in decl.propertyName) {
273
+ const propIdent = decl.propertyName;
274
+ if (typeof propIdent.text === "string") {
275
+ return propIdent.text;
276
+ }
277
+ }
278
+ if ("name" in decl && decl.name && typeof decl.name === "object" && "text" in decl.name) {
279
+ const nameIdent = decl.name;
280
+ if (typeof nameIdent.text === "string") {
281
+ return nameIdent.text;
282
+ }
283
+ }
284
+ }
285
+ }
245
286
  }
246
- if (!targetIdentifier) {
247
- return false;
287
+ // 3. Direct React symbol declaration
288
+ if (isReactSymbol(symbol)) {
289
+ return symbol.name;
248
290
  }
249
- const symbol = checker.getSymbolAtLocation(targetIdentifier);
250
- if (!symbol) {
291
+ return undefined;
292
+ }
293
+ export function resolveReactHook(node, checker, hookName) {
294
+ if (!node || !checker)
251
295
  return false;
296
+ let current = node;
297
+ // If CallExpression, inspect its callee
298
+ if ("arguments" in current && "expression" in current && current.expression) {
299
+ current = current.expression;
252
300
  }
253
- if (symbol.name === hookName && isReactSymbol(symbol)) {
254
- return true;
301
+ // Unwrap parentheses, non-null assertions, type assertions, and sequence expressions
302
+ while (current) {
303
+ if (isPropertyAccessLike(current)) {
304
+ break;
305
+ }
306
+ if ("expression" in current && current.expression) {
307
+ current = current.expression;
308
+ }
309
+ else if ("right" in current && "operatorToken" in current && current.right) {
310
+ current = current.right;
311
+ }
312
+ else {
313
+ break;
314
+ }
255
315
  }
256
- // Check alias symbol if aliased (import { useEffect as myEffect })
257
- try {
258
- const aliased = checker.getAliasedSymbol(symbol);
259
- if (aliased && aliased.name === hookName && isReactSymbol(aliased)) {
260
- return true;
316
+ if (!current)
317
+ return false;
318
+ // Case 1: Property access on React namespace (e.g. React.useEffect, React.useCallback)
319
+ if (isPropertyAccessLike(current)) {
320
+ const propName = current.name;
321
+ const propText = propName.text;
322
+ // If the accessed property name does not match the requested hookName, it cannot match
323
+ if (propText !== hookName) {
324
+ return false;
261
325
  }
326
+ // Verify that either the receiver expression or the property symbol originates from React
327
+ const receiverExpr = current.expression;
328
+ const receiverSymbol = checker.getSymbolAtLocation(receiverExpr);
329
+ if (receiverSymbol) {
330
+ if (isReactSymbol(receiverSymbol)) {
331
+ return true;
332
+ }
333
+ if ((receiverSymbol.flags & 2097152) !== 0) {
334
+ try {
335
+ const aliased = checker.getAliasedSymbol(receiverSymbol);
336
+ if (aliased && isReactSymbol(aliased)) {
337
+ return true;
338
+ }
339
+ }
340
+ catch {
341
+ // ignore
342
+ }
343
+ }
344
+ }
345
+ const propSymbol = checker.getSymbolAtLocation(propName) ?? checker.getSymbolAtLocation(current);
346
+ if (propSymbol) {
347
+ const exportName = getReactExportName(propSymbol, checker);
348
+ if (exportName === hookName) {
349
+ return true;
350
+ }
351
+ }
352
+ return false;
262
353
  }
263
- catch {
264
- // Not an aliased symbol
354
+ // Case 2: Identifier or direct symbol (e.g. useEffect, useCallback, or aliased import like cb / effect)
355
+ const symbol = checker.getSymbolAtLocation(current);
356
+ if (!symbol) {
357
+ return false;
265
358
  }
266
- return false;
359
+ const exportName = getReactExportName(symbol, checker);
360
+ return exportName === hookName;
267
361
  }
268
- function isReactSymbol(symbol) {
362
+ export function isReactSymbol(symbol) {
269
363
  const declarations = symbol.getDeclarations();
270
364
  if (!declarations || declarations.length === 0) {
271
365
  return false;
272
366
  }
273
367
  return declarations.some((decl) => {
274
368
  const fileName = decl.getSourceFile().fileName.replace(/\\/g, "/");
275
- return fileName.includes("react/index.d.ts") || fileName.includes("@types/react/") || fileName.includes("react.d.ts");
369
+ if (fileName.includes("react/index.d.ts") ||
370
+ fileName.includes("@types/react/") ||
371
+ fileName.includes("react.d.ts") ||
372
+ (fileName.includes("/react/") && fileName.endsWith(".d.ts"))) {
373
+ return true;
374
+ }
375
+ let current = decl;
376
+ while (current) {
377
+ if ("moduleSpecifier" in current &&
378
+ current.moduleSpecifier &&
379
+ typeof current.moduleSpecifier === "object" &&
380
+ "text" in current.moduleSpecifier &&
381
+ (current.moduleSpecifier.text === "react" || current.moduleSpecifier.text === "react-dom")) {
382
+ return true;
383
+ }
384
+ current = current.parent;
385
+ }
386
+ return false;
276
387
  });
277
388
  }
389
+ /**
390
+ * Resolves whether a CallExpression is an authentic React lifecycle hook call (useEffect or useLayoutEffect).
391
+ * When TypeChecker is available, uses semantic symbol resolution only.
392
+ * When TypeChecker is unavailable, falls back to syntactic identification.
393
+ */
394
+ export function isReactLifecycleHookCall(node, ts, checker) {
395
+ if (checker) {
396
+ return resolveReactHook(node, checker, "useEffect") || resolveReactHook(node, checker, "useLayoutEffect");
397
+ }
398
+ // Syntactic fallback ONLY when TypeChecker is genuinely unavailable
399
+ let callee = node.expression;
400
+ while (ts.isParenthesizedExpression(callee)) {
401
+ callee = callee.expression;
402
+ }
403
+ if (ts.isIdentifier(callee)) {
404
+ return callee.text === "useEffect" || callee.text === "useLayoutEffect";
405
+ }
406
+ if (ts.isPropertyAccessExpression(callee)) {
407
+ if (ts.isIdentifier(callee.name) && (callee.name.text === "useEffect" || callee.name.text === "useLayoutEffect")) {
408
+ if (ts.isIdentifier(callee.expression) && (callee.expression.text === "React" || callee.expression.text === "ReactCurrentDispatcher")) {
409
+ return true;
410
+ }
411
+ }
412
+ }
413
+ return false;
414
+ }
415
+ /**
416
+ * Helper to identify whether a declaration originates from a standard HTTP Response library
417
+ * (DOM lib.dom.d.ts, undici, node-fetch, Cloudflare Workers, Node.js @types/node).
418
+ */
419
+ export function isStandardResponseDeclaration(decl) {
420
+ const fileName = decl.getSourceFile().fileName.toLowerCase().replace(/\\/g, "/");
421
+ return (fileName.includes("lib.dom.d.ts") ||
422
+ fileName.includes("lib.dom.iterable.d.ts") ||
423
+ fileName.includes("lib.webworker.d.ts") ||
424
+ fileName.includes("typescript/lib/") ||
425
+ fileName.includes("@types/node/") ||
426
+ fileName.includes("undici-types/") ||
427
+ fileName.includes("node_modules/undici/") ||
428
+ fileName.includes("node-fetch/") ||
429
+ fileName.includes("@types/node-fetch/") ||
430
+ fileName.includes("@cloudflare/workers-types/"));
431
+ }
432
+ /**
433
+ * Verifies that a PropertyAccessExpression with method name .json() originates
434
+ * from an authentic standard fetch Response object (e.g. DOM Response, undici, node-fetch, Cloudflare Worker),
435
+ * and does not contain conflicting user-defined declaration origin (e.g. declaration merging or local class/interface).
436
+ */
437
+ export function isFetchResponseMethod(callTarget, checker, ts) {
438
+ if (callTarget.name.text !== "json") {
439
+ return false;
440
+ }
441
+ if (checker) {
442
+ try {
443
+ const receiverType = checker.getTypeAtLocation(callTarget.expression);
444
+ const typesToCheck = receiverType.isUnion()
445
+ ? receiverType.types.filter((t) => !(t.flags &
446
+ (ts.TypeFlags.Null |
447
+ ts.TypeFlags.Undefined |
448
+ ts.TypeFlags.Void)))
449
+ : [receiverType];
450
+ if (typesToCheck.length === 0)
451
+ return false;
452
+ for (const type of typesToCheck) {
453
+ const jsonProp = checker.getPropertyOfType(type, "json");
454
+ if (!jsonProp)
455
+ return false;
456
+ const jsonDecls = jsonProp.getDeclarations();
457
+ if (!jsonDecls || jsonDecls.length === 0)
458
+ return false;
459
+ // Must NOT contain any user-defined declaration (e.g. local method or declaration merging)
460
+ const hasUserDefinedJson = jsonDecls.some((d) => !isStandardResponseDeclaration(d));
461
+ if (hasUserDefinedJson) {
462
+ return false;
463
+ }
464
+ // Must have verified standard Response origin
465
+ const hasStandardJson = jsonDecls.some(isStandardResponseDeclaration);
466
+ if (!hasStandardJson) {
467
+ return false;
468
+ }
469
+ // Also verify the receiver type's symbol declarations to ensure the type itself has no local/custom declaration
470
+ const typeSymbol = type.getSymbol() ?? type.aliasSymbol;
471
+ if (typeSymbol) {
472
+ const typeDecls = typeSymbol.getDeclarations();
473
+ if (typeDecls && typeDecls.length > 0) {
474
+ const hasUserDefinedType = typeDecls.some((d) => !isStandardResponseDeclaration(d));
475
+ if (hasUserDefinedType) {
476
+ return false;
477
+ }
478
+ const hasStandardType = typeDecls.some(isStandardResponseDeclaration);
479
+ if (!hasStandardType) {
480
+ return false;
481
+ }
482
+ }
483
+ }
484
+ }
485
+ return true;
486
+ }
487
+ catch {
488
+ return false;
489
+ }
490
+ }
491
+ // Syntactic fallback when TypeChecker is unavailable:
492
+ // Only accept expressions commonly named response/res or direct fetch calls
493
+ let receiver = callTarget.expression;
494
+ while (ts.isParenthesizedExpression(receiver) || ts.isAwaitExpression(receiver)) {
495
+ receiver = receiver.expression;
496
+ }
497
+ if (ts.isIdentifier(receiver)) {
498
+ return receiver.text === "response" || receiver.text === "res";
499
+ }
500
+ if (ts.isCallExpression(receiver)) {
501
+ let callee = receiver.expression;
502
+ while (ts.isParenthesizedExpression(callee)) {
503
+ callee = callee.expression;
504
+ }
505
+ if (ts.isIdentifier(callee) && callee.text === "fetch") {
506
+ return true;
507
+ }
508
+ }
509
+ return false;
510
+ }
278
511
  //# sourceMappingURL=symbols.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../src/engine/symbols.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../src/engine/symbols.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -17,4 +17,5 @@ export type { StrictnessReport, StrictnessFlagStatus };
17
17
  export type * from "./core/types.js";
18
18
  export type * from "./baseline/types.js";
19
19
  export { createBaseline, compareWithBaseline, loadBaseline, saveBaseline } from "./baseline/manager.js";
20
+ export { SOURCEVERITY_VERSION, getSourceVerityVersion } from "./core/version.js";
20
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAyB,KAAK,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACpH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IAC/D,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CACvD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,kDASrE;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,SAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAU7F;AACD,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,CAAC;AACvD,mBAAmB,iBAAiB,CAAC;AACrC,mBAAmB,qBAAqB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAyB,KAAK,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACpH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IAC/D,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CACvD;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,SAAS,kDASrE;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,SAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAU7F;AACD,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,CAAC;AACvD,mBAAmB,iBAAiB,CAAC;AACrC,mBAAmB,qBAAqB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACxG,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -29,4 +29,5 @@ export async function evaluateStrictness(targetDir = process.cwd()) {
29
29
  return evaluateStrictnessGap(repo, tsInst);
30
30
  }
31
31
  export { createBaseline, compareWithBaseline, loadBaseline, saveBaseline } from "./baseline/manager.js";
32
+ export { SOURCEVERITY_VERSION, getSourceVerityVersion } from "./core/version.js";
32
33
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAwB,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAoD,MAAM,2BAA2B,CAAC;AAQpH;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAiC;IACpE,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACtD,MAAM,SAAS,GAAoB;QACjC,SAAS;QACT,aAAa,EAAE,OAAO,EAAE,aAAa,IAAI,QAAQ;QACjD,aAAa,EAAE,OAAO,EAAE,aAAa;QACrC,YAAY,EAAE,OAAO,EAAE,YAAY;KACpC,CAAC;IACF,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE;IAChE,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,cAAc,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,wBAAwB,CAAC,cAAc,CAAC,CAAC;IAExD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,mDAAmD,cAAc,GAAG,CAAC,CAAC;IACxF,CAAC;IAED,OAAO,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAID,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAwB,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAoD,MAAM,2BAA2B,CAAC;AAQpH;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAiC;IACpE,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACtD,MAAM,SAAS,GAAoB;QACjC,SAAS;QACT,aAAa,EAAE,OAAO,EAAE,aAAa,IAAI,QAAQ;QACjD,aAAa,EAAE,OAAO,EAAE,aAAa;QACrC,YAAY,EAAE,OAAO,EAAE,YAAY;KACpC,CAAC;IACF,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE;IAChE,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,cAAc,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,wBAAwB,CAAC,cAAc,CAAC,CAAC;IAExD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,mDAAmD,cAAc,GAAG,CAAC,CAAC;IACxF,CAAC;IAED,OAAO,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAID,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACxG,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -25,7 +25,7 @@ export interface AgentReport {
25
25
  readonly schemaVersion: 1;
26
26
  readonly tool: {
27
27
  readonly name: "sourceverity";
28
- readonly version: "1.0.0";
28
+ readonly version: string;
29
29
  };
30
30
  readonly repository: {
31
31
  readonly typescript?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/reporters/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAW,MAAM,kBAAkB,CAAC;AAE7D,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,KAAK,EAAE;YAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QACnE,QAAQ,CAAC,GAAG,EAAE;YAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;KAClE,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;CACpC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;QAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;KAC3B,CAAC;IACF,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KACrC,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;CAC5C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAqC7D"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/reporters/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAW,MAAM,kBAAkB,CAAC;AAG7D,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,KAAK,EAAE;YAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;QACnE,QAAQ,CAAC,GAAG,EAAE;YAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;KAClE,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;CACpC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;QAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KACrC,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;CAC5C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAqC7D"}
@@ -1,3 +1,4 @@
1
+ import { SOURCEVERITY_VERSION } from "../core/version.js";
1
2
  /**
2
3
  * Formats AuditResult into structured Agent JSON format for LLMs/Codex.
3
4
  */
@@ -22,7 +23,7 @@ export function renderAgentReport(result) {
22
23
  schemaVersion: 1,
23
24
  tool: {
24
25
  name: "sourceverity",
25
- version: "1.0.0",
26
+ version: SOURCEVERITY_VERSION,
26
27
  },
27
28
  repository: {
28
29
  typescript: result.repository.typescriptVersion,
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/reporters/agent.ts"],"names":[],"mappings":"AAqCA;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAmB;IACnD,MAAM,aAAa,GAAmB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC;QACzE,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,KAAK,EAAE;YACL,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;YACjE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE;SAC5D;QACD,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC1C,eAAe,EAAE,CAAC,CAAC,eAAe,IAAI,IAAI;QAC1C,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;KACrC,CAAC,CAAC,CAAC;IAEJ,MAAM,MAAM,GAAgB;QAC1B,aAAa,EAAE,CAAC;QAChB,IAAI,EAAE;YACJ,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,OAAO;SACjB;QACD,UAAU,EAAE;YACV,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,iBAAiB;YAC/C,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY;SACtC;QACD,OAAO,EAAE;YACP,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;YAC7B,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;YACjC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;SAC1B;QACD,QAAQ,EAAE,aAAa;KACxB,CAAC;IAEF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/reporters/agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAqC1D;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAmB;IACnD,MAAM,aAAa,GAAmB,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC;QACzE,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,KAAK,EAAE;YACL,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;YACjE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE;SAC5D;QACD,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC1C,eAAe,EAAE,CAAC,CAAC,eAAe,IAAI,IAAI;QAC1C,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;KACrC,CAAC,CAAC,CAAC;IAEJ,MAAM,MAAM,GAAgB;QAC1B,aAAa,EAAE,CAAC;QAChB,IAAI,EAAE;YACJ,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,oBAAoB;SAC9B;QACD,UAAU,EAAE;YACV,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,iBAAiB;YAC/C,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY;SACtC;QACD,OAAO,EAAE;YACP,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;YAC7B,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;YACjC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;SAC1B;QACD,QAAQ,EAAE,aAAa;KACxB,CAAC;IAEF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import type { AuditResult } from "../core/types.js";
2
+ import "../rules/index.js";
2
3
  /**
3
4
  * Formats AuditResult as standard SARIF 2.1.0 log format for GitHub Code Scanning.
5
+ * Populates driver.rules from the authoritative rule registry with descriptions and default configurations.
4
6
  */
5
7
  export declare function renderSarifReport(result: AuditResult): string;
6
8
  //# sourceMappingURL=sarif.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sarif.d.ts","sourceRoot":"","sources":["../../src/reporters/sarif.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CA4D7D"}
1
+ {"version":3,"file":"sarif.d.ts","sourceRoot":"","sources":["../../src/reporters/sarif.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD,OAAO,mBAAmB,CAAC;AAS3B;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CA0F7D"}
@@ -1,11 +1,44 @@
1
+ import { SOURCEVERITY_VERSION } from "../core/version.js";
2
+ import { globalRuleRegistry } from "../engine/registry.js";
3
+ import "../rules/index.js";
1
4
  /**
2
5
  * Formats AuditResult as standard SARIF 2.1.0 log format for GitHub Code Scanning.
6
+ * Populates driver.rules from the authoritative rule registry with descriptions and default configurations.
3
7
  */
4
8
  export function renderSarifReport(result) {
5
- const ruleMap = new Map();
9
+ const allRules = globalRuleRegistry.getAll();
10
+ const rulesMap = new Map();
11
+ for (const r of allRules) {
12
+ const defaultLevel = r.meta.defaultSeverity === "error"
13
+ ? "error"
14
+ : r.meta.defaultSeverity === "warning"
15
+ ? "warning"
16
+ : "note";
17
+ rulesMap.set(r.meta.id, {
18
+ id: r.meta.id,
19
+ name: r.meta.id,
20
+ shortDescription: {
21
+ text: r.meta.description,
22
+ },
23
+ defaultConfiguration: {
24
+ level: defaultLevel,
25
+ },
26
+ });
27
+ }
28
+ // Ensure any custom rule present in findings is also represented
6
29
  for (const f of result.findings) {
7
- if (!ruleMap.has(f.ruleId)) {
8
- ruleMap.set(f.ruleId, { id: f.ruleId, name: f.ruleId });
30
+ if (!rulesMap.has(f.ruleId)) {
31
+ const defaultLevel = f.severity === "error" ? "error" : f.severity === "warning" ? "warning" : "note";
32
+ rulesMap.set(f.ruleId, {
33
+ id: f.ruleId,
34
+ name: f.ruleId,
35
+ shortDescription: {
36
+ text: f.ruleId,
37
+ },
38
+ defaultConfiguration: {
39
+ level: defaultLevel,
40
+ },
41
+ });
9
42
  }
10
43
  }
11
44
  const sarifResults = result.findings.map((f) => {
@@ -44,11 +77,8 @@ export function renderSarifReport(result) {
44
77
  tool: {
45
78
  driver: {
46
79
  name: "sourceverity",
47
- version: "1.0.0",
48
- rules: Array.from(ruleMap.values()).map((r) => ({
49
- id: r.id,
50
- name: r.name,
51
- })),
80
+ version: SOURCEVERITY_VERSION,
81
+ rules: Array.from(rulesMap.values()),
52
82
  },
53
83
  },
54
84
  results: sarifResults,
@@ -1 +1 @@
1
- {"version":3,"file":"sarif.js","sourceRoot":"","sources":["../../src/reporters/sarif.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAmB;IACnD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAwC,CAAC;IAEhE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7C,MAAM,KAAK,GAAG,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QAE/F,OAAO;YACL,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,KAAK;YACL,OAAO,EAAE;gBACP,IAAI,EAAE,CAAC,CAAC,OAAO;aAChB;YACD,SAAS,EAAE;gBACT;oBACE,gBAAgB,EAAE;wBAChB,gBAAgB,EAAE;4BAChB,GAAG,EAAE,CAAC,CAAC,IAAI;yBACZ;wBACD,MAAM,EAAE;4BACN,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI;4BAC7B,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;4BACjC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI;4BACzB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM;yBAC9B;qBACF;iBACF;aACF;YACD,mBAAmB,EAAE;gBACnB,uBAAuB,EAAE,CAAC,CAAC,WAAW;aACvC;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG;QACf,OAAO,EAAE,gGAAgG;QACzG,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE;YACJ;gBACE,IAAI,EAAE;oBACJ,MAAM,EAAE;wBACN,IAAI,EAAE,cAAc;wBACpB,OAAO,EAAE,OAAO;wBAChB,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4BAC9C,EAAE,EAAE,CAAC,CAAC,EAAE;4BACR,IAAI,EAAE,CAAC,CAAC,IAAI;yBACb,CAAC,CAAC;qBACJ;iBACF;gBACD,OAAO,EAAE,YAAY;aACtB;SACF;KACF,CAAC;IAEF,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"sarif.js","sourceRoot":"","sources":["../../src/reporters/sarif.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../src/reporters/terminal.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAyB,MAAM,kBAAkB,CAAC;AAE3E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACxC;AAcD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,SAAS,GAAG,MAAM,CAyE/G"}
1
+ {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../src/reporters/terminal.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAyB,MAAM,kBAAkB,CAAC;AAG3E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACxC;AAcD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,SAAS,GAAG,MAAM,CAyE/G"}
@@ -1,4 +1,5 @@
1
1
  import { createStyler } from "../core/terminal.js";
2
+ import { SOURCEVERITY_VERSION } from "../core/version.js";
2
3
  const CATEGORY_NAMES = {
3
4
  typescript: "Type safety",
4
5
  react: "React",
@@ -17,7 +18,7 @@ export function renderTerminalReport(result, options) {
17
18
  const styler = createStyler(options?.color !== undefined ? { color: options.color } : undefined);
18
19
  const lines = [];
19
20
  // 1. Header & Repository Overview
20
- lines.push(styler.bold("SourceVerity 1.0.0"));
21
+ lines.push(styler.bold(`SourceVerity ${SOURCEVERITY_VERSION}`));
21
22
  lines.push("");
22
23
  lines.push(styler.bold("Repository"));
23
24
  if (result.repository.typescriptVersion) {
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/reporters/terminal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/reporters/terminal.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"floatingPromise.d.ts","sourceRoot":"","sources":["../../../src/rules/async/floatingPromise.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,IAAI,EAAe,MAAM,qBAAqB,CAAC;AA8D7D,eAAO,MAAM,mBAAmB,EAAE,IA4UjC,CAAC"}
1
+ {"version":3,"file":"floatingPromise.d.ts","sourceRoot":"","sources":["../../../src/rules/async/floatingPromise.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,IAAI,EAAe,MAAM,qBAAqB,CAAC;AA8D7D,eAAO,MAAM,mBAAmB,EAAE,IAgVjC,CAAC"}
@@ -305,8 +305,10 @@ export const floatingPromiseRule = {
305
305
  if (ts.isVariableDeclaration(node) && node.initializer && ts.isIdentifier(node.name)) {
306
306
  const init = node.initializer;
307
307
  const unwrappedInit = unwrapExpression(init, ts);
308
- // Fast path for explicit await or void
309
- if (ts.isAwaitExpression(unwrappedInit) || ts.isVoidExpression(unwrappedInit)) {
308
+ // Fast path for explicit await, void, or identifier alias
309
+ if (ts.isAwaitExpression(unwrappedInit) ||
310
+ ts.isVoidExpression(unwrappedInit) ||
311
+ ts.isIdentifier(unwrappedInit)) {
310
312
  return;
311
313
  }
312
314
  if (!canSyntacticallyBePromise(init, ts)) {