scanoss 0.28.0 → 0.29.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,10 +2,22 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [0.29.0-beta.1] (2025-12-16)
6
+ ### Changed
7
+ - Used write and read streams to save scan responses
8
+
9
+ ## [0.28.1] (2025-12-10)
10
+ ### Changed
11
+ - Deleted zip folders on extraction failure
12
+
5
13
  ## [0.28.0] (2025-12-10)
6
14
  ### Added
7
15
  - Added `requirement` field in dependency response
8
16
 
17
+ ## [0.28.0-beta.1] (2025-11-19)
18
+ ### Changed
19
+ - Used write and read streams to save scan responses
20
+
9
21
  ## [0.27.0] (2025-11-11)
10
22
  ### Added
11
23
  - Added validation to remove `/scan/direct` path name from api url
@@ -182,4 +194,7 @@ All notable changes to this project will be documented in this file. See [standa
182
194
  ### [0.25.0](https://github.com/scanoss/scanoss.js/compare/v0.24.0...v0.25.0) (2025-10-01)
183
195
  ### [0.26.0](https://github.com/scanoss/scanoss.js/compare/v0.25.0...v0.26.0) (2025-10-30)
184
196
  ### [0.27.0](https://github.com/scanoss/scanoss.js/compare/v0.26.0...v0.26.1) (2025-11-11)
197
+ ### [0.28.0-beta.1] https://github.com/scanoss/scanoss.js/compare/v0.27.0...v0.28.1-beta.1 (2025-11-19)
185
198
  ### [0.28.0](https://github.com/scanoss/scanoss.js/compare/v0.27.0...v0.28.1) (2025-12-10)
199
+ ### [0.28.1](https://github.com/scanoss/scanoss.js/compare/v0.28.0...v0.28.1) (2025-12-10)
200
+ ### [0.29.0-beta.1](https://github.com/scanoss/scanoss.js/compare/v0.28.1...v0.29.0-beta.1) (2025-12-16)
@@ -28,7 +28,83 @@ const LicenseObligationDataProvider_1 = require("../../sdk/Report/DataLayer/Data
28
28
  const CryptographyDataProvider_1 = require("../../sdk/Report/DataLayer/DataProviders/CryptographyDataProvider");
29
29
  const CryptoCfg_1 = require("../../sdk/Cryptography/CryptoCfg");
30
30
  const CryptographyScanner_1 = require("../../sdk/Cryptography/CryptographyScanner");
31
+ const stream_json_1 = require("stream-json");
32
+ const StreamObject_1 = require("stream-json/streamers/StreamObject");
33
+ const os_1 = require("os");
31
34
  const Logger_1 = require("../../sdk/Logger/Logger");
35
+ /**
36
+ * Stream JSON scanner results and transform into new structure
37
+ * @param resultPath Path to the scanner JSON results file
38
+ * @param depResults Dependency results to include
39
+ * @param cryptoFiles Cryptography files to include
40
+ * @param cryptoComponents Cryptography components to include
41
+ * @param outputPath Output file path (optional, writes to stdout if not provided)
42
+ */
43
+ async function streamAndTransformResults(resultPath, depResults, cryptoFiles, cryptoComponents, outputPath) {
44
+ const pipeline = fs_1.default.createReadStream(resultPath)
45
+ .pipe((0, stream_json_1.parser)())
46
+ .pipe((0, StreamObject_1.streamObject)());
47
+ return new Promise((resolve, reject) => {
48
+ // Create write stream or use stdout
49
+ const writeStream = outputPath
50
+ ? fs_1.default.createWriteStream(outputPath)
51
+ : process.stdout;
52
+ let firstScannerKey = true;
53
+ // Helper to indent JSON output
54
+ const indentLines = (jsonStr, spaces) => {
55
+ const indent = ' '.repeat(spaces);
56
+ return jsonStr.split(os_1.EOL).map((line, idx) => idx === 0 ? line : indent + line).join(os_1.EOL);
57
+ };
58
+ // Start the result object
59
+ writeStream.write(`{${os_1.EOL}`);
60
+ writeStream.write(` "scanner": {${os_1.EOL}`);
61
+ pipeline.on('data', (data) => {
62
+ // Stream each key-value pair from scanner results
63
+ if (!firstScannerKey) {
64
+ writeStream.write(`,${os_1.EOL}`);
65
+ }
66
+ const valueJson = JSON.stringify(data.value, null, 2);
67
+ const indentedValue = indentLines(valueJson, 4);
68
+ writeStream.write(` ${JSON.stringify(data.key)}: ${indentedValue}`);
69
+ firstScannerKey = false;
70
+ });
71
+ pipeline.on('end', () => {
72
+ // Close scanner object and add other fields
73
+ writeStream.write(`${os_1.EOL} },${os_1.EOL}`);
74
+ const depJson = JSON.stringify(depResults, null, 2);
75
+ const indentedDep = indentLines(depJson, 2);
76
+ writeStream.write(` "dependencies": ${indentedDep},${os_1.EOL}`);
77
+ writeStream.write(` "cryptography": {${os_1.EOL}`);
78
+ const filesJson = JSON.stringify(cryptoFiles, null, 2);
79
+ const indentedFiles = indentLines(filesJson, 4);
80
+ writeStream.write(` "files": ${indentedFiles},${os_1.EOL}`);
81
+ const componentsJson = JSON.stringify(cryptoComponents, null, 2);
82
+ const indentedComponents = indentLines(componentsJson, 4);
83
+ writeStream.write(` "components": ${indentedComponents}${os_1.EOL}`);
84
+ writeStream.write(` }${os_1.EOL}`);
85
+ writeStream.write('}');
86
+ if (outputPath) {
87
+ writeStream.end(() => resolve());
88
+ }
89
+ else {
90
+ writeStream.write(os_1.EOL);
91
+ resolve();
92
+ }
93
+ });
94
+ pipeline.on('error', (error) => {
95
+ if (outputPath && writeStream !== process.stdout) {
96
+ writeStream.destroy();
97
+ }
98
+ reject(error);
99
+ });
100
+ if (outputPath) {
101
+ writeStream.on('error', (error) => {
102
+ pipeline.destroy();
103
+ reject(error);
104
+ });
105
+ }
106
+ });
107
+ }
32
108
  async function scanHandler(rootPath, options) {
33
109
  if (options.debug)
34
110
  Logger_1.logger.setLevel(Logger_1.Logger.Level.debug);
@@ -176,6 +252,7 @@ async function scanHandler(rootPath, options) {
176
252
  const [scannerResultPath, depResults] = await Promise.all([pScanner, pDependencyScanner]);
177
253
  results.scanner = JSON.parse(await fs_1.default.promises.readFile(scannerResultPath, "utf-8"));
178
254
  results.dependencies = depResults;
255
+ // Cryptography scanning
179
256
  if (options.cryptography) {
180
257
  const cfg = new CryptoCfg_1.CryptoCfg();
181
258
  if (options.algorithmRules)
@@ -207,9 +284,21 @@ async function scanHandler(rootPath, options) {
207
284
  return { ...c, file: c.file.replace(rootPath, "") };
208
285
  });
209
286
  results.cryptography.files = localCrypto.fileList;
210
- // Component Cryptography
287
+ // Component Cryptography - need to load scanner results first
211
288
  if (options.key) {
212
- let componentList = Object.values(results.scanner).flat();
289
+ // Stream load scanner results to get component list
290
+ const scannerData = await new Promise((resolve, reject) => {
291
+ const pipeline = fs_1.default.createReadStream(scannerResultPath)
292
+ .pipe((0, stream_json_1.parser)())
293
+ .pipe((0, StreamObject_1.streamObject)());
294
+ const scannerResults = {};
295
+ pipeline.on('data', (data) => {
296
+ scannerResults[data.key] = data.value;
297
+ });
298
+ pipeline.on('end', () => resolve(scannerResults));
299
+ pipeline.on('error', reject);
300
+ });
301
+ let componentList = Object.values(scannerData).flat();
213
302
  componentList = componentList.filter((component) => component.id !== "none");
214
303
  const cryptoRequest = componentList.map((c) => {
215
304
  return { purl: c.purl[0], requirement: c.version };
@@ -217,8 +306,21 @@ async function scanHandler(rootPath, options) {
217
306
  results.cryptography.components = await cryptoScanner.scanComponents(cryptoRequest);
218
307
  }
219
308
  }
220
- let resultString = JSON.stringify(results, null, 2);
309
+ // Stream and transform results to avoid loading entire file in memory
221
310
  if (options.format && options.format.toLowerCase() === "html") {
311
+ // For HTML format, we need to load scanner results into memory
312
+ const scannerData = await new Promise((resolve, reject) => {
313
+ const pipeline = fs_1.default.createReadStream(scannerResultPath)
314
+ .pipe((0, stream_json_1.parser)())
315
+ .pipe((0, StreamObject_1.streamObject)());
316
+ const scannerResults = {};
317
+ pipeline.on('data', (data) => {
318
+ scannerResults[data.key] = data.value;
319
+ });
320
+ pipeline.on('end', () => resolve(scannerResults));
321
+ pipeline.on('error', reject);
322
+ });
323
+ results.scanner = scannerData;
222
324
  const dataProviderManager = new DataProviderManager_1.DataProviderManager();
223
325
  dataProviderManager.addDataProvider(new ComponentDataProvider_1.ComponentDataProvider(results.scanner, results.dependencies));
224
326
  dataProviderManager.addDataProvider(new DependencyDataProvider_1.DependencyDataProvider(results.dependencies));
@@ -227,11 +329,15 @@ async function scanHandler(rootPath, options) {
227
329
  dataProviderManager.addDataProvider(new LicenseObligationDataProvider_1.LicenseObligationDataProvider(results.scanner, results.dependencies));
228
330
  dataProviderManager.addDataProvider(new CryptographyDataProvider_1.CryptographyDataProvider(results.cryptography.files, results.cryptography.components));
229
331
  const report = new Report_1.Report(dataProviderManager);
230
- resultString = await report.getHTML();
332
+ const resultString = await report.getHTML();
333
+ if (options.output)
334
+ await fs_1.default.promises.writeFile(options.output, resultString);
335
+ else
336
+ console.log(resultString);
337
+ }
338
+ else {
339
+ // For JSON format, stream the transformation
340
+ await streamAndTransformResults(scannerResultPath, results.dependencies, results.cryptography.files, results.cryptography.components, options.output);
231
341
  }
232
- if (options.output)
233
- await fs_1.default.promises.writeFile(options.output, resultString);
234
- else
235
- console.log(resultString);
236
342
  }
237
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nhbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGkvY29tbWFuZHMvc2Nhbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQThCQSxrQ0FvTkM7QUFsUEQsNENBQW9CO0FBQ3BCLHVEQUFvRDtBQUNwRCxpRUFBc0c7QUFDdEcsNkRBQTBEO0FBQzFELDhDQUEyQztBQUMzQyxnRUFBdUM7QUFFdkMsdUNBQWtGO0FBQ2xGLHNGQUFtRjtBQUNuRixnRkFBNkU7QUFDN0Usa0VBQStEO0FBQy9ELDhFQUEyRTtBQUMzRSxvREFBaUQ7QUFDakQsd0ZBQXFGO0FBQ3JGLDBHQUF1RztBQUN2Ryw0R0FBeUc7QUFDekcsc0dBQW1HO0FBQ25HLHNHQUFtRztBQUNuRyxvRkFBaUY7QUFDakYsb0ZBQWlGO0FBQ2pGLGdEQUF3QjtBQUN4QiwwSEFBdUg7QUFDdkgsZ0hBQTZHO0FBRTdHLGdFQUE2RDtBQUM3RCxvRkFBaUY7QUFHakYsb0RBQXlEO0FBRWxELEtBQUssVUFBVSxXQUFXLENBQUMsUUFBZ0IsRUFBRSxPQUFZO0lBQzlELElBQUcsT0FBTyxDQUFDLEtBQUs7UUFDZCxlQUFNLENBQUMsUUFBUSxDQUFDLGVBQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsUUFBUSxHQUFHLGNBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFBLGtCQUFRLEVBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUMsTUFBTSxXQUFXLEdBQUcsSUFBQSxnQ0FBc0IsRUFBQyxRQUFRLENBQUMsQ0FBQztJQUVyRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNuQixNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEMsSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakIsZUFBTSxDQUFD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
343
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nhbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGkvY29tbWFuZHMvc2Nhbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQThIQSxrQ0E4UEM7QUE1WEQsNENBQW9CO0FBQ3BCLHVEQUFvRDtBQUNwRCxpRUFBc0c7QUFDdEcsNkRBQTBEO0FBQzFELDhDQUEyQztBQUMzQyxnRUFBdUM7QUFFdkMsdUNBQWtGO0FBQ2xGLHNGQUFtRjtBQUNuRixnRkFBNkU7QUFDN0Usa0VBQStEO0FBQy9ELDhFQUEyRTtBQUMzRSxvREFBaUQ7QUFDakQsd0ZBQXFGO0FBQ3JGLDBHQUF1RztBQUN2Ryw0R0FBeUc7QUFDekcsc0dBQW1HO0FBQ25HLHNHQUFtRztBQUNuRyxvRkFBaUY7QUFDakYsb0ZBQWlGO0FBQ2pGLGdEQUF3QjtBQUN4QiwwSEFBdUg7QUFDdkgsZ0hBQTZHO0FBRTdHLGdFQUE2RDtBQUM3RCxvRkFBaUY7QUFHakYsNkNBQXFDO0FBQ3JDLHFFQUFrRTtBQUNsRSwyQkFBMEI7QUFDMUIsb0RBQXlEO0FBRXpEOzs7Ozs7O0dBT0c7QUFDSCxLQUFLLFVBQVUseUJBQXlCLENBQ3RDLFVBQWtCLEVBQ2xCLFVBQThCLEVBQzlCLFdBQXFDLEVBQ3JDLGdCQUE2QyxFQUM3QyxVQUFtQjtJQUVuQixNQUFNLFFBQVEsR0FBRyxZQUFFLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDO1NBQzdDLElBQUksQ0FBQyxJQUFBLG9CQUFNLEdBQUUsQ0FBQztTQUNkLElBQUksQ0FBQyxJQUFBLDJCQUFZLEdBQUUsQ0FBQyxDQUFDO0lBRXhCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDckMsb0NBQW9DO1FBQ3BDLE1BQU0sV0FBVyxHQUFHLFVBQVU7WUFDNUIsQ0FBQyxDQUFDLFlBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUM7WUFDbEMsQ0FBQyxDQUFDLE9BQU8sQ0FB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
@@ -56,7 +56,13 @@ class DecompressionManager {
56
56
  //Search for decompressor and extract archive
57
57
  for (const d of this.decompressorList) {
58
58
  if (d.isSupported(archiveName)) {
59
- await d.run(archivePath, newFolderPath);
59
+ try {
60
+ await d.run(archivePath, newFolderPath);
61
+ }
62
+ catch (e) {
63
+ await fs_1.default.promises.rm(newFolderPath, { recursive: true, force: true });
64
+ throw new Error(e);
65
+ }
60
66
  break;
61
67
  }
62
68
  }
@@ -71,4 +77,4 @@ class DecompressionManager {
71
77
  }
72
78
  }
73
79
  exports.DecompressionManager = DecompressionManager;
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVjb21wcmVzc2lvbk1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2RrL0RlY29tcHJlc3MvRGVjb21wcmVzc2lvbk1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0RBQXdCO0FBQ3hCLDRDQUFvQjtBQUNwQix1Q0FBb0M7QUFDcEMsNkVBQTBFO0FBRTFFLGtFQUE4RDtBQUM5RCxnRUFBNkQ7QUFFN0QsTUFBYSxvQkFBb0I7SUFTTyxpSEFBaUg7SUFFdkosWUFBWSxxQkFBNkIsQ0FBQyxFQUFFLFNBQWlCLFdBQVcsRUFBRSxxQkFBOEIsS0FBSztRQUMzRyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUM7UUFDN0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDO1FBQzdDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRztZQUN0QixJQUFJLDZCQUFhLEVBQUU7WUFDbkIsSUFBSSw4QkFBYSxFQUFFO1NBQ3BCLENBQUM7SUFFSixDQUFDO0lBRU0sZUFBZSxDQUFDLENBQWU7UUFDcEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU0sbUJBQW1CO1FBQ3hCLE1BQU0sZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNsQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFBO1FBQ25ELENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixDQUFDO0lBRU0sS0FBSyxDQUFDLFVBQVUsQ0FBQyxhQUE0QjtRQUNsRCxLQUFLLE1BQU0sV0FBVyxJQUFJLGFBQWE7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
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVjb21wcmVzc2lvbk1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2RrL0RlY29tcHJlc3MvRGVjb21wcmVzc2lvbk1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsZ0RBQXdCO0FBQ3hCLDRDQUFvQjtBQUNwQix1Q0FBb0M7QUFDcEMsNkVBQTBFO0FBRTFFLGtFQUE4RDtBQUM5RCxnRUFBNkQ7QUFFN0QsTUFBYSxvQkFBb0I7SUFTTyxpSEFBaUg7SUFFdkosWUFBWSxxQkFBNkIsQ0FBQyxFQUFFLFNBQWlCLFdBQVcsRUFBRSxxQkFBOEIsS0FBSztRQUMzRyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUM7UUFDN0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDO1FBQzdDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRztZQUN0QixJQUFJLDZCQUFhLEVBQUU7WUFDbkIsSUFBSSw4QkFBYSxFQUFFO1NBQ3BCLENBQUM7SUFFSixDQUFDO0lBRU0sZUFBZSxDQUFDLENBQWU7UUFDcEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU0sbUJBQW1CO1FBQ3hCLE1BQU0sZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNsQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFBO1FBQ25ELENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixDQUFDO0lBRU0sS0FBSyxDQUFDLFVBQVUsQ0FBQyxhQUE0QjtRQUNsRCxLQUFLLE1BQU0sV0FBVyxJQUFJLGFBQWE7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
@@ -23,6 +23,8 @@ export declare class Scanner extends EventEmitter {
23
23
  private responseBuffer;
24
24
  private filesNotScanned;
25
25
  private settings;
26
+ private wfpWriteStream;
27
+ private resultWriteStream;
26
28
  constructor(scannerCfg?: ScannerCfg);
27
29
  private getScanFolderId;
28
30
  private removeWorkingDir;
@@ -56,9 +58,16 @@ export declare class Scanner extends EventEmitter {
56
58
  private bufferToFiles;
57
59
  private finishJob;
58
60
  private finishScan;
61
+ /**
62
+ * Convert NDJSON file to a single JSON object using streams
63
+ * Reads NDJSON line by line and writes formatted JSON
64
+ */
65
+ private convertNDJSONToJSON;
59
66
  private reportLog;
60
67
  private errorHandler;
61
68
  private createOutputFiles;
69
+ private initializeWriteStreams;
70
+ private closeWriteStreams;
62
71
  private appendOutputFiles;
63
72
  private isValidInput;
64
73
  private abort;