sourceverity 1.0.2 → 1.0.4

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 (109) hide show
  1. package/README.md +91 -3
  2. package/dist/analysis/arrayBounds.d.ts +4 -0
  3. package/dist/analysis/arrayBounds.d.ts.map +1 -0
  4. package/dist/analysis/arrayBounds.js +4 -0
  5. package/dist/analysis/arrayBounds.js.map +1 -0
  6. package/dist/analysis/arrayBoundsCore.d.ts +69 -0
  7. package/dist/analysis/arrayBoundsCore.d.ts.map +1 -0
  8. package/dist/analysis/arrayBoundsCore.js +863 -0
  9. package/dist/analysis/arrayBoundsCore.js.map +1 -0
  10. package/dist/analysis/arrayConstructionBounds.d.ts +14 -0
  11. package/dist/analysis/arrayConstructionBounds.d.ts.map +1 -0
  12. package/dist/analysis/arrayConstructionBounds.js +445 -0
  13. package/dist/analysis/arrayConstructionBounds.js.map +1 -0
  14. package/dist/analysis/arrayIterationBounds.d.ts +12 -0
  15. package/dist/analysis/arrayIterationBounds.d.ts.map +1 -0
  16. package/dist/analysis/arrayIterationBounds.js +578 -0
  17. package/dist/analysis/arrayIterationBounds.js.map +1 -0
  18. package/dist/analysis/controlFlowGuards.d.ts +7 -0
  19. package/dist/analysis/controlFlowGuards.d.ts.map +1 -0
  20. package/dist/analysis/controlFlowGuards.js +119 -0
  21. package/dist/analysis/controlFlowGuards.js.map +1 -0
  22. package/dist/analysis/controlFlowTypes.d.ts +5 -0
  23. package/dist/analysis/controlFlowTypes.d.ts.map +1 -0
  24. package/dist/analysis/controlFlowTypes.js +2 -0
  25. package/dist/analysis/controlFlowTypes.js.map +1 -0
  26. package/dist/analysis/frameworks.d.ts.map +1 -1
  27. package/dist/analysis/frameworks.js +95 -35
  28. package/dist/analysis/frameworks.js.map +1 -1
  29. package/dist/analysis/functions.d.ts.map +1 -1
  30. package/dist/analysis/functions.js +120 -36
  31. package/dist/analysis/functions.js.map +1 -1
  32. package/dist/analysis/{controlFlow.d.ts → nonNullGuards.d.ts} +2 -5
  33. package/dist/analysis/nonNullGuards.d.ts.map +1 -0
  34. package/dist/analysis/nonNullGuards.js +340 -0
  35. package/dist/analysis/nonNullGuards.js.map +1 -0
  36. package/dist/analysis/promiseFlow.d.ts.map +1 -1
  37. package/dist/analysis/promiseFlow.js +85 -11
  38. package/dist/analysis/promiseFlow.js.map +1 -1
  39. package/dist/analysis/reactStateBounds.d.ts +8 -0
  40. package/dist/analysis/reactStateBounds.d.ts.map +1 -0
  41. package/dist/analysis/reactStateBounds.js +390 -0
  42. package/dist/analysis/reactStateBounds.js.map +1 -0
  43. package/dist/baseline/manager.js +1 -1
  44. package/dist/baseline/manager.js.map +1 -1
  45. package/dist/baseline/types.d.ts +1 -1
  46. package/dist/baseline/types.d.ts.map +1 -1
  47. package/dist/cli/help.js +1 -1
  48. package/dist/cli/main.d.ts.map +1 -1
  49. package/dist/cli/main.js +24 -2
  50. package/dist/cli/main.js.map +1 -1
  51. package/dist/core/config.d.ts +7 -0
  52. package/dist/core/config.d.ts.map +1 -0
  53. package/dist/core/config.js +42 -0
  54. package/dist/core/config.js.map +1 -0
  55. package/dist/core/paths.d.ts +0 -4
  56. package/dist/core/paths.d.ts.map +1 -1
  57. package/dist/core/paths.js +0 -6
  58. package/dist/core/paths.js.map +1 -1
  59. package/dist/engine/runner.d.ts +6 -1
  60. package/dist/engine/runner.d.ts.map +1 -1
  61. package/dist/engine/runner.js +38 -21
  62. package/dist/engine/runner.js.map +1 -1
  63. package/dist/engine/symbols.d.ts +17 -5
  64. package/dist/engine/symbols.d.ts.map +1 -1
  65. package/dist/engine/symbols.js +269 -46
  66. package/dist/engine/symbols.js.map +1 -1
  67. package/dist/reporters/sarif.d.ts +2 -0
  68. package/dist/reporters/sarif.d.ts.map +1 -1
  69. package/dist/reporters/sarif.js +36 -7
  70. package/dist/reporters/sarif.js.map +1 -1
  71. package/dist/repository/detector.d.ts.map +1 -1
  72. package/dist/repository/detector.js +31 -11
  73. package/dist/repository/detector.js.map +1 -1
  74. package/dist/rules/async/floatingPromise.d.ts.map +1 -1
  75. package/dist/rules/async/floatingPromise.js +24 -2
  76. package/dist/rules/async/floatingPromise.js.map +1 -1
  77. package/dist/rules/browser/eventListenerCleanup.d.ts.map +1 -1
  78. package/dist/rules/browser/eventListenerCleanup.js +2 -9
  79. package/dist/rules/browser/eventListenerCleanup.js.map +1 -1
  80. package/dist/rules/browser/observerCleanup.d.ts.map +1 -1
  81. package/dist/rules/browser/observerCleanup.js +2 -9
  82. package/dist/rules/browser/observerCleanup.js.map +1 -1
  83. package/dist/rules/browser/timerCleanup.d.ts.map +1 -1
  84. package/dist/rules/browser/timerCleanup.js +2 -9
  85. package/dist/rules/browser/timerCleanup.js.map +1 -1
  86. package/dist/rules/network/fetchStatusUnchecked.d.ts.map +1 -1
  87. package/dist/rules/network/fetchStatusUnchecked.js +245 -46
  88. package/dist/rules/network/fetchStatusUnchecked.js.map +1 -1
  89. package/dist/rules/react/asyncEffectCallback.d.ts.map +1 -1
  90. package/dist/rules/react/asyncEffectCallback.js +2 -9
  91. package/dist/rules/react/asyncEffectCallback.js.map +1 -1
  92. package/dist/rules/react/derivedStateEffect.d.ts.map +1 -1
  93. package/dist/rules/react/derivedStateEffect.js +61 -13
  94. package/dist/rules/react/derivedStateEffect.js.map +1 -1
  95. package/dist/rules/react/missingEffectCleanup.d.ts.map +1 -1
  96. package/dist/rules/react/missingEffectCleanup.js +102 -10
  97. package/dist/rules/react/missingEffectCleanup.js.map +1 -1
  98. package/dist/rules/typescript/nonNullAssertionRisk.js +1 -1
  99. package/dist/rules/typescript/nonNullAssertionRisk.js.map +1 -1
  100. package/dist/rules/typescript/uncheckedIndexAccess.d.ts.map +1 -1
  101. package/dist/rules/typescript/uncheckedIndexAccess.js +55 -0
  102. package/dist/rules/typescript/uncheckedIndexAccess.js.map +1 -1
  103. package/dist/rules/typescript/unsafeUnvalidatedAssertion.d.ts.map +1 -1
  104. package/dist/rules/typescript/unsafeUnvalidatedAssertion.js +9 -4
  105. package/dist/rules/typescript/unsafeUnvalidatedAssertion.js.map +1 -1
  106. package/package.json +1 -1
  107. package/dist/analysis/controlFlow.d.ts.map +0 -1
  108. package/dist/analysis/controlFlow.js +0 -2136
  109. package/dist/analysis/controlFlow.js.map +0 -1
