@cloudant/couchbackup 2.9.14 → 2.9.15-SNAPSHOT.162
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-31.pb +1 -0
- package/.scannerwork/scanner-report/changesets-32.pb +1 -0
- package/.scannerwork/scanner-report/changesets-33.pb +1 -0
- package/.scannerwork/scanner-report/changesets-34.pb +1 -0
- package/.scannerwork/scanner-report/changesets-35.pb +1 -0
- package/.scannerwork/scanner-report/changesets-36.pb +1 -0
- package/.scannerwork/scanner-report/changesets-4.pb +1 -0
- package/.scannerwork/scanner-report/changesets-45.pb +1 -0
- package/.scannerwork/scanner-report/changesets-46.pb +1 -0
- package/.scannerwork/scanner-report/changesets-47.pb +1 -0
- package/.scannerwork/scanner-report/changesets-48.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-65.pb +1 -0
- package/.scannerwork/scanner-report/changesets-66.pb +1 -0
- package/.scannerwork/scanner-report/changesets-67.pb +1 -0
- package/.scannerwork/scanner-report/component-1.pb +3 -2
- package/.scannerwork/scanner-report/component-10.pb +1 -1
- package/.scannerwork/scanner-report/component-13.pb +1 -1
- package/.scannerwork/scanner-report/component-15.pb +1 -1
- package/.scannerwork/scanner-report/component-16.pb +1 -1
- package/.scannerwork/scanner-report/component-18.pb +1 -1
- package/.scannerwork/scanner-report/component-31.pb +1 -0
- package/.scannerwork/scanner-report/component-32.pb +1 -0
- package/.scannerwork/scanner-report/component-33.pb +1 -0
- package/.scannerwork/scanner-report/component-34.pb +1 -0
- package/.scannerwork/scanner-report/component-35.pb +1 -0
- package/.scannerwork/scanner-report/component-36.pb +1 -0
- package/.scannerwork/scanner-report/component-37.pb +1 -1
- package/.scannerwork/scanner-report/component-39.pb +1 -1
- package/.scannerwork/scanner-report/component-4.pb +1 -0
- package/.scannerwork/scanner-report/component-40.pb +1 -1
- package/.scannerwork/scanner-report/component-41.pb +1 -1
- package/.scannerwork/scanner-report/component-42.pb +1 -1
- package/.scannerwork/scanner-report/component-43.pb +1 -1
- package/.scannerwork/scanner-report/component-44.pb +1 -1
- package/.scannerwork/scanner-report/component-45.pb +1 -0
- package/.scannerwork/scanner-report/component-46.pb +1 -0
- package/.scannerwork/scanner-report/component-47.pb +1 -0
- package/.scannerwork/scanner-report/component-48.pb +1 -0
- package/.scannerwork/scanner-report/component-49.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-53.pb +1 -1
- package/.scannerwork/scanner-report/component-55.pb +1 -1
- package/.scannerwork/scanner-report/component-56.pb +1 -1
- 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 -1
- package/.scannerwork/scanner-report/component-61.pb +1 -1
- package/.scannerwork/scanner-report/component-62.pb +1 -1
- 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 -0
- package/.scannerwork/scanner-report/component-66.pb +1 -0
- package/.scannerwork/scanner-report/component-67.pb +1 -1
- package/.scannerwork/scanner-report/coverages-10.pb +0 -0
- package/.scannerwork/scanner-report/coverages-13.pb +0 -0
- package/.scannerwork/scanner-report/coverages-15.pb +0 -0
- package/.scannerwork/scanner-report/coverages-16.pb +0 -0
- package/.scannerwork/scanner-report/coverages-18.pb +0 -0
- package/.scannerwork/scanner-report/coverages-31.pb +0 -0
- package/.scannerwork/scanner-report/coverages-32.pb +0 -0
- package/.scannerwork/scanner-report/coverages-33.pb +0 -0
- package/.scannerwork/scanner-report/coverages-34.pb +0 -0
- package/.scannerwork/scanner-report/coverages-37.pb +0 -0
- package/.scannerwork/scanner-report/coverages-39.pb +0 -0
- package/.scannerwork/scanner-report/coverages-40.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-44.pb +0 -0
- package/.scannerwork/scanner-report/{coverages-21.pb → coverages-45.pb} +0 -0
- package/.scannerwork/scanner-report/coverages-47.pb +0 -0
- package/.scannerwork/scanner-report/coverages-48.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-53.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-59.pb +0 -0
- package/.scannerwork/scanner-report/coverages-60.pb +0 -0
- package/.scannerwork/scanner-report/coverages-61.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-67.pb +0 -0
- package/.scannerwork/scanner-report/duplications-10.pb +2 -0
- package/.scannerwork/scanner-report/duplications-13.pb +3 -0
- package/.scannerwork/scanner-report/duplications-16.pb +3 -0
- package/.scannerwork/scanner-report/duplications-32.pb +2 -0
- package/.scannerwork/scanner-report/duplications-42.pb +2 -2
- package/.scannerwork/scanner-report/duplications-43.pb +0 -2
- package/.scannerwork/scanner-report/duplications-44.pb +0 -2
- package/.scannerwork/scanner-report/duplications-53.pb +0 -2
- package/.scannerwork/scanner-report/duplications-65.pb +2 -0
- package/.scannerwork/scanner-report/duplications-66.pb +2 -0
- package/.scannerwork/scanner-report/measures-10.pb +0 -0
- package/.scannerwork/scanner-report/measures-13.pb +0 -0
- package/.scannerwork/scanner-report/measures-15.pb +0 -0
- package/.scannerwork/scanner-report/measures-16.pb +0 -0
- package/.scannerwork/scanner-report/measures-18.pb +0 -0
- package/.scannerwork/scanner-report/measures-31.pb +0 -0
- package/.scannerwork/scanner-report/measures-32.pb +0 -0
- package/.scannerwork/scanner-report/measures-33.pb +0 -0
- package/.scannerwork/scanner-report/measures-34.pb +0 -0
- package/.scannerwork/scanner-report/measures-37.pb +0 -0
- package/.scannerwork/scanner-report/measures-39.pb +0 -0
- package/.scannerwork/scanner-report/measures-40.pb +0 -0
- package/.scannerwork/scanner-report/measures-41.pb +0 -0
- package/.scannerwork/scanner-report/measures-42.pb +0 -0
- package/.scannerwork/scanner-report/measures-43.pb +0 -0
- package/.scannerwork/scanner-report/measures-44.pb +0 -0
- package/.scannerwork/scanner-report/measures-45.pb +0 -0
- package/.scannerwork/scanner-report/measures-47.pb +0 -0
- package/.scannerwork/scanner-report/measures-48.pb +0 -0
- package/.scannerwork/scanner-report/measures-49.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-53.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-60.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/metadata.pb +0 -0
- package/.scannerwork/scanner-report/source-10.txt +170 -80
- package/.scannerwork/scanner-report/source-13.txt +141 -415
- package/.scannerwork/scanner-report/source-15.txt +18 -77
- package/.scannerwork/scanner-report/source-16.txt +192 -20
- package/.scannerwork/scanner-report/source-18.txt +169 -15
- package/.scannerwork/scanner-report/source-31.txt +100 -0
- package/.scannerwork/scanner-report/source-32.txt +183 -0
- package/.scannerwork/scanner-report/source-33.txt +101 -0
- package/.scannerwork/scanner-report/source-34.txt +37 -0
- package/.scannerwork/scanner-report/source-37.txt +12 -55
- package/.scannerwork/scanner-report/source-39.txt +15 -267
- package/.scannerwork/scanner-report/source-40.txt +104 -165
- package/.scannerwork/scanner-report/source-41.txt +136 -115
- package/.scannerwork/scanner-report/source-42.txt +157 -153
- package/.scannerwork/scanner-report/source-43.txt +262 -148
- package/.scannerwork/scanner-report/source-44.txt +23 -173
- package/.scannerwork/scanner-report/{source-21.txt → source-45.txt} +10 -9
- package/.scannerwork/scanner-report/source-47.txt +75 -0
- package/.scannerwork/scanner-report/source-48.txt +449 -0
- package/.scannerwork/scanner-report/source-49.txt +42 -41
- package/.scannerwork/scanner-report/source-50.txt +57 -89
- package/.scannerwork/scanner-report/source-51.txt +424 -75
- package/.scannerwork/scanner-report/source-53.txt +390 -68
- package/.scannerwork/scanner-report/source-55.txt +145 -110
- package/.scannerwork/scanner-report/source-56.txt +88 -23
- package/.scannerwork/scanner-report/source-57.txt +55 -256
- package/.scannerwork/scanner-report/source-58.txt +90 -88
- package/.scannerwork/scanner-report/source-59.txt +14 -24
- package/.scannerwork/scanner-report/source-6.txt +102 -60
- package/.scannerwork/scanner-report/source-60.txt +103 -92
- package/.scannerwork/scanner-report/source-61.txt +24 -14
- package/.scannerwork/scanner-report/source-62.txt +40 -61
- package/.scannerwork/scanner-report/source-63.txt +118 -0
- package/.scannerwork/scanner-report/source-64.txt +46 -0
- package/.scannerwork/scanner-report/source-65.txt +92 -0
- package/.scannerwork/scanner-report/source-66.txt +75 -0
- package/.scannerwork/scanner-report/source-67.txt +281 -424
- package/.scannerwork/scanner-report/symbols-10.pb +180 -69
- package/.scannerwork/scanner-report/symbols-13.pb +140 -777
- package/.scannerwork/scanner-report/symbols-15.pb +19 -58
- package/.scannerwork/scanner-report/symbols-16.pb +264 -31
- package/.scannerwork/scanner-report/symbols-18.pb +209 -9
- package/.scannerwork/scanner-report/symbols-31.pb +69 -0
- package/.scannerwork/scanner-report/symbols-32.pb +203 -0
- package/.scannerwork/scanner-report/symbols-33.pb +58 -0
- package/.scannerwork/scanner-report/symbols-34.pb +9 -0
- package/.scannerwork/scanner-report/symbols-37.pb +8 -38
- package/.scannerwork/scanner-report/symbols-39.pb +13 -421
- package/.scannerwork/scanner-report/symbols-40.pb +86 -209
- package/.scannerwork/scanner-report/symbols-41.pb +93 -86
- package/.scannerwork/scanner-report/symbols-42.pb +209 -185
- package/.scannerwork/scanner-report/symbols-43.pb +420 -152
- package/.scannerwork/scanner-report/symbols-44.pb +23 -180
- package/.scannerwork/scanner-report/symbols-45.pb +31 -0
- package/.scannerwork/scanner-report/symbols-47.pb +39 -0
- package/.scannerwork/scanner-report/symbols-48.pb +790 -0
- package/.scannerwork/scanner-report/symbols-49.pb +21 -19
- package/.scannerwork/scanner-report/symbols-50.pb +32 -46
- package/.scannerwork/scanner-report/symbols-53.pb +604 -44
- package/.scannerwork/scanner-report/symbols-55.pb +125 -32
- package/.scannerwork/scanner-report/symbols-56.pb +58 -19
- package/.scannerwork/scanner-report/symbols-57.pb +46 -354
- package/.scannerwork/scanner-report/symbols-58.pb +45 -58
- package/.scannerwork/scanner-report/symbols-59.pb +13 -17
- package/.scannerwork/scanner-report/symbols-60.pb +32 -29
- package/.scannerwork/scanner-report/symbols-61.pb +17 -13
- package/.scannerwork/scanner-report/symbols-62.pb +18 -45
- package/.scannerwork/scanner-report/symbols-63.pb +30 -0
- package/.scannerwork/scanner-report/symbols-64.pb +20 -0
- package/.scannerwork/scanner-report/symbols-65.pb +44 -0
- package/.scannerwork/scanner-report/symbols-67.pb +354 -0
- package/.scannerwork/scanner-report/syntax-highlightings-10.pb +187 -69
- package/.scannerwork/scanner-report/syntax-highlightings-13.pb +140 -551
- package/.scannerwork/scanner-report/syntax-highlightings-15.pb +24 -112
- package/.scannerwork/scanner-report/syntax-highlightings-16.pb +258 -31
- package/.scannerwork/scanner-report/syntax-highlightings-18.pb +254 -25
- package/.scannerwork/scanner-report/syntax-highlightings-31.pb +107 -0
- package/.scannerwork/scanner-report/syntax-highlightings-32.pb +280 -0
- package/.scannerwork/scanner-report/syntax-highlightings-33.pb +154 -0
- package/.scannerwork/scanner-report/syntax-highlightings-34.pb +61 -0
- package/.scannerwork/scanner-report/syntax-highlightings-37.pb +18 -65
- package/.scannerwork/scanner-report/syntax-highlightings-39.pb +27 -673
- package/.scannerwork/scanner-report/syntax-highlightings-40.pb +88 -253
- package/.scannerwork/scanner-report/syntax-highlightings-41.pb +202 -90
- package/.scannerwork/scanner-report/syntax-highlightings-42.pb +273 -185
- package/.scannerwork/scanner-report/syntax-highlightings-43.pb +663 -169
- package/.scannerwork/scanner-report/syntax-highlightings-44.pb +23 -192
- package/.scannerwork/scanner-report/syntax-highlightings-45.pb +69 -0
- package/.scannerwork/scanner-report/syntax-highlightings-47.pb +101 -0
- package/.scannerwork/scanner-report/syntax-highlightings-48.pb +625 -0
- package/.scannerwork/scanner-report/syntax-highlightings-49.pb +59 -38
- package/.scannerwork/scanner-report/syntax-highlightings-50.pb +79 -107
- package/.scannerwork/scanner-report/syntax-highlightings-51.pb +3329 -67
- package/.scannerwork/scanner-report/syntax-highlightings-53.pb +610 -59
- package/.scannerwork/scanner-report/syntax-highlightings-55.pb +170 -86
- package/.scannerwork/scanner-report/syntax-highlightings-56.pb +98 -29
- package/.scannerwork/scanner-report/syntax-highlightings-57.pb +55 -245
- package/.scannerwork/scanner-report/syntax-highlightings-58.pb +89 -96
- package/.scannerwork/scanner-report/syntax-highlightings-59.pb +16 -21
- package/.scannerwork/scanner-report/syntax-highlightings-6.pb +668 -56
- package/.scannerwork/scanner-report/syntax-highlightings-60.pb +91 -75
- package/.scannerwork/scanner-report/syntax-highlightings-61.pb +21 -16
- package/.scannerwork/scanner-report/syntax-highlightings-62.pb +26 -62
- package/.scannerwork/scanner-report/syntax-highlightings-63.pb +113 -0
- package/.scannerwork/scanner-report/syntax-highlightings-64.pb +64 -0
- package/.scannerwork/scanner-report/syntax-highlightings-65.pb +90 -0
- package/.scannerwork/scanner-report/syntax-highlightings-66.pb +78 -0
- package/.scannerwork/scanner-report/syntax-highlightings-67.pb +199 -3256
- package/package.json +1 -1
- package/test-18-results.xml +175 -175
- package/test-iam-18-results.xml +49 -49
- package/.scannerwork/scanner-report/changesets-11.pb +0 -1
- package/.scannerwork/scanner-report/changesets-12.pb +0 -1
- package/.scannerwork/scanner-report/changesets-14.pb +0 -1
- package/.scannerwork/scanner-report/changesets-20.pb +0 -1
- package/.scannerwork/scanner-report/changesets-21.pb +0 -1
- package/.scannerwork/scanner-report/changesets-22.pb +0 -1
- package/.scannerwork/scanner-report/changesets-23.pb +0 -1
- package/.scannerwork/scanner-report/changesets-24.pb +0 -1
- package/.scannerwork/scanner-report/changesets-25.pb +0 -1
- package/.scannerwork/scanner-report/changesets-5.pb +0 -1
- package/.scannerwork/scanner-report/changesets-51.pb +0 -1
- package/.scannerwork/scanner-report/changesets-52.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/changesets-8.pb +0 -1
- package/.scannerwork/scanner-report/changesets-9.pb +0 -1
- package/.scannerwork/scanner-report/component-11.pb +0 -1
- package/.scannerwork/scanner-report/component-12.pb +0 -1
- package/.scannerwork/scanner-report/component-14.pb +0 -1
- package/.scannerwork/scanner-report/component-2.pb +0 -1
- package/.scannerwork/scanner-report/component-20.pb +0 -1
- package/.scannerwork/scanner-report/component-21.pb +0 -1
- package/.scannerwork/scanner-report/component-22.pb +0 -1
- package/.scannerwork/scanner-report/component-23.pb +0 -1
- package/.scannerwork/scanner-report/component-24.pb +0 -1
- package/.scannerwork/scanner-report/component-25.pb +0 -1
- package/.scannerwork/scanner-report/component-5.pb +0 -1
- package/.scannerwork/scanner-report/component-52.pb +0 -1
- package/.scannerwork/scanner-report/component-7.pb +0 -1
- package/.scannerwork/scanner-report/component-8.pb +0 -1
- package/.scannerwork/scanner-report/component-9.pb +0 -1
- package/.scannerwork/scanner-report/coverages-11.pb +0 -0
- package/.scannerwork/scanner-report/coverages-12.pb +0 -0
- package/.scannerwork/scanner-report/coverages-20.pb +0 -0
- package/.scannerwork/scanner-report/coverages-23.pb +0 -0
- package/.scannerwork/scanner-report/coverages-25.pb +0 -0
- package/.scannerwork/scanner-report/coverages-5.pb +0 -0
- package/.scannerwork/scanner-report/coverages-52.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/coverages-9.pb +0 -0
- package/.scannerwork/scanner-report/duplications-23.pb +0 -3
- package/.scannerwork/scanner-report/duplications-51.pb +0 -2
- package/.scannerwork/scanner-report/duplications-9.pb +0 -2
- package/.scannerwork/scanner-report/measures-11.pb +0 -15
- package/.scannerwork/scanner-report/measures-12.pb +0 -0
- package/.scannerwork/scanner-report/measures-2.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-23.pb +0 -0
- package/.scannerwork/scanner-report/measures-25.pb +0 -0
- package/.scannerwork/scanner-report/measures-5.pb +0 -0
- package/.scannerwork/scanner-report/measures-52.pb +0 -0
- package/.scannerwork/scanner-report/measures-7.pb +0 -0
- package/.scannerwork/scanner-report/measures-9.pb +0 -0
- package/.scannerwork/scanner-report/source-11.txt +0 -151
- package/.scannerwork/scanner-report/source-12.txt +0 -37
- package/.scannerwork/scanner-report/source-2.txt +0 -102
- package/.scannerwork/scanner-report/source-20.txt +0 -32
- package/.scannerwork/scanner-report/source-23.txt +0 -213
- package/.scannerwork/scanner-report/source-25.txt +0 -42
- package/.scannerwork/scanner-report/source-5.txt +0 -414
- package/.scannerwork/scanner-report/source-52.txt +0 -164
- package/.scannerwork/scanner-report/source-7.txt +0 -81
- package/.scannerwork/scanner-report/source-9.txt +0 -187
- package/.scannerwork/scanner-report/symbols-11.pb +0 -93
- package/.scannerwork/scanner-report/symbols-12.pb +0 -13
- package/.scannerwork/scanner-report/symbols-20.pb +0 -9
- package/.scannerwork/scanner-report/symbols-21.pb +0 -23
- package/.scannerwork/scanner-report/symbols-23.pb +0 -264
- package/.scannerwork/scanner-report/symbols-25.pb +0 -19
- package/.scannerwork/scanner-report/symbols-5.pb +0 -604
- package/.scannerwork/scanner-report/symbols-52.pb +0 -126
- package/.scannerwork/scanner-report/symbols-6.pb +0 -21
- package/.scannerwork/scanner-report/symbols-7.pb +0 -32
- package/.scannerwork/scanner-report/symbols-9.pb +0 -227
- package/.scannerwork/scanner-report/syntax-highlightings-11.pb +0 -237
- package/.scannerwork/scanner-report/syntax-highlightings-12.pb +0 -62
- package/.scannerwork/scanner-report/syntax-highlightings-2.pb +0 -692
- package/.scannerwork/scanner-report/syntax-highlightings-20.pb +0 -54
- package/.scannerwork/scanner-report/syntax-highlightings-21.pb +0 -56
- package/.scannerwork/scanner-report/syntax-highlightings-23.pb +0 -296
- package/.scannerwork/scanner-report/syntax-highlightings-25.pb +0 -66
- package/.scannerwork/scanner-report/syntax-highlightings-5.pb +0 -641
- package/.scannerwork/scanner-report/syntax-highlightings-52.pb +0 -213
- package/.scannerwork/scanner-report/syntax-highlightings-7.pb +0 -98
- package/.scannerwork/scanner-report/syntax-highlightings-9.pb +0 -368
- /package/.scannerwork/scanner-report/{coverages-14.pb → coverages-35.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-24.pb → coverages-36.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-8.pb → coverages-4.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-22.pb → coverages-46.pb} +0 -0
- /package/.scannerwork/scanner-report/{coverages-51.pb → coverages-66.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-11.pb → duplications-31.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-12.pb → duplications-33.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-14.pb → duplications-34.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-20.pb → duplications-35.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-21.pb → duplications-36.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-22.pb → duplications-4.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-24.pb → duplications-45.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-25.pb → duplications-46.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-5.pb → duplications-47.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-52.pb → duplications-48.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-6.pb → duplications-63.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-7.pb → duplications-64.pb} +0 -0
- /package/.scannerwork/scanner-report/{duplications-8.pb → duplications-67.pb} +0 -0
- /package/.scannerwork/scanner-report/{issues-25.pb → issues-15.pb} +0 -0
- /package/.scannerwork/scanner-report/{issues-23.pb → issues-16.pb} +0 -0
- /package/.scannerwork/scanner-report/{issues-24.pb → issues-36.pb} +0 -0
- /package/.scannerwork/scanner-report/{issues-41.pb → issues-40.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-14.pb → measures-35.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-24.pb → measures-36.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-8.pb → measures-4.pb} +0 -0
- /package/.scannerwork/scanner-report/{measures-22.pb → measures-46.pb} +0 -0
- /package/.scannerwork/scanner-report/{source-14.txt → source-35.txt} +0 -0
- /package/.scannerwork/scanner-report/{source-24.txt → source-36.txt} +0 -0
- /package/.scannerwork/scanner-report/{source-8.txt → source-4.txt} +0 -0
- /package/.scannerwork/scanner-report/{source-22.txt → source-46.txt} +0 -0
- /package/.scannerwork/scanner-report/{symbols-14.pb → symbols-35.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-24.pb → symbols-36.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-8.pb → symbols-4.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-22.pb → symbols-46.pb} +0 -0
- /package/.scannerwork/scanner-report/{symbols-51.pb → symbols-66.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-14.pb → syntax-highlightings-35.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-24.pb → syntax-highlightings-36.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-8.pb → syntax-highlightings-4.pb} +0 -0
- /package/.scannerwork/scanner-report/{syntax-highlightings-22.pb → syntax-highlightings-46.pb} +0 -0
|
@@ -1,60 +1,102 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
1
|
+
<testsuites name="test-iam">
|
|
2
|
+
<testsuite name="Basic backup and restore using API" tests="3" errors="0" failures="0" skipped="0" timestamp="2023-11-02T17:46:06" time="4.942">
|
|
3
|
+
<testcase classname="test-iam.Basic backup and restore using API" name="should backup animaldb to a file correctly" time="1.05">
|
|
4
|
+
</testcase>
|
|
5
|
+
<testcase classname="test-iam.Basic backup and restore using API" name="should restore animaldb to a database correctly" time="1.87">
|
|
6
|
+
</testcase>
|
|
7
|
+
<testcase classname="test-iam.Basic backup and restore using API" name="should execute a shallow mode backup successfully" time="0.825">
|
|
8
|
+
</testcase>
|
|
9
|
+
</testsuite>
|
|
10
|
+
<testsuite name="Basic backup and restore using API Buffer size tests using API" tests="3" errors="0" failures="0" skipped="0" timestamp="2023-11-02T17:46:11" time="11.399">
|
|
11
|
+
<testcase classname="test-iam.Basic backup and restore using API Buffer size tests using API" name="should backup/restore animaldb with the same buffer size" time="2.655">
|
|
12
|
+
</testcase>
|
|
13
|
+
<testcase classname="test-iam.Basic backup and restore using API Buffer size tests using API" name="should backup/restore animaldb with backup buffer > restore buffer" time="4.442">
|
|
14
|
+
</testcase>
|
|
15
|
+
<testcase classname="test-iam.Basic backup and restore using API Buffer size tests using API" name="should backup/restore animaldb with backup buffer < restore buffer" time="3.451">
|
|
16
|
+
</testcase>
|
|
17
|
+
</testsuite>
|
|
18
|
+
<testsuite name="Basic backup and restore using CLI" tests="3" errors="0" failures="0" skipped="0" timestamp="2023-11-02T17:46:22" time="5.587">
|
|
19
|
+
<testcase classname="test-iam.Basic backup and restore using CLI" name="should backup animaldb to a file correctly" time="1.361">
|
|
20
|
+
</testcase>
|
|
21
|
+
<testcase classname="test-iam.Basic backup and restore using CLI" name="should restore animaldb to a database correctly" time="2.334">
|
|
22
|
+
</testcase>
|
|
23
|
+
<testcase classname="test-iam.Basic backup and restore using CLI" name="should execute a shallow mode backup successfully" time="1.069">
|
|
24
|
+
</testcase>
|
|
25
|
+
</testsuite>
|
|
26
|
+
<testsuite name="Basic backup and restore using CLI Buffer size tests using CLI" tests="3" errors="0" failures="0" skipped="0" timestamp="2023-11-02T17:46:28" time="13.096">
|
|
27
|
+
<testcase classname="test-iam.Basic backup and restore using CLI Buffer size tests using CLI" name="should backup/restore animaldb with the same buffer size" time="3.363">
|
|
28
|
+
</testcase>
|
|
29
|
+
<testcase classname="test-iam.Basic backup and restore using CLI Buffer size tests using CLI" name="should backup/restore animaldb with backup buffer > restore buffer" time="4.437">
|
|
30
|
+
</testcase>
|
|
31
|
+
<testcase classname="test-iam.Basic backup and restore using CLI Buffer size tests using CLI" name="should backup/restore animaldb with backup buffer < restore buffer" time="4.474">
|
|
32
|
+
</testcase>
|
|
33
|
+
</testsuite>
|
|
34
|
+
<testsuite name="Compression tests using API" tests="3" errors="0" failures="0" skipped="0" timestamp="2023-11-02T17:46:41" time="5.622">
|
|
35
|
+
<testcase classname="test-iam.Compression tests using API" name="should backup animaldb to a compressed file" time="0.972">
|
|
36
|
+
</testcase>
|
|
37
|
+
<testcase classname="test-iam.Compression tests using API" name="should backup and restore animaldb via a compressed file" time="1.629">
|
|
38
|
+
</testcase>
|
|
39
|
+
<testcase classname="test-iam.Compression tests using API" name="should backup and restore animaldb via a compressed stream" time="2.202">
|
|
40
|
+
</testcase>
|
|
41
|
+
</testsuite>
|
|
42
|
+
<testsuite name="Compression tests using CLI" tests="3" errors="0" failures="0" skipped="0" timestamp="2023-11-02T17:46:46" time="7.822">
|
|
43
|
+
<testcase classname="test-iam.Compression tests using CLI" name="should backup animaldb to a compressed file" time="1.339">
|
|
44
|
+
</testcase>
|
|
45
|
+
<testcase classname="test-iam.Compression tests using CLI" name="should backup and restore animaldb via a compressed file" time="2.913">
|
|
46
|
+
</testcase>
|
|
47
|
+
<testcase classname="test-iam.Compression tests using CLI" name="should backup and restore animaldb via a compressed stream" time="2.738">
|
|
48
|
+
</testcase>
|
|
49
|
+
</testsuite>
|
|
50
|
+
<testsuite name="End to end backup and restore using API" tests="2" errors="0" failures="0" skipped="0" timestamp="2023-11-02T17:46:54" time="333.956">
|
|
51
|
+
<testcase classname="test-iam.End to end backup and restore using API" name="should backup and restore animaldb" time="2.123">
|
|
52
|
+
</testcase>
|
|
53
|
+
<testcase classname="test-iam.End to end backup and restore using API" name="should backup and restore largedb1g #slow" time="331.034">
|
|
54
|
+
</testcase>
|
|
55
|
+
</testsuite>
|
|
56
|
+
<testsuite name="End to end backup and restore using CLI" tests="2" errors="0" failures="0" skipped="0" timestamp="2023-11-02T17:52:28" time="516.382">
|
|
57
|
+
<testcase classname="test-iam.End to end backup and restore using CLI" name="should backup and restore animaldb" time="2.893">
|
|
58
|
+
</testcase>
|
|
59
|
+
<testcase classname="test-iam.End to end backup and restore using CLI" name="should backup and restore largedb1g #slow" time="512.703">
|
|
60
|
+
</testcase>
|
|
61
|
+
</testsuite>
|
|
62
|
+
<testsuite name="Encryption tests" tests="1" errors="0" failures="0" skipped="0" timestamp="2023-11-02T18:01:05" time="2.849">
|
|
63
|
+
<testcase classname="test-iam.Encryption tests" name="should backup and restore animaldb via an encrypted file" time="2.582">
|
|
64
|
+
</testcase>
|
|
65
|
+
</testsuite>
|
|
66
|
+
<testsuite name="Write error tests" tests="1" errors="0" failures="0" skipped="0" timestamp="2023-11-02T18:01:07" time="0.29">
|
|
67
|
+
<testcase classname="test-iam.Write error tests" name="calls callback with error set when stream is not writeable" time="0.017">
|
|
68
|
+
</testcase>
|
|
69
|
+
</testsuite>
|
|
70
|
+
<testsuite name="Event tests" tests="2" errors="0" failures="0" skipped="0" timestamp="2023-11-02T18:01:08" time="2.336">
|
|
71
|
+
<testcase classname="test-iam.Event tests" name="should get a finished event when using stdout" time="0.827">
|
|
72
|
+
</testcase>
|
|
73
|
+
<testcase classname="test-iam.Event tests" name="should get a finished event when using file output" time="0.973">
|
|
74
|
+
</testcase>
|
|
75
|
+
</testsuite>
|
|
76
|
+
<testsuite name="Resume tests using API" tests="3" errors="0" failures="0" skipped="0" timestamp="2023-11-02T18:01:10" time="5.363">
|
|
77
|
+
<testcase classname="test-iam.Resume tests using API" name="should create a log file" time="0.859">
|
|
78
|
+
</testcase>
|
|
79
|
+
<testcase classname="test-iam.Resume tests using API" name="should restore corrupted animaldb to a database correctly" time="1.823">
|
|
80
|
+
</testcase>
|
|
81
|
+
<testcase classname="test-iam.Resume tests using API" name="should restore resumed animaldb with blank line to a database correctly" time="1.875">
|
|
82
|
+
</testcase>
|
|
83
|
+
</testsuite>
|
|
84
|
+
<testsuite name="Resume tests using CLI" tests="3" errors="0" failures="0" skipped="0" timestamp="2023-11-02T18:01:15" time="6.592">
|
|
85
|
+
<testcase classname="test-iam.Resume tests using CLI" name="should create a log file" time="1.338">
|
|
86
|
+
</testcase>
|
|
87
|
+
<testcase classname="test-iam.Resume tests using CLI" name="should restore corrupted animaldb to a database correctly" time="2.23">
|
|
88
|
+
</testcase>
|
|
89
|
+
<testcase classname="test-iam.Resume tests using CLI" name="should restore resumed animaldb with blank line to a database correctly" time="2.212">
|
|
90
|
+
</testcase>
|
|
91
|
+
</testsuite>
|
|
92
|
+
<testsuite name="Resume tests" tests="2" errors="0" failures="0" skipped="0" timestamp="2023-11-02T18:01:22" time="33.862">
|
|
93
|
+
<testcase classname="test-iam.Resume tests" name="should correctly backup and restore backup10m" time="16.648">
|
|
94
|
+
</testcase>
|
|
95
|
+
<testcase classname="test-iam.Resume tests" name="should correctly backup and restore backup10m using --output" time="16.682">
|
|
96
|
+
</testcase>
|
|
97
|
+
</testsuite>
|
|
98
|
+
<testsuite name="Longer spool changes checks" tests="1" errors="0" failures="0" skipped="0" timestamp="2023-11-02T18:01:56" time="48.25">
|
|
99
|
+
<testcase classname="test-iam.Longer spool changes checks" name="#slow should keep collecting changes (25M)" time="47.981">
|
|
100
|
+
</testcase>
|
|
101
|
+
</testsuite>
|
|
102
|
+
</testsuites>
|
|
@@ -13,106 +13,117 @@
|
|
|
13
13
|
// limitations under the License.
|
|
14
14
|
'use strict';
|
|
15
15
|
|
|
16
|
+
const cliutils = require('./cliutils.js');
|
|
17
|
+
const config = require('./config.js');
|
|
18
|
+
const error = require('./error.js');
|
|
16
19
|
const path = require('path');
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
20
|
+
const pkg = require('../package.json');
|
|
21
|
+
|
|
22
|
+
function parseBackupArgs() {
|
|
23
|
+
const program = require('commander');
|
|
24
|
+
|
|
25
|
+
// Option CLI defaults
|
|
26
|
+
const defaults = config.cliDefaults();
|
|
27
|
+
|
|
28
|
+
// Options set by environment variables
|
|
29
|
+
const envVarOptions = {};
|
|
30
|
+
config.applyEnvironmentVariables(envVarOptions);
|
|
31
|
+
|
|
32
|
+
program
|
|
33
|
+
.version(pkg.version)
|
|
34
|
+
.description('Backup a CouchDB/Cloudant database to a backup text file.')
|
|
35
|
+
.usage('[options...]')
|
|
36
|
+
.option('-b, --buffer-size <n>',
|
|
37
|
+
cliutils.getUsage('number of documents fetched at once', defaults.bufferSize),
|
|
38
|
+
Number)
|
|
39
|
+
.option('-d, --db <db>',
|
|
40
|
+
cliutils.getUsage('name of the database to backup', defaults.db))
|
|
41
|
+
.option('-k, --iam-api-key <API key>',
|
|
42
|
+
cliutils.getUsage('IAM API key to access the Cloudant server'))
|
|
43
|
+
.option('-l, --log <file>',
|
|
44
|
+
cliutils.getUsage('file to store logging information during backup; invalid in "shallow" mode', 'a temporary file'),
|
|
45
|
+
path.normalize)
|
|
46
|
+
.option('-m, --mode <mode>',
|
|
47
|
+
cliutils.getUsage('"shallow" if only a superficial backup is done (ignoring conflicts and revision tokens), else "full" for complete backup', defaults.mode),
|
|
48
|
+
(mode) => { return mode.toLowerCase(); })
|
|
49
|
+
.option('-o, --output <file>',
|
|
50
|
+
cliutils.getUsage('file name to store the backup data', 'stdout'),
|
|
51
|
+
path.normalize)
|
|
52
|
+
.option('-p, --parallelism <n>',
|
|
53
|
+
cliutils.getUsage('number of HTTP requests to perform in parallel when performing a backup; ignored in "shallow" mode', defaults.parallelism),
|
|
54
|
+
Number)
|
|
55
|
+
.option('-q, --quiet',
|
|
56
|
+
cliutils.getUsage('suppress batch messages', defaults.quiet))
|
|
57
|
+
.option('-r, --resume',
|
|
58
|
+
cliutils.getUsage('continue a previous backup from its last known position; invalid in "shallow" mode', defaults.resume))
|
|
59
|
+
.option('-t, --request-timeout <n>',
|
|
60
|
+
cliutils.getUsage('milliseconds to wait for a response to a HTTP request before retrying the request', defaults.requestTimeout),
|
|
61
|
+
Number)
|
|
62
|
+
.option('-u, --url <url>',
|
|
63
|
+
cliutils.getUsage('URL of the CouchDB/Cloudant server', defaults.url))
|
|
64
|
+
.parse(process.argv);
|
|
65
|
+
|
|
66
|
+
// Remove defaults that don't apply when using shallow mode
|
|
67
|
+
if (program.opts().mode === 'shallow' || envVarOptions.mode === 'shallow') {
|
|
68
|
+
delete defaults.parallelism;
|
|
69
|
+
delete defaults.log;
|
|
70
|
+
delete defaults.resume;
|
|
56
71
|
}
|
|
57
72
|
|
|
58
|
-
//
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
// if we have a specified buffer size
|
|
64
|
-
if (typeof process.env.COUCH_BUFFER_SIZE !== 'undefined') {
|
|
65
|
-
opts.bufferSize = parseInt(process.env.COUCH_BUFFER_SIZE);
|
|
66
|
-
}
|
|
73
|
+
// Apply the options in order so that the CLI overrides env vars and env variables
|
|
74
|
+
// override defaults.
|
|
75
|
+
const opts = Object.assign({}, defaults, envVarOptions, program.opts());
|
|
67
76
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
77
|
+
if (opts.resume && (opts.log === defaults.log)) {
|
|
78
|
+
// If resuming and the log file arg is the newly generated tmp name from defaults then we know that --log wasn't specified.
|
|
79
|
+
// We have to do this check here for the CLI case because of the default.
|
|
80
|
+
error.terminationCallback(new error.BackupError('NoLogFileName', 'To resume a backup, a log file must be specified'));
|
|
71
81
|
}
|
|
72
82
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
opts.requestTimeout = parseInt(process.env.COUCH_REQUEST_TIMEOUT);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
// if we have a specified log file
|
|
79
|
-
if (typeof process.env.COUCH_LOG !== 'undefined') {
|
|
80
|
-
opts.log = path.normalize(process.env.COUCH_LOG);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
// if we are instructed to resume
|
|
84
|
-
if (typeof process.env.COUCH_RESUME !== 'undefined' && process.env.COUCH_RESUME === 'true') {
|
|
85
|
-
opts.resume = true;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
// if we are given an output filename
|
|
89
|
-
if (typeof process.env.COUCH_OUTPUT !== 'undefined') {
|
|
90
|
-
opts.output = path.normalize(process.env.COUCH_OUTPUT);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
// if we only want a shallow copy
|
|
94
|
-
if (typeof process.env.COUCH_MODE !== 'undefined' && process.env.COUCH_MODE === 'shallow') {
|
|
95
|
-
opts.mode = 'shallow';
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
// if we are instructed to be quiet
|
|
99
|
-
if (typeof process.env.COUCH_QUIET !== 'undefined' && process.env.COUCH_QUIET === 'true') {
|
|
100
|
-
opts.quiet = true;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
// if we have a specified API key
|
|
104
|
-
if (typeof process.env.CLOUDANT_IAM_API_KEY !== 'undefined') {
|
|
105
|
-
opts.iamApiKey = process.env.CLOUDANT_IAM_API_KEY;
|
|
106
|
-
}
|
|
83
|
+
return opts;
|
|
84
|
+
}
|
|
107
85
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
86
|
+
function parseRestoreArgs() {
|
|
87
|
+
const program = require('commander');
|
|
88
|
+
|
|
89
|
+
// Option CLI defaults
|
|
90
|
+
const defaults = config.cliDefaults();
|
|
91
|
+
|
|
92
|
+
// Options set by environment variables
|
|
93
|
+
const envVarOptions = {};
|
|
94
|
+
config.applyEnvironmentVariables(envVarOptions);
|
|
95
|
+
|
|
96
|
+
program
|
|
97
|
+
.version(pkg.version)
|
|
98
|
+
.description('Restore a CouchDB/Cloudant database from a backup text file.')
|
|
99
|
+
.usage('[options...]')
|
|
100
|
+
.option('-b, --buffer-size <n>',
|
|
101
|
+
cliutils.getUsage('number of documents restored at once', defaults.bufferSize),
|
|
102
|
+
Number)
|
|
103
|
+
.option('-d, --db <db>',
|
|
104
|
+
cliutils.getUsage('name of the new, existing database to restore to', defaults.db))
|
|
105
|
+
.option('-k, --iam-api-key <API key>',
|
|
106
|
+
cliutils.getUsage('IAM API key to access the Cloudant server'))
|
|
107
|
+
.option('-p, --parallelism <n>',
|
|
108
|
+
cliutils.getUsage('number of HTTP requests to perform in parallel when restoring a backup', defaults.parallelism),
|
|
109
|
+
Number)
|
|
110
|
+
.option('-q, --quiet',
|
|
111
|
+
cliutils.getUsage('suppress batch messages', defaults.quiet))
|
|
112
|
+
.option('-t, --request-timeout <n>',
|
|
113
|
+
cliutils.getUsage('milliseconds to wait for a response to a HTTP request before retrying the request', defaults.requestTimeout),
|
|
114
|
+
Number)
|
|
115
|
+
.option('-u, --url <url>',
|
|
116
|
+
cliutils.getUsage('URL of the CouchDB/Cloudant server', defaults.url))
|
|
117
|
+
.parse(process.argv);
|
|
118
|
+
|
|
119
|
+
// Apply the options in order so that the CLI overrides env vars and env variables
|
|
120
|
+
// override defaults.
|
|
121
|
+
const opts = Object.assign({}, defaults, envVarOptions, program.opts());
|
|
122
|
+
|
|
123
|
+
return opts;
|
|
112
124
|
}
|
|
113
125
|
|
|
114
126
|
module.exports = {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
applyEnvironmentVariables: applyEnvironmentVariables
|
|
127
|
+
parseBackupArgs: parseBackupArgs,
|
|
128
|
+
parseRestoreArgs: parseRestoreArgs
|
|
118
129
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright © 2017
|
|
1
|
+
// Copyright © 2017 IBM Corp. All rights reserved.
|
|
2
2
|
//
|
|
3
3
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
// you may not use this file except in compliance with the License.
|
|
@@ -13,19 +13,29 @@
|
|
|
13
13
|
// limitations under the License.
|
|
14
14
|
'use strict';
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const writer = require('../includes/writer.js')(db, options.bufferSize, options.parallelism, ee);
|
|
16
|
+
// stolen from http://strongloop.com/strongblog/practical-examples-of-the-new-node-js-streams-api/
|
|
17
|
+
const stream = require('stream');
|
|
19
18
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
.pipe(liner) // transform the input stream into per-line
|
|
23
|
-
.on('error', function(err) {
|
|
24
|
-
// Forward the error to the writer event emitter where we already have
|
|
25
|
-
// listeners on for handling errors
|
|
26
|
-
writer.emit('error', err);
|
|
27
|
-
})
|
|
28
|
-
.pipe(writer); // transform the data
|
|
19
|
+
module.exports = function(onChange) {
|
|
20
|
+
const change = new stream.Transform({ objectMode: true });
|
|
29
21
|
|
|
30
|
-
|
|
22
|
+
change._transform = function(line, encoding, done) {
|
|
23
|
+
let obj = null;
|
|
24
|
+
|
|
25
|
+
// one change per line - remove the trailing comma
|
|
26
|
+
line = line.trim().replace(/,$/, '');
|
|
27
|
+
|
|
28
|
+
// extract thee last_seq at the end of the changes feed
|
|
29
|
+
if (line.match(/^"last_seq":/)) {
|
|
30
|
+
line = '{' + line;
|
|
31
|
+
}
|
|
32
|
+
try {
|
|
33
|
+
obj = JSON.parse(line);
|
|
34
|
+
} catch (e) {
|
|
35
|
+
}
|
|
36
|
+
onChange(obj);
|
|
37
|
+
done();
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
return change;
|
|
31
41
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright © 2017,
|
|
1
|
+
// Copyright © 2017, 2018 IBM Corp. All rights reserved.
|
|
2
2
|
//
|
|
3
3
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
// you may not use this file except in compliance with the License.
|
|
@@ -13,68 +13,47 @@
|
|
|
13
13
|
// limitations under the License.
|
|
14
14
|
'use strict';
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const ee = new events.EventEmitter();
|
|
22
|
-
const start = new Date().getTime();
|
|
23
|
-
let batch = 0;
|
|
24
|
-
let hasErrored = false;
|
|
25
|
-
let startKey = null;
|
|
26
|
-
let total = 0;
|
|
16
|
+
/**
|
|
17
|
+
* Utility methods for the command line interface.
|
|
18
|
+
* @module cliutils
|
|
19
|
+
* @see module:cliutils
|
|
20
|
+
*/
|
|
27
21
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
// Note, include_docs: true is set automatically when using the
|
|
31
|
-
// fetch function.
|
|
32
|
-
const opts = { db: db.db, limit: options.bufferSize, includeDocs: true };
|
|
33
|
-
|
|
34
|
-
// To avoid double fetching a document solely for the purposes of getting
|
|
35
|
-
// the next ID to use as a startKey for the next page we instead use the
|
|
36
|
-
// last ID of the current page and append the lowest unicode sort
|
|
37
|
-
// character.
|
|
38
|
-
if (startKey) opts.startKey = `${startKey}\0`;
|
|
39
|
-
db.service.postAllDocs(opts).then(response => {
|
|
40
|
-
const body = response.result;
|
|
41
|
-
if (!body.rows) {
|
|
42
|
-
ee.emit('error', new error.BackupError(
|
|
43
|
-
'AllDocsError', 'ERROR: Invalid all docs response'));
|
|
44
|
-
callback();
|
|
45
|
-
} else {
|
|
46
|
-
if (body.rows.length < opts.limit) {
|
|
47
|
-
startKey = null; // last batch
|
|
48
|
-
} else {
|
|
49
|
-
startKey = body.rows[opts.limit - 1].id;
|
|
50
|
-
}
|
|
22
|
+
const url = require('url');
|
|
23
|
+
const error = require('./error.js');
|
|
51
24
|
|
|
52
|
-
|
|
53
|
-
body.rows.forEach(function(doc) {
|
|
54
|
-
docs.push(doc.doc);
|
|
55
|
-
});
|
|
25
|
+
module.exports = {
|
|
56
26
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
);
|
|
27
|
+
/**
|
|
28
|
+
* Combine a base URL and a database name, ensuring at least single slash
|
|
29
|
+
* between root and database name. This allows users to have Couch behind
|
|
30
|
+
* proxies that mount Couch's / endpoint at some other mount point.
|
|
31
|
+
* @param {string} root - root URL
|
|
32
|
+
* @param {string} databaseName - database name
|
|
33
|
+
* @return concatenated URL.
|
|
34
|
+
*
|
|
35
|
+
* @private
|
|
36
|
+
*/
|
|
37
|
+
databaseUrl: function databaseUrl(root, databaseName) {
|
|
38
|
+
if (!root.endsWith('/')) {
|
|
39
|
+
root = root + '/';
|
|
40
|
+
}
|
|
41
|
+
try {
|
|
42
|
+
return new url.URL(encodeURIComponent(databaseName), root).toString();
|
|
43
|
+
} catch (err) {
|
|
44
|
+
throw error.wrapPossibleInvalidUrlError(err);
|
|
45
|
+
}
|
|
46
|
+
},
|
|
78
47
|
|
|
79
|
-
|
|
48
|
+
/**
|
|
49
|
+
* Generate CLI argument usage text.
|
|
50
|
+
*
|
|
51
|
+
* @param {string} description - argument description.
|
|
52
|
+
* @param {string} defaultValue - default argument value.
|
|
53
|
+
*
|
|
54
|
+
* @private
|
|
55
|
+
*/
|
|
56
|
+
getUsage: function getUsage(description, defaultValue) {
|
|
57
|
+
return `${description} ${defaultValue !== undefined ? ` (default: ${defaultValue})` : ''}`;
|
|
58
|
+
}
|
|
80
59
|
};
|