@cloudant/couchbackup 2.9.9-SNAPSHOT.97 → 2.9.9-SNAPSHOT.98
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/.scannerwork/report-task.txt +2 -2
- package/.scannerwork/scanner-report/analysis-warnings.pb +2 -2
- package/.scannerwork/scanner-report/changesets-10.pb +2 -0
- package/.scannerwork/scanner-report/changesets-11.pb +1 -0
- package/.scannerwork/scanner-report/changesets-14.pb +1 -0
- package/.scannerwork/scanner-report/changesets-16.pb +1 -0
- package/.scannerwork/scanner-report/changesets-17.pb +1 -0
- package/.scannerwork/scanner-report/changesets-18.pb +1 -0
- package/.scannerwork/scanner-report/changesets-55.pb +1 -0
- package/.scannerwork/scanner-report/changesets-56.pb +1 -0
- package/.scannerwork/scanner-report/changesets-59.pb +1 -0
- package/.scannerwork/scanner-report/changesets-60.pb +1 -0
- package/.scannerwork/scanner-report/changesets-61.pb +1 -0
- package/.scannerwork/scanner-report/changesets-62.pb +1 -0
- package/.scannerwork/scanner-report/changesets-63.pb +1 -0
- package/.scannerwork/scanner-report/changesets-64.pb +1 -0
- package/.scannerwork/scanner-report/changesets-67.pb +1 -0
- package/.scannerwork/scanner-report/changesets-68.pb +1 -0
- package/.scannerwork/scanner-report/component-1.pb +2 -1
- package/.scannerwork/scanner-report/component-10.pb +2 -0
- package/.scannerwork/scanner-report/component-11.pb +1 -0
- package/.scannerwork/scanner-report/component-12.pb +1 -0
- package/.scannerwork/scanner-report/component-14.pb +1 -0
- package/.scannerwork/scanner-report/component-16.pb +1 -0
- package/.scannerwork/scanner-report/component-17.pb +1 -0
- package/.scannerwork/scanner-report/component-18.pb +1 -0
- package/.scannerwork/scanner-report/component-19.pb +1 -1
- package/.scannerwork/scanner-report/component-2.pb +1 -0
- package/.scannerwork/scanner-report/component-20.pb +1 -1
- package/.scannerwork/scanner-report/component-21.pb +1 -1
- package/.scannerwork/scanner-report/component-22.pb +1 -1
- package/.scannerwork/scanner-report/component-23.pb +1 -1
- package/.scannerwork/scanner-report/component-24.pb +1 -1
- package/.scannerwork/scanner-report/component-25.pb +1 -1
- package/.scannerwork/scanner-report/component-26.pb +1 -1
- package/.scannerwork/scanner-report/component-27.pb +1 -1
- package/.scannerwork/scanner-report/component-28.pb +1 -1
- package/.scannerwork/scanner-report/component-29.pb +1 -1
- package/.scannerwork/scanner-report/component-31.pb +1 -1
- package/.scannerwork/scanner-report/component-34.pb +1 -1
- package/.scannerwork/scanner-report/component-36.pb +1 -1
- package/.scannerwork/scanner-report/component-37.pb +1 -1
- package/.scannerwork/scanner-report/component-4.pb +1 -1
- package/.scannerwork/scanner-report/component-49.pb +1 -1
- package/.scannerwork/scanner-report/component-5.pb +1 -1
- package/.scannerwork/scanner-report/component-50.pb +1 -1
- package/.scannerwork/scanner-report/component-51.pb +1 -1
- package/.scannerwork/scanner-report/component-52.pb +1 -1
- package/.scannerwork/scanner-report/component-53.pb +1 -1
- package/.scannerwork/scanner-report/component-54.pb +1 -1
- package/.scannerwork/scanner-report/component-55.pb +1 -1
- package/.scannerwork/scanner-report/component-56.pb +1 -0
- package/.scannerwork/scanner-report/component-57.pb +1 -1
- package/.scannerwork/scanner-report/component-58.pb +1 -1
- package/.scannerwork/scanner-report/component-59.pb +1 -1
- package/.scannerwork/scanner-report/component-6.pb +1 -1
- package/.scannerwork/scanner-report/component-60.pb +1 -0
- package/.scannerwork/scanner-report/component-61.pb +1 -1
- package/.scannerwork/scanner-report/component-62.pb +1 -0
- package/.scannerwork/scanner-report/component-63.pb +1 -0
- package/.scannerwork/scanner-report/component-64.pb +1 -0
- package/.scannerwork/scanner-report/component-65.pb +1 -1
- package/.scannerwork/scanner-report/component-66.pb +1 -1
- package/.scannerwork/scanner-report/component-67.pb +1 -0
- package/.scannerwork/scanner-report/component-68.pb +1 -0
- package/.scannerwork/scanner-report/component-69.pb +1 -1
- package/.scannerwork/scanner-report/coverages-10.pb +0 -0
- package/.scannerwork/scanner-report/coverages-11.pb +0 -0
- package/.scannerwork/scanner-report/coverages-14.pb +0 -0
- package/.scannerwork/scanner-report/coverages-19.pb +0 -0
- package/.scannerwork/scanner-report/coverages-20.pb +0 -0
- package/.scannerwork/scanner-report/coverages-21.pb +0 -0
- package/.scannerwork/scanner-report/coverages-22.pb +0 -0
- package/.scannerwork/scanner-report/coverages-23.pb +0 -0
- package/.scannerwork/scanner-report/coverages-24.pb +0 -0
- package/.scannerwork/scanner-report/coverages-25.pb +0 -0
- package/.scannerwork/scanner-report/coverages-26.pb +0 -0
- package/.scannerwork/scanner-report/coverages-27.pb +0 -0
- package/.scannerwork/scanner-report/coverages-28.pb +0 -0
- package/.scannerwork/scanner-report/coverages-29.pb +0 -0
- package/.scannerwork/scanner-report/coverages-31.pb +0 -0
- package/.scannerwork/scanner-report/coverages-34.pb +0 -0
- package/.scannerwork/scanner-report/coverages-36.pb +0 -0
- package/.scannerwork/scanner-report/coverages-37.pb +0 -0
- package/.scannerwork/scanner-report/coverages-49.pb +0 -0
- package/.scannerwork/scanner-report/coverages-50.pb +0 -0
- package/.scannerwork/scanner-report/coverages-51.pb +0 -0
- package/.scannerwork/scanner-report/coverages-52.pb +0 -0
- package/.scannerwork/scanner-report/coverages-53.pb +0 -0
- package/.scannerwork/scanner-report/coverages-54.pb +0 -0
- package/.scannerwork/scanner-report/coverages-55.pb +0 -0
- package/.scannerwork/scanner-report/coverages-56.pb +0 -0
- package/.scannerwork/scanner-report/coverages-57.pb +0 -0
- package/.scannerwork/scanner-report/coverages-58.pb +0 -0
- package/.scannerwork/scanner-report/coverages-62.pb +0 -0
- package/.scannerwork/scanner-report/coverages-63.pb +0 -0
- package/.scannerwork/scanner-report/coverages-64.pb +0 -0
- package/.scannerwork/scanner-report/coverages-65.pb +0 -0
- package/.scannerwork/scanner-report/coverages-66.pb +0 -0
- package/.scannerwork/scanner-report/coverages-67.pb +0 -0
- package/.scannerwork/scanner-report/coverages-68.pb +0 -0
- package/.scannerwork/scanner-report/coverages-69.pb +0 -0
- package/.scannerwork/scanner-report/duplications-17.pb +2 -0
- package/.scannerwork/scanner-report/duplications-19.pb +0 -3
- package/.scannerwork/scanner-report/duplications-21.pb +0 -2
- package/.scannerwork/scanner-report/duplications-22.pb +0 -3
- package/.scannerwork/scanner-report/duplications-26.pb +2 -0
- package/.scannerwork/scanner-report/duplications-31.pb +2 -0
- package/.scannerwork/scanner-report/duplications-34.pb +2 -0
- package/.scannerwork/scanner-report/duplications-36.pb +0 -2
- package/.scannerwork/scanner-report/duplications-50.pb +3 -0
- package/.scannerwork/scanner-report/duplications-62.pb +3 -0
- package/.scannerwork/scanner-report/duplications-64.pb +3 -0
- package/.scannerwork/scanner-report/duplications-65.pb +0 -2
- package/.scannerwork/scanner-report/duplications-66.pb +0 -2
- package/.scannerwork/scanner-report/duplications-67.pb +2 -0
- package/.scannerwork/scanner-report/duplications-69.pb +2 -0
- package/.scannerwork/scanner-report/measures-10.pb +0 -0
- package/.scannerwork/scanner-report/measures-11.pb +0 -0
- package/.scannerwork/scanner-report/measures-14.pb +0 -0
- package/.scannerwork/scanner-report/measures-19.pb +0 -0
- package/.scannerwork/scanner-report/measures-20.pb +0 -0
- package/.scannerwork/scanner-report/measures-21.pb +0 -0
- package/.scannerwork/scanner-report/measures-22.pb +0 -0
- package/.scannerwork/scanner-report/measures-23.pb +0 -0
- package/.scannerwork/scanner-report/measures-24.pb +0 -0
- package/.scannerwork/scanner-report/measures-25.pb +0 -0
- package/.scannerwork/scanner-report/measures-26.pb +0 -0
- package/.scannerwork/scanner-report/measures-27.pb +0 -0
- package/.scannerwork/scanner-report/measures-28.pb +0 -0
- package/.scannerwork/scanner-report/measures-29.pb +0 -0
- package/.scannerwork/scanner-report/measures-31.pb +0 -0
- package/.scannerwork/scanner-report/measures-34.pb +0 -0
- package/.scannerwork/scanner-report/measures-36.pb +0 -0
- package/.scannerwork/scanner-report/measures-37.pb +0 -0
- package/.scannerwork/scanner-report/measures-4.pb +0 -0
- package/.scannerwork/scanner-report/measures-49.pb +0 -0
- package/.scannerwork/scanner-report/measures-5.pb +0 -0
- package/.scannerwork/scanner-report/measures-50.pb +0 -0
- package/.scannerwork/scanner-report/measures-51.pb +0 -0
- package/.scannerwork/scanner-report/measures-52.pb +0 -0
- package/.scannerwork/scanner-report/measures-53.pb +0 -0
- package/.scannerwork/scanner-report/measures-54.pb +0 -0
- package/.scannerwork/scanner-report/measures-55.pb +0 -0
- package/.scannerwork/scanner-report/measures-56.pb +0 -0
- package/.scannerwork/scanner-report/measures-57.pb +0 -0
- package/.scannerwork/scanner-report/measures-58.pb +0 -0
- package/.scannerwork/scanner-report/measures-59.pb +0 -0
- package/.scannerwork/scanner-report/measures-6.pb +0 -0
- package/.scannerwork/scanner-report/measures-61.pb +0 -0
- package/.scannerwork/scanner-report/measures-62.pb +0 -0
- package/.scannerwork/scanner-report/measures-63.pb +0 -0
- package/.scannerwork/scanner-report/measures-64.pb +0 -0
- package/.scannerwork/scanner-report/measures-65.pb +0 -0
- package/.scannerwork/scanner-report/measures-66.pb +0 -0
- package/.scannerwork/scanner-report/measures-67.pb +0 -0
- package/.scannerwork/scanner-report/measures-68.pb +0 -0
- package/.scannerwork/scanner-report/measures-69.pb +0 -0
- package/.scannerwork/scanner-report/metadata.pb +0 -0
- package/.scannerwork/scanner-report/source-10.txt +77 -0
- package/.scannerwork/scanner-report/source-11.txt +56 -0
- package/.scannerwork/scanner-report/{source-38.txt → source-12.txt} +50 -50
- package/.scannerwork/scanner-report/source-14.txt +114 -0
- package/.scannerwork/scanner-report/source-19.txt +36 -113
- package/.scannerwork/scanner-report/{source-40.txt → source-2.txt} +153 -153
- package/.scannerwork/scanner-report/source-20.txt +115 -21
- package/.scannerwork/scanner-report/source-21.txt +25 -272
- package/.scannerwork/scanner-report/source-22.txt +84 -99
- package/.scannerwork/scanner-report/source-23.txt +88 -69
- package/.scannerwork/scanner-report/source-24.txt +17 -601
- package/.scannerwork/scanner-report/source-25.txt +65 -14
- package/.scannerwork/scanner-report/source-26.txt +73 -44
- package/.scannerwork/scanner-report/source-27.txt +150 -22
- package/.scannerwork/scanner-report/source-28.txt +247 -108
- package/.scannerwork/scanner-report/source-29.txt +17 -352
- package/.scannerwork/scanner-report/source-31.txt +157 -82
- package/.scannerwork/scanner-report/source-34.txt +166 -44
- package/.scannerwork/scanner-report/source-36.txt +387 -194
- package/.scannerwork/scanner-report/source-37.txt +121 -93
- package/.scannerwork/scanner-report/source-4.txt +509 -34
- package/.scannerwork/scanner-report/source-49.txt +21 -115
- package/.scannerwork/scanner-report/source-5.txt +509 -244
- package/.scannerwork/scanner-report/source-50.txt +209 -246
- package/.scannerwork/scanner-report/source-51.txt +352 -66
- package/.scannerwork/scanner-report/source-52.txt +48 -91
- package/.scannerwork/scanner-report/source-53.txt +19 -29
- package/.scannerwork/scanner-report/source-54.txt +31 -148
- package/.scannerwork/scanner-report/source-55.txt +68 -509
- package/.scannerwork/scanner-report/{source-30.txt → source-56.txt} +7 -14
- package/.scannerwork/scanner-report/source-57.txt +80 -57
- package/.scannerwork/scanner-report/source-58.txt +20 -40
- package/.scannerwork/scanner-report/source-59.txt +156 -509
- package/.scannerwork/scanner-report/source-6.txt +509 -68
- package/.scannerwork/scanner-report/source-61.txt +34 -509
- package/.scannerwork/scanner-report/source-62.txt +119 -0
- package/.scannerwork/scanner-report/source-63.txt +63 -0
- package/.scannerwork/scanner-report/source-64.txt +131 -0
- package/.scannerwork/scanner-report/source-65.txt +122 -165
- package/.scannerwork/scanner-report/source-66.txt +583 -133
- package/.scannerwork/scanner-report/source-67.txt +225 -0
- package/.scannerwork/scanner-report/source-68.txt +92 -0
- package/.scannerwork/scanner-report/source-69.txt +237 -362
- package/.scannerwork/scanner-report/symbols-10.pb +30 -0
- package/.scannerwork/scanner-report/symbols-11.pb +19 -0
- package/.scannerwork/scanner-report/symbols-14.pb +28 -0
- package/.scannerwork/scanner-report/symbols-19.pb +15 -97
- package/.scannerwork/scanner-report/symbols-20.pb +33 -17
- package/.scannerwork/scanner-report/symbols-21.pb +19 -485
- package/.scannerwork/scanner-report/symbols-22.pb +41 -76
- package/.scannerwork/scanner-report/symbols-23.pb +59 -60
- package/.scannerwork/scanner-report/symbols-24.pb +17 -1253
- package/.scannerwork/scanner-report/symbols-25.pb +46 -9
- package/.scannerwork/scanner-report/symbols-26.pb +43 -42
- package/.scannerwork/scanner-report/symbols-27.pb +126 -11
- package/.scannerwork/scanner-report/symbols-28.pb +348 -110
- package/.scannerwork/scanner-report/symbols-29.pb +14 -494
- package/.scannerwork/scanner-report/symbols-31.pb +152 -68
- package/.scannerwork/scanner-report/symbols-34.pb +180 -36
- package/.scannerwork/scanner-report/symbols-36.pb +551 -359
- package/.scannerwork/scanner-report/symbols-37.pb +116 -28
- package/.scannerwork/scanner-report/symbols-49.pb +17 -33
- package/.scannerwork/scanner-report/symbols-50.pb +342 -302
- package/.scannerwork/scanner-report/symbols-51.pb +494 -46
- package/.scannerwork/scanner-report/symbols-52.pb +44 -58
- package/.scannerwork/scanner-report/symbols-53.pb +14 -20
- package/.scannerwork/scanner-report/symbols-54.pb +26 -125
- package/.scannerwork/scanner-report/symbols-55.pb +36 -0
- package/.scannerwork/scanner-report/symbols-56.pb +9 -0
- package/.scannerwork/scanner-report/symbols-57.pb +68 -29
- package/.scannerwork/scanner-report/symbols-58.pb +11 -19
- package/.scannerwork/scanner-report/symbols-62.pb +77 -0
- package/.scannerwork/scanner-report/symbols-63.pb +43 -0
- package/.scannerwork/scanner-report/symbols-64.pb +97 -0
- package/.scannerwork/scanner-report/symbols-65.pb +85 -180
- package/.scannerwork/scanner-report/symbols-66.pb +1244 -143
- package/.scannerwork/scanner-report/symbols-67.pb +418 -0
- package/.scannerwork/scanner-report/symbols-68.pb +60 -0
- package/.scannerwork/scanner-report/symbols-69.pb +430 -554
- package/.scannerwork/scanner-report/syntax-highlightings-10.pb +103 -0
- package/.scannerwork/scanner-report/syntax-highlightings-11.pb +82 -0
- package/.scannerwork/scanner-report/{syntax-highlightings-38.pb → syntax-highlightings-12.pb} +22 -22
- package/.scannerwork/scanner-report/syntax-highlightings-14.pb +138 -0
- package/.scannerwork/scanner-report/syntax-highlightings-19.pb +25 -153
- package/.scannerwork/scanner-report/{syntax-highlightings-40.pb → syntax-highlightings-2.pb} +99 -98
- package/.scannerwork/scanner-report/syntax-highlightings-20.pb +95 -29
- package/.scannerwork/scanner-report/syntax-highlightings-21.pb +34 -629
- package/.scannerwork/scanner-report/syntax-highlightings-22.pb +86 -128
- package/.scannerwork/scanner-report/syntax-highlightings-23.pb +92 -69
- package/.scannerwork/scanner-report/syntax-highlightings-24.pb +21 -858
- package/.scannerwork/scanner-report/syntax-highlightings-25.pb +63 -16
- package/.scannerwork/scanner-report/syntax-highlightings-26.pb +56 -48
- package/.scannerwork/scanner-report/syntax-highlightings-27.pb +180 -26
- package/.scannerwork/scanner-report/syntax-highlightings-28.pb +250 -99
- package/.scannerwork/scanner-report/syntax-highlightings-29.pb +15 -600
- package/.scannerwork/scanner-report/syntax-highlightings-31.pb +175 -66
- package/.scannerwork/scanner-report/syntax-highlightings-34.pb +194 -64
- package/.scannerwork/scanner-report/syntax-highlightings-36.pb +523 -206
- package/.scannerwork/scanner-report/syntax-highlightings-37.pb +99 -103
- package/.scannerwork/scanner-report/syntax-highlightings-4.pb +3730 -32
- package/.scannerwork/scanner-report/syntax-highlightings-49.pb +29 -95
- package/.scannerwork/scanner-report/syntax-highlightings-5.pb +3640 -222
- package/.scannerwork/scanner-report/syntax-highlightings-50.pb +217 -173
- package/.scannerwork/scanner-report/syntax-highlightings-51.pb +595 -60
- package/.scannerwork/scanner-report/syntax-highlightings-52.pb +73 -96
- package/.scannerwork/scanner-report/syntax-highlightings-53.pb +24 -34
- package/.scannerwork/scanner-report/syntax-highlightings-54.pb +33 -178
- package/.scannerwork/scanner-report/syntax-highlightings-55.pb +84 -3736
- package/.scannerwork/scanner-report/syntax-highlightings-56.pb +48 -0
- package/.scannerwork/scanner-report/syntax-highlightings-57.pb +75 -73
- package/.scannerwork/scanner-report/syntax-highlightings-58.pb +39 -62
- package/.scannerwork/scanner-report/syntax-highlightings-59.pb +201 -3727
- package/.scannerwork/scanner-report/syntax-highlightings-6.pb +3736 -99
- package/.scannerwork/scanner-report/syntax-highlightings-61.pb +32 -3729
- package/.scannerwork/scanner-report/syntax-highlightings-62.pb +158 -0
- package/.scannerwork/scanner-report/syntax-highlightings-63.pb +82 -0
- package/.scannerwork/scanner-report/syntax-highlightings-64.pb +182 -0
- package/.scannerwork/scanner-report/syntax-highlightings-65.pb +146 -180
- package/.scannerwork/scanner-report/syntax-highlightings-66.pb +815 -142
- package/.scannerwork/scanner-report/syntax-highlightings-67.pb +331 -0
- package/.scannerwork/scanner-report/syntax-highlightings-68.pb +110 -0
- package/.scannerwork/scanner-report/syntax-highlightings-69.pb +414 -403
- package/package.json +2 -2
- package/test-14-results.xml +158 -158
- package/test-16-results.xml +139 -139
- package/test-18-results.xml +142 -142
- package/test-19-results.xml +155 -155
- package/test-iam-18-results.xml +50 -50
- package/.scannerwork/scanner-report/changesets-30.pb +0 -1
- package/.scannerwork/scanner-report/changesets-32.pb +0 -1
- package/.scannerwork/scanner-report/changesets-33.pb +0 -1
- package/.scannerwork/scanner-report/changesets-35.pb +0 -1
- package/.scannerwork/scanner-report/changesets-4.pb +0 -1
- package/.scannerwork/scanner-report/changesets-41.pb +0 -1
- package/.scannerwork/scanner-report/changesets-42.pb +0 -1
- package/.scannerwork/scanner-report/changesets-43.pb +0 -1
- package/.scannerwork/scanner-report/changesets-44.pb +0 -1
- package/.scannerwork/scanner-report/changesets-45.pb +0 -1
- package/.scannerwork/scanner-report/changesets-46.pb +0 -1
- package/.scannerwork/scanner-report/changesets-47.pb +0 -1
- package/.scannerwork/scanner-report/changesets-48.pb +0 -1
- package/.scannerwork/scanner-report/changesets-5.pb +0 -1
- package/.scannerwork/scanner-report/changesets-6.pb +0 -1
- package/.scannerwork/scanner-report/changesets-7.pb +0 -1
- package/.scannerwork/scanner-report/component-30.pb +0 -1
- package/.scannerwork/scanner-report/component-32.pb +0 -1
- package/.scannerwork/scanner-report/component-33.pb +0 -1
- package/.scannerwork/scanner-report/component-35.pb +0 -1
- package/.scannerwork/scanner-report/component-38.pb +0 -1
- package/.scannerwork/scanner-report/component-40.pb +0 -1
- package/.scannerwork/scanner-report/component-41.pb +0 -1
- package/.scannerwork/scanner-report/component-42.pb +0 -1
- package/.scannerwork/scanner-report/component-43.pb +0 -1
- package/.scannerwork/scanner-report/component-44.pb +0 -1
- package/.scannerwork/scanner-report/component-45.pb +0 -1
- package/.scannerwork/scanner-report/component-46.pb +0 -1
- package/.scannerwork/scanner-report/component-47.pb +0 -1
- package/.scannerwork/scanner-report/component-48.pb +0 -1
- package/.scannerwork/scanner-report/component-7.pb +0 -1
- package/.scannerwork/scanner-report/coverages-30.pb +0 -0
- package/.scannerwork/scanner-report/coverages-35.pb +0 -0
- package/.scannerwork/scanner-report/coverages-41.pb +0 -0
- package/.scannerwork/scanner-report/coverages-42.pb +0 -0
- package/.scannerwork/scanner-report/coverages-43.pb +0 -0
- package/.scannerwork/scanner-report/coverages-46.pb +0 -0
- package/.scannerwork/scanner-report/coverages-47.pb +0 -0
- package/.scannerwork/scanner-report/coverages-5.pb +0 -0
- package/.scannerwork/scanner-report/coverages-6.pb +0 -0
- package/.scannerwork/scanner-report/coverages-7.pb +0 -0
- package/.scannerwork/scanner-report/duplications-43.pb +0 -2
- package/.scannerwork/scanner-report/duplications-45.pb +0 -2
- package/.scannerwork/scanner-report/duplications-5.pb +0 -3
- package/.scannerwork/scanner-report/duplications-7.pb +0 -0
- package/.scannerwork/scanner-report/measures-30.pb +0 -0
- package/.scannerwork/scanner-report/measures-33.pb +0 -0
- package/.scannerwork/scanner-report/measures-35.pb +0 -0
- package/.scannerwork/scanner-report/measures-41.pb +0 -0
- package/.scannerwork/scanner-report/measures-42.pb +0 -15
- package/.scannerwork/scanner-report/measures-43.pb +0 -0
- package/.scannerwork/scanner-report/measures-46.pb +0 -0
- package/.scannerwork/scanner-report/measures-47.pb +0 -0
- package/.scannerwork/scanner-report/measures-7.pb +0 -0
- package/.scannerwork/scanner-report/source-33.txt +0 -156
- package/.scannerwork/scanner-report/source-35.txt +0 -147
- package/.scannerwork/scanner-report/source-41.txt +0 -31
- package/.scannerwork/scanner-report/source-42.txt +0 -104
- package/.scannerwork/scanner-report/source-43.txt +0 -92
- package/.scannerwork/scanner-report/source-46.txt +0 -54
- package/.scannerwork/scanner-report/source-47.txt +0 -41
- package/.scannerwork/scanner-report/source-7.txt +0 -47
- package/.scannerwork/scanner-report/symbols-30.pb +0 -14
- package/.scannerwork/scanner-report/symbols-35.pb +0 -85
- package/.scannerwork/scanner-report/symbols-41.pb +0 -14
- package/.scannerwork/scanner-report/symbols-42.pb +0 -42
- package/.scannerwork/scanner-report/symbols-43.pb +0 -44
- package/.scannerwork/scanner-report/symbols-46.pb +0 -15
- package/.scannerwork/scanner-report/symbols-47.pb +0 -18
- package/.scannerwork/scanner-report/symbols-5.pb +0 -394
- package/.scannerwork/scanner-report/symbols-6.pb +0 -45
- package/.scannerwork/scanner-report/symbols-7.pb +0 -27
- package/.scannerwork/scanner-report/syntax-highlightings-30.pb +0 -54
- package/.scannerwork/scanner-report/syntax-highlightings-33.pb +0 -223
- package/.scannerwork/scanner-report/syntax-highlightings-35.pb +0 -191
- package/.scannerwork/scanner-report/syntax-highlightings-41.pb +0 -45
- package/.scannerwork/scanner-report/syntax-highlightings-42.pb +0 -116
- package/.scannerwork/scanner-report/syntax-highlightings-43.pb +0 -90
- package/.scannerwork/scanner-report/syntax-highlightings-46.pb +0 -54
- package/.scannerwork/scanner-report/syntax-highlightings-47.pb +0 -50
- package/.scannerwork/scanner-report/syntax-highlightings-7.pb +0 -68
- /package/.scannerwork/scanner-report/{coverages-48.pb → coverages-16.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-45.pb → coverages-17.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-44.pb → coverages-18.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-33.pb → coverages-59.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-32.pb → coverages-60.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-4.pb → coverages-61.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-30.pb → duplications-10.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-33.pb → duplications-11.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-35.pb → duplications-14.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-4.pb → duplications-16.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-41.pb → duplications-18.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-42.pb → duplications-25.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-44.pb → duplications-55.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-46.pb → duplications-59.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-32.pb → duplications-60.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-47.pb → duplications-61.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-48.pb → duplications-63.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-6.pb → duplications-68.pb} +0 -0
- /package/.scannerwork/scanner-report/{issues-28.pb → issues-37.pb} +0 -0
- /package/.scannerwork/scanner-report/{issues-5.pb → issues-50.pb} +0 -0
- /package/.scannerwork/scanner-report/{issues-29.pb → issues-51.pb} +0 -0
- /package/.scannerwork/scanner-report/{issues-7.pb → issues-54.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-38.pb → measures-12.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-48.pb → measures-16.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-45.pb → measures-17.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-44.pb → measures-18.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-40.pb → measures-2.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-32.pb → measures-60.pb} +0 -0
- /package/.scannerwork/scanner-report/{source-48.txt → source-16.txt} +0 -0
- /package/.scannerwork/scanner-report/{source-45.txt → source-17.txt} +0 -0
- /package/.scannerwork/scanner-report/{source-44.txt → source-18.txt} +0 -0
- /package/.scannerwork/scanner-report/{source-32.txt → source-60.txt} +0 -0
- /package/.scannerwork/scanner-report/{symbols-48.pb → symbols-16.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-45.pb → symbols-17.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-44.pb → symbols-18.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-33.pb → symbols-59.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-32.pb → symbols-60.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-4.pb → symbols-61.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-48.pb → syntax-highlightings-16.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-45.pb → syntax-highlightings-17.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-44.pb → syntax-highlightings-18.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-32.pb → syntax-highlightings-60.pb} +0 -0
|
@@ -12,57 +12,179 @@
|
|
|
12
12
|
// See the License for the specific language governing permissions and
|
|
13
13
|
// limitations under the License.
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
// Small script which backs up a Cloudant or CouchDB database to an S3
|
|
16
|
+
// bucket, using an intermediary file on disk.
|
|
17
|
+
//
|
|
18
|
+
// The script generates the backup object name by combining together the path
|
|
19
|
+
// part of the database URL and the current time.
|
|
20
|
+
|
|
16
21
|
'use strict';
|
|
17
22
|
|
|
23
|
+
const stream = require('stream');
|
|
18
24
|
const fs = require('fs');
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
25
|
+
const url = require('url');
|
|
26
|
+
|
|
27
|
+
const AWS = require('aws-sdk');
|
|
28
|
+
const couchbackup = require('@cloudant/couchbackup');
|
|
29
|
+
const debug = require('debug')('s3-backup');
|
|
30
|
+
const tmp = require('tmp');
|
|
31
|
+
const VError = require('verror').VError;
|
|
32
|
+
|
|
33
|
+
/*
|
|
34
|
+
Main function, run from base of file.
|
|
35
|
+
*/
|
|
36
|
+
function main() {
|
|
37
|
+
const argv = require('yargs')
|
|
38
|
+
.usage('Usage: $0 [options]')
|
|
39
|
+
.example('$0 -s https://user:pass@host/db -b <bucket>', 'Backup db to bucket')
|
|
40
|
+
.options({
|
|
41
|
+
source: { alias: 's', nargs: 1, demandOption: true, describe: 'Source database URL' },
|
|
42
|
+
bucket: { alias: 'b', nargs: 1, demandOption: true, describe: 'Destination bucket' },
|
|
43
|
+
prefix: { alias: 'p', nargs: 1, describe: 'Prefix for backup object key', default: 'couchbackup' },
|
|
44
|
+
s3url: { nargs: 1, describe: 'S3 endpoint URL' },
|
|
45
|
+
awsprofile: { nargs: 1, describe: 'The profile section to use in the ~/.aws/credentials file', default: 'default' }
|
|
46
|
+
})
|
|
47
|
+
.help('h').alias('h', 'help')
|
|
48
|
+
.epilog('Copyright (C) IBM 2017')
|
|
49
|
+
.argv;
|
|
50
|
+
|
|
51
|
+
const sourceUrl = argv.source;
|
|
52
|
+
const backupBucket = argv.bucket;
|
|
53
|
+
const backupName = new url.URL(sourceUrl).pathname.split('/').filter(function(x) { return x; }).join('-');
|
|
54
|
+
const backupKeyPrefix = `${argv.prefix}-${backupName}`;
|
|
55
|
+
|
|
56
|
+
const backupKey = `${backupKeyPrefix}-${new Date().toISOString()}`;
|
|
57
|
+
const backupTmpFile = tmp.fileSync();
|
|
58
|
+
|
|
59
|
+
const s3Endpoint = argv.s3url;
|
|
60
|
+
const awsProfile = argv.awsprofile;
|
|
61
|
+
|
|
62
|
+
// Creds are from ~/.aws/credentials, environment etc. (see S3 docs).
|
|
63
|
+
const awsOpts = {
|
|
64
|
+
signatureVersion: 'v4',
|
|
65
|
+
credentials: new AWS.SharedIniFileCredentials({ profile: awsProfile })
|
|
66
|
+
};
|
|
67
|
+
if (typeof s3Endpoint !== 'undefined') {
|
|
68
|
+
awsOpts.endpoint = new AWS.Endpoint(s3Endpoint);
|
|
69
|
+
}
|
|
70
|
+
const s3 = new AWS.S3(awsOpts);
|
|
71
|
+
|
|
72
|
+
debug(`Creating a new backup of ${s(sourceUrl)} at ${backupBucket}/${backupKey}...`);
|
|
73
|
+
bucketAccessible(s3, backupBucket)
|
|
74
|
+
.then(() => {
|
|
75
|
+
return createBackupFile(sourceUrl, backupTmpFile.name);
|
|
76
|
+
})
|
|
77
|
+
.then(() => {
|
|
78
|
+
return uploadNewBackup(s3, backupTmpFile.name, backupBucket, backupKey);
|
|
79
|
+
})
|
|
80
|
+
.then(() => {
|
|
81
|
+
debug('Backup successful!');
|
|
82
|
+
backupTmpFile.removeCallback();
|
|
83
|
+
debug('done.');
|
|
84
|
+
})
|
|
85
|
+
.catch((reason) => {
|
|
86
|
+
debug(`Error: ${reason}`);
|
|
39
87
|
});
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Return a promise that resolves if the bucket is available and
|
|
92
|
+
* rejects if not.
|
|
93
|
+
*
|
|
94
|
+
* @param {any} s3 S3 client object
|
|
95
|
+
* @param {any} bucketName Bucket name
|
|
96
|
+
* @returns Promise
|
|
97
|
+
*/
|
|
98
|
+
function bucketAccessible(s3, bucketName) {
|
|
99
|
+
return new Promise(function(resolve, reject) {
|
|
100
|
+
const params = {
|
|
101
|
+
Bucket: bucketName
|
|
102
|
+
};
|
|
103
|
+
s3.headBucket(params, function(err, data) {
|
|
104
|
+
if (err) {
|
|
105
|
+
reject(new VError(err, 'S3 bucket not accessible'));
|
|
106
|
+
} else {
|
|
107
|
+
resolve();
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
}
|
|
40
112
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
113
|
+
/**
|
|
114
|
+
* Use couchbackup to create a backup of the specified database to a file path.
|
|
115
|
+
*
|
|
116
|
+
* @param {any} sourceUrl Database URL
|
|
117
|
+
* @param {any} backupTmpFilePath Path to write file
|
|
118
|
+
* @returns Promise
|
|
119
|
+
*/
|
|
120
|
+
function createBackupFile(sourceUrl, backupTmpFilePath) {
|
|
121
|
+
return new Promise((resolve, reject) => {
|
|
122
|
+
couchbackup.backup(
|
|
123
|
+
sourceUrl,
|
|
124
|
+
fs.createWriteStream(backupTmpFilePath),
|
|
125
|
+
(err) => {
|
|
46
126
|
if (err) {
|
|
47
|
-
|
|
48
|
-
} else {
|
|
49
|
-
u.assertGzipFile(compressedBackup, done);
|
|
127
|
+
return reject(new VError(err, 'CouchBackup process failed'));
|
|
50
128
|
}
|
|
51
|
-
|
|
52
|
-
|
|
129
|
+
debug('couchbackup to file done; uploading to S3');
|
|
130
|
+
resolve('creating backup file complete');
|
|
131
|
+
}
|
|
132
|
+
);
|
|
133
|
+
});
|
|
134
|
+
}
|
|
53
135
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
136
|
+
/**
|
|
137
|
+
* Upload a backup file to an S3 bucket.
|
|
138
|
+
*
|
|
139
|
+
* @param {any} s3 Object store client
|
|
140
|
+
* @param {any} backupTmpFilePath Path of backup file to write.
|
|
141
|
+
* @param {any} bucket Object store bucket name
|
|
142
|
+
* @param {any} key Object store key name
|
|
143
|
+
* @returns Promise
|
|
144
|
+
*/
|
|
145
|
+
function uploadNewBackup(s3, backupTmpFilePath, bucket, key) {
|
|
146
|
+
return new Promise((resolve, reject) => {
|
|
147
|
+
debug(`Uploading from ${backupTmpFilePath} to ${bucket}/${key}`);
|
|
59
148
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
149
|
+
function uploadFromStream(s3, bucket, key) {
|
|
150
|
+
const pass = new stream.PassThrough();
|
|
151
|
+
|
|
152
|
+
const params = {
|
|
153
|
+
Bucket: bucket,
|
|
154
|
+
Key: key,
|
|
155
|
+
Body: pass
|
|
156
|
+
};
|
|
157
|
+
s3.upload(params, function(err, data) {
|
|
158
|
+
debug('S3 upload done');
|
|
159
|
+
if (err) {
|
|
160
|
+
debug(err);
|
|
161
|
+
reject(new VError(err, 'Upload failed'));
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
debug('Upload succeeded');
|
|
165
|
+
debug(data);
|
|
166
|
+
resolve();
|
|
167
|
+
}).httpUploadProgress = (progress) => {
|
|
168
|
+
debug(`S3 upload progress: ${progress}`);
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
return pass;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
const inputStream = fs.createReadStream(backupTmpFilePath);
|
|
175
|
+
const s3Stream = uploadFromStream(s3, bucket, key);
|
|
176
|
+
inputStream.pipe(s3Stream);
|
|
67
177
|
});
|
|
68
|
-
}
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Remove creds from a URL, e.g., before logging
|
|
182
|
+
*
|
|
183
|
+
* @param {string} url URL to safen
|
|
184
|
+
*/
|
|
185
|
+
function s(originalUrl) {
|
|
186
|
+
const parts = new url.URL(originalUrl);
|
|
187
|
+
return url.format(parts, { auth: false });
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
main();
|