scanoss 0.36.0 → 0.38.0

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 (66) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/build/main/cli/commands/dep.js +2 -2
  3. package/build/main/cli/commands/scan.js +35 -36
  4. package/build/main/sdk/Dependencies/DependencyScanner.d.ts +6 -1
  5. package/build/main/sdk/Dependencies/DependencyScanner.js +9 -4
  6. package/build/main/sdk/Dependencies/LocalDependency/DependencyTypes.d.ts +7 -1
  7. package/build/main/sdk/Dependencies/LocalDependency/LocalDependency.d.ts +4 -1
  8. package/build/main/sdk/Dependencies/LocalDependency/LocalDependency.js +9 -3
  9. package/build/main/sdk/Dependencies/LocalDependency/LocalDependency.spec.js +138 -1
  10. package/build/main/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.d.ts +1 -1
  11. package/build/main/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.js +59 -18
  12. package/build/main/sdk/Dependencies/LocalDependency/parsers/gradle/libsVersionsTomlParser.d.ts +27 -0
  13. package/build/main/sdk/Dependencies/LocalDependency/parsers/gradle/libsVersionsTomlParser.js +207 -0
  14. package/build/main/sdk/Dependencies/LocalDependency/parsers/parser.spec.js +158 -1
  15. package/build/main/sdk/scanner/Dispatcher/Dispatcher.js +3 -2
  16. package/build/main/sdk/scanner/ScanSettingsBuilder.d.ts +6 -1
  17. package/build/main/sdk/scanner/ScanSettingsBuilder.js +51 -3
  18. package/build/main/sdk/scanner/ScanSettingsBuilder.spec.js +55 -1
  19. package/build/main/sdk/scanner/Scannable/ScannableItem.d.ts +3 -0
  20. package/build/main/sdk/scanner/Scannable/ScannableItem.js +8 -1
  21. package/build/main/sdk/scanner/Scanner.d.ts +1 -0
  22. package/build/main/sdk/scanner/Scanner.js +31 -18
  23. package/build/main/sdk/scanner/ScannerCfg.d.ts +2 -0
  24. package/build/main/sdk/scanner/ScannerCfg.js +1 -1
  25. package/build/main/sdk/scanner/ScannerTypes.d.ts +3 -0
  26. package/build/main/sdk/scanner/ScannerTypes.js +1 -1
  27. package/build/main/sdk/scanner/ScannnerResultPostProcessor/interfaces/types.d.ts +11 -0
  28. package/build/main/sdk/scanner/ScannnerResultPostProcessor/rules/remove-rule.js +3 -2
  29. package/build/main/sdk/scanner/WfpProvider/WfpCalculator/HeaderFilter.d.ts +17 -0
  30. package/build/main/sdk/scanner/WfpProvider/WfpCalculator/HeaderFilter.js +313 -0
  31. package/build/main/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +1 -0
  32. package/build/main/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +18 -2
  33. package/build/main/tsconfig.tsbuildinfo +1 -1
  34. package/build/module/cli/commands/dep.js +2 -2
  35. package/build/module/cli/commands/scan.js +33 -34
  36. package/build/module/sdk/Dependencies/DependencyScanner.d.ts +6 -1
  37. package/build/module/sdk/Dependencies/DependencyScanner.js +9 -4
  38. package/build/module/sdk/Dependencies/LocalDependency/DependencyTypes.d.ts +7 -1
  39. package/build/module/sdk/Dependencies/LocalDependency/LocalDependency.d.ts +4 -1
  40. package/build/module/sdk/Dependencies/LocalDependency/LocalDependency.js +9 -3
  41. package/build/module/sdk/Dependencies/LocalDependency/LocalDependency.spec.js +102 -1
  42. package/build/module/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.d.ts +1 -1
  43. package/build/module/sdk/Dependencies/LocalDependency/parsers/buildGradleParser.js +58 -17
  44. package/build/module/sdk/Dependencies/LocalDependency/parsers/gradle/libsVersionsTomlParser.d.ts +27 -0
  45. package/build/module/sdk/Dependencies/LocalDependency/parsers/gradle/libsVersionsTomlParser.js +199 -0
  46. package/build/module/sdk/Dependencies/LocalDependency/parsers/parser.spec.js +158 -1
  47. package/build/module/sdk/scanner/Dispatcher/Dispatcher.js +3 -2
  48. package/build/module/sdk/scanner/ScanSettingsBuilder.d.ts +6 -1
  49. package/build/module/sdk/scanner/ScanSettingsBuilder.js +46 -3
  50. package/build/module/sdk/scanner/ScanSettingsBuilder.spec.js +55 -1
  51. package/build/module/sdk/scanner/Scannable/ScannableItem.d.ts +3 -0
  52. package/build/module/sdk/scanner/Scannable/ScannableItem.js +9 -1
  53. package/build/module/sdk/scanner/Scanner.d.ts +1 -0
  54. package/build/module/sdk/scanner/Scanner.js +27 -15
  55. package/build/module/sdk/scanner/ScannerCfg.d.ts +2 -0
  56. package/build/module/sdk/scanner/ScannerCfg.js +2 -1
  57. package/build/module/sdk/scanner/ScannerTypes.d.ts +3 -0
  58. package/build/module/sdk/scanner/ScannerTypes.js +1 -1
  59. package/build/module/sdk/scanner/ScannnerResultPostProcessor/interfaces/types.d.ts +11 -0
  60. package/build/module/sdk/scanner/ScannnerResultPostProcessor/rules/remove-rule.js +2 -2
  61. package/build/module/sdk/scanner/WfpProvider/WfpCalculator/HeaderFilter.d.ts +17 -0
  62. package/build/module/sdk/scanner/WfpProvider/WfpCalculator/HeaderFilter.js +306 -0
  63. package/build/module/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +1 -0
  64. package/build/module/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +18 -2
  65. package/build/module/tsconfig.module.tsbuildinfo +1 -1
  66. package/package.json +3 -2
