@cloudant/couchbackup 2.9.8 → 2.9.9-SNAPSHOT.96

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.
Files changed (438) hide show
  1. package/.scannerwork/report-task.txt +2 -2
  2. package/.scannerwork/scanner-report/analysis-warnings.pb +2 -2
  3. package/.scannerwork/scanner-report/changesets-10.pb +2 -0
  4. package/.scannerwork/scanner-report/changesets-11.pb +1 -0
  5. package/.scannerwork/scanner-report/changesets-12.pb +1 -0
  6. package/.scannerwork/scanner-report/changesets-13.pb +1 -0
  7. package/.scannerwork/scanner-report/changesets-14.pb +1 -0
  8. package/.scannerwork/scanner-report/changesets-15.pb +1 -0
  9. package/.scannerwork/scanner-report/changesets-16.pb +1 -0
  10. package/.scannerwork/scanner-report/changesets-17.pb +1 -0
  11. package/.scannerwork/scanner-report/changesets-18.pb +1 -0
  12. package/.scannerwork/scanner-report/changesets-2.pb +1 -0
  13. package/.scannerwork/scanner-report/changesets-3.pb +1 -0
  14. package/.scannerwork/scanner-report/changesets-38.pb +1 -0
  15. package/.scannerwork/scanner-report/changesets-39.pb +1 -0
  16. package/.scannerwork/scanner-report/changesets-55.pb +1 -0
  17. package/.scannerwork/scanner-report/changesets-56.pb +1 -0
  18. package/.scannerwork/scanner-report/changesets-59.pb +1 -0
  19. package/.scannerwork/scanner-report/changesets-60.pb +1 -0
  20. package/.scannerwork/scanner-report/changesets-61.pb +1 -0
  21. package/.scannerwork/scanner-report/changesets-62.pb +1 -0
  22. package/.scannerwork/scanner-report/changesets-63.pb +1 -0
  23. package/.scannerwork/scanner-report/changesets-64.pb +1 -0
  24. package/.scannerwork/scanner-report/changesets-8.pb +1 -0
  25. package/.scannerwork/scanner-report/changesets-9.pb +1 -0
  26. package/.scannerwork/scanner-report/component-1.pb +2 -1
  27. package/.scannerwork/scanner-report/component-10.pb +2 -0
  28. package/.scannerwork/scanner-report/component-11.pb +1 -0
  29. package/.scannerwork/scanner-report/component-12.pb +1 -0
  30. package/.scannerwork/scanner-report/component-13.pb +1 -0
  31. package/.scannerwork/scanner-report/component-14.pb +1 -0
  32. package/.scannerwork/scanner-report/component-15.pb +1 -0
  33. package/.scannerwork/scanner-report/component-16.pb +1 -0
  34. package/.scannerwork/scanner-report/component-17.pb +1 -0
  35. package/.scannerwork/scanner-report/component-18.pb +1 -0
  36. package/.scannerwork/scanner-report/component-2.pb +1 -0
  37. package/.scannerwork/scanner-report/component-23.pb +1 -1
  38. package/.scannerwork/scanner-report/component-24.pb +1 -1
  39. package/.scannerwork/scanner-report/component-28.pb +1 -1
  40. package/.scannerwork/scanner-report/component-29.pb +1 -1
  41. package/.scannerwork/scanner-report/component-3.pb +1 -0
  42. package/.scannerwork/scanner-report/component-30.pb +1 -1
  43. package/.scannerwork/scanner-report/component-31.pb +1 -1
  44. package/.scannerwork/scanner-report/component-32.pb +1 -1
  45. package/.scannerwork/scanner-report/component-33.pb +1 -1
  46. package/.scannerwork/scanner-report/component-34.pb +1 -1
  47. package/.scannerwork/scanner-report/component-35.pb +1 -1
  48. package/.scannerwork/scanner-report/component-36.pb +1 -1
  49. package/.scannerwork/scanner-report/component-37.pb +1 -1
  50. package/.scannerwork/scanner-report/component-38.pb +1 -1
  51. package/.scannerwork/scanner-report/component-39.pb +1 -0
  52. package/.scannerwork/scanner-report/component-5.pb +1 -1
  53. package/.scannerwork/scanner-report/component-51.pb +1 -1
  54. package/.scannerwork/scanner-report/component-52.pb +1 -1
  55. package/.scannerwork/scanner-report/component-53.pb +1 -1
  56. package/.scannerwork/scanner-report/component-54.pb +1 -1
  57. package/.scannerwork/scanner-report/component-55.pb +1 -1
  58. package/.scannerwork/scanner-report/component-56.pb +1 -0
  59. package/.scannerwork/scanner-report/component-57.pb +1 -1
  60. package/.scannerwork/scanner-report/component-58.pb +1 -1
  61. package/.scannerwork/scanner-report/component-59.pb +1 -1
  62. package/.scannerwork/scanner-report/component-6.pb +1 -1
  63. package/.scannerwork/scanner-report/component-60.pb +1 -0
  64. package/.scannerwork/scanner-report/component-61.pb +1 -1
  65. package/.scannerwork/scanner-report/component-62.pb +1 -0
  66. package/.scannerwork/scanner-report/component-63.pb +1 -0
  67. package/.scannerwork/scanner-report/component-64.pb +1 -0
  68. package/.scannerwork/scanner-report/component-65.pb +1 -1
  69. package/.scannerwork/scanner-report/component-69.pb +1 -1
  70. package/.scannerwork/scanner-report/component-7.pb +1 -1
  71. package/.scannerwork/scanner-report/component-70.pb +1 -0
  72. package/.scannerwork/scanner-report/component-8.pb +1 -0
  73. package/.scannerwork/scanner-report/component-9.pb +1 -0
  74. package/.scannerwork/scanner-report/coverages-11.pb +0 -0
  75. package/.scannerwork/scanner-report/coverages-13.pb +0 -0
  76. package/.scannerwork/scanner-report/coverages-16.pb +0 -0
  77. package/.scannerwork/scanner-report/coverages-18.pb +0 -0
  78. package/.scannerwork/scanner-report/coverages-2.pb +0 -0
  79. package/.scannerwork/scanner-report/coverages-23.pb +0 -0
  80. package/.scannerwork/scanner-report/coverages-24.pb +0 -0
  81. package/.scannerwork/scanner-report/coverages-30.pb +0 -0
  82. package/.scannerwork/scanner-report/coverages-31.pb +0 -0
  83. package/.scannerwork/scanner-report/coverages-32.pb +0 -0
  84. package/.scannerwork/scanner-report/coverages-33.pb +0 -0
  85. package/.scannerwork/scanner-report/coverages-34.pb +0 -0
  86. package/.scannerwork/scanner-report/coverages-35.pb +0 -0
  87. package/.scannerwork/scanner-report/coverages-36.pb +0 -0
  88. package/.scannerwork/scanner-report/coverages-37.pb +0 -0
  89. package/.scannerwork/scanner-report/coverages-38.pb +0 -0
  90. package/.scannerwork/scanner-report/coverages-5.pb +0 -0
  91. package/.scannerwork/scanner-report/coverages-51.pb +0 -0
  92. package/.scannerwork/scanner-report/coverages-52.pb +0 -0
  93. package/.scannerwork/scanner-report/coverages-53.pb +0 -0
  94. package/.scannerwork/scanner-report/coverages-54.pb +0 -0
  95. package/.scannerwork/scanner-report/coverages-55.pb +0 -0
  96. package/.scannerwork/scanner-report/coverages-57.pb +0 -0
  97. package/.scannerwork/scanner-report/coverages-58.pb +0 -0
  98. package/.scannerwork/scanner-report/coverages-59.pb +0 -0
  99. package/.scannerwork/scanner-report/coverages-6.pb +0 -0
  100. package/.scannerwork/scanner-report/coverages-64.pb +0 -0
  101. package/.scannerwork/scanner-report/coverages-7.pb +0 -0
  102. package/.scannerwork/scanner-report/duplications-23.pb +2 -0
  103. package/.scannerwork/scanner-report/duplications-24.pb +2 -0
  104. package/.scannerwork/scanner-report/duplications-32.pb +0 -2
  105. package/.scannerwork/scanner-report/duplications-33.pb +2 -0
  106. package/.scannerwork/scanner-report/duplications-36.pb +0 -2
  107. package/.scannerwork/scanner-report/duplications-5.pb +0 -3
  108. package/.scannerwork/scanner-report/duplications-52.pb +3 -0
  109. package/.scannerwork/scanner-report/duplications-53.pb +3 -0
  110. package/.scannerwork/scanner-report/duplications-57.pb +2 -0
  111. package/.scannerwork/scanner-report/duplications-6.pb +2 -0
  112. package/.scannerwork/scanner-report/duplications-60.pb +3 -0
  113. package/.scannerwork/scanner-report/duplications-62.pb +0 -0
  114. package/.scannerwork/scanner-report/duplications-63.pb +0 -0
  115. package/.scannerwork/scanner-report/duplications-64.pb +0 -0
  116. package/.scannerwork/scanner-report/duplications-8.pb +0 -0
  117. package/.scannerwork/scanner-report/duplications-9.pb +2 -0
  118. package/.scannerwork/scanner-report/measures-11.pb +0 -0
  119. package/.scannerwork/scanner-report/measures-13.pb +0 -0
  120. package/.scannerwork/scanner-report/measures-16.pb +0 -0
  121. package/.scannerwork/scanner-report/measures-18.pb +0 -0
  122. package/.scannerwork/scanner-report/measures-2.pb +0 -0
  123. package/.scannerwork/scanner-report/measures-23.pb +0 -0
  124. package/.scannerwork/scanner-report/measures-24.pb +0 -0
  125. package/.scannerwork/scanner-report/measures-28.pb +0 -0
  126. package/.scannerwork/scanner-report/measures-29.pb +0 -0
  127. package/.scannerwork/scanner-report/measures-3.pb +0 -0
  128. package/.scannerwork/scanner-report/measures-30.pb +0 -0
  129. package/.scannerwork/scanner-report/measures-31.pb +0 -0
  130. package/.scannerwork/scanner-report/measures-32.pb +0 -0
  131. package/.scannerwork/scanner-report/measures-33.pb +0 -0
  132. package/.scannerwork/scanner-report/measures-34.pb +0 -0
  133. package/.scannerwork/scanner-report/measures-35.pb +0 -0
  134. package/.scannerwork/scanner-report/measures-36.pb +0 -0
  135. package/.scannerwork/scanner-report/measures-37.pb +0 -0
  136. package/.scannerwork/scanner-report/measures-38.pb +0 -0
  137. package/.scannerwork/scanner-report/measures-39.pb +0 -0
  138. package/.scannerwork/scanner-report/measures-5.pb +0 -0
  139. package/.scannerwork/scanner-report/measures-51.pb +0 -0
  140. package/.scannerwork/scanner-report/measures-52.pb +0 -0
  141. package/.scannerwork/scanner-report/measures-53.pb +0 -0
  142. package/.scannerwork/scanner-report/measures-54.pb +0 -0
  143. package/.scannerwork/scanner-report/measures-55.pb +0 -0
  144. package/.scannerwork/scanner-report/measures-57.pb +0 -0
  145. package/.scannerwork/scanner-report/measures-58.pb +0 -0
  146. package/.scannerwork/scanner-report/measures-59.pb +0 -0
  147. package/.scannerwork/scanner-report/measures-6.pb +0 -0
  148. package/.scannerwork/scanner-report/measures-61.pb +0 -0
  149. package/.scannerwork/scanner-report/measures-62.pb +0 -0
  150. package/.scannerwork/scanner-report/measures-64.pb +0 -0
  151. package/.scannerwork/scanner-report/measures-65.pb +0 -0
  152. package/.scannerwork/scanner-report/measures-69.pb +0 -0
  153. package/.scannerwork/scanner-report/measures-7.pb +0 -0
  154. package/.scannerwork/scanner-report/measures-70.pb +0 -0
  155. package/.scannerwork/scanner-report/metadata.pb +0 -0
  156. package/.scannerwork/scanner-report/source-11.txt +111 -0
  157. package/.scannerwork/scanner-report/source-13.txt +164 -0
  158. package/.scannerwork/scanner-report/source-16.txt +80 -0
  159. package/.scannerwork/scanner-report/source-18.txt +46 -0
  160. package/.scannerwork/scanner-report/source-2.txt +114 -0
  161. package/.scannerwork/scanner-report/source-23.txt +162 -64
  162. package/.scannerwork/scanner-report/source-24.txt +133 -583
  163. package/.scannerwork/scanner-report/source-28.txt +509 -142
  164. package/.scannerwork/scanner-report/source-29.txt +509 -366
  165. package/.scannerwork/scanner-report/source-3.txt +418 -0
  166. package/.scannerwork/scanner-report/source-30.txt +39 -19
  167. package/.scannerwork/scanner-report/source-31.txt +57 -80
  168. package/.scannerwork/scanner-report/source-32.txt +16 -127
  169. package/.scannerwork/scanner-report/source-33.txt +189 -120
  170. package/.scannerwork/scanner-report/source-34.txt +596 -39
  171. package/.scannerwork/scanner-report/source-35.txt +17 -129
  172. package/.scannerwork/scanner-report/source-36.txt +43 -200
  173. package/.scannerwork/scanner-report/source-37.txt +15 -93
  174. package/.scannerwork/scanner-report/source-38.txt +92 -167
  175. package/.scannerwork/scanner-report/source-39.txt +366 -0
  176. package/.scannerwork/scanner-report/source-5.txt +89 -229
  177. package/.scannerwork/scanner-report/source-51.txt +135 -59
  178. package/.scannerwork/scanner-report/source-52.txt +228 -95
  179. package/.scannerwork/scanner-report/source-53.txt +104 -31
  180. package/.scannerwork/scanner-report/source-54.txt +130 -147
  181. package/.scannerwork/scanner-report/source-55.txt +100 -509
  182. package/.scannerwork/scanner-report/source-57.txt +120 -52
  183. package/.scannerwork/scanner-report/source-58.txt +31 -40
  184. package/.scannerwork/scanner-report/source-59.txt +36 -509
  185. package/.scannerwork/scanner-report/source-6.txt +71 -47
  186. package/.scannerwork/scanner-report/source-61.txt +293 -509
  187. package/.scannerwork/scanner-report/source-62.txt +142 -0
  188. package/.scannerwork/scanner-report/source-64.txt +68 -0
  189. package/.scannerwork/scanner-report/source-65.txt +509 -190
  190. package/.scannerwork/scanner-report/source-69.txt +509 -418
  191. package/.scannerwork/scanner-report/source-7.txt +38 -31
  192. package/.scannerwork/scanner-report/source-70.txt +167 -0
  193. package/.scannerwork/scanner-report/symbols-11.pb +59 -0
  194. package/.scannerwork/scanner-report/symbols-13.pb +126 -0
  195. package/.scannerwork/scanner-report/symbols-16.pb +46 -0
  196. package/.scannerwork/scanner-report/symbols-18.pb +20 -0
  197. package/.scannerwork/scanner-report/symbols-2.pb +28 -0
  198. package/.scannerwork/scanner-report/symbols-23.pb +180 -60
  199. package/.scannerwork/scanner-report/symbols-24.pb +143 -1244
  200. package/.scannerwork/scanner-report/symbols-30.pb +19 -14
  201. package/.scannerwork/scanner-report/symbols-31.pb +29 -68
  202. package/.scannerwork/scanner-report/symbols-32.pb +10 -102
  203. package/.scannerwork/scanner-report/symbols-33.pb +410 -104
  204. package/.scannerwork/scanner-report/symbols-34.pb +1251 -33
  205. package/.scannerwork/scanner-report/symbols-35.pb +17 -85
  206. package/.scannerwork/scanner-report/symbols-36.pb +35 -417
  207. package/.scannerwork/scanner-report/symbols-37.pb +11 -28
  208. package/.scannerwork/scanner-report/symbols-38.pb +60 -0
  209. package/.scannerwork/scanner-report/symbols-5.pb +41 -393
  210. package/.scannerwork/scanner-report/symbols-51.pb +110 -44
  211. package/.scannerwork/scanner-report/symbols-52.pb +393 -58
  212. package/.scannerwork/scanner-report/symbols-53.pb +76 -19
  213. package/.scannerwork/scanner-report/symbols-54.pb +80 -121
  214. package/.scannerwork/scanner-report/symbols-55.pb +69 -0
  215. package/.scannerwork/scanner-report/symbols-57.pb +102 -30
  216. package/.scannerwork/scanner-report/symbols-58.pb +27 -19
  217. package/.scannerwork/scanner-report/symbols-59.pb +14 -0
  218. package/.scannerwork/scanner-report/symbols-6.pb +43 -44
  219. package/.scannerwork/scanner-report/symbols-64.pb +45 -0
  220. package/.scannerwork/scanner-report/symbols-7.pb +15 -27
  221. package/.scannerwork/scanner-report/syntax-highlightings-11.pb +133 -0
  222. package/.scannerwork/scanner-report/syntax-highlightings-13.pb +213 -0
  223. package/.scannerwork/scanner-report/syntax-highlightings-16.pb +95 -0
  224. package/.scannerwork/scanner-report/syntax-highlightings-18.pb +64 -0
  225. package/.scannerwork/scanner-report/syntax-highlightings-2.pb +138 -0
  226. package/.scannerwork/scanner-report/syntax-highlightings-23.pb +186 -71
  227. package/.scannerwork/scanner-report/syntax-highlightings-24.pb +142 -815
  228. package/.scannerwork/scanner-report/syntax-highlightings-28.pb +3736 -123
  229. package/.scannerwork/scanner-report/syntax-highlightings-29.pb +3504 -385
  230. package/.scannerwork/scanner-report/syntax-highlightings-3.pb +648 -0
  231. package/.scannerwork/scanner-report/syntax-highlightings-30.pb +63 -35
  232. package/.scannerwork/scanner-report/syntax-highlightings-31.pb +73 -75
  233. package/.scannerwork/scanner-report/syntax-highlightings-32.pb +14 -191
  234. package/.scannerwork/scanner-report/syntax-highlightings-33.pb +270 -162
  235. package/.scannerwork/scanner-report/syntax-highlightings-34.pb +849 -57
  236. package/.scannerwork/scanner-report/syntax-highlightings-35.pb +27 -155
  237. package/.scannerwork/scanner-report/syntax-highlightings-36.pb +58 -294
  238. package/.scannerwork/scanner-report/syntax-highlightings-37.pb +24 -103
  239. package/.scannerwork/scanner-report/syntax-highlightings-38.pb +99 -937
  240. package/.scannerwork/scanner-report/syntax-highlightings-39.pb +630 -0
  241. package/.scannerwork/scanner-report/syntax-highlightings-5.pb +85 -298
  242. package/.scannerwork/scanner-report/syntax-highlightings-51.pb +190 -62
  243. package/.scannerwork/scanner-report/syntax-highlightings-52.pb +292 -96
  244. package/.scannerwork/scanner-report/syntax-highlightings-53.pb +127 -33
  245. package/.scannerwork/scanner-report/syntax-highlightings-54.pb +151 -173
  246. package/.scannerwork/scanner-report/syntax-highlightings-55.pb +94 -3735
  247. package/.scannerwork/scanner-report/syntax-highlightings-57.pb +200 -76
  248. package/.scannerwork/scanner-report/syntax-highlightings-58.pb +45 -59
  249. package/.scannerwork/scanner-report/syntax-highlightings-59.pb +43 -3736
  250. package/.scannerwork/scanner-report/syntax-highlightings-6.pb +56 -76
  251. package/.scannerwork/scanner-report/syntax-highlightings-61.pb +398 -3487
  252. package/.scannerwork/scanner-report/syntax-highlightings-62.pb +134 -0
  253. package/.scannerwork/scanner-report/syntax-highlightings-64.pb +110 -0
  254. package/.scannerwork/scanner-report/syntax-highlightings-65.pb +3725 -202
  255. package/.scannerwork/scanner-report/syntax-highlightings-69.pb +3544 -445
  256. package/.scannerwork/scanner-report/syntax-highlightings-7.pb +24 -38
  257. package/.scannerwork/scanner-report/syntax-highlightings-70.pb +949 -0
  258. package/package.json +1 -1
  259. package/test-14-results.xml +158 -158
  260. package/test-16-results.xml +139 -139
  261. package/test-18-results.xml +155 -155
  262. package/test-19-results.xml +151 -151
  263. package/test-iam-18-results.xml +50 -50
  264. package/.scannerwork/scanner-report/changesets-19.pb +0 -1
  265. package/.scannerwork/scanner-report/changesets-20.pb +0 -1
  266. package/.scannerwork/scanner-report/changesets-21.pb +0 -1
  267. package/.scannerwork/scanner-report/changesets-22.pb +0 -1
  268. package/.scannerwork/scanner-report/changesets-25.pb +0 -1
  269. package/.scannerwork/scanner-report/changesets-26.pb +0 -1
  270. package/.scannerwork/scanner-report/changesets-27.pb +0 -1
  271. package/.scannerwork/scanner-report/changesets-28.pb +0 -1
  272. package/.scannerwork/scanner-report/changesets-29.pb +0 -1
  273. package/.scannerwork/scanner-report/changesets-4.pb +0 -1
  274. package/.scannerwork/scanner-report/changesets-41.pb +0 -1
  275. package/.scannerwork/scanner-report/changesets-42.pb +0 -1
  276. package/.scannerwork/scanner-report/changesets-43.pb +0 -1
  277. package/.scannerwork/scanner-report/changesets-44.pb +0 -1
  278. package/.scannerwork/scanner-report/changesets-45.pb +0 -1
  279. package/.scannerwork/scanner-report/changesets-46.pb +0 -1
  280. package/.scannerwork/scanner-report/changesets-47.pb +0 -1
  281. package/.scannerwork/scanner-report/changesets-48.pb +0 -1
  282. package/.scannerwork/scanner-report/changesets-49.pb +0 -1
  283. package/.scannerwork/scanner-report/changesets-50.pb +0 -1
  284. package/.scannerwork/scanner-report/changesets-65.pb +0 -1
  285. package/.scannerwork/scanner-report/changesets-66.pb +0 -1
  286. package/.scannerwork/scanner-report/changesets-69.pb +0 -1
  287. package/.scannerwork/scanner-report/component-19.pb +0 -1
  288. package/.scannerwork/scanner-report/component-20.pb +0 -1
  289. package/.scannerwork/scanner-report/component-21.pb +0 -1
  290. package/.scannerwork/scanner-report/component-22.pb +0 -1
  291. package/.scannerwork/scanner-report/component-25.pb +0 -1
  292. package/.scannerwork/scanner-report/component-26.pb +0 -1
  293. package/.scannerwork/scanner-report/component-27.pb +0 -1
  294. package/.scannerwork/scanner-report/component-4.pb +0 -1
  295. package/.scannerwork/scanner-report/component-40.pb +0 -1
  296. package/.scannerwork/scanner-report/component-41.pb +0 -1
  297. package/.scannerwork/scanner-report/component-42.pb +0 -1
  298. package/.scannerwork/scanner-report/component-43.pb +0 -1
  299. package/.scannerwork/scanner-report/component-44.pb +0 -1
  300. package/.scannerwork/scanner-report/component-45.pb +0 -1
  301. package/.scannerwork/scanner-report/component-46.pb +0 -1
  302. package/.scannerwork/scanner-report/component-47.pb +0 -1
  303. package/.scannerwork/scanner-report/component-48.pb +0 -1
  304. package/.scannerwork/scanner-report/component-49.pb +0 -1
  305. package/.scannerwork/scanner-report/component-50.pb +0 -1
  306. package/.scannerwork/scanner-report/component-66.pb +0 -1
  307. package/.scannerwork/scanner-report/coverages-20.pb +0 -0
  308. package/.scannerwork/scanner-report/coverages-22.pb +0 -0
  309. package/.scannerwork/scanner-report/coverages-27.pb +0 -0
  310. package/.scannerwork/scanner-report/coverages-4.pb +0 -0
  311. package/.scannerwork/scanner-report/coverages-42.pb +0 -0
  312. package/.scannerwork/scanner-report/coverages-43.pb +0 -0
  313. package/.scannerwork/scanner-report/coverages-46.pb +0 -0
  314. package/.scannerwork/scanner-report/coverages-65.pb +0 -0
  315. package/.scannerwork/scanner-report/coverages-66.pb +0 -0
  316. package/.scannerwork/scanner-report/duplications-19.pb +0 -3
  317. package/.scannerwork/scanner-report/duplications-22.pb +0 -3
  318. package/.scannerwork/scanner-report/duplications-43.pb +0 -2
  319. package/.scannerwork/scanner-report/duplications-45.pb +0 -2
  320. package/.scannerwork/scanner-report/duplications-65.pb +0 -2
  321. package/.scannerwork/scanner-report/duplications-66.pb +0 -2
  322. package/.scannerwork/scanner-report/measures-20.pb +0 -0
  323. package/.scannerwork/scanner-report/measures-21.pb +0 -15
  324. package/.scannerwork/scanner-report/measures-22.pb +0 -0
  325. package/.scannerwork/scanner-report/measures-27.pb +0 -0
  326. package/.scannerwork/scanner-report/measures-4.pb +0 -0
  327. package/.scannerwork/scanner-report/measures-40.pb +0 -0
  328. package/.scannerwork/scanner-report/measures-42.pb +0 -15
  329. package/.scannerwork/scanner-report/measures-43.pb +0 -0
  330. package/.scannerwork/scanner-report/measures-46.pb +0 -0
  331. package/.scannerwork/scanner-report/measures-66.pb +0 -0
  332. package/.scannerwork/scanner-report/source-20.txt +0 -35
  333. package/.scannerwork/scanner-report/source-21.txt +0 -293
  334. package/.scannerwork/scanner-report/source-22.txt +0 -119
  335. package/.scannerwork/scanner-report/source-27.txt +0 -36
  336. package/.scannerwork/scanner-report/source-4.txt +0 -34
  337. package/.scannerwork/scanner-report/source-40.txt +0 -509
  338. package/.scannerwork/scanner-report/source-42.txt +0 -104
  339. package/.scannerwork/scanner-report/source-43.txt +0 -92
  340. package/.scannerwork/scanner-report/source-46.txt +0 -54
  341. package/.scannerwork/scanner-report/source-66.txt +0 -175
  342. package/.scannerwork/scanner-report/symbols-20.pb +0 -17
  343. package/.scannerwork/scanner-report/symbols-22.pb +0 -77
  344. package/.scannerwork/scanner-report/symbols-27.pb +0 -11
  345. package/.scannerwork/scanner-report/symbols-4.pb +0 -10
  346. package/.scannerwork/scanner-report/symbols-42.pb +0 -42
  347. package/.scannerwork/scanner-report/symbols-43.pb +0 -44
  348. package/.scannerwork/scanner-report/symbols-46.pb +0 -15
  349. package/.scannerwork/scanner-report/symbols-65.pb +0 -180
  350. package/.scannerwork/scanner-report/symbols-66.pb +0 -153
  351. package/.scannerwork/scanner-report/syntax-highlightings-20.pb +0 -63
  352. package/.scannerwork/scanner-report/syntax-highlightings-21.pb +0 -659
  353. package/.scannerwork/scanner-report/syntax-highlightings-22.pb +0 -158
  354. package/.scannerwork/scanner-report/syntax-highlightings-27.pb +0 -59
  355. package/.scannerwork/scanner-report/syntax-highlightings-4.pb +0 -50
  356. package/.scannerwork/scanner-report/syntax-highlightings-40.pb +0 -3749
  357. package/.scannerwork/scanner-report/syntax-highlightings-42.pb +0 -116
  358. package/.scannerwork/scanner-report/syntax-highlightings-43.pb +0 -90
  359. package/.scannerwork/scanner-report/syntax-highlightings-46.pb +0 -54
  360. package/.scannerwork/scanner-report/syntax-highlightings-66.pb +0 -214
  361. /package/.scannerwork/scanner-report/{coverages-49.pb → coverages-10.pb} +0 -0
  362. /package/.scannerwork/scanner-report/{coverages-44.pb → coverages-12.pb} +0 -0
  363. /package/.scannerwork/scanner-report/{coverages-41.pb → coverages-14.pb} +0 -0
  364. /package/.scannerwork/scanner-report/{coverages-47.pb → coverages-15.pb} +0 -0
  365. /package/.scannerwork/scanner-report/{coverages-48.pb → coverages-17.pb} +0 -0
  366. /package/.scannerwork/scanner-report/{coverages-69.pb → coverages-3.pb} +0 -0
  367. /package/.scannerwork/scanner-report/{coverages-29.pb → coverages-39.pb} +0 -0
  368. /package/.scannerwork/scanner-report/{coverages-25.pb → coverages-56.pb} +0 -0
  369. /package/.scannerwork/scanner-report/{coverages-19.pb → coverages-60.pb} +0 -0
  370. /package/.scannerwork/scanner-report/{coverages-21.pb → coverages-61.pb} +0 -0
  371. /package/.scannerwork/scanner-report/{coverages-28.pb → coverages-62.pb} +0 -0
  372. /package/.scannerwork/scanner-report/{coverages-26.pb → coverages-63.pb} +0 -0
  373. /package/.scannerwork/scanner-report/{coverages-50.pb → coverages-8.pb} +0 -0
  374. /package/.scannerwork/scanner-report/{coverages-45.pb → coverages-9.pb} +0 -0
  375. /package/.scannerwork/scanner-report/{duplications-20.pb → duplications-10.pb} +0 -0
  376. /package/.scannerwork/scanner-report/{duplications-26.pb → duplications-11.pb} +0 -0
  377. /package/.scannerwork/scanner-report/{duplications-27.pb → duplications-12.pb} +0 -0
  378. /package/.scannerwork/scanner-report/{duplications-28.pb → duplications-13.pb} +0 -0
  379. /package/.scannerwork/scanner-report/{duplications-29.pb → duplications-14.pb} +0 -0
  380. /package/.scannerwork/scanner-report/{duplications-4.pb → duplications-15.pb} +0 -0
  381. /package/.scannerwork/scanner-report/{duplications-41.pb → duplications-16.pb} +0 -0
  382. /package/.scannerwork/scanner-report/{duplications-42.pb → duplications-17.pb} +0 -0
  383. /package/.scannerwork/scanner-report/{duplications-44.pb → duplications-18.pb} +0 -0
  384. /package/.scannerwork/scanner-report/{duplications-46.pb → duplications-2.pb} +0 -0
  385. /package/.scannerwork/scanner-report/{duplications-47.pb → duplications-3.pb} +0 -0
  386. /package/.scannerwork/scanner-report/{duplications-48.pb → duplications-38.pb} +0 -0
  387. /package/.scannerwork/scanner-report/{duplications-49.pb → duplications-39.pb} +0 -0
  388. /package/.scannerwork/scanner-report/{duplications-50.pb → duplications-55.pb} +0 -0
  389. /package/.scannerwork/scanner-report/{duplications-69.pb → duplications-59.pb} +0 -0
  390. /package/.scannerwork/scanner-report/{duplications-21.pb → duplications-61.pb} +0 -0
  391. /package/.scannerwork/scanner-report/{issues-29.pb → issues-39.pb} +0 -0
  392. /package/.scannerwork/scanner-report/{issues-5.pb → issues-52.pb} +0 -0
  393. /package/.scannerwork/scanner-report/{issues-7.pb → issues-58.pb} +0 -0
  394. /package/.scannerwork/scanner-report/{issues-28.pb → issues-62.pb} +0 -0
  395. /package/.scannerwork/scanner-report/{measures-49.pb → measures-10.pb} +0 -0
  396. /package/.scannerwork/scanner-report/{measures-44.pb → measures-12.pb} +0 -0
  397. /package/.scannerwork/scanner-report/{measures-41.pb → measures-14.pb} +0 -0
  398. /package/.scannerwork/scanner-report/{measures-47.pb → measures-15.pb} +0 -0
  399. /package/.scannerwork/scanner-report/{measures-48.pb → measures-17.pb} +0 -0
  400. /package/.scannerwork/scanner-report/{measures-25.pb → measures-56.pb} +0 -0
  401. /package/.scannerwork/scanner-report/{measures-19.pb → measures-60.pb} +0 -0
  402. /package/.scannerwork/scanner-report/{measures-26.pb → measures-63.pb} +0 -0
  403. /package/.scannerwork/scanner-report/{measures-50.pb → measures-8.pb} +0 -0
  404. /package/.scannerwork/scanner-report/{measures-45.pb → measures-9.pb} +0 -0
  405. /package/.scannerwork/scanner-report/{source-49.txt → source-10.txt} +0 -0
  406. /package/.scannerwork/scanner-report/{source-44.txt → source-12.txt} +0 -0
  407. /package/.scannerwork/scanner-report/{source-41.txt → source-14.txt} +0 -0
  408. /package/.scannerwork/scanner-report/{source-47.txt → source-15.txt} +0 -0
  409. /package/.scannerwork/scanner-report/{source-48.txt → source-17.txt} +0 -0
  410. /package/.scannerwork/scanner-report/{source-25.txt → source-56.txt} +0 -0
  411. /package/.scannerwork/scanner-report/{source-19.txt → source-60.txt} +0 -0
  412. /package/.scannerwork/scanner-report/{source-26.txt → source-63.txt} +0 -0
  413. /package/.scannerwork/scanner-report/{source-50.txt → source-8.txt} +0 -0
  414. /package/.scannerwork/scanner-report/{source-45.txt → source-9.txt} +0 -0
  415. /package/.scannerwork/scanner-report/{symbols-49.pb → symbols-10.pb} +0 -0
  416. /package/.scannerwork/scanner-report/{symbols-44.pb → symbols-12.pb} +0 -0
  417. /package/.scannerwork/scanner-report/{symbols-41.pb → symbols-14.pb} +0 -0
  418. /package/.scannerwork/scanner-report/{symbols-47.pb → symbols-15.pb} +0 -0
  419. /package/.scannerwork/scanner-report/{symbols-48.pb → symbols-17.pb} +0 -0
  420. /package/.scannerwork/scanner-report/{symbols-69.pb → symbols-3.pb} +0 -0
  421. /package/.scannerwork/scanner-report/{symbols-29.pb → symbols-39.pb} +0 -0
  422. /package/.scannerwork/scanner-report/{symbols-25.pb → symbols-56.pb} +0 -0
  423. /package/.scannerwork/scanner-report/{symbols-19.pb → symbols-60.pb} +0 -0
  424. /package/.scannerwork/scanner-report/{symbols-21.pb → symbols-61.pb} +0 -0
  425. /package/.scannerwork/scanner-report/{symbols-28.pb → symbols-62.pb} +0 -0
  426. /package/.scannerwork/scanner-report/{symbols-26.pb → symbols-63.pb} +0 -0
  427. /package/.scannerwork/scanner-report/{symbols-50.pb → symbols-8.pb} +0 -0
  428. /package/.scannerwork/scanner-report/{symbols-45.pb → symbols-9.pb} +0 -0
  429. /package/.scannerwork/scanner-report/{syntax-highlightings-49.pb → syntax-highlightings-10.pb} +0 -0
  430. /package/.scannerwork/scanner-report/{syntax-highlightings-44.pb → syntax-highlightings-12.pb} +0 -0
  431. /package/.scannerwork/scanner-report/{syntax-highlightings-41.pb → syntax-highlightings-14.pb} +0 -0
  432. /package/.scannerwork/scanner-report/{syntax-highlightings-47.pb → syntax-highlightings-15.pb} +0 -0
  433. /package/.scannerwork/scanner-report/{syntax-highlightings-48.pb → syntax-highlightings-17.pb} +0 -0
  434. /package/.scannerwork/scanner-report/{syntax-highlightings-25.pb → syntax-highlightings-56.pb} +0 -0
  435. /package/.scannerwork/scanner-report/{syntax-highlightings-19.pb → syntax-highlightings-60.pb} +0 -0
  436. /package/.scannerwork/scanner-report/{syntax-highlightings-26.pb → syntax-highlightings-63.pb} +0 -0
  437. /package/.scannerwork/scanner-report/{syntax-highlightings-50.pb → syntax-highlightings-8.pb} +0 -0
  438. /package/.scannerwork/scanner-report/{syntax-highlightings-45.pb → syntax-highlightings-9.pb} +0 -0
