scanoss 0.4.12-beta → 0.5.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.
- package/.idea/workspace.xml +6 -9
- package/assets/ReportHTMLTemplate/index.html +178 -7
- package/build/main/cli/bin/cli-bin.js +6 -2
- package/build/main/cli/commands/fingerprint.d.ts +1 -0
- package/build/main/cli/commands/fingerprint.js +54 -0
- package/build/main/cli/commands/scan.js +16 -1
- package/build/main/index.d.ts +8 -1
- package/build/main/index.js +13 -2
- package/build/main/sdk/DataLayer/DataLayerTypes.d.ts +22 -0
- package/build/main/sdk/DataLayer/DataLayerTypes.js +4 -1
- package/build/main/sdk/DataLayer/DataProviders/ComponentDataProvider.js +35 -4
- package/build/main/sdk/DataLayer/DataProviders/SummaryDataProvider.js +1 -1
- package/build/main/sdk/Decompress/DecompressionManager.d.ts +12 -0
- package/build/main/sdk/Decompress/DecompressionManager.js +73 -0
- package/build/main/sdk/Decompress/Decompressor/DecompressTgz.d.ts +5 -0
- package/build/main/sdk/Decompress/Decompressor/DecompressTgz.js +22 -0
- package/build/main/sdk/Decompress/Decompressor/DecompressZips.d.ts +5 -0
- package/build/main/sdk/Decompress/Decompressor/DecompressZips.js +24 -0
- package/build/main/sdk/Decompress/Decompressor/Decompressor.d.ts +10 -0
- package/build/main/sdk/Decompress/Decompressor/Decompressor.js +18 -0
- package/build/main/sdk/filters/filtering.js +1 -1
- package/build/main/sdk/scanner/Scanner.js +3 -2
- package/build/main/sdk/scanner/ScannerTypes.d.ts +10 -0
- package/build/main/sdk/scanner/ScannerTypes.js +1 -1
- package/build/main/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +1 -1
- package/build/main/sdk/tree/File.js +2 -2
- package/build/main/sdk/tree/Filters/DecompressionFilter.d.ts +7 -0
- package/build/main/sdk/tree/Filters/DecompressionFilter.js +21 -0
- package/build/main/sdk/tree/Filters/DependencyFilter.js +2 -2
- package/build/main/sdk/tree/Filters/ScanFilter.js +2 -2
- package/build/main/sdk/tree/Folder.d.ts +1 -0
- package/build/main/sdk/tree/Folder.js +5 -2
- package/build/main/sdk/tree/Node.d.ts +1 -0
- package/build/main/sdk/tree/Node.js +4 -1
- package/build/main/sdk/tree/Tree.js +2 -1
- package/build/main/tsconfig.tsbuildinfo +219 -59
- package/build/module/cli/bin/cli-bin.js +6 -2
- package/build/module/cli/commands/fingerprint.d.ts +1 -0
- package/build/module/cli/commands/fingerprint.js +48 -0
- package/build/module/cli/commands/scan.js +16 -1
- package/build/module/index.d.ts +8 -1
- package/build/module/index.js +13 -2
- package/build/module/sdk/DataLayer/DataLayerTypes.d.ts +22 -0
- package/build/module/sdk/DataLayer/DataLayerTypes.js +4 -1
- package/build/module/sdk/DataLayer/DataProviders/ComponentDataProvider.js +32 -1
- package/build/module/sdk/DataLayer/DataProviders/SummaryDataProvider.js +1 -1
- package/build/module/sdk/Decompress/DecompressionManager.d.ts +12 -0
- package/build/module/sdk/Decompress/DecompressionManager.js +67 -0
- package/build/module/sdk/Decompress/Decompressor/DecompressTgz.d.ts +5 -0
- package/build/module/sdk/Decompress/Decompressor/DecompressTgz.js +16 -0
- package/build/module/sdk/Decompress/Decompressor/DecompressZips.d.ts +5 -0
- package/build/module/sdk/Decompress/Decompressor/DecompressZips.js +18 -0
- package/build/module/sdk/Decompress/Decompressor/Decompressor.d.ts +10 -0
- package/build/module/sdk/Decompress/Decompressor/Decompressor.js +15 -0
- package/build/module/sdk/filters/filtering.js +1 -1
- package/build/module/sdk/scanner/Scanner.js +3 -2
- package/build/module/sdk/scanner/ScannerTypes.d.ts +10 -0
- package/build/module/sdk/scanner/ScannerTypes.js +1 -1
- package/build/module/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +1 -1
- package/build/module/sdk/tree/File.js +2 -2
- package/build/module/sdk/tree/Filters/DecompressionFilter.d.ts +7 -0
- package/build/module/sdk/tree/Filters/DecompressionFilter.js +18 -0
- package/build/module/sdk/tree/Filters/DependencyFilter.js +2 -2
- package/build/module/sdk/tree/Filters/ScanFilter.js +2 -2
- package/build/module/sdk/tree/Folder.d.ts +1 -0
- package/build/module/sdk/tree/Folder.js +5 -2
- package/build/module/sdk/tree/Node.d.ts +1 -0
- package/build/module/sdk/tree/Node.js +4 -1
- package/build/module/sdk/tree/Tree.js +2 -1
- package/build/module/tsconfig.module.tsbuildinfo +219 -59
- package/package.json +8 -2
- package/src/cli/bin/cli-bin.ts +5 -2
- package/src/cli/commands/scan.ts +21 -0
- package/src/index.ts +14 -2
- package/src/sdk/DataLayer/DataLayerTypes.ts +27 -1
- package/src/sdk/DataLayer/DataProviders/ComponentDataProvider.ts +42 -2
- package/src/sdk/DataLayer/DataProviders/SummaryDataProvider.ts +0 -1
- package/src/sdk/Decompress/DecompressionManager.ts +91 -0
- package/src/sdk/Decompress/Decompressor/DecompressTgz.ts +20 -0
- package/src/sdk/Decompress/Decompressor/DecompressZips.ts +21 -0
- package/src/sdk/Decompress/Decompressor/Decompressor.ts +20 -0
- package/src/sdk/filters/filtering.ts +1 -0
- package/src/sdk/scanner/Scanner.ts +2 -1
- package/src/sdk/scanner/ScannerTypes.ts +10 -0
- package/src/sdk/tree/File.ts +1 -1
- package/src/sdk/tree/Filters/DecompressionFilter.ts +22 -0
- package/src/sdk/tree/Filters/DependencyFilter.ts +1 -1
- package/src/sdk/tree/Filters/ScanFilter.ts +1 -1
- package/src/sdk/tree/Folder.ts +4 -1
- package/src/sdk/tree/Node.ts +4 -0
- package/src/sdk/tree/Tree.ts +1 -0
- package/yarn.lock +4801 -4732
- package/package-lock.json +0 -16423
- package/yarn-error.log +0 -5234
package/.idea/workspace.xml
CHANGED
|
@@ -7,12 +7,6 @@
|
|
|
7
7
|
<list default="true" id="6c78089c-ef2a-4dae-87f6-bd2f320855c8" name="Changes" comment="">
|
|
8
8
|
<change beforePath="$PROJECT_DIR$/package.json" beforeDir="false" afterPath="$PROJECT_DIR$/package.json" afterDir="false" />
|
|
9
9
|
<change beforePath="$PROJECT_DIR$/src/cli/bin/cli-bin.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/cli/bin/cli-bin.ts" afterDir="false" />
|
|
10
|
-
<change beforePath="$PROJECT_DIR$/src/cli/commands/fingerprint.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/cli/commands/wfp.ts" afterDir="false" />
|
|
11
|
-
<change beforePath="$PROJECT_DIR$/src/cli/commands/scan.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/cli/commands/scan.ts" afterDir="false" />
|
|
12
|
-
<change beforePath="$PROJECT_DIR$/src/sdk/scanner/Scanner.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/sdk/scanner/Scanner.ts" afterDir="false" />
|
|
13
|
-
<change beforePath="$PROJECT_DIR$/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.ts" afterDir="false" />
|
|
14
|
-
<change beforePath="$PROJECT_DIR$/tests/sdk/Scanner/WfpProvider/WfpSplitter/WfpSplitter.spec.ts" beforeDir="false" afterPath="$PROJECT_DIR$/tests/sdk/Scanner/WfpProvider/WfpSplitter/WfpSplitter.spec.ts" afterDir="false" />
|
|
15
|
-
<change beforePath="$PROJECT_DIR$/yarn.lock" beforeDir="false" afterPath="$PROJECT_DIR$/yarn.lock" afterDir="false" />
|
|
16
10
|
</list>
|
|
17
11
|
<option name="SHOW_DIALOG" value="false" />
|
|
18
12
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
|
@@ -38,7 +32,7 @@
|
|
|
38
32
|
"RunOnceActivity.OpenProjectViewOnStart": "true",
|
|
39
33
|
"RunOnceActivity.ShowReadmeOnStart": "true",
|
|
40
34
|
"WebServerToolWindowFactoryState": "false",
|
|
41
|
-
"last_opened_file_path": "/home/ubuntu/Projects/SCANOSS/scanoss
|
|
35
|
+
"last_opened_file_path": "/home/ubuntu/Projects/SCANOSS/test-wfp-scanoss-js",
|
|
42
36
|
"node.js.detected.package.eslint": "true",
|
|
43
37
|
"node.js.detected.package.tslint": "true",
|
|
44
38
|
"node.js.selected.package.eslint": "(autodetect)",
|
|
@@ -181,7 +175,10 @@
|
|
|
181
175
|
<workItem from="1668177544944" duration="2221000" />
|
|
182
176
|
<workItem from="1668418911444" duration="17020000" />
|
|
183
177
|
<workItem from="1668502976694" duration="11522000" />
|
|
184
|
-
<workItem from="1668583216157" duration="
|
|
178
|
+
<workItem from="1668583216157" duration="14668000" />
|
|
179
|
+
<workItem from="1668680809359" duration="1101000" />
|
|
180
|
+
<workItem from="1668684545211" duration="2237000" />
|
|
181
|
+
<workItem from="1668766262950" duration="13257000" />
|
|
185
182
|
</task>
|
|
186
183
|
<servers />
|
|
187
184
|
</component>
|
|
@@ -204,7 +201,7 @@
|
|
|
204
201
|
<breakpoints>
|
|
205
202
|
<line-breakpoint enabled="true" type="javascript">
|
|
206
203
|
<url>file://$PROJECT_DIR$/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.ts</url>
|
|
207
|
-
<line>
|
|
204
|
+
<line>145</line>
|
|
208
205
|
<option name="timeStamp" value="8" />
|
|
209
206
|
</line-breakpoint>
|
|
210
207
|
<line-breakpoint enabled="true" type="javascript">
|
|
@@ -473,6 +473,12 @@
|
|
|
473
473
|
type="button" role="tab" aria-controls="nav-dependencies" aria-selected="false">Dependencies</button>
|
|
474
474
|
<button class="nav-link" id="nav-copyrights-tab" data-bs-toggle="tab" data-bs-target="#nav-copyrights"
|
|
475
475
|
type="button" role="tab" aria-controls="nav-copyrights" aria-selected="false">Copyrights</button>
|
|
476
|
+
<button class="nav-link" id="nav-cryptography-tab" data-bs-toggle="tab" data-bs-target="#nav-cryptography"
|
|
477
|
+
type="button" role="tab" aria-controls="nav-cryptography" aria-selected="false">Cryptography</button>
|
|
478
|
+
<button class="nav-link" id="nav-quality-tab" data-bs-toggle="tab" data-bs-target="#nav-quality"
|
|
479
|
+
type="button" role="tab" aria-controls="nav-quality" aria-selected="false">Quality</button>
|
|
480
|
+
<button class="nav-link" id="nav-health-tab" data-bs-toggle="tab" data-bs-target="#nav-health"
|
|
481
|
+
type="button" role="tab" aria-controls="nav-health" aria-selected="false">Health</button>
|
|
476
482
|
<button class="nav-link" id="nav-summary-tab" data-bs-toggle="tab" data-bs-target="#nav-summary" type="button"
|
|
477
483
|
role="tab" aria-controls="nav-summary" aria-selected="false">Summary</button>
|
|
478
484
|
</div>
|
|
@@ -627,6 +633,90 @@
|
|
|
627
633
|
</template>
|
|
628
634
|
</section>
|
|
629
635
|
|
|
636
|
+
<!-- cryptography -->
|
|
637
|
+
<section class="tab-pane fade" id="nav-cryptography" role="tabpanel" aria-labelledby="nav-cryptography-tab"
|
|
638
|
+
tabindex="0">
|
|
639
|
+
<table id="table-cryptography" class="table main-table">
|
|
640
|
+
<thead>
|
|
641
|
+
<tr>
|
|
642
|
+
<th>Component</th>
|
|
643
|
+
<th>Version</th>
|
|
644
|
+
<th>Cryptography</th>
|
|
645
|
+
</tr>
|
|
646
|
+
</thead>
|
|
647
|
+
<tbody>
|
|
648
|
+
</tbody>
|
|
649
|
+
</table>
|
|
650
|
+
|
|
651
|
+
<template id="tpl-cryptography-row">
|
|
652
|
+
<tr>
|
|
653
|
+
<td></td>
|
|
654
|
+
<td></td>
|
|
655
|
+
<td></td>
|
|
656
|
+
</tr>
|
|
657
|
+
</template>
|
|
658
|
+
</section>
|
|
659
|
+
|
|
660
|
+
<!-- quality -->
|
|
661
|
+
<section class="tab-pane fade" id="nav-quality" role="tabpanel" aria-labelledby="nav-quality-tab"
|
|
662
|
+
tabindex="0">
|
|
663
|
+
<table id="table-quality" class="table main-table">
|
|
664
|
+
<thead>
|
|
665
|
+
<tr>
|
|
666
|
+
<th>Component</th>
|
|
667
|
+
<th>Version</th>
|
|
668
|
+
<th>Quality</th>
|
|
669
|
+
</tr>
|
|
670
|
+
</thead>
|
|
671
|
+
<tbody>
|
|
672
|
+
</tbody>
|
|
673
|
+
</table>
|
|
674
|
+
|
|
675
|
+
<template id="tpl-quality-row">
|
|
676
|
+
<tr>
|
|
677
|
+
<td></td>
|
|
678
|
+
<td></td>
|
|
679
|
+
<td></td>
|
|
680
|
+
</tr>
|
|
681
|
+
</template>
|
|
682
|
+
</section>
|
|
683
|
+
|
|
684
|
+
<!-- health -->
|
|
685
|
+
<section class="tab-pane fade" id="nav-health" role="tabpanel" aria-labelledby="nav-health-tab"
|
|
686
|
+
tabindex="0">
|
|
687
|
+
<table id="table-health" class="table main-table">
|
|
688
|
+
<thead>
|
|
689
|
+
<tr>
|
|
690
|
+
<th>Component</th>
|
|
691
|
+
<th>PURL</th>
|
|
692
|
+
<th>Creation Date</th>
|
|
693
|
+
<th>Issues</th>
|
|
694
|
+
<th>Last Push</th>
|
|
695
|
+
<th>Last Update</th>
|
|
696
|
+
<th>Watchers</th>
|
|
697
|
+
<th>Country</th>
|
|
698
|
+
<th>Forks</th>
|
|
699
|
+
</tr>
|
|
700
|
+
</thead>
|
|
701
|
+
<tbody>
|
|
702
|
+
</tbody>
|
|
703
|
+
</table>
|
|
704
|
+
|
|
705
|
+
<template id="tpl-health-row">
|
|
706
|
+
<tr>
|
|
707
|
+
<td></td>
|
|
708
|
+
<td></td>
|
|
709
|
+
<td></td>
|
|
710
|
+
<td></td>
|
|
711
|
+
<td></td>
|
|
712
|
+
<td></td>
|
|
713
|
+
<td></td>
|
|
714
|
+
<td></td>
|
|
715
|
+
<td></td>
|
|
716
|
+
</tr>
|
|
717
|
+
</template>
|
|
718
|
+
</section>
|
|
719
|
+
|
|
630
720
|
<!-- summary -->
|
|
631
721
|
<div class="tab-pane fade" id="nav-summary" role="tabpanel" aria-labelledby="nav-summary-tab" tabindex="0">
|
|
632
722
|
SUMMARY
|
|
@@ -694,28 +784,42 @@
|
|
|
694
784
|
renderDependenciesTable();
|
|
695
785
|
renderVulnerabilitiesTable();
|
|
696
786
|
renderCopyrightTable();
|
|
787
|
+
renderCryptographyTable();
|
|
788
|
+
renderQualityTable();
|
|
789
|
+
renderHealthTable();
|
|
697
790
|
}
|
|
698
791
|
|
|
699
792
|
init();
|
|
700
793
|
|
|
701
|
-
function setupNavigation() {
|
|
794
|
+
function setupNavigation(componentList) {
|
|
702
795
|
const showTab = (id) => document.querySelector('.nav-link#' + id).classList.add('visible');
|
|
703
796
|
|
|
704
|
-
const
|
|
797
|
+
const existVersionKey = (key, componentList) => {
|
|
705
798
|
for (const component of componentList) {
|
|
706
799
|
for (const version of component.versions) {
|
|
707
|
-
if (version
|
|
800
|
+
if (version && version[key]) return true;
|
|
708
801
|
}
|
|
709
802
|
}
|
|
710
803
|
return false;
|
|
711
804
|
};
|
|
712
805
|
|
|
713
806
|
|
|
807
|
+
const existComponentKey = (key, componentList) => {
|
|
808
|
+
for (const component of componentList) {
|
|
809
|
+
if (component[key]) return true;
|
|
810
|
+
}
|
|
811
|
+
return false;
|
|
812
|
+
};
|
|
813
|
+
|
|
814
|
+
|
|
714
815
|
if (data.licenses) showTab('nav-licenses-tab');
|
|
715
816
|
if (data.component) showTab('nav-components-tab');
|
|
716
817
|
if (data.dependencies) showTab('nav-dependencies-tab');
|
|
717
818
|
if (data.vulnerabilities) showTab('nav-vulnerabilities-tab');
|
|
718
|
-
if (
|
|
819
|
+
if (existVersionKey('copyrights', data.component)) showTab('nav-copyrights-tab');
|
|
820
|
+
if (existVersionKey('cryptography', data.component)) showTab('nav-cryptography-tab');
|
|
821
|
+
if (existVersionKey('quality', data.component)) showTab('nav-quality-tab');
|
|
822
|
+
if (existComponentKey('health', data.component)) showTab('nav-health-tab');
|
|
719
823
|
}
|
|
720
824
|
|
|
721
825
|
function renderHeader() {
|
|
@@ -734,15 +838,15 @@
|
|
|
734
838
|
s.innerHTML += `
|
|
735
839
|
<div class="info big">
|
|
736
840
|
<div class="value primary">${data.summary.totalFiles}</div>
|
|
737
|
-
<div class="label">Scanned
|
|
841
|
+
<div class="label">Files Scanned</div>
|
|
738
842
|
</div>
|
|
739
843
|
<div class="info big">
|
|
740
844
|
<div class="value">${data.summary.matchedFiles}</div>
|
|
741
|
-
<div class="label">Matched
|
|
845
|
+
<div class="label">Matched</div>
|
|
742
846
|
</div>
|
|
743
847
|
<div class="info big">
|
|
744
848
|
<div class="value">${data.summary.noMatchFiles}</div>
|
|
745
|
-
<div class="label">No
|
|
849
|
+
<div class="label">No Matches</div>
|
|
746
850
|
</div>
|
|
747
851
|
`;
|
|
748
852
|
}
|
|
@@ -1000,6 +1104,73 @@
|
|
|
1000
1104
|
}
|
|
1001
1105
|
}
|
|
1002
1106
|
}
|
|
1107
|
+
|
|
1108
|
+
function renderCryptographyTable() {
|
|
1109
|
+
const template = document.querySelector("#tpl-cryptography-row");
|
|
1110
|
+
const table = document.querySelector("#table-cryptography tbody");
|
|
1111
|
+
|
|
1112
|
+
const { component: componentData } = data;
|
|
1113
|
+
|
|
1114
|
+
if (!componentData) return false;
|
|
1115
|
+
|
|
1116
|
+
for (const compData of componentData) {
|
|
1117
|
+
for (const version of compData.versions) {
|
|
1118
|
+
if (!version.cryptography) continue
|
|
1119
|
+
const clon = template.content.cloneNode(true);
|
|
1120
|
+
clon.querySelector('td:nth-child(1)').innerHTML = compData.name;
|
|
1121
|
+
clon.querySelector('td:nth-child(2)').innerHTML = version.version;
|
|
1122
|
+
clon.querySelector('td:nth-child(3)').innerHTML = version.cryptography.map(e => `${e.algorithm} (${e.strength})`).join('');
|
|
1123
|
+
|
|
1124
|
+
table.appendChild(clon);
|
|
1125
|
+
}
|
|
1126
|
+
}
|
|
1127
|
+
}
|
|
1128
|
+
|
|
1129
|
+
function renderQualityTable() {
|
|
1130
|
+
const template = document.querySelector("#tpl-quality-row");
|
|
1131
|
+
const table = document.querySelector("#table-quality tbody");
|
|
1132
|
+
|
|
1133
|
+
const { component: componentData } = data;
|
|
1134
|
+
|
|
1135
|
+
if (!componentData) return false;
|
|
1136
|
+
|
|
1137
|
+
for (const compData of componentData) {
|
|
1138
|
+
for (const version of compData.versions) {
|
|
1139
|
+
if (!version.quality) continue
|
|
1140
|
+
const clon = template.content.cloneNode(true);
|
|
1141
|
+
clon.querySelector('td:nth-child(1)').innerHTML = compData.name;
|
|
1142
|
+
clon.querySelector('td:nth-child(2)').innerHTML = version.version;
|
|
1143
|
+
clon.querySelector('td:nth-child(3)').innerHTML = version.quality.scoreAvg + "/5";
|
|
1144
|
+
|
|
1145
|
+
table.appendChild(clon);
|
|
1146
|
+
}
|
|
1147
|
+
}
|
|
1148
|
+
}
|
|
1149
|
+
|
|
1150
|
+
function renderHealthTable() {
|
|
1151
|
+
const template = document.querySelector("#tpl-health-row");
|
|
1152
|
+
const table = document.querySelector("#table-health tbody");
|
|
1153
|
+
|
|
1154
|
+
const { component: componentData } = data;
|
|
1155
|
+
|
|
1156
|
+
if (!componentData) return false;
|
|
1157
|
+
|
|
1158
|
+
for (const compData of componentData) {
|
|
1159
|
+
if (!compData.health) continue
|
|
1160
|
+
const clon = template.content.cloneNode(true);
|
|
1161
|
+
clon.querySelector('td:nth-child(1)').innerHTML = compData.name;
|
|
1162
|
+
clon.querySelector('td:nth-child(2)').innerHTML = compData.key;
|
|
1163
|
+
clon.querySelector('td:nth-child(3)').innerHTML = compData.health.creation_date || '-';
|
|
1164
|
+
clon.querySelector('td:nth-child(4)').innerHTML = compData.health.issues || '-';
|
|
1165
|
+
clon.querySelector('td:nth-child(5)').innerHTML = compData.health.last_push || '-';
|
|
1166
|
+
clon.querySelector('td:nth-child(6)').innerHTML = compData.health.last_update || '-';
|
|
1167
|
+
clon.querySelector('td:nth-child(7)').innerHTML = compData.health.watchers || '-';
|
|
1168
|
+
clon.querySelector('td:nth-child(8)').innerHTML = compData.health.country || '-';
|
|
1169
|
+
clon.querySelector('td:nth-child(9)').innerHTML = compData.health.forks || '-';
|
|
1170
|
+
|
|
1171
|
+
table.appendChild(clon);
|
|
1172
|
+
}
|
|
1173
|
+
}
|
|
1003
1174
|
});
|
|
1004
1175
|
</script>
|
|
1005
1176
|
|
|
@@ -11,13 +11,17 @@ function CLIErrorHandler(e) {
|
|
|
11
11
|
}
|
|
12
12
|
async function main() {
|
|
13
13
|
commander_1.program
|
|
14
|
-
.version("0.
|
|
14
|
+
.version("0.5.0")
|
|
15
15
|
.description('The SCANOSS JS package provides a simple, easy to consume module for interacting with SCANOSS APIs/Engine.');
|
|
16
16
|
commander_1.program
|
|
17
17
|
.command('scan <source>')
|
|
18
18
|
.description('Scan a folder/file')
|
|
19
19
|
.option('-w, --wfp', 'Scan a .wfp file instead of a folder')
|
|
20
20
|
.option('-H, --hpsm', 'Scan using winnowing high precision matching')
|
|
21
|
+
.option('-x, --extract', 'Extract compressed files before launch scan in folder <<zip_name>>-unzipped')
|
|
22
|
+
.option(' --extract-overwrite', 'Overwrite folder when decompressing if exists')
|
|
23
|
+
.option(' --extract-deep <number>', 'Sets uncompress recursion level')
|
|
24
|
+
.option(' --extract-suffix <suffix>', 'Sets suffix for the folder name')
|
|
21
25
|
.option('-c, --concurrency <number>', 'Number of concurrent connections to use while scanning (optional -default 10)')
|
|
22
26
|
.option('-n, --ignore <ignore>', 'Ignore components specified in the SBOM file')
|
|
23
27
|
.option('-o, --output <filename>', 'Output result file name (optional - default stdout)')
|
|
@@ -58,4 +62,4 @@ catch (e) {
|
|
|
58
62
|
console.error(e);
|
|
59
63
|
process.exit(1);
|
|
60
64
|
}
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLWJpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGkvYmluL2NsaS1iaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSx5Q0FBb0M7QUFDcEMseUNBQTZDO0FBQzdDLHlDQUE2QztBQUM3QywyQ0FBK0M7QUFFL0MsU0FBUyxlQUFlLENBQUMsQ0FBUTtJQUMvQixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDO0FBS0QsS0FBSyxVQUFVLElBQUk7SUFDakIsbUJBQU87U0FDSixPQUFPLENBQUMsT0FBTyxDQUFDO1NBQ2hCLFdBQVcsQ0FBQyw0R0FBNEcsQ0FBQyxDQUFBO0lBRTVILG1CQUFPO1NBQ0osT0FBTyxDQUFDLGVBQWUsQ0FBQztTQUN4QixXQUFXLENBQUMsb0JBQW9CLENBQUM7U0FDakMsTUFBTSxDQUFDLFdBQVcsRUFBRSxzQ0FBc0MsQ0FBQztTQUMzRCxNQUFNLENBQUMsWUFBWSxFQUFFLDhDQUE4QyxDQUFDO1NBQ3BFLE1BQU0sQ0FBQyxlQUFlLEVBQUUsNkVBQTZFLENBQUM7U0FDdEcsTUFBTSxDQUFDLHdCQUF3QixFQUFFLCtDQUErQyxDQUFDO1NBQ2pGLE1BQU0sQ0FBQyw0QkFBNEIsRUFBRSxpQ0FBaUMsQ0FBQztTQUN2RSxNQUFNLENBQUMsOEJBQThCLEVBQUUsaUNBQWlDLENBQUM7U0FDekUsTUFBTSxDQUFDLDRCQUE0QixFQUFFLCtFQUErRSxDQUFDO1NBQ3JILE1BQU0sQ0FBQyx1QkFBdUIsRUFBRyw4Q0FBOEMsQ0FBQztTQUNoRixNQUFNLENBQUMseUJBQXlCLEVBQUUscURBQXFELENBQUM7U0FDeEYsTUFBTSxDQUFDLHVCQUF1QixFQUFFLGtEQUFrRCxDQUFDO1NBQ25GLE1BQU0sQ0FBQyxx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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function fingerprintHandler(rootPath: string, options: any): Promise<void>;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
2
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
3
|
+
};
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.fingerprintHandler = void 0;
|
|
6
|
+
const fs_1 = __importDefault(require("fs"));
|
|
7
|
+
const cli_progress_1 = __importDefault(require("cli-progress"));
|
|
8
|
+
const helpers_1 = require("./helpers");
|
|
9
|
+
const ScannerTypes_1 = require("../../sdk/scanner/ScannerTypes");
|
|
10
|
+
const WfpCalculator_1 = require("../../sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator");
|
|
11
|
+
const Tree_1 = require("../../sdk/tree/Tree");
|
|
12
|
+
const DependencyFilter_1 = require("../../sdk/tree/Filters/DependencyFilter");
|
|
13
|
+
async function fingerprintHandler(rootPath, options) {
|
|
14
|
+
rootPath = rootPath.replace(/\/$/, ''); // Remove trailing slash if exists
|
|
15
|
+
rootPath = rootPath.replace(/^\./, process.env.PWD); // Convert relative path to absolute path.
|
|
16
|
+
const pathIsFolder = await helpers_1.isFolder(rootPath);
|
|
17
|
+
const wfpCalculator = new WfpCalculator_1.WfpCalculator();
|
|
18
|
+
let filesToFingerprint = [];
|
|
19
|
+
if (pathIsFolder) {
|
|
20
|
+
const tree = new Tree_1.Tree(rootPath);
|
|
21
|
+
tree.build();
|
|
22
|
+
filesToFingerprint = tree.getFileList(new DependencyFilter_1.DependencyFilter(""));
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
filesToFingerprint.push(rootPath);
|
|
26
|
+
}
|
|
27
|
+
const optBar1 = { format: 'Fingerprinting Progress: [{bar}] {percentage}% | Fingerprinted {value} files of {total}' };
|
|
28
|
+
const bar1 = new cli_progress_1.default.SingleBar(optBar1, cli_progress_1.default.Presets.shades_classic);
|
|
29
|
+
bar1.start(filesToFingerprint.length, 0);
|
|
30
|
+
let fingerprints = '';
|
|
31
|
+
wfpCalculator.on(ScannerTypes_1.ScannerEvents.WINNOWING_NEW_CONTENT, (fingerprintPackage) => {
|
|
32
|
+
bar1.increment(fingerprintPackage.getNumberFilesFingerprinted());
|
|
33
|
+
fingerprints = fingerprints.concat(fingerprintPackage.getContent());
|
|
34
|
+
});
|
|
35
|
+
if (options.verbose)
|
|
36
|
+
wfpCalculator.on(ScannerTypes_1.ScannerEvents.WINNOWER_LOG, (log) => {
|
|
37
|
+
console.error(log);
|
|
38
|
+
});
|
|
39
|
+
wfpCalculator.on(ScannerTypes_1.ScannerEvents.WINNOWING_FINISHED, () => {
|
|
40
|
+
bar1.stop();
|
|
41
|
+
if (options.output) {
|
|
42
|
+
fs_1.default.writeFileSync(options.output, fingerprints);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
console.log(fingerprints);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
const wfpInput = { fileList: filesToFingerprint, folderRoot: rootPath };
|
|
49
|
+
if (options.hpsm)
|
|
50
|
+
wfpInput.winnowingMode = ScannerTypes_1.WinnowingMode.FULL_WINNOWING_HPSM;
|
|
51
|
+
wfpCalculator.start(wfpInput);
|
|
52
|
+
}
|
|
53
|
+
exports.fingerprintHandler = fingerprintHandler;
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZ2VycHJpbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xpL2NvbW1hbmRzL2ZpbmdlcnByaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNENBQW9CO0FBRXBCLGdFQUF1QztBQUV2Qyx1Q0FBcUM7QUFDckMsaUVBQThFO0FBRTlFLDZGQUEwRjtBQUUxRiw4Q0FBMkM7QUFDM0MsOEVBQTJFO0FBR3BFLEtBQUssVUFBVSxrQkFBa0IsQ0FBQyxRQUFnQixFQUFFLE9BQVk7SUFFckUsUUFBUSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUUsa0NBQWtDO0lBQzNFLFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUUsMENBQTBDO0lBQ2hHLE1BQU0sWUFBWSxHQUFHLE1BQU0sa0JBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QyxNQUFNLGFBQWEsR0FBRyxJQUFJLDZCQUFhLEVBQUUsQ0FBQztJQUUxQyxJQUFJLGtCQUFrQixHQUFhLEVBQUUsQ0FBQztJQUN0QyxJQUFJLFlBQVksRUFBRTtRQUNoQixNQUFNLElBQUksR0FBRyxJQUFJLFdBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixrQkFBa0IsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksbUNBQWdCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztLQUNqRTtTQUFNO1FBQ0wsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0tBQ2xDO0lBR0QsTUFBTSxPQUFPLEdBQUcsRUFBRSxNQUFNLEVBQUUseUZBQXlGLEVBQUUsQ0FBQztJQUN0SCxNQUFNLElBQUksR0FBRyxJQUFJLHNCQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxzQkFBVyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNwRixJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUV6QyxJQUFJLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDdEIsYUFBYSxDQUFDLEVBQUUsQ0FBQyw0QkFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUMsa0JBQXNDLEVBQUUsRUFBRTtRQUMvRixJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLDJCQUEyQixFQUFFLENBQUMsQ0FBQztRQUNqRSxZQUFZLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBRSxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsQ0FBRSxDQUFDO0lBQ3hFLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxPQUFPLENBQUMsT0FBTztRQUNqQixhQUFhLENBQUMsRUFBRSxDQUFDLDRCQUFhLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBVyxFQUFFLEVBQUU7WUFDM0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUVMLGFBQWEsQ0FBQyxFQUFFLENBQUMsNEJBQWEsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLEVBQUU7UUFDdEQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osSUFBRyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ2pCLFlBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztTQUNoRDthQUFNO1lBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUMzQjtJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxRQUFRLEdBQXNCLEVBQUMsUUFBUSxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUMsQ0FBQTtJQUN4RixJQUFHLE9BQU8sQ0FBQyxJQUFJO1FBQUUsUUFBUSxDQUFDLGFBQWEsR0FBRyw0QkFBYSxDQUFDLG1CQUFtQixDQUFDO0lBQzVFLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7QUFHaEMsQ0FBQztBQTlDRCxnREE4Q0MifQ==
|
|
@@ -20,6 +20,8 @@ const ComponentDataProvider_1 = require("../../sdk/DataLayer/DataProviders/Compo
|
|
|
20
20
|
const DependencyDataProvider_1 = require("../../sdk/DataLayer/DataProviders/DependencyDataProvider");
|
|
21
21
|
const LicenseDataProvider_1 = require("../../sdk/DataLayer/DataProviders/LicenseDataProvider");
|
|
22
22
|
const SummaryDataProvider_1 = require("../../sdk/DataLayer/DataProviders/SummaryDataProvider");
|
|
23
|
+
const DecompressionFilter_1 = require("../../sdk/tree/Filters/DecompressionFilter");
|
|
24
|
+
const DecompressionManager_1 = require("../../sdk/Decompress/DecompressionManager");
|
|
23
25
|
async function scanHandler(rootPath, options) {
|
|
24
26
|
rootPath = rootPath.replace(/\/$/, ''); // Remove trailing slash if exists
|
|
25
27
|
rootPath = rootPath.replace(/^\./, process.env.PWD); // Convert relative path to absolute path.
|
|
@@ -55,6 +57,19 @@ async function scanHandler(rootPath, options) {
|
|
|
55
57
|
console.error('Reading directory... ');
|
|
56
58
|
const tree = new Tree_1.Tree(rootPath);
|
|
57
59
|
tree.build();
|
|
60
|
+
if (options.extract) {
|
|
61
|
+
const archives = tree.getFileList(new DecompressionFilter_1.DecompressionFilter(""));
|
|
62
|
+
console.error("Searching archives files...");
|
|
63
|
+
if (archives.length) {
|
|
64
|
+
console.error("Extracting archives...");
|
|
65
|
+
const decompressionManager = new DecompressionManager_1.DecompressionManager(options.extractDeep, options.extractSuffix, options.extractOverwrite);
|
|
66
|
+
await decompressionManager.decompress(archives);
|
|
67
|
+
console.error("Reindexing files...");
|
|
68
|
+
tree.build();
|
|
69
|
+
}
|
|
70
|
+
else
|
|
71
|
+
console.error("No archives found.");
|
|
72
|
+
}
|
|
58
73
|
scannerInput.fileList = tree.getFileList(new ScanFilter_1.ScanFilter(""));
|
|
59
74
|
dependencyInput = tree.getFileList(new DependencyFilter_1.DependencyFilter(""));
|
|
60
75
|
}
|
|
@@ -114,4 +129,4 @@ async function scanHandler(rootPath, options) {
|
|
|
114
129
|
console.log(scannerResultsString);
|
|
115
130
|
}
|
|
116
131
|
exports.scanHandler = scanHandler;
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nhbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbGkvY29tbWFuZHMvc2Nhbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLDRDQUFvQjtBQUVwQix1REFBb0Q7QUFDcEQsaUVBS3dDO0FBQ3hDLDZEQUEwRDtBQUMxRCw4Q0FBMkM7QUFDM0MsZ0VBQXVDO0FBRXZDLHVDQUE2RDtBQUc3RCxzRkFBbUY7QUFDbkYsZ0ZBQTZFO0FBRTdFLGtFQUErRDtBQUMvRCw4RUFBMkU7QUFDM0Usb0RBQWlEO0FBQ2pELGlGQUE4RTtBQUM5RSxtR0FFaUU7QUFDakUscUdBRWtFO0FBQ2xFLCtGQUUrRDtBQUMvRCwrRkFFK0Q7QUFDL0Qsb0ZBRW9EO0FBQ3BELG9GQUVtRDtBQUc1QyxLQUFLLFVBQVUsV0FBVyxDQUFDLFFBQWdCLEVBQUUsT0FBWTtJQUU5RCxRQUFRLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBRSxrQ0FBa0M7SUFDM0UsUUFBUSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBRSwwQ0FBMEM7SUFDaEcsTUFBTSxZQUFZLEdBQUcsTUFBTSxrQkFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRzlDLE1BQU0sV0FBVyxHQUFHLGdDQUFzQixDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBRXBELCtDQUErQztJQUMvQyxNQUFNLG9CQUFvQixHQUFHLElBQUksMkNBQW9CLEVBQUUsQ0FBQztJQUN4RCxJQUFJLE9BQU8sQ0FBQyxPQUFPO1FBQUUsb0JBQW9CLENBQUMsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztJQUM5RSxNQUFNLGlCQUFpQixHQUFHLElBQUkscUNBQWlCLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN0RSxJQUFJLGVBQWUsR0FBa0IsRUFBRSxDQUFDO0lBR3hDLGdEQUFnRDtJQUNoRCxNQUFNLFVBQVUsR0FBRyxJQUFJLHVCQUFVLEVBQUUsQ0FBQztJQUNwQyxJQUFHLE9BQU8sQ0FBQyxXQUFXO1FBQUUsVUFBVSxDQUFDLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckYsSUFBRyxPQUFPLENBQUMsUUFBUTtRQUFFLFVBQVUsQ0FBQyxpQkFBaUIsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQztJQUN0RixJQUFHLE9BQU8sQ0FBQyxNQUFNO1FBQUUsVUFBVSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQ3ZELElBQUcsT0FBTyxDQUFDLEdBQUc7UUFBRSxVQUFVLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7SUFDakQsSUFBRyxPQUFPLENBQUMsT0FBTztRQUFFLFVBQVUsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDaEUsSUFBRyxPQUFPLENBQUMsUUFBUTtRQUFFLFVBQVUsQ0FBQyxtQ0FBbUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQ3ZGLE1BQU0sT0FBTyxHQUFHLElBQUksaUJBQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUV4QyxJQUFJLFlBQVksR0FBaUIsRUFBQyxRQUFRLEVBQUUsRUFBRSxFQUFDLENBQUM7SUFDaEQsWUFBWSxDQUFDLFVBQVUsR0FBRyxRQUFRLEdBQUcsR0FBRyxDQUFDLENBQUMsMkRBQTJEO0lBQ3JHLElBQUcsT0FBTyxDQUFDLEtBQUs7UUFBRSxZQUFZLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFJM0QsSUFBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUU7UUFDZixJQUFHLFlBQVksRUFBRTtZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztZQUN4QyxNQUFNLElBQUksR0FBRyxJQUFJLFdBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFFYixJQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUU7Z0JBQ2xCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSx5Q0FBbUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUMvRCxPQUFPLENBQUMsS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUE7Z0JBQzVDLElBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRTtvQkFDbEIsT0FBTyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO29CQUN2QyxNQUFNLG9CQUFvQixHQUFHLElBQUksMkNBQW9CLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBQyxPQUFPLENBQUMsYUFBYSxFQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO29CQUMxSCxNQUFNLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDaEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO29CQUNwQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQ2Q7O29CQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQzthQUM1QztZQUVELFlBQVksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLHVCQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM3RCxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLG1DQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FHOUQ7YUFBTTtZQUNMLFlBQVksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNuQyxlQUFlLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUM5QjtLQUNGO1NBQU07UUFDTCxNQUFNLFNBQVMsR0FBRyxZQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxFQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUMsQ0FBQyxDQUFDO1FBQ2pFLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0tBQ3pFO0lBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7UUFDcEIsTUFBTSxPQUFPLEdBQUcsRUFBRSxNQUFNLEVBQUUseUVBQXlFLEVBQUUsQ0FBQztRQUN0RyxNQUFNLElBQUksR0FBRyxJQUFJLHNCQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxzQkFBVyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTVDLE9BQU8sQ0FBQyxFQUFFLENBQUMsNEJBQWEsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLFFBQTRCLEVBQUUsRUFBRTtZQUM3RSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxFQUFFLENBQUMsNEJBQWEsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFLEdBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUM7S0FDM0U7U0FBTTtRQUNMLE9BQU8sQ0FBQyxFQUFFLENBQUMsNEJBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztLQUM1RTtJQUVELElBQUksT0FBTyxDQUFDLEdBQUc7UUFBRSxZQUFZLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQztJQUNqRCxJQUFJLE9BQU8sQ0FBQyxJQUFJO1FBQUUsWUFBWSxDQUFDLGFBQWEsR0FBRyw0QkFBYSxDQUFDLG1CQUFtQixDQUFBO0lBRWhGLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtRQUNsQixZQUFZLENBQUMsSUFBSSxHQUFHLFlBQUUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM3RCxZQUFZLENBQUMsUUFBUSxHQUFHLHVCQUFRLENBQUMsV0FBVyxDQUFBO0tBQzdDO0lBSUQscUJBQXFCO0lBQ3JCLElBQUksa0JBQWtCLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBc0IsRUFBRSxDQUFDLENBQUM7SUFDbEUsSUFBSSxPQUFPLENBQUMsWUFBWSxFQUFFO1FBQ3hCLGtCQUFrQixHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztLQUM5RDtJQUVELDBCQUEwQjtJQUMxQixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUU5QyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsVUFBVSxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLGtCQUFrQixDQUFDLENBQUMsQ0FBQTtJQUN6RixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sWUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUUxRix3R0FBd0c7SUFDeEcsTUFBTSxlQUFlLG1CQUNuQixPQUFPLEVBQUUsY0FBZ0MsSUFDdEMsQ0FBQyxPQUFPLENBQUMsWUFBWSxJQUFJLEVBQUMsWUFBWSxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQ3hELENBQUM7SUFFRixJQUFJLG9CQUFvQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUVwRSxJQUFJLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsS0FBSyxNQUFNLEVBQUU7UUFFN0QsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLHlDQUFtQixFQUFFLENBQUM7UUFDdEQsbUJBQW1CLENBQUMsZUFBZSxDQUFDLElBQUksNkNBQXFCLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQTtRQUNySCxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsSUFBSSwrQ0FBc0IsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQTtRQUM3RixtQkFBbUIsQ0FBQyxlQUFlLENBQUMsSUFBSSx5Q0FBbUIsQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ3BILG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxJQUFJLHlDQUFtQixDQUFDLFdBQVcsRUFBRSxJQUFJLElBQUksRUFBRSxFQUFFLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQy9HLE1BQU0sTUFBTSxHQUFHLElBQUksZUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDL0Msb0JBQW9CLEdBQUcsTUFBTSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7S0FFL0M7SUFFRCxJQUFHLE9BQU8sQ0FBQyxNQUFNO1FBQ2YsTUFBTSxZQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLG9CQUFvQixDQUFDLENBQUE7O1FBRWpFLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBM0hELGtDQTJIQyJ9
|
package/build/main/index.d.ts
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
|
+
export * from './sdk/scanner/Scanner';
|
|
1
2
|
export * from './sdk/scanner/ScannerTypes';
|
|
2
3
|
export * from './sdk/scanner/ScannerCfg';
|
|
3
|
-
export * from './sdk/scanner/Scanner';
|
|
4
4
|
export * from './sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator';
|
|
5
5
|
export * from './sdk/Dependencies/DependencyTypes';
|
|
6
6
|
export * from './sdk/Dependencies/DependencyScannerCfg';
|
|
7
7
|
export * from './sdk/Dependencies/DependencyScanner';
|
|
8
|
+
export * from './sdk/DataLayer/DataLayerTypes';
|
|
9
|
+
export * from './sdk/DataLayer/DataProviderManager';
|
|
10
|
+
export * from './sdk/DataLayer/DataProviders/LicenseDataProvider';
|
|
11
|
+
export * from './sdk/DataLayer/DataProviders/SummaryDataProvider';
|
|
12
|
+
export * from './sdk/DataLayer/DataProviders/DependencyDataProvider';
|
|
13
|
+
export * from './sdk/DataLayer/DataProviders/ComponentDataProvider';
|
|
14
|
+
export * from './sdk/Decompress/DecompressionManager';
|
package/build/main/index.js
CHANGED
|
@@ -9,11 +9,22 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
9
9
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
// *** Code scanner exports *** //
|
|
13
|
+
__exportStar(require("./sdk/scanner/Scanner"), exports);
|
|
12
14
|
__exportStar(require("./sdk/scanner/ScannerTypes"), exports);
|
|
13
15
|
__exportStar(require("./sdk/scanner/ScannerCfg"), exports);
|
|
14
|
-
__exportStar(require("./sdk/scanner/Scanner"), exports);
|
|
15
16
|
__exportStar(require("./sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator"), exports);
|
|
17
|
+
// *** Dependency scanner exports *** //
|
|
16
18
|
__exportStar(require("./sdk/Dependencies/DependencyTypes"), exports);
|
|
17
19
|
__exportStar(require("./sdk/Dependencies/DependencyScannerCfg"), exports);
|
|
18
20
|
__exportStar(require("./sdk/Dependencies/DependencyScanner"), exports);
|
|
19
|
-
|
|
21
|
+
// *** Data layers export *** //
|
|
22
|
+
__exportStar(require("./sdk/DataLayer/DataLayerTypes"), exports);
|
|
23
|
+
__exportStar(require("./sdk/DataLayer/DataProviderManager"), exports);
|
|
24
|
+
__exportStar(require("./sdk/DataLayer/DataProviders/LicenseDataProvider"), exports);
|
|
25
|
+
__exportStar(require("./sdk/DataLayer/DataProviders/SummaryDataProvider"), exports);
|
|
26
|
+
__exportStar(require("./sdk/DataLayer/DataProviders/DependencyDataProvider"), exports);
|
|
27
|
+
__exportStar(require("./sdk/DataLayer/DataProviders/ComponentDataProvider"), exports);
|
|
28
|
+
// *** Unzip *** //
|
|
29
|
+
__exportStar(require("./sdk/Decompress/DecompressionManager"), exports);
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxrQ0FBa0M7QUFDbEMsd0RBQXNDO0FBQ3RDLDZEQUEyQztBQUMzQywyREFBeUM7QUFDekMsd0ZBQXNFO0FBRXRFLHdDQUF3QztBQUN4QyxxRUFBbUQ7QUFDbkQsMEVBQXdEO0FBQ3hELHVFQUFxRDtBQUdyRCxnQ0FBZ0M7QUFDaEMsaUVBQStDO0FBQy9DLHNFQUFvRDtBQUNwRCxvRkFBa0U7QUFDbEUsb0ZBQWtFO0FBQ2xFLHVGQUFxRTtBQUNyRSxzRkFBb0U7QUFFcEUsbUJBQW1CO0FBQ25CLHdFQUFzRCJ9
|
|
@@ -5,17 +5,39 @@ export interface ComponentDataLayer {
|
|
|
5
5
|
name: string;
|
|
6
6
|
vendor: string;
|
|
7
7
|
url: string;
|
|
8
|
+
health: Health;
|
|
8
9
|
versions: Version[];
|
|
9
10
|
}
|
|
10
11
|
export interface Version {
|
|
11
12
|
version: string;
|
|
12
13
|
licenses: string[];
|
|
13
14
|
copyrights: Copyright[];
|
|
15
|
+
cryptography: Cryptography[];
|
|
16
|
+
quality: Quality;
|
|
14
17
|
}
|
|
15
18
|
export interface Copyright {
|
|
16
19
|
name: string;
|
|
17
20
|
source: string;
|
|
18
21
|
}
|
|
22
|
+
export interface Cryptography {
|
|
23
|
+
algorithm: string;
|
|
24
|
+
strength: string;
|
|
25
|
+
}
|
|
26
|
+
export interface Quality {
|
|
27
|
+
scoreAvg: number;
|
|
28
|
+
count: number;
|
|
29
|
+
sum: number;
|
|
30
|
+
}
|
|
31
|
+
export interface Health {
|
|
32
|
+
creation_date: string;
|
|
33
|
+
issues: number;
|
|
34
|
+
last_push: string;
|
|
35
|
+
last_update: string;
|
|
36
|
+
watchers: number;
|
|
37
|
+
country: string;
|
|
38
|
+
stars: number;
|
|
39
|
+
forks: number;
|
|
40
|
+
}
|
|
19
41
|
/************* Component interface definition *************/
|
|
20
42
|
/************* Dependency interface definition *************/
|
|
21
43
|
export interface DependencyDataLayer {
|
|
@@ -1,2 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
-
|
|
2
|
+
;
|
|
3
|
+
;
|
|
4
|
+
;
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YUxheWVyVHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2RrL0RhdGFMYXllci9EYXRhTGF5ZXJUeXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBc0JDLENBQUM7QUFLRCxDQUFDO0FBTUQsQ0FBQyJ9
|