package/CHANGELOG.md CHANGED
@@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file. See [standa
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [0.38.0] (2026-03-12)
8
+ ### Added
9
+ - Added support for resolving Gradle dependencies from version catalog (`libs.versions.toml`)
10
+ - Added support for Gradle Kotlin DSL (`build.gradle.kts`) dependency parsing
11
+
12
+ ## [0.37.0] (2026-03-02)
13
+ ### Added
14
+ - Added `skip_headers` and `skip_headers_limit` support in `scanoss.json` `file_snippet` settings to filter license headers, comments, and imports before snippet matching
15
+ - Added `HeaderFilter` module for detecting and skipping file preambles (license blocks, comments, shebangs, imports) across 20+ programming languages
16
+ - Added `proxy`, `http_config` (base_uri, ignore_cert_errors) support in `scanoss.json` `file_snippet` settings
17
+ - Added `ScanSettingsBuilder` methods: `withSkipHeaders()`, `withSkipHeadersLimit()`, `withProxy()`, `withBaseUri()`, `withIgnoreCertErrors()`
18
+ - Centralized scan settings into `ScannerCfg.SCANOSS_SETTINGS`
19
+
7
20
  ## [0.36.0] (2026-02-27)
8
21
  ### Added
9
22
  - Added support for scoped `requirements.txt` files (`dev-requirements.txt`, `requirements-tox.txt`, etc.) with automatic scope extraction from filename prefix/suffix
@@ -273,3 +286,4 @@ All notable changes to this project will be documented in this file. See [standa
273
286
  ### [0.34.0](https://github.com/scanoss/scanoss.js/compare/v0.33.0...v0.34.0) (2026-02-24)
274
287
  ### [0.35.0](https://github.com/scanoss/scanoss.js/compare/v0.34.0...v0.35.0) (2026-02-26)
275
288
  ### [0.36.0](https://github.com/scanoss/scanoss.js/compare/v0.35.0...v0.36.0) (2026-02-27)
289
+ ### [0.37.0](https://github.com/scanoss/scanoss.js/compare/v0.36.0...v0.37.0) (2026-03-02)
@@ -39,7 +39,7 @@ async function depHandler(rootPath, options) {
39
39
  tree.build();
40
40
  fileList = tree.getFileList(new DependencyFilter_1.DependencyFilter(""));
41
41
  }
42
- const results = await dependencyScanner.scan(fileList);
42
+ const results = await dependencyScanner.scan(fileList, rootPath);
43
43
  if (options.output) {
44
44
  fs_1.default.promises.writeFile(options.output, JSON.stringify(results, null, 2));
45
45
  }
@@ -47,4 +47,4 @@ async function depHandler(rootPath, options) {
47
47
  console.log(JSON.stringify(results, null, 2));
48
48
  }
49
49
  }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NsaS9jb21tYW5kcy9kZXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFRQSxnQ0FvQ0M7QUE1Q0QsNENBQW9CO0FBQ3BCLGdGQUE2RTtBQUM3RSxzRkFBbUY7QUFDbkYsOENBQTJDO0FBQzNDLDhFQUEyRTtBQUMzRSx1Q0FBcUM7QUFDckMsb0RBQXlEO0FBRWxELEtBQUssVUFBVSxVQUFVLENBQUMsUUFBZ0IsRUFBRSxPQUFZO0lBQzdELGVBQU0sQ0FBQyxRQUFRLENBQUMsZUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxJQUFHLE9BQU8sQ0FBQyxLQUFLO1FBQ2QsZUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFFLGtDQUFrQztJQUMzRSxRQUFRLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFFLDBDQUEwQztJQUNoRyxNQUFNLFlBQVksR0FBRyxNQUFNLElBQUEsa0JBQVEsRUFBQyxRQUFRLENBQUMsQ0FBQztJQUM5QyxNQUFNLG9CQUFvQixHQUFHLElBQUksMkNBQW9CLEVBQUUsQ0FBQztJQUN4RCxJQUFJLE9BQU8sQ0FBQyxNQUFNO1FBQUUsb0JBQW9CLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDbEUsSUFBSSxPQUFPLENBQUMsTUFBTTtRQUFFLG9CQUFvQixDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQ2xFLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2xCLG9CQUFvQixDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ2pELG9CQUFvQixDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQ2xELENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxHQUFHO1FBQUUsb0JBQW9CLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7SUFDNUQsSUFBSSxPQUFPLENBQUMsZ0JBQWdCO1FBQUUsb0JBQW9CLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO0lBRTdFLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxxQ0FBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRXRFLElBQUksUUFBUSxHQUFrQixFQUFFLENBQUM7SUFDakMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV4QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pCLE1BQU0sSUFBSSxHQUFHLElBQUksV0FBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksbUNBQWdCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFdkQsSUFBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEIsWUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztBQUVILENBQUMifQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NsaS9jb21tYW5kcy9kZXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFRQSxnQ0FvQ0M7QUE1Q0QsNENBQW9CO0FBQ3BCLGdGQUE2RTtBQUM3RSxzRkFBbUY7QUFDbkYsOENBQTJDO0FBQzNDLDhFQUEyRTtBQUMzRSx1Q0FBcUM7QUFDckMsb0RBQXlEO0FBRWxELEtBQUssVUFBVSxVQUFVLENBQUMsUUFBZ0IsRUFBRSxPQUFZO0lBQzdELGVBQU0sQ0FBQyxRQUFRLENBQUMsZUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQyxJQUFHLE9BQU8sQ0FBQyxLQUFLO1FBQ2QsZUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFFLGtDQUFrQztJQUMzRSxRQUFRLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFFLDBDQUEwQztJQUNoRyxNQUFNLFlBQVksR0FBRyxNQUFNLElBQUEsa0JBQVEsRUFBQyxRQUFRLENBQUMsQ0FBQztJQUM5QyxNQUFNLG9CQUFvQixHQUFHLElBQUksMkNBQW9CLEVBQUUsQ0FBQztJQUN4RCxJQUFJLE9BQU8sQ0FBQyxNQUFNO1FBQUUsb0JBQW9CLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDbEUsSUFBSSxPQUFPLENBQUMsTUFBTTtRQUFFLG9CQUFvQixDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQ2xFLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2xCLG9CQUFvQixDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ2pELG9CQUFvQixDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQ2xELENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxHQUFHO1FBQUUsb0JBQW9CLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7SUFDNUQsSUFBSSxPQUFPLENBQUMsZ0JBQWdCO1FBQUUsb0JBQW9CLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO0lBRTdFLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxxQ0FBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRXRFLElBQUksUUFBUSxHQUFrQixFQUFFLENBQUM7SUFDakMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV4QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2pCLE1BQU0sSUFBSSxHQUFHLElBQUksV0FBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksbUNBQWdCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRWpFLElBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xCLFlBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUUsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7QUFFSCxDQUFDIn0=
@@ -108,7 +108,7 @@ async function streamAndTransformResults(resultPath, depResults, cryptoFiles, cr
108
108
  });