@@ -1,4 +1,4 @@
1
- // Copyright © 2018, 2021 IBM Corp. All rights reserved.
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.
@@ -12,81 +12,179 @@
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
14
 
15
- /* global describe it */
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 readline = require('readline');
20
- const u = require('./citestutils.js');
21
- const uuid = require('uuid').v4;
22
-
23
- const params = { useApi: true };
24
-
25
- describe(u.scenario('Concurrent database backups', params), function() {
26
- it('should run concurrent API database backups correctly #slower', function(done) {
27
- // Allow up to 900 s to backup and compare (it should be much faster)!
28
- u.setTimeout(this, 900);
29
-
30
- let doneCount = 0;
31
- let doneErr;
32
- const finished = function(err) {
33
- doneCount++;
34
- if (doneCount === 2) {
35
- done(doneErr || err);
36
- }
37
- doneErr = err;
38
- };
25
+ const url = require('url');
39
26
 
40
- const checkForEmptyBatches = function(fileName, cb) {
41
- let foundEmptyBatch = false;
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;
42
32
 
43
- const rd = readline.createInterface({
44
- input: fs.createReadStream(fileName),
45
- output: fs.createWriteStream('/dev/null'),
46
- terminal: false
47
- });
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;
48
50
 
49
- rd.on('line', function(line) {
50
- if (JSON.parse(line).length === 0) {
51
- // Note: Empty batch arrays indicate that the running backup is
52
- // incorrectly sharing a log file with another ongoing backup job.
53
- foundEmptyBatch = true;
54
- }
55
- });
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}`;
56
55
 
57
- rd.on('close', function() {
58
- if (foundEmptyBatch) {
59
- cb(new Error(`Log file '${fileName}' contains empty batches`));
60
- } else {
61
- cb();
62
- }
63
- });
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}`);
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
64
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
+ }
65
112
 
66
- // [1] Run 'largedb2g' database backup
67
- const actualBackup1 = `./${uuid()}`;
68
- const output1 = fs.createWriteStream(actualBackup1);
69
- output1.on('open', function() {
70
- u.testBackup(params, 'largedb2g', output1, function(err) {
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) => {
71
126
  if (err) {
72
- finished(err);
73
- } else {
74
- checkForEmptyBatches(actualBackup1, finished);
127
+ return reject(new VError(err, 'CouchBackup process failed'));
75
128
  }
76
- });
77
- });
129
+ debug('couchbackup to file done; uploading to S3');
130
+ resolve('creating backup file complete');
131
+ }
132
+ );
133
+ });
134
+ }
135
+
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}`);
78
148
 
79
- // [2] Run 'largedb1g' database backup
80
- const actualBackup2 = `./${uuid()}`;
81
- const output2 = fs.createWriteStream(actualBackup2);
82
- output2.on('open', function() {
83
- u.testBackup(params, 'largedb1g', output2, function(err) {
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');
84
159
  if (err) {
85
- finished(err);
86
- } else {
87
- checkForEmptyBatches(actualBackup2, finished);
160
+ debug(err);
161
+ reject(new VError(err, 'Upload failed'));
162
+ return;
88
163
  }
89
- });
90
- });
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);
91
177
  });
92
- });
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();