postdoc 0.2.0.beta4 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (371) hide show
  1. checksums.yaml +4 -4
  2. data/lib/postdoc/postdoc_view_helper.rb +15 -0
  3. data/lib/postdoc.rb +34 -14
  4. metadata +20 -373
  5. data/lib/pdf.js +0 -27
  6. data/node_modules/agent-base/History.md +0 -113
  7. data/node_modules/agent-base/README.md +0 -145
  8. data/node_modules/agent-base/index.js +0 -160
  9. data/node_modules/agent-base/package.json +0 -35
  10. data/node_modules/agent-base/patch-core.js +0 -37
  11. data/node_modules/agent-base/test/ssl-cert-snakeoil.key +0 -15
  12. data/node_modules/agent-base/test/ssl-cert-snakeoil.pem +0 -12
  13. data/node_modules/agent-base/test/test.js +0 -673
  14. data/node_modules/async-limiter/LICENSE +0 -8
  15. data/node_modules/async-limiter/coverage/coverage.json +0 -1
  16. data/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.html +0 -73
  17. data/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.js.html +0 -246
  18. data/node_modules/async-limiter/coverage/lcov-report/base.css +0 -182
  19. data/node_modules/async-limiter/coverage/lcov-report/index.html +0 -73
  20. data/node_modules/async-limiter/coverage/lcov-report/prettify.css +0 -1
  21. data/node_modules/async-limiter/coverage/lcov-report/prettify.js +0 -1
  22. data/node_modules/async-limiter/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  23. data/node_modules/async-limiter/coverage/lcov-report/sorter.js +0 -156
  24. data/node_modules/async-limiter/coverage/lcov.info +0 -74
  25. data/node_modules/async-limiter/index.js +0 -67
  26. data/node_modules/async-limiter/package.json +0 -35
  27. data/node_modules/async-limiter/readme.md +0 -132
  28. data/node_modules/balanced-match/LICENSE.md +0 -21
  29. data/node_modules/balanced-match/README.md +0 -91
  30. data/node_modules/balanced-match/index.js +0 -59
  31. data/node_modules/balanced-match/package.json +0 -49
  32. data/node_modules/brace-expansion/LICENSE +0 -21
  33. data/node_modules/brace-expansion/README.md +0 -129
  34. data/node_modules/brace-expansion/index.js +0 -201
  35. data/node_modules/brace-expansion/package.json +0 -47
  36. data/node_modules/buffer-from/index.js +0 -69
  37. data/node_modules/buffer-from/package.json +0 -16
  38. data/node_modules/buffer-from/readme.md +0 -69
  39. data/node_modules/buffer-from/test.js +0 -12
  40. data/node_modules/concat-map/LICENSE +0 -18
  41. data/node_modules/concat-map/README.markdown +0 -62
  42. data/node_modules/concat-map/example/map.js +0 -6
  43. data/node_modules/concat-map/index.js +0 -13
  44. data/node_modules/concat-map/package.json +0 -43
  45. data/node_modules/concat-map/test/map.js +0 -39
  46. data/node_modules/concat-stream/LICENSE +0 -24
  47. data/node_modules/concat-stream/index.js +0 -144
  48. data/node_modules/concat-stream/package.json +0 -55
  49. data/node_modules/concat-stream/readme.md +0 -102
  50. data/node_modules/core-util-is/LICENSE +0 -19
  51. data/node_modules/core-util-is/README.md +0 -3
  52. data/node_modules/core-util-is/float.patch +0 -604
  53. data/node_modules/core-util-is/lib/util.js +0 -107
  54. data/node_modules/core-util-is/package.json +0 -32
  55. data/node_modules/core-util-is/test.js +0 -68
  56. data/node_modules/debug/CHANGELOG.md +0 -395
  57. data/node_modules/debug/LICENSE +0 -19
  58. data/node_modules/debug/Makefile +0 -58
  59. data/node_modules/debug/README.md +0 -368
  60. data/node_modules/debug/karma.conf.js +0 -70
  61. data/node_modules/debug/node.js +0 -1
  62. data/node_modules/debug/package.json +0 -43
  63. data/node_modules/debug/src/browser.js +0 -195
  64. data/node_modules/debug/src/debug.js +0 -225
  65. data/node_modules/debug/src/index.js +0 -10
  66. data/node_modules/debug/src/node.js +0 -186
  67. data/node_modules/es6-promise/CHANGELOG.md +0 -151
  68. data/node_modules/es6-promise/LICENSE +0 -19
  69. data/node_modules/es6-promise/README.md +0 -97
  70. data/node_modules/es6-promise/auto.js +0 -4
  71. data/node_modules/es6-promise/dist/es6-promise.auto.js +0 -1181
  72. data/node_modules/es6-promise/dist/es6-promise.auto.map +0 -1
  73. data/node_modules/es6-promise/dist/es6-promise.auto.min.js +0 -1
  74. data/node_modules/es6-promise/dist/es6-promise.auto.min.map +0 -1
  75. data/node_modules/es6-promise/dist/es6-promise.js +0 -1179
  76. data/node_modules/es6-promise/dist/es6-promise.map +0 -1
  77. data/node_modules/es6-promise/dist/es6-promise.min.js +0 -1
  78. data/node_modules/es6-promise/dist/es6-promise.min.map +0 -1
  79. data/node_modules/es6-promise/es6-promise.d.ts +0 -81
  80. data/node_modules/es6-promise/lib/es6-promise/-internal.js +0 -266
  81. data/node_modules/es6-promise/lib/es6-promise/asap.js +0 -119
  82. data/node_modules/es6-promise/lib/es6-promise/enumerator.js +0 -113
  83. data/node_modules/es6-promise/lib/es6-promise/polyfill.js +0 -35
  84. data/node_modules/es6-promise/lib/es6-promise/promise/all.js +0 -52
  85. data/node_modules/es6-promise/lib/es6-promise/promise/race.js +0 -84
  86. data/node_modules/es6-promise/lib/es6-promise/promise/reject.js +0 -46
  87. data/node_modules/es6-promise/lib/es6-promise/promise/resolve.js +0 -48
  88. data/node_modules/es6-promise/lib/es6-promise/promise.js +0 -427
  89. data/node_modules/es6-promise/lib/es6-promise/then.js +0 -32
  90. data/node_modules/es6-promise/lib/es6-promise/utils.js +0 -21
  91. data/node_modules/es6-promise/lib/es6-promise.auto.js +0 -3
  92. data/node_modules/es6-promise/lib/es6-promise.js +0 -7
  93. data/node_modules/es6-promise/package.json +0 -75
  94. data/node_modules/es6-promisify/README.md +0 -89
  95. data/node_modules/es6-promisify/dist/promise.js +0 -73
  96. data/node_modules/es6-promisify/dist/promisify.js +0 -85
  97. data/node_modules/es6-promisify/package.json +0 -41
  98. data/node_modules/extract-zip/CONTRIBUTING.md +0 -1
  99. data/node_modules/extract-zip/LICENSE +0 -23
  100. data/node_modules/extract-zip/cli.js +0 -20
  101. data/node_modules/extract-zip/index.js +0 -205
  102. data/node_modules/extract-zip/node_modules/debug/CHANGELOG.md +0 -362
  103. data/node_modules/extract-zip/node_modules/debug/LICENSE +0 -19
  104. data/node_modules/extract-zip/node_modules/debug/Makefile +0 -50
  105. data/node_modules/extract-zip/node_modules/debug/README.md +0 -312
  106. data/node_modules/extract-zip/node_modules/debug/component.json +0 -19
  107. data/node_modules/extract-zip/node_modules/debug/karma.conf.js +0 -70
  108. data/node_modules/extract-zip/node_modules/debug/node.js +0 -1
  109. data/node_modules/extract-zip/node_modules/debug/package.json +0 -49
  110. data/node_modules/extract-zip/node_modules/debug/src/browser.js +0 -185
  111. data/node_modules/extract-zip/node_modules/debug/src/debug.js +0 -202
  112. data/node_modules/extract-zip/node_modules/debug/src/index.js +0 -10
  113. data/node_modules/extract-zip/node_modules/debug/src/inspector-log.js +0 -15
  114. data/node_modules/extract-zip/node_modules/debug/src/node.js +0 -248
  115. data/node_modules/extract-zip/package.json +0 -35
  116. data/node_modules/extract-zip/readme.md +0 -49
  117. data/node_modules/fd-slicer/CHANGELOG.md +0 -49
  118. data/node_modules/fd-slicer/LICENSE +0 -21
  119. data/node_modules/fd-slicer/README.md +0 -189
  120. data/node_modules/fd-slicer/index.js +0 -277
  121. data/node_modules/fd-slicer/package.json +0 -36
  122. data/node_modules/fd-slicer/test/test.js +0 -350
  123. data/node_modules/fs.realpath/LICENSE +0 -43
  124. data/node_modules/fs.realpath/README.md +0 -33
  125. data/node_modules/fs.realpath/index.js +0 -66
  126. data/node_modules/fs.realpath/old.js +0 -303
  127. data/node_modules/fs.realpath/package.json +0 -26
  128. data/node_modules/glob/LICENSE +0 -15
  129. data/node_modules/glob/README.md +0 -368
  130. data/node_modules/glob/changelog.md +0 -67
  131. data/node_modules/glob/common.js +0 -240
  132. data/node_modules/glob/glob.js +0 -790
  133. data/node_modules/glob/package.json +0 -43
  134. data/node_modules/glob/sync.js +0 -486
  135. data/node_modules/https-proxy-agent/History.md +0 -124
  136. data/node_modules/https-proxy-agent/README.md +0 -137
  137. data/node_modules/https-proxy-agent/index.js +0 -229
  138. data/node_modules/https-proxy-agent/package.json +0 -35
  139. data/node_modules/https-proxy-agent/test/ssl-cert-snakeoil.key +0 -15
  140. data/node_modules/https-proxy-agent/test/ssl-cert-snakeoil.pem +0 -12
  141. data/node_modules/https-proxy-agent/test/test.js +0 -342
  142. data/node_modules/inflight/LICENSE +0 -15
  143. data/node_modules/inflight/README.md +0 -37
  144. data/node_modules/inflight/inflight.js +0 -54
  145. data/node_modules/inflight/package.json +0 -29
  146. data/node_modules/inherits/LICENSE +0 -16
  147. data/node_modules/inherits/README.md +0 -42
  148. data/node_modules/inherits/inherits.js +0 -7
  149. data/node_modules/inherits/inherits_browser.js +0 -23
  150. data/node_modules/inherits/package.json +0 -29
  151. data/node_modules/isarray/Makefile +0 -6
  152. data/node_modules/isarray/README.md +0 -60
  153. data/node_modules/isarray/component.json +0 -19
  154. data/node_modules/isarray/index.js +0 -5
  155. data/node_modules/isarray/package.json +0 -45
  156. data/node_modules/isarray/test.js +0 -20
  157. data/node_modules/mime/CHANGELOG.md +0 -225
  158. data/node_modules/mime/CONTRIBUTING.md +0 -5
  159. data/node_modules/mime/LICENSE +0 -21
  160. data/node_modules/mime/Mime.js +0 -89
  161. data/node_modules/mime/README.md +0 -188
  162. data/node_modules/mime/cli.js +0 -10
  163. data/node_modules/mime/index.js +0 -4
  164. data/node_modules/mime/lite.js +0 -4
  165. data/node_modules/mime/package.json +0 -43
  166. data/node_modules/mime/src/README_js.md +0 -179
  167. data/node_modules/mime/src/build.js +0 -71
  168. data/node_modules/mime/src/test.js +0 -257
  169. data/node_modules/mime/types/other.json +0 -1
  170. data/node_modules/mime/types/standard.json +0 -1
  171. data/node_modules/minimatch/LICENSE +0 -15
  172. data/node_modules/minimatch/README.md +0 -209
  173. data/node_modules/minimatch/minimatch.js +0 -923
  174. data/node_modules/minimatch/package.json +0 -30
  175. data/node_modules/minimist/LICENSE +0 -18
  176. data/node_modules/minimist/example/parse.js +0 -2
  177. data/node_modules/minimist/index.js +0 -187
  178. data/node_modules/minimist/package.json +0 -40
  179. data/node_modules/minimist/readme.markdown +0 -73
  180. data/node_modules/minimist/test/dash.js +0 -24
  181. data/node_modules/minimist/test/default_bool.js +0 -20
  182. data/node_modules/minimist/test/dotted.js +0 -16
  183. data/node_modules/minimist/test/long.js +0 -31
  184. data/node_modules/minimist/test/parse.js +0 -318
  185. data/node_modules/minimist/test/parse_modified.js +0 -9
  186. data/node_modules/minimist/test/short.js +0 -67
  187. data/node_modules/minimist/test/whitespace.js +0 -8
  188. data/node_modules/mkdirp/LICENSE +0 -21
  189. data/node_modules/mkdirp/bin/cmd.js +0 -33
  190. data/node_modules/mkdirp/bin/usage.txt +0 -12
  191. data/node_modules/mkdirp/examples/pow.js +0 -6
  192. data/node_modules/mkdirp/index.js +0 -98
  193. data/node_modules/mkdirp/package.json +0 -27
  194. data/node_modules/mkdirp/readme.markdown +0 -100
  195. data/node_modules/mkdirp/test/chmod.js +0 -41
  196. data/node_modules/mkdirp/test/clobber.js +0 -38
  197. data/node_modules/mkdirp/test/mkdirp.js +0 -28
  198. data/node_modules/mkdirp/test/opts_fs.js +0 -29
  199. data/node_modules/mkdirp/test/opts_fs_sync.js +0 -27
  200. data/node_modules/mkdirp/test/perm.js +0 -32
  201. data/node_modules/mkdirp/test/perm_sync.js +0 -36
  202. data/node_modules/mkdirp/test/race.js +0 -37
  203. data/node_modules/mkdirp/test/rel.js +0 -32
  204. data/node_modules/mkdirp/test/return.js +0 -25
  205. data/node_modules/mkdirp/test/return_sync.js +0 -24
  206. data/node_modules/mkdirp/test/root.js +0 -19
  207. data/node_modules/mkdirp/test/sync.js +0 -32
  208. data/node_modules/mkdirp/test/umask.js +0 -28
  209. data/node_modules/mkdirp/test/umask_sync.js +0 -32
  210. data/node_modules/ms/index.js +0 -152
  211. data/node_modules/ms/license.md +0 -21
  212. data/node_modules/ms/package.json +0 -37
  213. data/node_modules/ms/readme.md +0 -51
  214. data/node_modules/once/LICENSE +0 -15
  215. data/node_modules/once/README.md +0 -79
  216. data/node_modules/once/once.js +0 -42
  217. data/node_modules/once/package.json +0 -33
  218. data/node_modules/path-is-absolute/index.js +0 -20
  219. data/node_modules/path-is-absolute/license +0 -21
  220. data/node_modules/path-is-absolute/package.json +0 -43
  221. data/node_modules/path-is-absolute/readme.md +0 -59
  222. data/node_modules/pend/LICENSE +0 -23
  223. data/node_modules/pend/README.md +0 -41
  224. data/node_modules/pend/index.js +0 -55
  225. data/node_modules/pend/package.json +0 -18
  226. data/node_modules/pend/test.js +0 -137
  227. data/node_modules/process-nextick-args/index.js +0 -44
  228. data/node_modules/process-nextick-args/license.md +0 -19
  229. data/node_modules/process-nextick-args/package.json +0 -25
  230. data/node_modules/process-nextick-args/readme.md +0 -18
  231. data/node_modules/progress/CHANGELOG.md +0 -115
  232. data/node_modules/progress/LICENSE +0 -22
  233. data/node_modules/progress/Makefile +0 -8
  234. data/node_modules/progress/README.md +0 -146
  235. data/node_modules/progress/index.js +0 -1
  236. data/node_modules/progress/lib/node-progress.js +0 -231
  237. data/node_modules/progress/package.json +0 -25
  238. data/node_modules/proxy-from-env/README.md +0 -131
  239. data/node_modules/proxy-from-env/index.js +0 -103
  240. data/node_modules/proxy-from-env/package.json +0 -35
  241. data/node_modules/proxy-from-env/test.js +0 -393
  242. data/node_modules/puppeteer/CONTRIBUTING.md +0 -206
  243. data/node_modules/puppeteer/DeviceDescriptors.js +0 -704
  244. data/node_modules/puppeteer/LICENSE +0 -202
  245. data/node_modules/puppeteer/README.md +0 -306
  246. data/node_modules/puppeteer/index.js +0 -28
  247. data/node_modules/puppeteer/install.js +0 -122
  248. data/node_modules/puppeteer/lib/Browser.js +0 -186
  249. data/node_modules/puppeteer/lib/BrowserFetcher.js +0 -279
  250. data/node_modules/puppeteer/lib/Connection.js +0 -246
  251. data/node_modules/puppeteer/lib/Coverage.js +0 -301
  252. data/node_modules/puppeteer/lib/Dialog.js +0 -84
  253. data/node_modules/puppeteer/lib/ElementHandle.js +0 -328
  254. data/node_modules/puppeteer/lib/EmulationManager.js +0 -89
  255. data/node_modules/puppeteer/lib/ExecutionContext.js +0 -232
  256. data/node_modules/puppeteer/lib/FrameManager.js +0 -997
  257. data/node_modules/puppeteer/lib/Input.js +0 -309
  258. data/node_modules/puppeteer/lib/Launcher.js +0 -310
  259. data/node_modules/puppeteer/lib/Multimap.js +0 -95
  260. data/node_modules/puppeteer/lib/NavigatorWatcher.js +0 -137
  261. data/node_modules/puppeteer/lib/NetworkManager.js +0 -796
  262. data/node_modules/puppeteer/lib/Page.js +0 -1098
  263. data/node_modules/puppeteer/lib/Pipe.js +0 -69
  264. data/node_modules/puppeteer/lib/Puppeteer.js +0 -60
  265. data/node_modules/puppeteer/lib/Target.js +0 -88
  266. data/node_modules/puppeteer/lib/TaskQueue.js +0 -17
  267. data/node_modules/puppeteer/lib/Tracing.js +0 -99
  268. data/node_modules/puppeteer/lib/USKeyboardLayout.js +0 -281
  269. data/node_modules/puppeteer/lib/helper.js +0 -248
  270. data/node_modules/puppeteer/node6/lib/Browser.js +0 -394
  271. data/node_modules/puppeteer/node6/lib/BrowserFetcher.js +0 -357
  272. data/node_modules/puppeteer/node6/lib/Connection.js +0 -350
  273. data/node_modules/puppeteer/node6/lib/Coverage.js +0 -561
  274. data/node_modules/puppeteer/node6/lib/Dialog.js +0 -136
  275. data/node_modules/puppeteer/node6/lib/ElementHandle.js +0 -796
  276. data/node_modules/puppeteer/node6/lib/EmulationManager.js +0 -115
  277. data/node_modules/puppeteer/node6/lib/ExecutionContext.js +0 -414
  278. data/node_modules/puppeteer/node6/lib/FrameManager.js +0 -1621
  279. data/node_modules/puppeteer/node6/lib/Input.js +0 -569
  280. data/node_modules/puppeteer/node6/lib/Launcher.js +0 -362
  281. data/node_modules/puppeteer/node6/lib/Multimap.js +0 -95
  282. data/node_modules/puppeteer/node6/lib/NavigatorWatcher.js +0 -163
  283. data/node_modules/puppeteer/node6/lib/NetworkManager.js +0 -1108
  284. data/node_modules/puppeteer/node6/lib/Page.js +0 -2242
  285. data/node_modules/puppeteer/node6/lib/Pipe.js +0 -69
  286. data/node_modules/puppeteer/node6/lib/Puppeteer.js +0 -60
  287. data/node_modules/puppeteer/node6/lib/Target.js +0 -114
  288. data/node_modules/puppeteer/node6/lib/TaskQueue.js +0 -17
  289. data/node_modules/puppeteer/node6/lib/Tracing.js +0 -177
  290. data/node_modules/puppeteer/node6/lib/USKeyboardLayout.js +0 -281
  291. data/node_modules/puppeteer/node6/lib/helper.js +0 -274
  292. data/node_modules/puppeteer/package.json +0 -61
  293. data/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  294. data/node_modules/readable-stream/GOVERNANCE.md +0 -136
  295. data/node_modules/readable-stream/LICENSE +0 -47
  296. data/node_modules/readable-stream/README.md +0 -58
  297. data/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  298. data/node_modules/readable-stream/duplex-browser.js +0 -1
  299. data/node_modules/readable-stream/duplex.js +0 -1
  300. data/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
  301. data/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
  302. data/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
  303. data/node_modules/readable-stream/lib/_stream_transform.js +0 -214
  304. data/node_modules/readable-stream/lib/_stream_writable.js +0 -687
  305. data/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -79
  306. data/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -74
  307. data/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  308. data/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  309. data/node_modules/readable-stream/package.json +0 -52
  310. data/node_modules/readable-stream/passthrough.js +0 -1
  311. data/node_modules/readable-stream/readable-browser.js +0 -7
  312. data/node_modules/readable-stream/readable.js +0 -19
  313. data/node_modules/readable-stream/transform.js +0 -1
  314. data/node_modules/readable-stream/writable-browser.js +0 -1
  315. data/node_modules/readable-stream/writable.js +0 -8
  316. data/node_modules/rimraf/LICENSE +0 -15
  317. data/node_modules/rimraf/README.md +0 -101
  318. data/node_modules/rimraf/bin.js +0 -50
  319. data/node_modules/rimraf/package.json +0 -26
  320. data/node_modules/rimraf/rimraf.js +0 -364
  321. data/node_modules/safe-buffer/LICENSE +0 -21
  322. data/node_modules/safe-buffer/README.md +0 -584
  323. data/node_modules/safe-buffer/index.d.ts +0 -187
  324. data/node_modules/safe-buffer/index.js +0 -62
  325. data/node_modules/safe-buffer/package.json +0 -37
  326. data/node_modules/string_decoder/LICENSE +0 -48
  327. data/node_modules/string_decoder/README.md +0 -47
  328. data/node_modules/string_decoder/lib/string_decoder.js +0 -296
  329. data/node_modules/string_decoder/package.json +0 -31
  330. data/node_modules/typedarray/LICENSE +0 -35
  331. data/node_modules/typedarray/example/tarray.js +0 -4
  332. data/node_modules/typedarray/index.js +0 -630
  333. data/node_modules/typedarray/package.json +0 -55
  334. data/node_modules/typedarray/readme.markdown +0 -61
  335. data/node_modules/typedarray/test/server/undef_globals.js +0 -19
  336. data/node_modules/typedarray/test/tarray.js +0 -10
  337. data/node_modules/ultron/LICENSE +0 -22
  338. data/node_modules/ultron/README.md +0 -113
  339. data/node_modules/ultron/index.js +0 -136
  340. data/node_modules/ultron/package.json +0 -41
  341. data/node_modules/util-deprecate/History.md +0 -16
  342. data/node_modules/util-deprecate/LICENSE +0 -24
  343. data/node_modules/util-deprecate/README.md +0 -53
  344. data/node_modules/util-deprecate/browser.js +0 -67
  345. data/node_modules/util-deprecate/node.js +0 -6
  346. data/node_modules/util-deprecate/package.json +0 -27
  347. data/node_modules/wrappy/LICENSE +0 -15
  348. data/node_modules/wrappy/README.md +0 -36
  349. data/node_modules/wrappy/package.json +0 -29
  350. data/node_modules/wrappy/wrappy.js +0 -33
  351. data/node_modules/ws/LICENSE +0 -21
  352. data/node_modules/ws/README.md +0 -341
  353. data/node_modules/ws/index.js +0 -15
  354. data/node_modules/ws/lib/BufferUtil.js +0 -71
  355. data/node_modules/ws/lib/Constants.js +0 -10
  356. data/node_modules/ws/lib/ErrorCodes.js +0 -28
  357. data/node_modules/ws/lib/EventTarget.js +0 -151
  358. data/node_modules/ws/lib/Extensions.js +0 -203
  359. data/node_modules/ws/lib/PerMessageDeflate.js +0 -507
  360. data/node_modules/ws/lib/Receiver.js +0 -553
  361. data/node_modules/ws/lib/Sender.js +0 -412
  362. data/node_modules/ws/lib/Validation.js +0 -17
  363. data/node_modules/ws/lib/WebSocket.js +0 -717
  364. data/node_modules/ws/lib/WebSocketServer.js +0 -326
  365. data/node_modules/ws/package.json +0 -46
  366. data/node_modules/yauzl/LICENSE +0 -21
  367. data/node_modules/yauzl/README.md +0 -467
  368. data/node_modules/yauzl/index.js +0 -626
  369. data/node_modules/yauzl/package.json +0 -36
  370. data/package.json +0 -5
  371. data/yarn.lock +0 -240