109
109
  }
110
110
  async function scanHandler(rootPath, options) {
111
- var _a, _b, _c, _d, _e;
111
+ var _a, _b, _c, _d;
112
112
  if (options.debug)
113
113
  Logger_1.logger.setLevel(Logger_1.Logger.Level.debug);
114
114
  rootPath = path_1.default.resolve(rootPath);
@@ -121,6 +121,19 @@ async function scanHandler(rootPath, options) {
121
121
  }
122
122
  options.apiurl = url.origin;
123
123
  }
124
+ let scanossSettings = null;
125
+ // Settings Ingestion
126
+ if (!options.skipSettingsFile) {
127
+ const settingsFilePath = await (0, helpers_1.getSettingsFilePath)(options.settings, rootPath);
128
+ if (settingsFilePath) {
129
+ try {
130
+ scanossSettings = JSON.parse(fs_1.default.readFileSync(settingsFilePath, "utf-8"));
131
+ }
132
+ catch (e) {
133
+ throw new Error(`SCANOSS Settings file cannot be found at: ${settingsFilePath}.`);
134
+ }
135
+ }
136
+ }
124
137
  // Create dependency scanner and set parameters
125
138
  let dependencyInput = [];
126
139
  const dependencyScannerCfg = new DependencyScannerCfg_1.DependencyScannerCfg();
@@ -164,48 +177,34 @@ async function scanHandler(rootPath, options) {
164
177
  }
165
178
  if (options.obfuscate)
166
179
  scannerCfg.WFP_OBFUSCATION = true;
167
- const scanner = new Scanner_1.Scanner(scannerCfg);
168
180
  let scannerInput = { fileList: [] };
169
181
  // SBOM Ingestion
170
182
  if (options.ignore) {
171
183
  scannerInput.sbom = fs_1.default.readFileSync(options.ignore, "utf-8");
172
184
  scannerInput.sbomMode = ScannerTypes_1.SbomMode.SBOM_IGNORE;
173
185
  }
174
- // Settings Ingestion
175
- if (!options.skipSettingsFile) {
176
- const settingsFilePath = await (0, helpers_1.getSettingsFilePath)(options.settings, rootPath);
177
- if (settingsFilePath) {
178
- try {
179
- scannerInput.settings = JSON.parse(fs_1.default.readFileSync(settingsFilePath, "utf-8"));
180
- }
181
- catch (e) {
182
- throw new Error(`SCANOSS Settings file cannot be found at: ${settingsFilePath}.`);
183
- }
184
- }
185
- }
186
186
  scannerInput.folderRoot = rootPath + path_1.default.sep; // This will remove the project root path from the results.
187
187
  if (options.flags)
188
188
  scannerInput.engineFlags = options.flags;
