scanoss 0.2.13 → 0.2.14
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/a +298965 -0
- package/build/main/bin/cli-bin.js +2 -2
- package/build/main/commands/dep.js +1 -1
- package/build/main/lib/dependencies/Dependency.js +3 -3
- package/build/main/lib/dependencies/parsers/npmParser.js +3 -2
- package/build/module/bin/cli-bin.js +2 -2
- package/build/module/commands/dep.js +1 -1
- package/build/module/lib/dependencies/Dependency.js +3 -3
- package/build/module/lib/dependencies/parsers/npmParser.js +3 -2
- package/build/tsconfig.module.tsbuildinfo +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/src/bin/cli-bin.ts +1 -1
- package/src/lib/dependencies/Dependency.ts +4 -2
- package/src/lib/dependencies/parsers/npmParser.ts +2 -1
- package/build/main/lib/dependencies/src/PurlGenerator.d.ts +0 -2
- package/build/main/lib/dependencies/src/PurlGenerator.js +0 -62
- package/build/main/lib/dependencies/src/parsers/golangParser.d.ts +0 -0
- package/build/main/lib/dependencies/src/parsers/golangParser.js +0 -3
- package/build/main/lib/dependencies/src/parsers/mavenParser.d.ts +0 -2
- package/build/main/lib/dependencies/src/parsers/mavenParser.js +0 -44
- package/build/main/lib/dependencies/src/parsers/npmParser.d.ts +0 -3
- package/build/main/lib/dependencies/src/parsers/npmParser.js +0 -45
- package/build/main/lib/dependencies/src/parsers/pyParser.d.ts +0 -2
- package/build/main/lib/dependencies/src/parsers/pyParser.js +0 -51
- package/build/main/lib/dependencies/src/parsers/rubyParser.d.ts +0 -3
- package/build/main/lib/dependencies/src/parsers/rubyParser.js +0 -135
- package/build/main/lib/dependencies/src/parsers/types.d.ts +0 -15
- package/build/main/lib/dependencies/src/parsers/types.js +0 -33
- package/build/main/lib/dependencies/src/parsers/utils.d.ts +0 -2
- package/build/main/lib/dependencies/src/parsers/utils.js +0 -19
- package/build/main/lib/dependencyScan/dependencyScan.d.ts +0 -2
- package/build/main/lib/dependencyScan/dependencyScan.js +0 -37
- package/build/main/lib/dependencyScan/parser.d.ts +0 -7
- package/build/main/lib/dependencyScan/parser.js +0 -41
- package/build/main/lib/dependencyScan/utils.d.ts +0 -1
- package/build/main/lib/dependencyScan/utils.js +0 -16
- package/build/main/lib/scanner/Dependency/dependency.d.ts +0 -9
- package/build/main/lib/scanner/Dependency/dependency.js +0 -46
- package/build/main/lib/scanner/Dependency/dependencyScan.d.ts +0 -9
- package/build/main/lib/scanner/Dependency/dependencyScan.js +0 -48
- package/build/main/lib/scanner/Dependency/parser.d.ts +0 -7
- package/build/main/lib/scanner/Dependency/parser.js +0 -41
- package/build/main/lib/scanner/Dependency/utils.d.ts +0 -1
- package/build/main/lib/scanner/Dependency/utils.js +0 -16
- package/build/main/lib/scanner/ScannerEvents.d.ts +0 -22
- package/build/main/lib/scanner/ScannerEvents.js +0 -28
- package/build/module/lib/dependencies/src/PurlGenerator.d.ts +0 -2
- package/build/module/lib/dependencies/src/PurlGenerator.js +0 -55
- package/build/module/lib/dependencies/src/parsers/golangParser.d.ts +0 -0
- package/build/module/lib/dependencies/src/parsers/golangParser.js +0 -3
- package/build/module/lib/dependencies/src/parsers/mavenParser.d.ts +0 -2
- package/build/module/lib/dependencies/src/parsers/mavenParser.js +0 -37
- package/build/module/lib/dependencies/src/parsers/npmParser.d.ts +0 -3
- package/build/module/lib/dependencies/src/parsers/npmParser.js +0 -37
- package/build/module/lib/dependencies/src/parsers/pyParser.d.ts +0 -2
- package/build/module/lib/dependencies/src/parsers/pyParser.js +0 -44
- package/build/module/lib/dependencies/src/parsers/rubyParser.d.ts +0 -3
- package/build/module/lib/dependencies/src/parsers/rubyParser.js +0 -132
- package/build/module/lib/dependencies/src/parsers/types.d.ts +0 -15
- package/build/module/lib/dependencies/src/parsers/types.js +0 -32
- package/build/module/lib/dependencies/src/parsers/utils.d.ts +0 -2
- package/build/module/lib/dependencies/src/parsers/utils.js +0 -14
- package/build/module/lib/dependencyScan/dependencyScan.d.ts +0 -2
- package/build/module/lib/dependencyScan/dependencyScan.js +0 -29
- package/build/module/lib/dependencyScan/parser.d.ts +0 -7
- package/build/module/lib/dependencyScan/parser.js +0 -38
- package/build/module/lib/dependencyScan/utils.d.ts +0 -1
- package/build/module/lib/dependencyScan/utils.js +0 -12
- package/build/module/lib/scanner/Dependency/dependency.d.ts +0 -9
- package/build/module/lib/scanner/Dependency/dependency.js +0 -38
- package/build/module/lib/scanner/Dependency/dependencyScan.d.ts +0 -9
- package/build/module/lib/scanner/Dependency/dependencyScan.js +0 -40
- package/build/module/lib/scanner/Dependency/parser.d.ts +0 -7
- package/build/module/lib/scanner/Dependency/parser.js +0 -38
- package/build/module/lib/scanner/Dependency/utils.d.ts +0 -1
- package/build/module/lib/scanner/Dependency/utils.js +0 -12
- package/build/module/lib/scanner/ScannerEvents.d.ts +0 -22
- package/build/module/lib/scanner/ScannerEvents.js +0 -25
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { isValidUrl } from './utils';
|
|
2
|
-
export const parser = {
|
|
3
|
-
'requirements.txt': pyParser,
|
|
4
|
-
'package.json': jsParser
|
|
5
|
-
};
|
|
6
|
-
// Parse a requirements.txt file from python projects
|
|
7
|
-
// See reference on: https://pip.pypa.io/en/stable/reference/requirements-file-format/
|
|
8
|
-
function pyParser(requirements) {
|
|
9
|
-
const lines = requirements.split('\n');
|
|
10
|
-
const results = {};
|
|
11
|
-
let compName = '';
|
|
12
|
-
let compVer = '';
|
|
13
|
-
for (let line of lines) {
|
|
14
|
-
line = line.trim();
|
|
15
|
-
if (!line.startsWith('#') && line.length > 0) { // Avoid comments and new lines
|
|
16
|
-
if (isValidUrl(line) || /^[\.\/]+/.test(line)) { // url or path
|
|
17
|
-
compName = line.match(/.*\/(.*)/)[1];
|
|
18
|
-
compVer = compName.match(/\d\.\d.\d/)[0];
|
|
19
|
-
results[compName] = compVer;
|
|
20
|
-
}
|
|
21
|
-
else if (line.startsWith('-r')) { } // recursive dependencies (NOT SUPPORTED YET)
|
|
22
|
-
else {
|
|
23
|
-
const res = line.match(/\s*([-\w]*)\s*(?:[>=~!]*)\s*([\d\.]*)/);
|
|
24
|
-
compName = res[1];
|
|
25
|
-
compVer = res[2];
|
|
26
|
-
results[compName] = compVer;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
return results;
|
|
31
|
-
}
|
|
32
|
-
function jsParser(packageJson) {
|
|
33
|
-
const o = JSON.parse(packageJson);
|
|
34
|
-
const results = {};
|
|
35
|
-
Object.assign(results, o.dependencies);
|
|
36
|
-
return results;
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9kZXBlbmRlbmN5U2Nhbi9wYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVyQyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUc7SUFDbEIsa0JBQWtCLEVBQUUsUUFBUTtJQUM1QixjQUFjLEVBQUUsUUFBUTtDQUMzQixDQUFDO0FBRUYscURBQXFEO0FBQ3JELHNGQUFzRjtBQUN0RixTQUFTLFFBQVEsQ0FBQyxZQUFvQjtJQUNsQyxNQUFNLEtBQUssR0FBa0IsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0RCxNQUFNLE9BQU8sR0FBMkIsRUFBRSxDQUFDO0lBRTNDLElBQUksUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUMxQixJQUFJLE9BQU8sR0FBVyxFQUFFLENBQUM7SUFFekIsS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLEVBQUU7UUFDcEIsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFDLENBQUMsRUFBRSxFQUFFLCtCQUErQjtZQUN6RSxJQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsY0FBYztnQkFDMUQsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JDLE9BQU8sR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN6QyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsT0FBTyxDQUFDO2FBQy9CO2lCQUNJLElBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFFLENBQUMsNkNBQTZDO2lCQUMxRTtnQkFDRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7Z0JBQ2hFLFFBQVEsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xCLE9BQU8sR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pCLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxPQUFPLENBQUM7YUFDL0I7U0FDSjtLQUNKO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDbkIsQ0FBQztBQUdELFNBQVMsUUFBUSxDQUFDLFdBQW1CO0lBQ2pDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ25CLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN2QyxPQUFPLE9BQU8sQ0FBQztBQUNuQixDQUFDIn0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function isValidUrl(string: string): boolean;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { URL } from "url";
|
|
2
|
-
export function isValidUrl(string) {
|
|
3
|
-
let url;
|
|
4
|
-
try {
|
|
5
|
-
new URL(string);
|
|
6
|
-
}
|
|
7
|
-
catch (_) {
|
|
8
|
-
return false;
|
|
9
|
-
}
|
|
10
|
-
return true;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2RlcGVuZGVuY3lTY2FuL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFMUIsTUFBTSxVQUFVLFVBQVUsQ0FBQyxNQUFjO0lBQ3JDLElBQUksR0FBUSxDQUFDO0lBQ2IsSUFBSTtRQUNGLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQ2pCO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIn0=
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
interface Dependency {
|
|
2
|
-
filename: string;
|
|
3
|
-
path: string;
|
|
4
|
-
quantity: number;
|
|
5
|
-
dependencies: Record<string, string>;
|
|
6
|
-
}
|
|
7
|
-
export declare function dependency(projectPath: string): Promise<Array<Dependency>>;
|
|
8
|
-
export declare function appendDependencyToResult(resultPath: string, dependency: Record<string, string>): Promise<void>;
|
|
9
|
-
export {};
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
import { parser } from './parser';
|
|
4
|
-
;
|
|
5
|
-
async function readOnlyFiles(dir) {
|
|
6
|
-
const files = await fs.promises.readdir(dir, { withFileTypes: true });
|
|
7
|
-
const results = [];
|
|
8
|
-
for (const f of files) {
|
|
9
|
-
if (f.isFile() && !f.isSymbolicLink()) {
|
|
10
|
-
results.push(`${dir}/${f.name}`);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
return results;
|
|
14
|
-
}
|
|
15
|
-
// Reads the root directory and search for a dependency declaration file
|
|
16
|
-
// Such as requirements.txt, package.json
|
|
17
|
-
// Returns: A list of dependencies declared
|
|
18
|
-
export async function dependency(projectPath) {
|
|
19
|
-
const dependencies = [];
|
|
20
|
-
const filePaths = await readOnlyFiles(projectPath);
|
|
21
|
-
for (const filePath of filePaths) {
|
|
22
|
-
const fileName = path.basename(filePath);
|
|
23
|
-
if (parser[fileName]) {
|
|
24
|
-
let dep = parser[fileName](await fs.promises.readFile(filePath, 'utf-8'));
|
|
25
|
-
if (dep) {
|
|
26
|
-
dependencies.push({ filename: fileName, path: filePath, quantity: dep.length, dependencies: dep });
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
return dependencies;
|
|
31
|
-
}
|
|
32
|
-
export async function appendDependencyToResult(resultPath, dependency) {
|
|
33
|
-
const result = await fs.promises.readFile(resultPath, 'utf-8');
|
|
34
|
-
const resultJson = JSON.parse(result);
|
|
35
|
-
resultJson.dependencies = dependency;
|
|
36
|
-
await fs.promises.writeFile(resultPath, JSON.stringify(resultJson, null, 2));
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kZW5jeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2Nhbm5lci9EZXBlbmRlbmN5L2RlcGVuZGVuY3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3BCLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBT2pDLENBQUM7QUFFRixLQUFLLFVBQVUsYUFBYSxDQUFDLEdBQVc7SUFDdEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN0RSxNQUFNLE9BQU8sR0FBa0IsRUFBRSxDQUFDO0lBRWxDLEtBQUssTUFBTSxDQUFDLElBQUksS0FBSyxFQUFFO1FBQ3JCLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFDO1lBQ3BDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7U0FDbEM7S0FDRjtJQUNELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUM7QUFFRCx3RUFBd0U7QUFDeEUseUNBQXlDO0FBRXpDLDJDQUEyQztBQUMzQyxNQUFNLENBQUMsS0FBSyxVQUFVLFVBQVUsQ0FBQyxXQUFtQjtJQUNsRCxNQUFNLFlBQVksR0FBc0IsRUFBRSxDQUFDO0lBRTNDLE1BQU0sU0FBUyxHQUFHLE1BQU0sYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ25ELEtBQUssTUFBTSxRQUFRLElBQUksU0FBUyxFQUFFO1FBQ2hDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDcEIsSUFBSSxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDMUUsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsWUFBWSxDQUFDLElBQUksQ0FBRSxFQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFDLENBQUUsQ0FBQzthQUNwRztTQUNGO0tBQ0Y7SUFDRCxPQUFPLFlBQVksQ0FBQztBQUN0QixDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSx3QkFBd0IsQ0FBQyxVQUFrQixFQUFFLFVBQWtDO0lBQ25HLE1BQU0sTUFBTSxHQUFHLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9ELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEMsVUFBVSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUM7SUFDckMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0UsQ0FBQyJ9
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
interface Dependency {
|
|
2
|
-
filename: string;
|
|
3
|
-
path: string;
|
|
4
|
-
quantity: number;
|
|
5
|
-
dependencies: Record<string, string>;
|
|
6
|
-
}
|
|
7
|
-
export declare function dependencyScan(projectPath: string): Promise<Array<Dependency>>;
|
|
8
|
-
export declare function appendDependencyToResult(resultPath: string, dependency: Record<string, string>): Promise<void>;
|
|
9
|
-
export {};
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
import { parser } from './parser';
|
|
4
|
-
;
|
|
5
|
-
async function readOnlyFiles(dir) {
|
|
6
|
-
const files = await fs.promises.readdir(dir, { withFileTypes: true });
|
|
7
|
-
const results = [];
|
|
8
|
-
for (const f of files) {
|
|
9
|
-
if (f.isFile() && !f.isSymbolicLink()) {
|
|
10
|
-
results.push(`${dir}/${f.name}`);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
return results;
|
|
14
|
-
}
|
|
15
|
-
// Reads the root directory and search for a dependency declaration file
|
|
16
|
-
// Such as requirements.txt, package.json
|
|
17
|
-
// Returns: A list of dependencies declared
|
|
18
|
-
export async function dependencyScan(projectPath) {
|
|
19
|
-
const dependencies = [];
|
|
20
|
-
dependencies.push({ filename: '', path: '', quantity: 0, dependencies: {} });
|
|
21
|
-
const filePaths = await readOnlyFiles(projectPath);
|
|
22
|
-
for (const filePath of filePaths) {
|
|
23
|
-
const fileName = path.basename(filePath);
|
|
24
|
-
if (parser[fileName]) {
|
|
25
|
-
let dep = parser[fileName](await fs.promises.readFile(filePath, 'utf-8'));
|
|
26
|
-
let depFileName = path.basename(dep.path);
|
|
27
|
-
if (dep) {
|
|
28
|
-
dependencies.push({ filename: depFileName, path: filePath, quantity: dep.length, dependencies: dep.dependencies });
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
return dependencies;
|
|
33
|
-
}
|
|
34
|
-
export async function appendDependencyToResult(resultPath, dependency) {
|
|
35
|
-
const result = await fs.promises.readFile(resultPath, 'utf-8');
|
|
36
|
-
const resultJson = JSON.parse(result);
|
|
37
|
-
resultJson.dependencies = dependency;
|
|
38
|
-
await fs.promises.writeFile(resultPath, JSON.stringify(resultJson, null, 2));
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kZW5jeVNjYW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NjYW5uZXIvRGVwZW5kZW5jeS9kZXBlbmRlbmN5U2Nhbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEIsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFPakMsQ0FBQztBQUVGLEtBQUssVUFBVSxhQUFhLENBQUMsR0FBVztJQUN0QyxNQUFNLEtBQUssR0FBRyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sT0FBTyxHQUFrQixFQUFFLENBQUM7SUFFbEMsS0FBSyxNQUFNLENBQUMsSUFBSSxLQUFLLEVBQUU7UUFDckIsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUM7WUFDcEMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUNsQztLQUNGO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVELHdFQUF3RTtBQUN4RSx5Q0FBeUM7QUFFekMsMkNBQTJDO0FBQzNDLE1BQU0sQ0FBQyxLQUFLLFVBQVUsY0FBYyxDQUFDLFdBQW1CO0lBQ3RELE1BQU0sWUFBWSxHQUFzQixFQUFFLENBQUM7SUFDM0MsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRTdFLE1BQU0sU0FBUyxHQUFHLE1BQU0sYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ25ELEtBQUssTUFBTSxRQUFRLElBQUksU0FBUyxFQUFFO1FBQ2hDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDcEIsSUFBSSxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDMUUsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUMsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsWUFBWSxDQUFDLElBQUksQ0FBRSxFQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxDQUFDLFlBQVksRUFBQyxDQUFFLENBQUM7YUFDcEg7U0FDRjtLQUNGO0lBQ0QsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsd0JBQXdCLENBQUMsVUFBa0IsRUFBRSxVQUFrQztJQUNuRyxNQUFNLE1BQU0sR0FBRyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLFVBQVUsQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDO0lBQ3JDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9FLENBQUMifQ==
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export declare const parser: {
|
|
2
|
-
'requirements.txt': typeof pyParser;
|
|
3
|
-
'package.json': typeof jsParser;
|
|
4
|
-
};
|
|
5
|
-
declare function pyParser(requirements: string): Record<string, string>;
|
|
6
|
-
declare function jsParser(packageJson: string): Record<string, string>;
|
|
7
|
-
export {};
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { isValidUrl } from './utils';
|
|
2
|
-
export const parser = {
|
|
3
|
-
'requirements.txt': pyParser,
|
|
4
|
-
'package.json': jsParser
|
|
5
|
-
};
|
|
6
|
-
// Parse a requirements.txt file from python projects
|
|
7
|
-
// See reference on: https://pip.pypa.io/en/stable/reference/requirements-file-format/
|
|
8
|
-
function pyParser(requirements) {
|
|
9
|
-
const lines = requirements.split('\n');
|
|
10
|
-
const results = {};
|
|
11
|
-
let compName = '';
|
|
12
|
-
let compVer = '';
|
|
13
|
-
for (let line of lines) {
|
|
14
|
-
line = line.trim();
|
|
15
|
-
if (!line.startsWith('#') && line.length > 0) { // Avoid comments and new lines
|
|
16
|
-
if (isValidUrl(line) || /^[\.\/]+/.test(line)) { // url or path
|
|
17
|
-
compName = line.match(/.*\/(.*)/)[1];
|
|
18
|
-
compVer = compName.match(/\d\.\d.\d/)[0];
|
|
19
|
-
results[compName] = compVer;
|
|
20
|
-
}
|
|
21
|
-
else if (line.startsWith('-r')) { } // recursive dependencies (NOT SUPPORTED YET)
|
|
22
|
-
else {
|
|
23
|
-
const res = line.match(/\s*([-\w]*)\s*(?:[>=~!]*)\s*([\d\.]*)/);
|
|
24
|
-
compName = res[1];
|
|
25
|
-
compVer = res[2];
|
|
26
|
-
results[compName] = compVer;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
return results;
|
|
31
|
-
}
|
|
32
|
-
function jsParser(packageJson) {
|
|
33
|
-
const o = JSON.parse(packageJson);
|
|
34
|
-
const results = {};
|
|
35
|
-
Object.assign(results, o.dependencies);
|
|
36
|
-
return results;
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zY2FubmVyL0RlcGVuZGVuY3kvcGFyc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFckMsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHO0lBQ2xCLGtCQUFrQixFQUFFLFFBQVE7SUFDNUIsY0FBYyxFQUFFLFFBQVE7Q0FDM0IsQ0FBQztBQUVGLHFEQUFxRDtBQUNyRCxzRkFBc0Y7QUFDdEYsU0FBUyxRQUFRLENBQUMsWUFBb0I7SUFDbEMsTUFBTSxLQUFLLEdBQWtCLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEQsTUFBTSxPQUFPLEdBQTJCLEVBQUUsQ0FBQztJQUUzQyxJQUFJLFFBQVEsR0FBVyxFQUFFLENBQUM7SUFDMUIsSUFBSSxPQUFPLEdBQVcsRUFBRSxDQUFDO0lBRXpCLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxFQUFFO1FBQ3BCLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUUsRUFBRSwrQkFBK0I7WUFDekUsSUFBRyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLGNBQWM7Z0JBQzFELFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNyQyxPQUFPLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDekMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLE9BQU8sQ0FBQzthQUMvQjtpQkFDSSxJQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRSxDQUFDLDZDQUE2QztpQkFDMUU7Z0JBQ0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO2dCQUNoRSxRQUFRLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNsQixPQUFPLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNqQixPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsT0FBTyxDQUFDO2FBQy9CO1NBQ0o7S0FDSjtJQUNELE9BQU8sT0FBTyxDQUFDO0FBQ25CLENBQUM7QUFHRCxTQUFTLFFBQVEsQ0FBQyxXQUFtQjtJQUNqQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xDLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNuQixNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkMsT0FBTyxPQUFPLENBQUM7QUFDbkIsQ0FBQyJ9
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function isValidUrl(string: string): boolean;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { URL } from "url";
|
|
2
|
-
export function isValidUrl(string) {
|
|
3
|
-
let url;
|
|
4
|
-
try {
|
|
5
|
-
new URL(string);
|
|
6
|
-
}
|
|
7
|
-
catch (_) {
|
|
8
|
-
return false;
|
|
9
|
-
}
|
|
10
|
-
return true;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NjYW5uZXIvRGVwZW5kZW5jeS91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRTFCLE1BQU0sVUFBVSxVQUFVLENBQUMsTUFBYztJQUNyQyxJQUFJLEdBQVEsQ0FBQztJQUNiLElBQUk7UUFDRixJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUNqQjtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyJ9
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
export declare enum ScannerEvents {
|
|
2
|
-
WINNOWING_STARTING = "WINNOWING_STARTING",
|
|
3
|
-
WINNOWING_NEW_CONTENT = "WINNOWING_NEW_CONTENT",
|
|
4
|
-
WINNOWING_FINISHED = "WINNOWING_FINISHED",
|
|
5
|
-
WINNOWER_LOG = "WINNOWER_LOG",
|
|
6
|
-
DISPATCHER_WFP_SENDED = "DISPATCHER_WFP_SENDED",
|
|
7
|
-
DISPATCHER_NEW_DATA = "DISPATCHER_NEW_DATA",
|
|
8
|
-
DISPATCHER_FINISHED = "DISPATCHER_FINISHED",
|
|
9
|
-
DISPATCHER_ITEM_NO_DISPATCHED = "DISPATCHER_ITEM_NO_DISPATCHED",
|
|
10
|
-
DISPATCHER_QUEUE_SIZE_MAX_LIMIT = "DISPATCHER_QUEUE_FULL",
|
|
11
|
-
DISPATCHER_QUEUE_SIZE_MIN_LIMIT = "DISPATCHER_QUEUE_SIZE_MIN_LIMIT",
|
|
12
|
-
DISPATCHER_LOG = "DISPATCHER_LOG",
|
|
13
|
-
ERROR_SCANNER_ABORTED = "ERROR_SCANNER_ABORTED",
|
|
14
|
-
ERROR_SERVER_SIDE = "ERROR_SERVER_SIDE",
|
|
15
|
-
ERROR_CLIENT_SIDE = "ERROR_CLIENT_SIDE",
|
|
16
|
-
MODULE_DISPATCHER = "MODULE_DISPATCHER",
|
|
17
|
-
MODULE_WINNOWER = "MODULE_WINNOWER",
|
|
18
|
-
SCAN_DONE = "SCAN_DONE",
|
|
19
|
-
RESULTS_APPENDED = "RESULTS_APPENDED",
|
|
20
|
-
SCANNER_LOG = "SCANNER_LOG",
|
|
21
|
-
ERROR = "error"
|
|
22
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export var ScannerEvents;
|
|
2
|
-
(function (ScannerEvents) {
|
|
3
|
-
ScannerEvents["WINNOWING_STARTING"] = "WINNOWING_STARTING";
|
|
4
|
-
ScannerEvents["WINNOWING_NEW_CONTENT"] = "WINNOWING_NEW_CONTENT";
|
|
5
|
-
ScannerEvents["WINNOWING_FINISHED"] = "WINNOWING_FINISHED";
|
|
6
|
-
ScannerEvents["WINNOWER_LOG"] = "WINNOWER_LOG";
|
|
7
|
-
ScannerEvents["DISPATCHER_WFP_SENDED"] = "DISPATCHER_WFP_SENDED";
|
|
8
|
-
ScannerEvents["DISPATCHER_NEW_DATA"] = "DISPATCHER_NEW_DATA";
|
|
9
|
-
ScannerEvents["DISPATCHER_FINISHED"] = "DISPATCHER_FINISHED";
|
|
10
|
-
ScannerEvents["DISPATCHER_ITEM_NO_DISPATCHED"] = "DISPATCHER_ITEM_NO_DISPATCHED";
|
|
11
|
-
ScannerEvents["DISPATCHER_QUEUE_SIZE_MAX_LIMIT"] = "DISPATCHER_QUEUE_FULL";
|
|
12
|
-
ScannerEvents["DISPATCHER_QUEUE_SIZE_MIN_LIMIT"] = "DISPATCHER_QUEUE_SIZE_MIN_LIMIT";
|
|
13
|
-
ScannerEvents["DISPATCHER_LOG"] = "DISPATCHER_LOG";
|
|
14
|
-
ScannerEvents["ERROR_SCANNER_ABORTED"] = "ERROR_SCANNER_ABORTED";
|
|
15
|
-
ScannerEvents["ERROR_SERVER_SIDE"] = "ERROR_SERVER_SIDE";
|
|
16
|
-
ScannerEvents["ERROR_CLIENT_SIDE"] = "ERROR_CLIENT_SIDE";
|
|
17
|
-
ScannerEvents["MODULE_DISPATCHER"] = "MODULE_DISPATCHER";
|
|
18
|
-
ScannerEvents["MODULE_WINNOWER"] = "MODULE_WINNOWER";
|
|
19
|
-
ScannerEvents["SCAN_DONE"] = "SCAN_DONE";
|
|
20
|
-
ScannerEvents["RESULTS_APPENDED"] = "RESULTS_APPENDED";
|
|
21
|
-
ScannerEvents["SCANNER_LOG"] = "SCANNER_LOG";
|
|
22
|
-
ScannerEvents["ERROR"] = "error";
|
|
23
|
-
})(ScannerEvents || (ScannerEvents = {}));
|
|
24
|
-
;
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2Nhbm5lckV2ZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvc2Nhbm5lci9TY2FubmVyRXZlbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGFBNEJYO0FBNUJELFdBQVksYUFBYTtJQUN2QiwwREFBeUMsQ0FBQTtJQUN6QyxnRUFBK0MsQ0FBQTtJQUMvQywwREFBeUMsQ0FBQTtJQUN6Qyw4Q0FBNkIsQ0FBQTtJQUU3QixnRUFBK0MsQ0FBQTtJQUMvQyw0REFBMkMsQ0FBQTtJQUMzQyw0REFBMkMsQ0FBQTtJQUMzQyxnRkFBK0QsQ0FBQTtJQUMvRCwwRUFBeUQsQ0FBQTtJQUN6RCxvRkFBbUUsQ0FBQTtJQUNuRSxrREFBaUMsQ0FBQTtJQUVqQyxnRUFBK0MsQ0FBQTtJQUUvQyx3REFBdUMsQ0FBQTtJQUN2Qyx3REFBdUMsQ0FBQTtJQUV2Qyx3REFBdUMsQ0FBQTtJQUN2QyxvREFBbUMsQ0FBQTtJQUVuQyx3Q0FBdUIsQ0FBQTtJQUN2QixzREFBcUMsQ0FBQTtJQUVyQyw0Q0FBMkIsQ0FBQTtJQUUzQixnQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUE1QlcsYUFBYSxLQUFiLGFBQWEsUUE0QnhCO0FBQUEsQ0FBQyJ9
|