@@ -1,357 +0,0 @@
1
- /**
2
- * Copyright 2017 Google Inc. All rights reserved.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
-
17
- const os = require('os');
18
- const fs = require('fs');
19
- const path = require('path');
20
- const extract = require('extract-zip');
21
- const util = require('util');
22
- const URL = require('url');
23
- const {helper} = require('./helper');
24
- const removeRecursive = require('rimraf');
25
- // @ts-ignore
26
- const ProxyAgent = require('https-proxy-agent');
27
- // @ts-ignore
28
- const getProxyForUrl = require('proxy-from-env').getProxyForUrl;
29
-
30
- const DEFAULT_DOWNLOAD_HOST = 'https://storage.googleapis.com';
31
- const downloadURLs = {
32
- linux: '%s/chromium-browser-snapshots/Linux_x64/%d/chrome-linux.zip',
33
- mac: '%s/chromium-browser-snapshots/Mac/%d/chrome-mac.zip',
34
- win32: '%s/chromium-browser-snapshots/Win/%d/chrome-win32.zip',
35
- win64: '%s/chromium-browser-snapshots/Win_x64/%d/chrome-win32.zip',
36
- };
37
-
38
- const readdirAsync = helper.promisify(fs.readdir.bind(fs));
39
- const mkdirAsync = helper.promisify(fs.mkdir.bind(fs));
40
- const unlinkAsync = helper.promisify(fs.unlink.bind(fs));
41
- const chmodAsync = helper.promisify(fs.chmod.bind(fs));
42
-
43
- function existsAsync(filePath) {
44
- let fulfill = null;
45
- const promise = new Promise(x => fulfill = x);
46
- fs.access(filePath, err => fulfill(!err));
47
- return promise;
48
- }
49
-
50
- class BrowserFetcher {
51
- /**
52
- * @param {!BrowserFetcher.Options=} options
53
- */
54
- constructor(options = {}) {
55
- this._downloadsFolder = options.path || path.join(helper.projectRoot(), '.local-chromium');
56
- this._downloadHost = options.host || DEFAULT_DOWNLOAD_HOST;
57
- this._platform = options.platform || '';
58
- if (!this._platform) {
59
- const platform = os.platform();
60
- if (platform === 'darwin')
61
- this._platform = 'mac';
62
- else if (platform === 'linux')
63
- this._platform = 'linux';
64
- else if (platform === 'win32')
65
- this._platform = os.arch() === 'x64' ? 'win64' : 'win32';
66
- console.assert(this._platform, 'Unsupported platform: ' + os.platform());
67
- }
68
- const supportedPlatforms = ['mac', 'linux', 'win32', 'win64'];
69
- console.assert(supportedPlatforms.includes(this._platform), 'Unsupported platform: ' + this._platform);
70
- }
71
-
72
- /**
73
- * @return {string}
74
- */
75
- platform() {
76
- return this._platform;
77
- }
78
-
79
- /**
80
- * @param {string} revision
81
- * @return {!Promise<boolean>}
82
- */
83
- canDownload(revision) {
84
- const url = util.format(downloadURLs[this._platform], this._downloadHost, revision);
85
-
86
- let resolve;
87
- const promise = new Promise(x => resolve = x);
88
- const request = httpRequest(url, 'HEAD', response => {
89
- resolve(response.statusCode === 200);
90
- });
91
- request.on('error', error => {
92
- console.error(error);
93
- resolve(false);
94
- });
95
- return promise;
96
- }
97
-
98
- /**
99
- * @param {string} revision
100
- * @param {?function(number, number)} progressCallback
101
- * @return {!Promise<!BrowserFetcher.RevisionInfo>}
102
- */
103
- /* async */ download(revision, progressCallback) {return (fn => {
104
- const gen = fn.call(this);
105
- return new Promise((resolve, reject) => {
106
- function step(key, arg) {
107
- let info, value;
108
- try {
109
- info = gen[key](arg);
110
- value = info.value;
111
- } catch (error) {
112
- reject(error);
113
- return;
114
- }
115
- if (info.done) {
116
- resolve(value);
117
- } else {
118
- return Promise.resolve(value).then(
119
- value => {
120
- step('next', value);
121
- },
122
- err => {
123
- step('throw', err);
124
- });
125
- }
126
- }
127
- return step('next');
128
- });
129
- })(function*(){
130
- let url = downloadURLs[this._platform];
131
- url = util.format(url, this._downloadHost, revision);
132
- const zipPath = path.join(this._downloadsFolder, `download-${this._platform}-${revision}.zip`);
133
- const folderPath = this._getFolderPath(revision);
134
- if ((yield existsAsync(folderPath)))
135
- return this.revisionInfo(revision);
136
- if (!((yield existsAsync(this._downloadsFolder))))
137
- (yield mkdirAsync(this._downloadsFolder));
138
- try {
139
- (yield downloadFile(url, zipPath, progressCallback));
140
- (yield extractZip(zipPath, folderPath));
141
- } finally {
142
- if ((yield existsAsync(zipPath)))
143
- (yield unlinkAsync(zipPath));
144
- }
145
- const revisionInfo = this.revisionInfo(revision);
146
- if (revisionInfo)
147
- (yield chmodAsync(revisionInfo.executablePath, 0o755));
148
- return revisionInfo;
149
- });}
150
-
151
- /**
152
- * @return {!Promise<!Array<string>>}
153
- */
154
- /* async */ localRevisions() {return (fn => {
155
- const gen = fn.call(this);
156
- return new Promise((resolve, reject) => {
157
- function step(key, arg) {
158
- let info, value;
159
- try {
160
- info = gen[key](arg);
161
- value = info.value;
162
- } catch (error) {
163
- reject(error);
164
- return;
165
- }
166
- if (info.done) {
167
- resolve(value);
168
- } else {
169
- return Promise.resolve(value).then(
170
- value => {
171
- step('next', value);
172
- },
173
- err => {
174
- step('throw', err);
175
- });
176
- }
177
- }
178
- return step('next');
179
- });
180
- })(function*(){
181
- if (!(yield existsAsync(this._downloadsFolder)))
182
- return [];
183
- const fileNames = (yield readdirAsync(this._downloadsFolder));
184
- return fileNames.map(fileName => parseFolderPath(fileName)).filter(entry => entry && entry.platform === this._platform).map(entry => entry.revision);
185
- });}
186
-
187
- /**
188
- * @param {string} revision
189
- * @return {!Promise}
190
- */
191
- /* async */ remove(revision) {return (fn => {
192
- const gen = fn.call(this);
193
- return new Promise((resolve, reject) => {
194
- function step(key, arg) {
195
- let info, value;
196
- try {
197
- info = gen[key](arg);
198
- value = info.value;
199
- } catch (error) {
200
- reject(error);
201
- return;
202
- }
203
- if (info.done) {
204
- resolve(value);
205
- } else {
206
- return Promise.resolve(value).then(
207
- value => {
208
- step('next', value);
209
- },
210
- err => {
211
- step('throw', err);
212
- });
213
- }
214
- }
215
- return step('next');
216
- });
217
- })(function*(){
218
- const folderPath = this._getFolderPath(revision);
219
- console.assert((yield existsAsync(folderPath)), `Failed to remove: revision ${revision} is not downloaded`);
220
- (yield new Promise(fulfill => removeRecursive(folderPath, fulfill)));
221
- });}
222
-
223
- /**
224
- * @param {string} revision
225
- * @return {!BrowserFetcher.RevisionInfo}
226
- */
227
- revisionInfo(revision) {
228
- const folderPath = this._getFolderPath(revision);
229
- let executablePath = '';
230
- if (this._platform === 'mac')
231
- executablePath = path.join(folderPath, 'chrome-mac', 'Chromium.app', 'Contents', 'MacOS', 'Chromium');
232
- else if (this._platform === 'linux')
233
- executablePath = path.join(folderPath, 'chrome-linux', 'chrome');
234
- else if (this._platform === 'win32' || this._platform === 'win64')
235
- executablePath = path.join(folderPath, 'chrome-win32', 'chrome.exe');
236
- else
237
- throw 'Unsupported platform: ' + this._platform;
238
- let url = downloadURLs[this._platform];
239
- url = util.format(url, this._downloadHost, revision);
240
- const local = fs.existsSync(folderPath);
241
- return {revision, executablePath, folderPath, local, url};
242
- }
243
-
244
- /**
245
- * @param {string} revision
246
- * @return {string}
247
- */
248
- _getFolderPath(revision) {
249
- return path.join(this._downloadsFolder, this._platform + '-' + revision);
250
- }
251
- }
252
-
253
- module.exports = BrowserFetcher;
254
-
255
- /**
256
- * @param {string} folderPath
257
- * @return {?{platform: string, revision: string}}
258
- */
259
- function parseFolderPath(folderPath) {
260
- const name = path.basename(folderPath);
261
- const splits = name.split('-');
262
- if (splits.length !== 2)
263
- return null;
264
- const [platform, revision] = splits;
265
- if (!downloadURLs[platform])
266
- return null;
267
- return {platform, revision};
268
- }
269
-
270
- /**
271
- * @param {string} url
272
- * @param {string} destinationPath
273
- * @param {?function(number, number)} progressCallback
274
- * @return {!Promise}
275
- */
276
- function downloadFile(url, destinationPath, progressCallback) {
277
- let fulfill, reject;
278
- let downloadedBytes = 0;
279
- let totalBytes = 0;
280
-
281
- const promise = new Promise((x, y) => { fulfill = x; reject = y; });
282
-
283
- const request = httpRequest(url, 'GET', response => {
284
- if (response.statusCode !== 200) {
285
- const error = new Error(`Download failed: server returned code ${response.statusCode}. URL: ${url}`);
286
- // consume response data to free up memory
287
- response.resume();
288
- reject(error);
289
- return;
290
- }
291
- const file = fs.createWriteStream(destinationPath);
292
- file.on('finish', () => fulfill());
293
- file.on('error', error => reject(error));
294
- response.pipe(file);
295
- totalBytes = parseInt(/** @type {string} */ (response.headers['content-length']), 10);
296
- if (progressCallback)
297
- response.on('data', onData);
298
- });
299
- request.on('error', error => reject(error));
300
- return promise;
301
-
302
- function onData(chunk) {
303
- downloadedBytes += chunk.length;
304
- progressCallback(downloadedBytes, totalBytes);
305
- }
306
- }
307
-
308
- /**
309
- * @param {string} zipPath
310
- * @param {string} folderPath
311
- * @return {!Promise<?Error>}
312
- */
313
- function extractZip(zipPath, folderPath) {
314
- return new Promise(fulfill => extract(zipPath, {dir: folderPath}, fulfill));
315
- }
316
-
317
- function httpRequest(url, method, response) {
318
- /** @type {Object} */
319
- const options = URL.parse(url);
320
- options.method = method;
321
-
322
- const proxyURL = getProxyForUrl(url);
323
- if (proxyURL) {
324
- /** @type {Object} */
325
- const parsedProxyURL = URL.parse(proxyURL);
326
- parsedProxyURL.secureProxy = parsedProxyURL.protocol === 'https:';
327
-
328
- options.agent = new ProxyAgent(parsedProxyURL);
329
- options.rejectUnauthorized = false;
330
- }
331
-
332
- const driver = options.protocol === 'https:' ? 'https' : 'http';
333
- const request = require(driver).request(options, res => {
334
- if (res.statusCode >= 300 && res.statusCode < 400 && res.headers.location)
335
- httpRequest(res.headers.location, method, response);
336
- else
337
- response(res);
338
- });
339
- request.end();
340
- return request;
341
- }
342
-
343
- /**
344
- * @typedef {Object} BrowserFetcher.Options
345
- * @property {string=} platform
346
- * @property {string=} path
347
- * @property {string=} host
348
- */
349
-
350
- /**
351
- * @typedef {Object} BrowserFetcher.RevisionInfo
352
- * @property {string} folderPath
353
- * @property {string} executablePath
354
- * @property {string} url
355
- * @property {boolean} local
356
- * @property {string} revision
357
- */
@@ -1,350 +0,0 @@
1
- /**
2
- * Copyright 2017 Google Inc. All rights reserved.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- const {helper} = require('./helper');
17
- const debugProtocol = require('debug')('puppeteer:protocol');
18
- const debugSession = require('debug')('puppeteer:session');
19
-
20
- const EventEmitter = require('events');
21
- const WebSocket = require('ws');
22
- const Pipe = require('./Pipe');
23
-
24
- class Connection extends EventEmitter {
25
- /**
26
- * @param {string} url
27
- * @param {number=} delay
28
- * @return {!Promise<!Connection>}
29
- */
30
- static /* async */ createForWebSocket(url, delay = 0) {return (fn => {
31
- const gen = fn.call(this);
32
- return new Promise((resolve, reject) => {
33
- function step(key, arg) {
34
- let info, value;
35
- try {
36
- info = gen[key](arg);
37
- value = info.value;
38
- } catch (error) {
39
- reject(error);
40
- return;
41
- }
42
- if (info.done) {
43
- resolve(value);
44
- } else {
45
- return Promise.resolve(value).then(
46
- value => {
47
- step('next', value);
48
- },
49
- err => {
50
- step('throw', err);
51
- });
52
- }
53
- }
54
- return step('next');
55
- });
56
- })(function*(){
57
- return new Promise((resolve, reject) => {
58
- const ws = new WebSocket(url, { perMessageDeflate: false });
59
- ws.on('open', () => resolve(new Connection(url, ws, delay)));
60
- ws.on('error', reject);
61
- });
62
- });}
63
-
64
- /**
65
- * @param {!NodeJS.WritableStream} pipeWrite
66
- * @param {!NodeJS.ReadableStream} pipeRead
67
- * @param {number=} delay
68
- * @return {!Connection}
69
- */
70
- static createForPipe(pipeWrite, pipeRead, delay = 0) {
71
- return new Connection('', new Pipe(pipeWrite, pipeRead), delay);
72
- }
73
-
74
- /**
75
- * @param {string} url
76
- * @param {!Puppeteer.ConnectionTransport} transport
77
- * @param {number=} delay
78
- */
79
- constructor(url, transport, delay = 0) {
80
- super();
81
- this._url = url;
82
- this._lastId = 0;
83
- /** @type {!Map<number, {resolve: function, reject: function, error: !Error, method: string}>}*/
84
- this._callbacks = new Map();
85
- this._delay = delay;
86
-
87
- this._transport = transport;
88
- this._transport.on('message', this._onMessage.bind(this));
89
- this._transport.on('close', this._onClose.bind(this));
90
- /** @type {!Map<string, !CDPSession>}*/
91
- this._sessions = new Map();
92
- }
93
-
94
- /**
95
- * @return {string}
96
- */
97
- url() {
98
- return this._url;
99
- }
100
-
101
- /**
102
- * @param {string} method
103
- * @param {!Object=} params
104
- * @return {!Promise<?Object>}
105
- */
106
- send(method, params = {}) {
107
- const id = ++this._lastId;
108
- const message = JSON.stringify({id, method, params});
109
- debugProtocol('SEND ► ' + message);
110
- this._transport.send(message);
111
- return new Promise((resolve, reject) => {
112
- this._callbacks.set(id, {resolve, reject, error: new Error(), method});
113
- });
114
- }
115
-
116
- /**
117
- * @param {function()} callback
118
- */
119
- setClosedCallback(callback) {
120
- this._closeCallback = callback;
121
- }
122
-
123
- /**
124
- * @param {string} message
125
- */
126
- /* async */ _onMessage(message) {return (fn => {
127
- const gen = fn.call(this);
128
- return new Promise((resolve, reject) => {
129
- function step(key, arg) {
130
- let info, value;
131
- try {
132
- info = gen[key](arg);
133
- value = info.value;
134
- } catch (error) {
135
- reject(error);
136
- return;
137
- }
138
- if (info.done) {
139
- resolve(value);
140
- } else {
141
- return Promise.resolve(value).then(
142
- value => {
143
- step('next', value);
144
- },
145
- err => {
146
- step('throw', err);
147
- });
148
- }
149
- }
150
- return step('next');
151
- });
152
- })(function*(){
153
- if (this._delay)
154
- (yield new Promise(f => setTimeout(f, this._delay)));
155
- debugProtocol('◀ RECV ' + message);
156
- const object = JSON.parse(message);
157
- if (object.id) {
158
- const callback = this._callbacks.get(object.id);
159
- // Callbacks could be all rejected if someone has called `.dispose()`.
160
- if (callback) {
161
- this._callbacks.delete(object.id);
162
- if (object.error)
163
- callback.reject(rewriteError(callback.error, `Protocol error (${callback.method}): ${object.error.message} ${object.error.data}`));
164
- else
165
- callback.resolve(object.result);
166
- }
167
- } else {
168
- if (object.method === 'Target.receivedMessageFromTarget') {
169
- const session = this._sessions.get(object.params.sessionId);
170
- if (session)
171
- session._onMessage(object.params.message);
172
- } else if (object.method === 'Target.detachedFromTarget') {
173
- const session = this._sessions.get(object.params.sessionId);
174
- if (session)
175
- session._onClosed();
176
- this._sessions.delete(object.params.sessionId);
177
- } else {
178
- this.emit(object.method, object.params);
179
- }
180
- }
181
- });}
182
-
183
- _onClose() {
184
- if (this._closeCallback) {
185
- this._closeCallback();
186
- this._closeCallback = null;
187
- }
188
- this._transport.removeAllListeners();
189
- // If transport throws any error at this point of time, we don't care and should swallow it.
190
- this._transport.on('error', () => {});
191
- for (const callback of this._callbacks.values())
192
- callback.reject(rewriteError(callback.error, `Protocol error (${callback.method}): Target closed.`));
193
- this._callbacks.clear();
194
- for (const session of this._sessions.values())
195
- session._onClosed();
196
- this._sessions.clear();
197
- }
198
-
199
- dispose() {
200
- this._onClose();
201
- this._transport.close();
202
- }
203
-
204
- /**
205
- * @param {string} targetId
206
- * @return {!Promise<!CDPSession>}
207
- */
208
- /* async */ createSession(targetId) {return (fn => {
209
- const gen = fn.call(this);
210
- return new Promise((resolve, reject) => {
211
- function step(key, arg) {
212
- let info, value;
213
- try {
214
- info = gen[key](arg);
215
- value = info.value;
216
- } catch (error) {
217
- reject(error);
218
- return;
219
- }
220
- if (info.done) {
221
- resolve(value);
222
- } else {
223
- return Promise.resolve(value).then(
224
- value => {
225
- step('next', value);
226
- },
227
- err => {
228
- step('throw', err);
229
- });
230
- }
231
- }
232
- return step('next');
233
- });
234
- })(function*(){
235
- const {sessionId} = (yield this.send('Target.attachToTarget', {targetId}));
236
- const session = new CDPSession(this, targetId, sessionId);
237
- this._sessions.set(sessionId, session);
238
- return session;
239
- });}
240
- }
241
-
242
- class CDPSession extends EventEmitter {
243
- /**
244
- * @param {!Connection} connection
245
- * @param {string} targetId
246
- * @param {string} sessionId
247
- */
248
- constructor(connection, targetId, sessionId) {
249
- super();
250
- this._lastId = 0;
251
- /** @type {!Map<number, {resolve: function, reject: function, error: !Error, method: string}>}*/
252
- this._callbacks = new Map();
253
- this._connection = connection;
254
- this._targetId = targetId;
255
- this._sessionId = sessionId;
256
- }
257
-
258
- /**
259
- * @param {string} method
260
- * @param {!Object=} params
261
- * @return {!Promise<?Object>}
262
- */
263
- send(method, params = {}) {
264
- if (!this._connection)
265
- return Promise.reject(new Error(`Protocol error (${method}): Session closed. Most likely the page has been closed.`));
266
- const id = ++this._lastId;
267
- const message = JSON.stringify({id, method, params});
268
- debugSession('SEND ► ' + message);
269
- this._connection.send('Target.sendMessageToTarget', {sessionId: this._sessionId, message}).catch(e => {
270
- // The response from target might have been already dispatched.
271
- if (!this._callbacks.has(id))
272
- return;
273
- const callback = this._callbacks.get(id);
274
- this._callbacks.delete(id);
275
- callback.reject(rewriteError(callback.error, e && e.message));
276
- });
277
- return new Promise((resolve, reject) => {
278
- this._callbacks.set(id, {resolve, reject, error: new Error(), method});
279
- });
280
- }
281
-
282
- /**
283
- * @param {string} message
284
- */
285
- _onMessage(message) {
286
- debugSession('◀ RECV ' + message);
287
- const object = JSON.parse(message);
288
- if (object.id && this._callbacks.has(object.id)) {
289
- const callback = this._callbacks.get(object.id);
290
- this._callbacks.delete(object.id);
291
- if (object.error)
292
- callback.reject(rewriteError(callback.error, `Protocol error (${callback.method}): ${object.error.message} ${object.error.data}`));
293
- else
294
- callback.resolve(object.result);
295
- } else {
296
- console.assert(!object.id);
297
- this.emit(object.method, object.params);
298
- }
299
- }
300
-
301
- /* async */ detach() {return (fn => {
302
- const gen = fn.call(this);
303
- return new Promise((resolve, reject) => {
304
- function step(key, arg) {
305
- let info, value;
306
- try {
307
- info = gen[key](arg);
308
- value = info.value;
309
- } catch (error) {
310
- reject(error);
311
- return;
312
- }
313
- if (info.done) {
314
- resolve(value);
315
- } else {
316
- return Promise.resolve(value).then(
317
- value => {
318
- step('next', value);
319
- },
320
- err => {
321
- step('throw', err);
322
- });
323
- }
324
- }
325
- return step('next');
326
- });
327
- })(function*(){
328
- (yield this._connection.send('Target.detachFromTarget', {sessionId: this._sessionId}));
329
- });}
330
-
331
- _onClosed() {
332
- for (const callback of this._callbacks.values())
333
- callback.reject(rewriteError(callback.error, `Protocol error (${callback.method}): Target closed.`));
334
- this._callbacks.clear();
335
- this._connection = null;
336
- }
337
- }
338
- helper.tracePublicAPI(CDPSession);
339
-
340
- /**
341
- * @param {!Error} error
342
- * @param {string} message
343
- * @return {!Error}
344
- */
345
- function rewriteError(error, message) {
346
- error.message = message;
347
- return error;
348
- }
349
-
350
- module.exports = {Connection, CDPSession};