189
- // Build scan settings from CLI options, merging with scanoss.json file_snippet settings
190
- // Priority: scanoss.json file_snippet settings > CLI arguments
191
- const fileSnippetSettings = new ScanSettingsBuilder_1.ScanSettingsBuilder((_b = (_a = scannerInput === null || scannerInput === void 0 ? void 0 : scannerInput.settings) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b.file_snippet)
192
- .withHonourFileExist(options.honourFileExts)
193
- .withMinSnippetHits(options.minSnippetHits)
194
- .withMinSnippetLines(options.minSnippetLines)
195
- .withRanking(options.ranking)
196
- .withRankingThreshold(options.rankingThreshold)
197
- .withDependencyAnalysis(options.dependencies)
198
- .build();
199
- // When file snippet settings are produced (from CLI args or scanoss.json),
200
- // ensure the settings hierarchy exists before assigning.
201
- // scannerInput.settings may be undefined if no scanoss.json file was loaded.
202
- if (fileSnippetSettings) {
203
- if (!scannerInput.settings)
204
- scannerInput.settings = { settings: {} };
205
- if (!scannerInput.settings.settings)
206
- scannerInput.settings.settings = {};
207
- scannerInput.settings.settings.file_snippet = fileSnippetSettings;
189
+ if (scanossSettings) {
190
+ scannerCfg.SCANOSS_SETTINGS = scanossSettings || {};
191
+ // Build scan settings from CLI options, merging with scanoss.json file_snippet settings
192
+ // Priority: scanoss.json file_snippet settings > CLI arguments
193
+ scannerCfg.SCANOSS_SETTINGS.settings.file_snippet = new ScanSettingsBuilder_1.ScanSettingsBuilder((_a = scanossSettings === null || scanossSettings === void 0 ? void 0 : scanossSettings.settings) === null || _a === void 0 ? void 0 : _a.file_snippet)
194
+ .withHonourFileExist(options.honourFileExts)
195
+ .withMinSnippetHits(options.minSnippetHits)
196
+ .withMinSnippetLines(options.minSnippetLines)
197
+ .withRanking(options.ranking)
198
+ .withRankingThreshold(options.rankingThreshold)
199
+ .withDependencyAnalysis(options.dependencies)
200
+ .withSkipHeaders()
201
+ .withSkipHeadersLimit()
202
+ .withProxy(options.proxy)
203
+ .withIgnoreCertErrors(options.ignoreCertErrors)
204
+ .withBaseUri(options.apiurl)
205
+ .build();
208
206
  }
207
+ const scanner = new Scanner_1.Scanner(scannerCfg);
209
208
  if (options.wfp)
210
209
  scannerInput.wfpPath = rootPath;
211
210
  const wfpMode = options.hpsm ? ScannerTypes_1.WinnowingMode.FULL_WINNOWING_HPSM : ScannerTypes_1.WinnowingMode.FULL_WINNOWING;
@@ -264,8 +263,8 @@ async function scanHandler(rootPath, options) {
264
263
  }
265
264
  // Dependency scanner
266
265
  let pDependencyScanner = Promise.resolve({});
267
- if (options.dependencies || ((_e = (_d = (_c = scannerInput === null || scannerInput === void 0 ? void 0 : scannerInput.settings) === null || _c === void 0 ? void 0 : _c.settings) === null || _d === void 0 ? void 0 : _d.file_snippet) === null || _e === void 0 ? void 0 : _e.dependency_analysis)) {
268
- pDependencyScanner = dependencyScanner.scan(dependencyInput);
266
+ if (options.dependencies || ((_d = (_c = (_b = scannerInput === null || scannerInput === void 0 ? void 0 : scannerInput.settings) === null || _b === void 0 ? void 0 : _b.settings) === null || _c === void 0 ? void 0 : _c.file_snippet) === null || _d === void 0 ? void 0 : _d.dependency_analysis)) {
267
+ pDependencyScanner = dependencyScanner.scan(dependencyInput, rootPath);
269
268
  }
270
269
  const results = {
271
270
  scanner: {},
@@ -364,4 +363,4 @@ async function scanHandler(rootPath, options) {
364
363
  await streamAndTransformResults(scannerResultPath, results.dependencies, results.cryptography.files, results.cryptography.components, options.output);
365
364
  }
366
365
  }
367
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nhbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGkvY29tbWFuZHMvc2Nhbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWdJQSxrQ0FpUkM7QUFqWkQsNENBQW9CO0FBQ3BCLHVEQUFvRDtBQUNwRCxpRUFBc0c7QUFDdEcsNkRBQTBEO0FBQzFELDhDQUEyQztBQUMzQyxnRUFBdUM7QUFFdkMsdUNBQWtGO0FBQ2xGLHNGQUFtRjtBQUNuRixnRkFBNkU7QUFDN0Usa0VBQStEO0FBQy9ELDhFQUEyRTtBQUMzRSxvREFBaUQ7QUFDakQsd0ZBQXFGO0FBQ3JGLDBHQUF1RztBQUN2Ryw0R0FBeUc7QUFDekcsc0dBQW1HO0FBQ25HLHNHQUFtRztBQUNuRyxvRkFBaUY7QUFDakYsb0ZBQWlGO0FBQ2pGLGdEQUF3QjtBQUN4QiwwSEFBdUg7QUFDdkgsZ0hBQTZHO0FBRTdHLGdFQUE2RDtBQUM3RCxvRkFBaUY7QUFHakYsNkNBQXFDO0FBQ3JDLHFFQUFrRTtBQUNsRSwyQkFBMEI7QUFDMUIsb0RBQXlEO0FBQ3pELCtFQUE0RTtBQUU1RTs7Ozs7OztHQU9HO0FBQ0gsS0FBSyxVQUFVLHlCQUF5QixDQUN0QyxVQUFrQixFQUNsQixVQUE4QixFQUM5QixXQUFxQyxFQUNyQyxnQkFBNkMsRUFDN0MsVUFBbUI7SUFFbkIsTUFBTSxRQUFRLEdBQUcsWUFBRSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQztTQUM3QyxJQUFJLENBQUMsSUFBQSxvQkFBTSxHQUFFLENBQUM7U0FDZCxJQUFJLENBQUMsSUFBQSwyQkFBWSxHQUFFLENBQUMsQ0FBQztJQUV4QixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ3JDLG9DQUFvQztRQUNwQyxNQUFNLFdBQVcsR0FBRyxVQUFVO1lBQzVCLENBQUMsQ0FBQyxZQUFFLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDO1lBQ2xDLENBQUMs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
366
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nhbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGkvY29tbWFuZHMvc2Nhbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWdJQSxrQ0FtUkM7QUFuWkQsNENBQW9CO0FBQ3BCLHVEQUFvRDtBQUNwRCxpRUFBc0c7QUFDdEcsNkRBQTBEO0FBQzFELDhDQUEyQztBQUMzQyxnRUFBdUM7QUFFdkMsdUNBQWtGO0FBQ2xGLHNGQUFtRjtBQUNuRixnRkFBNkU7QUFDN0Usa0VBQStEO0FBQy9ELDhFQUEyRTtBQUMzRSxvREFBaUQ7QUFDakQsd0ZBQXFGO0FBQ3JGLDBHQUF1RztBQUN2Ryw0R0FBeUc7QUFDekcsc0dBQW1HO0FBQ25HLHNHQUFtRztBQUNuRyxvRkFBaUY7QUFDakYsb0ZBQWlGO0FBQ2pGLGdEQUF3QjtBQUN4QiwwSEFBdUg7QUFDdkgsZ0hBQTZHO0FBRTdHLGdFQUE2RDtBQUM3RCxvRkFBaUY7QUFHakYsNkNBQXFDO0FBQ3JDLHFFQUFrRTtBQUNsRSwyQkFBMEI7QUFDMUIsb0RBQXlEO0FBQ3pELCtFQUE0RTtBQUU1RTs7Ozs7OztHQU9HO0FBQ0gsS0FBSyxVQUFVLHlCQUF5QixDQUN0QyxVQUFrQixFQUNsQixVQUE4QixFQUM5QixXQUFxQyxFQUNyQyxnQkFBNkMsRUFDN0MsVUFBbUI7SUFFbkIsTUFBTSxRQUFRLEdBQUcsWUFBRSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQztTQUM3QyxJQUFJLENBQUMsSUFBQSxvQkFBTSxHQUFFLENBQUM7U0FDZCxJQUFJLENBQUMsSUFBQSwyQkFBWSxHQUFFLENBQUMsQ0FBQztJQUV4QixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ3JDLG9DQUFvQztRQUNwQyxNQUFNLFdBQVcsR0FBRyxVQUFVO1lBQzVCLENBQUMsQ0FBQyxZQUFFLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDO1lBQ2xDLENBQUMs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
@@ -6,7 +6,12 @@ export declare class DependencyScanner {
6
6
  private config;
7
7
  constructor(cfg?: DependencyScannerCfg);
8
8
  scanFolder(path: string): Promise<IDependencyResponse>;
9
- scan(files: Array<string>): Promise<IDependencyResponse>;
9
+ /**
10
+ * @param basePath - Scan root directory. Limits the scope of upward directory searches
11
+ * performed by parsers (e.g., finding gradle/libs.versions.toml).
12
+ * When omitted, searches may walk up to the filesystem root.
13
+ */
14
+ scan(files: Array<string>, basePath?: string): Promise<IDependencyResponse>;
10
15
  private getDependencies;
11
16
  private purlAdapter;
12
17
  private chunkPurls;
@@ -35,10 +35,15 @@ class DependencyScanner {
35
35
  throw new Error('Specified path is not a directory');
36
36
  const tree = new Tree_1.Tree(path);
37
37
  tree.build();
38
- return await this.scan(tree.getFileList());
38
+ return await this.scan(tree.getFileList(), path);
39
39
  }
40
- async scan(files) {
41
- let localDependencies = await this.localDependency.search(files);
40
+ /**
41
+ * @param basePath - Scan root directory. Limits the scope of upward directory searches
42
+ * performed by parsers (e.g., finding gradle/libs.versions.toml).
43
+ * When omitted, searches may walk up to the filesystem root.
44
+ */
45
+ async scan(files, basePath) {
46
+ let localDependencies = await this.localDependency.search(files, basePath);
42
47
  if (localDependencies.files.length === 0)
43
48
  return { filesList: [], status: { status: 'success', message: 'No dependencies found' } };
44
49
  localDependencies = this.purlAdapter(localDependencies);
@@ -176,4 +181,4 @@ class DependencyScanner {
176
181
  }
177
182
  }
178
183
  exports.DependencyScanner = DependencyScanner;
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVwZW5kZW5jeVNjYW5uZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2RrL0RlcGVuZGVuY2llcy9EZXBlbmRlbmN5U2Nhbm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSx1RUFBc0U7QUFDdEUsaUVBQThEO0FBQzlELGlEQUEyQztBQUMzQyw0Q0FBb0I7QUFDcEIsdUNBQW9DO0FBQ3BDLDZDQUEwQztBQUMxQyxxRkFBa0Y7QUFXbEYsTUFBYSxpQkFBaUI7SUFPNUIsWUFBWSxHQUEwQjtRQUY5QixXQUFNLEdBQXlCLElBQUksMkNBQW9CLEVBQUUsQ0FBQztRQUdoRSxJQUFJLEdBQUc7WUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQzs7WUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLDJDQUFvQixFQUFFLENBQUM7UUFFOUMsTUFBTSxTQUFTLEdBQWlCO1lBQzlCLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDNUIsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVTtZQUNsQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXO1lBQ3BDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7WUFDOUIsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM1QixrQkFBa0IsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQjtZQUNsRCxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUseUVBQXlFO1NBQ3pHLENBQUM7UUFDRixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSwyQ0FBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksbUNBQWlCLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRU0sS0FBSyxDQUFDLFVBQVUsQ0FBQyxJ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
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVwZW5kZW5jeVNjYW5uZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2RrL0RlcGVuZGVuY2llcy9EZXBlbmRlbmN5U2Nhbm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSx1RUFBc0U7QUFDdEUsaUVBQThEO0FBQzlELGlEQUEyQztBQUMzQyw0Q0FBb0I7QUFDcEIsdUNBQW9DO0FBQ3BDLDZDQUEwQztBQUMxQyxxRkFBa0Y7QUFXbEYsTUFBYSxpQkFBaUI7SUFPNUIsWUFBWSxHQUEwQjtRQUY5QixXQUFNLEdBQXlCLElBQUksMkNBQW9CLEVBQUUsQ0FBQztRQUdoRSxJQUFJLEdBQUc7WUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQzs7WUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLDJDQUFvQixFQUFFLENBQUM7UUFFOUMsTUFBTSxTQUFTLEdBQWlCO1lBQzlCLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDNUIsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVTtZQUNsQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXO1lBQ3BDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7WUFDOUIsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM1QixrQkFBa0IsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQjtZQUNsRCxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUseUVBQXlFO1NBQ3pHLENBQUM7UUFDRixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSwyQ0FBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksbUNBQWlCLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRU0sS0FBSyxDQUFDLFVBQVUsQ0FBQyxJ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
@@ -10,7 +10,13 @@ export interface ILocalDependency {
10
10
  export interface ILocalDependencies {
11
11
  files: Array<ILocalDependency>;
12
12
  }
13
- export type ParserFuncType = (fileContent: string, filePath: string) => Promise<ILocalDependency>;
13
+ /**
14
+ * @param fileContent - Raw file content
15
+ * @param filePath - Absolute path to the file being parsed
16
+ * @param basePath - Scan root directory. Limits upward directory searches (e.g., finding gradle/libs.versions.toml).
17
+ * When omitted, parsers that walk the directory tree will search up to the filesystem root.
18
+ */
19
+ export type ParserFuncType = (fileContent: string, filePath: string, basePath?: string) => Promise<ILocalDependency>;
14
20
  export interface ParserDefinitions {
15
21
  [key: string]: ParserFuncType;
16
22
  }
@@ -4,7 +4,10 @@ export declare class LocalDependencies {
4
4
  private listFilePattern;
5
5
  constructor();
6
6
  filterFiles(files: Array<string>): Array<string>;
7
- search(files: Array<string>): Promise<ILocalDependencies>;
7
+ /**
8
+ * @param basePath - Scan root directory. Limits the scope of upward directory searches within parsers.
9
+ */
10
+ search(files: Array<string>, basePath?: string): Promise<ILocalDependencies>;
8
11
  stringMatchWithWildcard(text: string, pattern: string): boolean;
9
12
  private getParserFunc;
10
13
  }
@@ -14,6 +14,7 @@ const rubyParser_1 = require("./parsers/rubyParser");
14
14
  const golangParser_1 = require("./parsers/golangParser");
15
15
  const nugetParser_1 = require("./parsers/nugetParser");
16
16
  const buildGradleParser_1 = require("./parsers/buildGradleParser");
17
+ const libsVersionsTomlParser_1 = require("./parsers/gradle/libsVersionsTomlParser");
17
18
  const PyProjectToml_1 = __importDefault(require("./parsers/python/PyProjectToml"));
18
19
  class LocalDependencies {
19
20
  constructor() {
@@ -38,6 +39,8 @@ class LocalDependencies {
38
39
  '*.csproj': nugetParser_1.csprojParser,
39
40
  'packages.config': nugetParser_1.packagesConfigParser,
40
41
  'build.gradle': buildGradleParser_1.buildGradleParser,
42
+ 'build.gradle.kts': buildGradleParser_1.buildGradleParser,
43
+ 'libs.versions.toml': libsVersionsTomlParser_1.libsVersionsTomlParser,
41
44
  'pyproject.toml': PyProjectToml_1.default,
42
45
  };
43
46
  this.listFilePattern = Object.keys(this.parserMap).filter((item) => item.includes('*'));
@@ -45,14 +48,17 @@ class LocalDependencies {
45
48
  filterFiles(files) {
46
49
  return files.filter((filepath) => this.getParserFunc(filepath));
47
50
  }
48
- async search(files) {
51
+ /**
52
+ * @param basePath - Scan root directory. Limits the scope of upward directory searches within parsers.
53
+ */
54
+ async search(files, basePath) {
49
55
  let results = { files: [] };
50
56
  for (const filePath of files) {
51
57
  const parser = this.getParserFunc(filePath);
52
58
  if (parser != null) {
53
59
  try {
54
60
  const fileContent = await fs_1.default.promises.readFile(filePath, 'utf8');
55
- const dependency = await parser(fileContent, filePath);
61
+ const dependency = await parser(fileContent, filePath, basePath);
56
62
  if (dependency.purls.length != 0)
57
63
  results.files.push(dependency);
58
64
  }
@@ -109,4 +115,4 @@ class LocalDependencies {
109
115
  }
110
116
  }
111
117
  exports.LocalDependencies = LocalDependencies;
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxEZXBlbmRlbmN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3Nkay9EZXBlbmRlbmNpZXMvTG9jYWxEZXBlbmRlbmN5L0xvY2FsRGVwZW5kZW5jeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxnREFBd0I7QUFDeEIsNENBQW9CO0FBRXBCLGlEQUE2RztBQUM3Ryx1REFBa0Q7QUFDbEQsbURBSTZCO0FBQzdCLHFEQUFzRDtBQUN0RCxxREFBd0U7QUFDeEUseURBQWtFO0FBQ2xFLHVEQUEyRTtBQUMzRSxtRUFBZ0U7QUFDaEUsbUZBQTJEO0FBRTNELE1BQWEsaUJBQWlCO0lBSTVCO1FBQ0U7OztZQUdJO1FBQ0osSUFBSSxDQUFDLFNBQVMsR0FBRztZQUNmLGtCQUFrQixFQUFFLDZCQUFrQjtZQUN0QywyQkFBMkIsRUFBRSxvQ0FBeUI7WUFDdEQsb0JBQW9CLEVBQUUsbUNBQXdCO1lBQzlDLG9CQUFvQixFQUFFLG1DQUF3QjtZQUM5QyxTQUFTLEVBQUUsdUJBQVM7WUFDcEIsY0FBYyxFQUFFLHlCQUFhO1lBQzdCLG1CQUFtQixFQUFFLDZCQUFpQjtZQUN0QyxPQUFPLEVBQUUsMEJBQWE7WUFDdEIsY0FBYyxFQUFFLDhCQUFpQjtZQUNqQyxRQUFRLEVBQUUsMEJBQVc7WUFDckIsUUFBUSxFQUFFLDBCQUFXO1lBQ3JCLFdBQVcsRUFBRSwwQkFBYztZQUMzQixnQkFBZ0IsRUFBRSwyQkFBYztZQUNoQyxVQUFVLEVBQUUsMEJBQVk7WUFDeEIsaUJBQWlCLEVBQUUsa0NBQW9CO1lBQ3ZDLGNBQWMsRUFBRSxxQ0FBaUI7WUFDakMsZ0JBQWdCLEVBQUUsdUJBQWE7U0FDaEMsQ0FBQztRQUVGLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDakUsSUFBSSxDQUFDLFFB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
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxEZXBlbmRlbmN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3Nkay9EZXBlbmRlbmNpZXMvTG9jYWxEZXBlbmRlbmN5L0xvY2FsRGVwZW5kZW5jeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxnREFBd0I7QUFDeEIsNENBQW9CO0FBRXBCLGlEQUE2RztBQUM3Ryx1REFBa0Q7QUFDbEQsbURBSTZCO0FBQzdCLHFEQUFzRDtBQUN0RCxxREFBd0U7QUFDeEUseURBQWtFO0FBQ2xFLHVEQUEyRTtBQUMzRSxtRUFBZ0U7QUFDaEUsb0ZBQWlGO0FBQ2pGLG1GQUEyRDtBQUUzRCxNQUFhLGlCQUFpQjtJQUk1QjtRQUNFOzs7WUFHSTtRQUNKLElBQUksQ0FBQyxTQUFTLEdBQUc7WUFDZixrQkFBa0IsRUFBRSw2QkFBa0I7WUFDdEMsMkJBQTJCLEVBQUUsb0NBQXlCO1lBQ3RELG9CQUFvQixFQUFFLG1DQUF3QjtZQUM5QyxvQkFBb0IsRUFBRSxtQ0FBd0I7WUFDOUMsU0FBUyxFQUFFLHVCQUFTO1lBQ3BCLGNBQWMsRUFBRSx5QkFBYTtZQUM3QixtQkFBbUIsRUFBRSw2QkFBaUI7WUFDdEMsT0FBTyxFQUFFLDBCQUFhO1lBQ3RCLGNBQWMsRUFBRSw4QkFBaUI7WUFDakMsUUFBUSxFQUFFLDBCQUFXO1lBQ3JCLFFBQVEsRUFBRSwwQkFBVztZQUNyQixXQUFXLEVBQUUsMEJBQWM7WUFDM0IsZ0JBQWdCLEVBQUUsMkJBQWM7WUFDaEMsVUFBVSxFQUFFLDBCQUFZO1lBQ3hCLGlCQUFpQixFQUFFLGtDQUFvQjtZQUN2QyxjQUFjLEVBQUUscUNBQWlCO1lBQ2pDLGtCQUFrQixFQUFFLHFDQUFpQjtZQUNyQyxvQkFBb0IsRUFBRSwrQ0FBc0I7WUFDNUMsZ0JBQWdCLEVBQUUsdUJBQWE7U0FDaEMsQ0FBQztRQUVGLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMs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
@@ -1,5 +1,42 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
2
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
+ const path_1 = __importDefault(require("path"));
3
40
  const LocalDependency_1 = require("./LocalDependency");
4
41
  const chai_1 = require("chai");
5
42
  describe('Suit test for LocalDependency Scanner', () => {
@@ -20,15 +57,115 @@ describe('Suit test for LocalDependency Scanner', () => {
20
57
  "/home/user/go.sum",
21
58
  "/home/user/accept.csproj",
22
59
  "/home/user/ignore2.c",
60
+ "/home/user/app/build.gradle.kts",
61
+ "/home/user/gradle/libs.versions.toml",
23
62
  ];
24
63
  const expectedOut = [
25
64
  "/home/user/go.sum",
26
65
  "/home/user/accept.csproj",
66
+ "/home/user/app/build.gradle.kts",
67
+ "/home/user/gradle/libs.versions.toml",
27
68
  ];
28
69
  const result = localDependencyScanner.filterFiles(files);
29
70
  for (let i = 0; i < result.length; i++) {
30
71
  (0, chai_1.expect)(expectedOut[i]).to.be.equal(result[i]);
31
72
  }
32
73
  });
74
+ describe('Catalog alias resolution integration (search)', () => {
75
+ const fixtureDir = path_1.default.resolve(__dirname, 'testdata', 'gradle-catalog');
76
+ const tomlPath = path_1.default.join(fixtureDir, 'gradle', 'libs.versions.toml');
77
+ const ktsPath = path_1.default.join(fixtureDir, 'app', 'build.gradle.kts');
78
+ it('resolves catalog aliases when TOML and .kts are both in the file list', async function () {
79
+ const ld = new LocalDependency_1.LocalDependencies();
80
+ const result = await ld.search([tomlPath, ktsPath]);
81
+ // TOML file produces its own purls
82
+ const tomlFile = result.files.find(f => f.file === tomlPath);
83
+ (0, chai_1.expect)(tomlFile).to.not.be.undefined;
84
+ (0, chai_1.expect)(tomlFile.purls.length).to.equal(3);
85
+ // .kts file should have 4 purls: 3 catalog aliases + 1 direct coordinate
86
+ const ktsFile = result.files.find(f => f.file === ktsPath);
87
+ (0, chai_1.expect)(ktsFile).to.not.be.undefined;
88
+ (0, chai_1.expect)(ktsFile.purls.length).to.equal(4);
89
+ // Catalog-resolved entries should have correct coordinates and scope
90
+ const hilt = ktsFile.purls.find(p => p.purl.includes('hilt-android'));
91
+ (0, chai_1.expect)(hilt).to.not.be.undefined;
92
+ (0, chai_1.expect)(hilt.purl).to.equal('pkg:maven/com.google.dagger/hilt-android');
93
+ (0, chai_1.expect)(hilt.scope).to.equal('implementation');
94
+ (0, chai_1.expect)(hilt.requirement).to.equal('2.48');
95
+ const junit = ktsFile.purls.find(p => p.purl.includes('junit'));
96
+ (0, chai_1.expect)(junit).to.not.be.undefined;
97
+ (0, chai_1.expect)(junit.purl).to.equal('pkg:maven/junit/junit');
98
+ (0, chai_1.expect)(junit.scope).to.equal('testImplementation');
99
+ (0, chai_1.expect)(junit.requirement).to.equal('4.13.2');
100
+ const coreKtx = ktsFile.purls.find(p => p.purl.includes('core-ktx'));
101
+ (0, chai_1.expect)(coreKtx).to.not.be.undefined;
102
+ (0, chai_1.expect)(coreKtx.purl).to.equal('pkg:maven/androidx.core/core-ktx');
103
+ (0, chai_1.expect)(coreKtx.scope).to.equal('implementation');
104
+ (0, chai_1.expect)(coreKtx.requirement).to.equal('1.12.0');
105
+ // Direct coordinate should also resolve with scope
106
+ const retrofit = ktsFile.purls.find(p => p.purl.includes('retrofit'));
107
+ (0, chai_1.expect)(retrofit).to.not.be.undefined;
108
+ (0, chai_1.expect)(retrofit.purl).to.equal('pkg:maven/com.squareup.retrofit2/retrofit');
109
+ (0, chai_1.expect)(retrofit.scope).to.equal('implementation');
110
+ (0, chai_1.expect)(retrofit.requirement).to.equal('2.9.0');
111
+ });
112
+ it('produces only direct coordinates when no TOML is available', async function () {
113
+ const ld = new LocalDependency_1.LocalDependencies();
114
+ // Only pass .kts with no TOML on disk at any ancestor directory
115
+ // Use a standalone .kts in a temp-like path where no libs.versions.toml exists
116
+ const standaloneKts = path_1.default.join(fixtureDir, 'app', 'build.gradle.kts');
117
+ // Create a copy of the fixture in a location with no TOML ancestor
118
+ const fs = await Promise.resolve().then(() => __importStar(require('fs')));
119
+ const os = await Promise.resolve().then(() => __importStar(require('os')));
120
+ const tmpDir = fs.mkdtempSync(path_1.default.join(os.tmpdir(), 'gradle-no-toml-'));
121
+ const tmpKts = path_1.default.join(tmpDir, 'build.gradle.kts');
122
+ fs.copyFileSync(standaloneKts, tmpKts);
123
+ try {
124
+ const result = await ld.search([tmpKts]);
125
+ const ktsFile = result.files.find(f => f.file === tmpKts);
126
+ (0, chai_1.expect)(ktsFile).to.not.be.undefined;
127
+ // Only the direct coordinate should resolve (catalog aliases have no TOML to resolve against)
128
+ (0, chai_1.expect)(ktsFile.purls.length).to.equal(1);
129
+ (0, chai_1.expect)(ktsFile.purls[0].purl).to.equal('pkg:maven/com.squareup.retrofit2/retrofit');
130
+ (0, chai_1.expect)(ktsFile.purls[0].scope).to.equal('implementation');
131
+ }
132
+ finally {
133
+ fs.unlinkSync(tmpKts);
134
+ fs.rmdirSync(tmpDir);
135
+ }
136
+ });
137
+ describe('Multi-module catalog resolution', () => {
138
+ const multiDir = path_1.default.resolve(__dirname, 'testdata', 'gradle-catalog-multimodule');
139
+ const rootToml = path_1.default.join(multiDir, 'gradle', 'libs.versions.toml');
140
+ const moduleAToml = path_1.default.join(multiDir, 'moduleA', 'gradle', 'libs.versions.toml');
141
+ const moduleAKts = path_1.default.join(multiDir, 'moduleA', 'build.gradle.kts');
142
+ const moduleBKts = path_1.default.join(multiDir, 'moduleB', 'build.gradle.kts');
143
+ it('each .kts resolves from its nearest TOML when all files are in the list', async function () {
144
+ const ld = new LocalDependency_1.LocalDependencies();
145
+ const result = await ld.search([rootToml, moduleAToml, moduleAKts, moduleBKts]);
146
+ // moduleA should resolve hilt-android from moduleA's own TOML
147
+ const moduleAFile = result.files.find(f => f.file === moduleAKts);
148
+ (0, chai_1.expect)(moduleAFile).to.not.be.undefined;
149
+ (0, chai_1.expect)(moduleAFile.purls.length).to.equal(1);
150
+ const hilt = moduleAFile.purls.find(p => p.purl.includes('hilt-android'));
151
+ (0, chai_1.expect)(hilt).to.not.be.undefined;
152
+ (0, chai_1.expect)(hilt.purl).to.equal('pkg:maven/com.google.dagger/hilt-android');
153
+ (0, chai_1.expect)(hilt.scope).to.equal('implementation');
154
+ (0, chai_1.expect)(hilt.requirement).to.equal('2.48');
155
+ // moduleB should resolve retrofit from root TOML (walks up past moduleB/ to root)
156
+ const moduleBFile = result.files.find(f => f.file === moduleBKts);
157
+ (0, chai_1.expect)(moduleBFile).to.not.be.undefined;
158
+ (0, chai_1.expect)(moduleBFile.purls.length).to.equal(1);
159
+ const retrofit = moduleBFile.purls.find(p => p.purl.includes('retrofit'));
160
+ (0, chai_1.expect)(retrofit).to.not.be.undefined;
161
+ (0, chai_1.expect)(retrofit.purl).to.equal('pkg:maven/com.squareup.retrofit2/retrofit');
162
+ (0, chai_1.expect)(retrofit.scope).to.equal('implementation');
163
+ (0, chai_1.expect)(retrofit.requirement).to.equal('2.9.0');
164
+ // No cross-contamination: moduleA should NOT have retrofit, moduleB should NOT have hilt
165
+ (0, chai_1.expect)(moduleAFile.purls.find(p => p.purl.includes('retrofit'))).to.be.undefined;
166
+ (0, chai_1.expect)(moduleBFile.purls.find(p => p.purl.includes('hilt'))).to.be.undefined;
167
+ });
168
+ });
169
+ });
33
170
  });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxEZXBlbmRlbmN5LnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2RrL0RlcGVuZGVuY2llcy9Mb2NhbERlcGVuZGVuY3kvTG9jYWxEZXBlbmRlbmN5LnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx1REFBc0Q7QUFDdEQsK0JBQXNDO0FBRXRDLFFBQVEsQ0FBQyx1Q0FBdUMsRUFBRSxHQUFHLEVBQUU7SUFFckQsRUFBRSxDQUFDLGtDQUFrQyxFQUFHO1FBQ3RDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxtQ0FBaUIsRUFBRSxDQUFDO1FBQ3ZELElBQUEsYUFBTSxFQUFDLHNCQUFzQixDQUFDLHVCQUF1QixDQUFDLHNCQUFzQixFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDekYsSUFBQSxhQUFNLEVBQUMsc0JBQXNCLENBQUMsdUJBQXVCLENBQUMsc0JBQXNCLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUMxRixJQUFBLGFBQU0sRUFBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsQ0FBQyxzQkFBc0IsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3BGLElBQUEsYUFBTSxFQUFDLHNCQUFzQixDQUFDLHVCQUF1QixDQUFDLHNCQUFzQixFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDekYsSUFBQSxhQUFNLEVBQUMsc0JBQXNCLENBQUMsdUJBQXVCLENBQUMsMkJBQTJCLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUMvRixJQUFBLGFBQU0sRUFBQyxDQUFDLHNCQUFzQixDQUFDLHVCQUF1QixDQUFDLDJCQUEyQixFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDaEcsSUFBQSxhQUFNLEVBQUMsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsQ0FBQywyQkFBMkIsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ2pHLENBQUMsQ0FBQyxDQUFDO0lBSUgsRUFBRSxDQUFDLGtDQUFrQyxFQUFHO1FBQ3RDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxtQ0FBaUIsRUFBRSxDQUFDO1FBQ3ZELE1BQU0sS0FBSyxHQUFHO1lBQ1oscUJBQXFCO1lBQ3JCLG1CQUFtQjtZQUNuQiwwQkFBMEI7WUFDMUIsc0JBQXNCO1NBQ3ZCLENBQUM7UUFFRixNQUFNLFdBQVcsR0FBRztZQUNsQixtQkFBbUI7WUFDbkIsMEJBQTBCO1NBQzNCLENBQUM7UUFFRixNQUFNLE1BQU0sR0FBRyxzQkFBc0IsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFekQsS0FBSyxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQztZQUNqQyxJQUFBLGFBQU0sRUFBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFFTCxDQUFDLENBQUMsQ0FBQyJ9
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxEZXBlbmRlbmN5LnNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvc2RrL0RlcGVuZGVuY2llcy9Mb2NhbERlcGVuZGVuY3kvTG9jYWxEZXBlbmRlbmN5LnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnREFBd0I7QUFDeEIsdURBQXNEO0FBQ3RELCtCQUFzQztBQUV0QyxRQUFRLENBQUMsdUNBQXVDLEVBQUUsR0FBRyxFQUFFO0lBRXJELEVBQUUsQ0FBQyxrQ0FBa0MsRUFBRztRQUN0QyxNQUFNLHNCQUFzQixHQUFHLElBQUksbUNBQWlCLEVBQUUsQ0FBQztRQUN2RCxJQUFBLGFBQU0sRUFBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsQ0FBQyxzQkFBc0IsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3pGLElBQUEsYUFBTSxFQUFDLHNCQUFzQixDQUFDLHVCQUF1QixDQUFDLHNCQUFzQixFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDMUYsSUFBQSxhQUFNLEVBQUMsc0JBQXNCLENBQUMsdUJBQXVCLENBQUMsc0JBQXNCLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNwRixJQUFBLGFBQU0sRUFBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsQ0FBQyxzQkFBc0IsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3pGLElBQUEsYUFBTSxFQUFDLHNCQUFzQixDQUFDLHVCQUF1QixDQUFDLDJCQUEyQixFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDL0YsSUFBQSxhQUFNLEVBQUMsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsQ0FBQywyQkFBMkIsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ2hHLElBQUEsYUFBTSxFQUFDLENBQUMsc0JBQXNCLENBQUMsdUJBQXVCLENBQUMsMkJBQTJCLEVBQUUsUUFBUSxDQUFD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
@@ -1,2 +1,2 @@
1
1
  import { ILocalDependency } from '../DependencyTypes';
2
- export declare function buildGradleParser(fileContent: string, filePath: string): Promise<ILocalDependency>;
2
+ export declare function buildGradleParser(fileContent: string, filePath: string, basePath?: string): Promise<ILocalDependency>;