@@ -23,7 +23,6 @@ export function getNodeSourceRange(node, sourceFile) {
23
23
  * rather than a primary asynchronous Promise.
24
24
  *
25
25
  * Requirements:
26
- * - Symbol named AnimationPlaybackControls / AnimationControls / TweenControl, OR
27
26
  * - Originates from framer-motion / popmotion / @motionone / motion package declarations, OR
28
27
  * - Structural animation controller containing stop, play, and playback properties (pause, time, speed, currentTime, complete).
29
28
  *
@@ -35,12 +34,6 @@ export function isControlOrHandleType(type, checker) {
35
34
  return false;
36
35
  const symbol = type.getSymbol() ?? type.aliasSymbol;
37
36
  if (symbol) {
38
- const symName = symbol.name;
39
- if (symName === "AnimationPlaybackControls" ||
40
- symName === "AnimationControls" ||
41
- symName === "TweenControl") {
42
- return true;
43
- }
44
37
  const decls = symbol.getDeclarations();
45
38
  if (decls && decls.length > 0) {
46
39
  for (const decl of decls) {
@@ -164,12 +157,9 @@ export function isDOMGlobal(node, checker, globalName) {
164
157
  * declared in standard TypeScript DOM definitions, rather than a custom user object/emitter.
165
158
  */
166
159
  export function isDOMEventTarget(node, checker, ts) {
167
- if (ts.isIdentifier(node) &&
168
- (node.text === "window" || node.text === "document" || node.text === "globalThis")) {
169
- return true;
170
- }
171
160
  if (!checker) {
172
- return false;
161
+ return (ts.isIdentifier(node) &&
162
+ (node.text === "window" || node.text === "document" || node.text === "globalThis"));
173
163
  }
174
164
  try {
175
165
  const type = checker.getTypeAtLocation(node);
@@ -220,59 +210,292 @@ export function isDOMAbortController(node, checker, ts) {
220
210
  return false;
221
211
  }
222
212
  }
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;
213
+ function isPropertyAccessLike(node) {
214
+ return ("name" in node &&
215
+ "expression" in node &&
216
+ node.name !== undefined &&
217
+ node.expression !== undefined &&
218
+ typeof node.name === "object" &&
219
+ node.name !== null &&
220
+ !("arguments" in node));
221
+ }
222
+ function isReactImportDeclaration(decl) {
223
+ const fileName = decl.getSourceFile().fileName.replace(/\\/g, "/");
224
+ if (fileName.includes("react/index.d.ts") ||
225
+ fileName.includes("@types/react/") ||
226
+ fileName.includes("react.d.ts") ||
227
+ (fileName.includes("/react/") && fileName.endsWith(".d.ts"))) {
228
+ return true;
229
+ }
230
+ let current = decl;
231
+ while (current) {
232
+ if ("moduleSpecifier" in current &&
233
+ current.moduleSpecifier &&
234
+ typeof current.moduleSpecifier === "object" &&
235
+ "text" in current.moduleSpecifier &&
236
+ (current.moduleSpecifier.text === "react" ||
237
+ current.moduleSpecifier.text === "react-dom")) {
238
+ return true;
239
+ }
240
+ current = current.parent;
241
+ }
242
+ return false;
243
+ }
244
+ function getReactExportName(symbol, checker) {
245
+ // 1. If symbol is an alias, try resolving the target symbol first
246
+ if ((symbol.flags & 2097152) !== 0) {
247
+ try {
248
+ const aliased = checker.getAliasedSymbol(symbol);
249
+ if (aliased && aliased !== symbol && isReactSymbol(aliased)) {
250
+ return aliased.name;
237
251
  }
238
252
  }
239
- else {
240
- targetIdentifier = callExpr;
253
+ catch {
254
+ // ignore
241
255
  }
242
256
  }
243
- else {
244
- targetIdentifier = node;
257
+ // 2. Check declarations for ImportSpecifier where module is react
258
+ const declarations = symbol.getDeclarations();
259
+ if (declarations && declarations.length > 0) {
260
+ for (const decl of declarations) {
261
+ if (isReactImportDeclaration(decl)) {
262
+ if ("propertyName" in decl && decl.propertyName && typeof decl.propertyName === "object" && "text" in decl.propertyName) {
263
+ const propIdent = decl.propertyName;
264
+ if (typeof propIdent.text === "string") {
265
+ return propIdent.text;
266
+ }
267
+ }
268
+ if ("name" in decl && decl.name && typeof decl.name === "object" && "text" in decl.name) {
269
+ const nameIdent = decl.name;
270
+ if (typeof nameIdent.text === "string") {
271
+ return nameIdent.text;
272
+ }
273
+ }
274
+ }
275
+ }
245
276
  }
246
- if (!targetIdentifier) {
247
- return false;
277
+ // 3. Direct React symbol declaration
278
+ if (isReactSymbol(symbol)) {
279
+ return symbol.name;
248
280
  }
249
- const symbol = checker.getSymbolAtLocation(targetIdentifier);
250
- if (!symbol) {
281
+ return undefined;
282
+ }
283
+ export function resolveReactHook(node, checker, hookName) {
284
+ if (!node || !checker)
251
285
  return false;
286
+ let current = node;
287
+ // If CallExpression, inspect its callee
288
+ if ("arguments" in current && "expression" in current && current.expression) {
289
+ current = current.expression;
252
290
  }
253
- if (symbol.name === hookName && isReactSymbol(symbol)) {
254
- return true;
291
+ // Unwrap parentheses, non-null assertions, type assertions, and sequence expressions
292
+ while (current) {
293
+ if (isPropertyAccessLike(current)) {
294
+ break;
295
+ }
296
+ if ("expression" in current && current.expression) {
297
+ current = current.expression;
298
+ }
299
+ else if ("right" in current && "operatorToken" in current && current.right) {
300
+ current = current.right;
301
+ }
302
+ else {
303
+ break;
304
+ }
255
305
  }
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;
306
+ if (!current)
307
+ return false;
308
+ // Case 1: Property access on React namespace (e.g. React.useEffect, React.useCallback)
309
+ if (isPropertyAccessLike(current)) {
310
+ const propName = current.name;
311
+ const propText = propName.text;
312
+ // If the accessed property name does not match the requested hookName, it cannot match
313
+ if (propText !== hookName) {
314
+ return false;
315
+ }
316
+ // Verify that either the receiver expression or the property symbol originates from React
317
+ const receiverExpr = current.expression;
318
+ const receiverSymbol = checker.getSymbolAtLocation(receiverExpr);
319
+ if (receiverSymbol) {
320
+ if (isReactSymbol(receiverSymbol)) {
321
+ return true;
322
+ }
323
+ if ((receiverSymbol.flags & 2097152) !== 0) {
324
+ try {
325
+ const aliased = checker.getAliasedSymbol(receiverSymbol);
326
+ if (aliased && isReactSymbol(aliased)) {
327
+ return true;
328
+ }
329
+ }
330
+ catch {
331
+ // ignore
332
+ }
333
+ }
334
+ }
335
+ const propSymbol = checker.getSymbolAtLocation(propName) ?? checker.getSymbolAtLocation(current);
336
+ if (propSymbol) {
337
+ const exportName = getReactExportName(propSymbol, checker);
338
+ if (exportName === hookName) {
339
+ return true;
340
+ }
261
341
  }
342
+ return false;
262
343
  }
263
- catch {
264
- // Not an aliased symbol
344
+ // Case 2: Identifier or direct symbol (e.g. useEffect, useCallback, or aliased import like cb / effect)
345
+ const symbol = checker.getSymbolAtLocation(current);
346
+ if (!symbol) {
347
+ return false;
265
348
  }
266
- return false;
349
+ const exportName = getReactExportName(symbol, checker);
350
+ return exportName === hookName;
267
351
  }
268
- function isReactSymbol(symbol) {
352
+ export function isReactSymbol(symbol) {
269
353
  const declarations = symbol.getDeclarations();
270
354
  if (!declarations || declarations.length === 0) {
271
355
  return false;
272
356
  }
273
357
  return declarations.some((decl) => {
274
358
  const fileName = decl.getSourceFile().fileName.replace(/\\/g, "/");
275
- return fileName.includes("react/index.d.ts") || fileName.includes("@types/react/") || fileName.includes("react.d.ts");
359
+ if (fileName.includes("react/index.d.ts") ||
360
+ fileName.includes("@types/react/") ||
361
+ fileName.includes("react.d.ts") ||
362
+ (fileName.includes("/react/") && fileName.endsWith(".d.ts"))) {
363
+ return true;
364
+ }
365
+ let current = decl;
366
+ while (current) {
367
+ if ("moduleSpecifier" in current &&
368
+ current.moduleSpecifier &&
369
+ typeof current.moduleSpecifier === "object" &&
370
+ "text" in current.moduleSpecifier &&
371
+ (current.moduleSpecifier.text === "react" || current.moduleSpecifier.text === "react-dom")) {
372
+ return true;
373
+ }
374
+ current = current.parent;
375
+ }
376
+ return false;
276
377
  });
277
378
  }
379
+ /**
380
+ * Resolves whether a CallExpression is an authentic React lifecycle hook call (useEffect or useLayoutEffect).
381
+ * When TypeChecker is available, uses semantic symbol resolution only.
382
+ * When TypeChecker is unavailable, falls back to syntactic identification.
383
+ */
384
+ export function isReactLifecycleHookCall(node, ts, checker) {
385
+ if (checker) {
386
+ return resolveReactHook(node, checker, "useEffect") || resolveReactHook(node, checker, "useLayoutEffect");
387
+ }
388
+ // Syntactic fallback ONLY when TypeChecker is genuinely unavailable
389
+ let callee = node.expression;
390
+ while (ts.isParenthesizedExpression(callee)) {
391
+ callee = callee.expression;
392
+ }
393
+ if (ts.isIdentifier(callee)) {
394
+ return callee.text === "useEffect" || callee.text === "useLayoutEffect";
395
+ }
396
+ if (ts.isPropertyAccessExpression(callee)) {
397
+ if (ts.isIdentifier(callee.name) && (callee.name.text === "useEffect" || callee.name.text === "useLayoutEffect")) {
398
+ if (ts.isIdentifier(callee.expression) && (callee.expression.text === "React" || callee.expression.text === "ReactCurrentDispatcher")) {
399
+ return true;
400
+ }
401
+ }
402
+ }
403
+ return false;
404
+ }
405
+ /**
406
+ * Helper to identify whether a declaration originates from a standard HTTP Response library
407
+ * (DOM lib.dom.d.ts, undici, node-fetch, Cloudflare Workers, Node.js @types/node).
408
+ */
409
+ export function isStandardResponseDeclaration(decl) {
410
+ const fileName = decl.getSourceFile().fileName.toLowerCase().replace(/\\/g, "/");
411
+ return (fileName.includes("lib.dom.d.ts") ||
412
+ fileName.includes("lib.dom.iterable.d.ts") ||
413
+ fileName.includes("lib.webworker.d.ts") ||
414
+ fileName.includes("typescript/lib/") ||
415
+ fileName.includes("@types/node/") ||
416
+ fileName.includes("undici-types/") ||
417
+ fileName.includes("node_modules/undici/") ||
418
+ fileName.includes("node-fetch/") ||
419
+ fileName.includes("@types/node-fetch/") ||
420
+ fileName.includes("@cloudflare/workers-types/"));
421
+ }
422
+ /**
423
+ * Verifies that a PropertyAccessExpression with method name .json() originates
424
+ * from an authentic standard fetch Response object (e.g. DOM Response, undici, node-fetch, Cloudflare Worker),
425
+ * and does not contain conflicting user-defined declaration origin (e.g. declaration merging or local class/interface).
426
+ */
427
+ export function isFetchResponseMethod(callTarget, checker, ts) {
428
+ if (callTarget.name.text !== "json") {
429
+ return false;
430
+ }
431
+ if (checker) {
432
+ try {
433
+ const receiverType = checker.getTypeAtLocation(callTarget.expression);
434
+ const typesToCheck = receiverType.isUnion()
435
+ ? receiverType.types.filter((t) => !(t.flags &
436
+ (ts.TypeFlags.Null |
437
+ ts.TypeFlags.Undefined |
438
+ ts.TypeFlags.Void)))
439
+ : [receiverType];
440
+ if (typesToCheck.length === 0)
441
+ return false;
442
+ for (const type of typesToCheck) {
443
+ const jsonProp = checker.getPropertyOfType(type, "json");
444
+ if (!jsonProp)
445
+ return false;
446
+ const jsonDecls = jsonProp.getDeclarations();
447
+ if (!jsonDecls || jsonDecls.length === 0)
448
+ return false;
449
+ // Must NOT contain any user-defined declaration (e.g. local method or declaration merging)
450
+ const hasUserDefinedJson = jsonDecls.some((d) => !isStandardResponseDeclaration(d));
451
+ if (hasUserDefinedJson) {
452
+ return false;
453
+ }
454
+ // Must have verified standard Response origin
455
+ const hasStandardJson = jsonDecls.some(isStandardResponseDeclaration);
456
+ if (!hasStandardJson) {
457
+ return false;
458
+ }
459
+ // Also verify the receiver type's symbol declarations to ensure the type itself has no local/custom declaration
460
+ const typeSymbol = type.getSymbol() ?? type.aliasSymbol;
461
+ if (typeSymbol) {
462
+ const typeDecls = typeSymbol.getDeclarations();
463
+ if (typeDecls && typeDecls.length > 0) {
464
+ const hasUserDefinedType = typeDecls.some((d) => !isStandardResponseDeclaration(d));
465
+ if (hasUserDefinedType) {
466
+ return false;
467
+ }
468
+ const hasStandardType = typeDecls.some(isStandardResponseDeclaration);
469
+ if (!hasStandardType) {
470
+ return false;
471
+ }
472
+ }
473
+ }
474
+ }
475
+ return true;
476
+ }
477
+ catch {
478
+ return false;
479
+ }
480
+ }
481
+ // Syntactic fallback when TypeChecker is unavailable:
482
+ // Only accept expressions commonly named response/res or direct fetch calls
483
+ let receiver = callTarget.expression;
484
+ while (ts.isParenthesizedExpression(receiver) || ts.isAwaitExpression(receiver)) {
485
+ receiver = receiver.expression;
486
+ }
487
+ if (ts.isIdentifier(receiver)) {
488
+ return receiver.text === "response" || receiver.text === "res";
489
+ }
490
+ if (ts.isCallExpression(receiver)) {
491
+ let callee = receiver.expression;
492
+ while (ts.isParenthesizedExpression(callee)) {
493
+ callee = callee.expression;
494
+ }
495
+ if (ts.isIdentifier(callee) && callee.text === "fetch") {
496
+ return true;
497
+ }
498
+ }
499
+ return false;
500
+ }
278
501
  //# 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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"}
@@ -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;AAGpD;;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,12 +1,44 @@
1
1
  import { SOURCEVERITY_VERSION } from "../core/version.js";
2
+ import { globalRuleRegistry } from "../engine/registry.js";
3
+ import "../rules/index.js";
2
4
  /**
3
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.
4
7
  */
5
8
  export function renderSarifReport(result) {
6
- 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
7
29
  for (const f of result.findings) {
8
- if (!ruleMap.has(f.ruleId)) {
9
- 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
+ });
10
42
  }
11
43
  }
12
44
  const sarifResults = result.findings.map((f) => {
@@ -46,10 +78,7 @@ export function renderSarifReport(result) {
46
78
  driver: {
47
79
  name: "sourceverity",
48
80
  version: SOURCEVERITY_VERSION,
49
- rules: Array.from(ruleMap.values()).map((r) => ({
50
- id: r.id,
51
- name: r.name,
52
- })),
81
+ rules: Array.from(rulesMap.values()),
53
82
  },
54
83
  },
55
84
  results: sarifResults,
@@ -1 +1 @@
1
- {"version":3,"file":"sarif.js","sourceRoot":"","sources":["../../src/reporters/sarif.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;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,oBAAoB;wBAC7B,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":"detector.d.ts","sourceRoot":"","sources":["../../src/repository/detector.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAKV,iBAAiB,EAClB,MAAM,YAAY,CAAC;AA8JpB;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAgFpF"}
1
+ {"version":3,"file":"detector.d.ts","sourceRoot":"","sources":["../../src/repository/detector.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAKV,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAqLpB;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAgFpF"}
@@ -75,18 +75,41 @@ async function parsePnpmWorkspaceYaml(pnpmYamlPath) {
75
75
  * Expands workspace directory globs (e.g. "apps/*", "packages/*").
76
76
  */
77
77
  async function expandWorkspacePatterns(rootDir, patterns) {
78
- const result = [];
78
+ let resolvedRoot = path.resolve(rootDir);
79
+ try {
80
+ resolvedRoot = await fs.realpath(resolvedRoot);
81
+ }
82
+ catch {
83
+ // Preserve repository discovery behavior for a missing root directory.
84
+ }
85
+ const result = new Set();
79
86
  for (const pattern of patterns) {
80
87
  const normalized = pattern.replace(/\\/g, "/");
88
+ const workspacePath = normalized.endsWith("/*")
89
+ ? normalized.slice(0, -2)
90
+ : normalized;
91
+ const resolvedWorkspacePath = path.resolve(resolvedRoot, workspacePath);
92
+ let canonicalWorkspacePath;
93
+ try {
94
+ canonicalWorkspacePath = await fs.realpath(resolvedWorkspacePath);
95
+ }
96
+ catch {
97
+ continue;
98
+ }
99
+ const relativeWorkspacePath = path.relative(resolvedRoot, canonicalWorkspacePath);
100
+ if (relativeWorkspacePath === ".." ||
101
+ relativeWorkspacePath.startsWith(`..${path.sep}`) ||
102
+ path.isAbsolute(relativeWorkspacePath)) {
103
+ continue;
104
+ }
81
105
  if (normalized.endsWith("/*")) {
82
- const parentDir = path.join(rootDir, normalized.slice(0, -2));
83
106
  try {
84
- const entries = await fs.readdir(parentDir, { withFileTypes: true });
107
+ const entries = await fs.readdir(canonicalWorkspacePath, { withFileTypes: true });
85
108
  for (const entry of entries) {
86
109
  if (entry.isDirectory() && !entry.name.startsWith(".")) {
87
- const pkgDir = path.join(parentDir, entry.name);
110
+ const pkgDir = path.join(canonicalWorkspacePath, entry.name);
88
111
  if (await pathExists(path.join(pkgDir, "package.json"))) {
89
- result.push(pkgDir);
112
+ result.add(pkgDir);
90
113
  }
91
114
  }
92
115
  }
@@ -95,14 +118,11 @@ async function expandWorkspacePatterns(rootDir, patterns) {
95
118
  // Parent dir does not exist; continue
96
119
  }
97
120
  }
98
- else {
99
- const directDir = path.join(rootDir, normalized);
100
- if (await pathExists(path.join(directDir, "package.json"))) {
101
- result.push(directDir);
102
- }
121
+ else if (await pathExists(path.join(canonicalWorkspacePath, "package.json"))) {
122
+ result.add(canonicalWorkspacePath);
103
123
  }
104
124
  }
105
- return result;
125
+ return [...result].sort((left, right) => left.localeCompare(right));
106
126
  }
107
127
  /**
108
128
  * Extracts framework and tool dependencies across all discovered packages.
@@ -1 +1 @@
1
- {"version":3,"file":"detector.js","sourceRoot":"","sources":["../../src/repository/detector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AASjD;;GAEG;AACH,KAAK,UAAU,YAAY,CAAI,QAAgB;IAC7C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjD,2GAA2G;QAC3G,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAM,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,UAAU,CAAC,CAAS;IACjC,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,oBAAoB,CAAC,OAAe;IACjD,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IAC1E,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5E,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IACrE,IAAI,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5H,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,sBAAsB,CAAC,YAAoB;IACxD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,eAAe,GAAG,KAAK,CAAC;QAE5B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBACpC,eAAe,GAAG,IAAI,CAAC;gBACvB,SAAS;YACX,CAAC;YACD,IAAI,eAAe,EAAE,CAAC;gBACpB,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBACrE,IAAI,GAAG;wBAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC9B,CAAC;qBAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC1D,eAAe,GAAG,KAAK,CAAC;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,uBAAuB,CAAC,OAAe,EAAE,QAA2B;IACjF,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC/C,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;wBACvD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;wBAChD,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;4BACxD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACtB,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,sCAAsC;YACxC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACjD,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;gBAC3D,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,SAAqC;IAM9D,IAAI,YAAgC,CAAC;IACrC,IAAI,eAAmC,CAAC;IACxC,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,MAAM,aAAa,GAAG,IAAI,GAAG,EAA8B,CAAC;IAE5D,MAAM,gBAAgB,GAAG;QACvB,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;QAChC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;QAC7B,EAAE,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE;QAC1C,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE;QAC7C,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;QAC/B,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClC,CAAC;IAEF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG;YACd,GAAG,QAAQ,CAAC,gBAAgB;YAC5B,GAAG,QAAQ,CAAC,eAAe;YAC3B,GAAG,QAAQ,CAAC,YAAY;SACzB,CAAC;QAEF,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,eAAe,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7C,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,OAAO,CAAC,6BAA6B,CAAC,IAAI,OAAO,CAAC,8BAA8B,CAAC,EAAE,CAAC;YACtF,gBAAgB,GAAG,IAAI,CAAC;QAC1B,CAAC;QAED,KAAK,MAAM,EAAE,IAAI,gBAAgB,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3C,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAoB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAChG,IAAI;QACJ,OAAO;KACR,CAAC,CAAC,CAAC;IAEJ,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC;AACzE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAe;IACtD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAChE,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,MAAM,YAAY,CAAkB,gBAAgB,CAAC,CAAC;IAE3E,MAAM,QAAQ,GAAwB,EAAE,CAAC;IACzC,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,aAA0D,CAAC;IAE/D,+BAA+B;IAC/B,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC;IACzE,IAAI,MAAM,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACxC,UAAU,GAAG,IAAI,CAAC;QAClB,aAAa,GAAG,MAAM,CAAC;QACvB,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,iBAAiB,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,MAAM,uBAAuB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACnE,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG,MAAM,YAAY,CAAkB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;YAC3F,IAAI,WAAW,EAAE,CAAC;gBAChB,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;oBAC/C,UAAU,EAAE,MAAM;oBAClB,YAAY,EAAE,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC;oBACjD,WAAW,EAAE,WAAW;oBACxB,MAAM,EAAE,KAAK;iBACd,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,YAAY,EAAE,UAAU,EAAE,CAAC;QACpC,mCAAmC;QACnC,UAAU,GAAG,IAAI,CAAC;QAClB,aAAa,GAAG,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,cAAyC,CAAC;QAClG,MAAM,aAAa,GAAG,YAAY,CAAC,UAAU,CAAC;QAC9C,MAAM,WAAW,GAAsB,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC;YACjE,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,IAAI,UAAU,IAAI,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC;gBAC5H,CAAC,CAAC,aAAa,CAAC,QAAQ;gBACxB,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,GAAG,MAAM,uBAAuB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QACtE,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG,MAAM,YAAY,CAAkB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;YAC3F,IAAI,WAAW,EAAE,CAAC;gBAChB,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;oBAC/C,UAAU,EAAE,MAAM;oBAClB,YAAY,EAAE,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC;oBACjD,WAAW,EAAE,WAAW;oBACxB,MAAM,EAAE,KAAK;iBACd,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,0CAA0C;IAC1C,IAAI,YAAY,EAAE,CAAC;QACjB,QAAQ,CAAC,OAAO,CAAC;YACf,IAAI,EAAE,YAAY,CAAC,IAAI,IAAI,MAAM;YACjC,UAAU,EAAE,YAAY;YACxB,YAAY,EAAE,GAAG;YACjB,WAAW,EAAE,YAAY;YACzB,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;IACL,CAAC;IAED,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACxD,MAAM,aAAa,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAEtD,OAAO;QACL,OAAO,EAAE,YAAY;QACrB,cAAc;QACd,UAAU;QACV,aAAa;QACb,YAAY;QACZ,QAAQ;QACR,YAAY,EAAE,aAAa,CAAC,YAAY;QACxC,eAAe,EAAE,aAAa,CAAC,eAAe;QAC9C,gBAAgB,EAAE,aAAa,CAAC,gBAAgB;QAChD,UAAU,EAAE,aAAa,CAAC,UAAU;KACrC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"detector.js","sourceRoot":"","sources":["../../src/repository/detector.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,IAuWjC,CAAC"}