postdoc 0.2.0.beta4 → 0.2.4

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 (370) hide show
  1. checksums.yaml +4 -4
  2. data/lib/postdoc.rb +50 -18
  3. metadata +24 -378
  4. data/lib/pdf.js +0 -27
  5. data/node_modules/agent-base/History.md +0 -113
  6. data/node_modules/agent-base/README.md +0 -145
  7. data/node_modules/agent-base/index.js +0 -160
  8. data/node_modules/agent-base/package.json +0 -35
  9. data/node_modules/agent-base/patch-core.js +0 -37
  10. data/node_modules/agent-base/test/ssl-cert-snakeoil.key +0 -15
  11. data/node_modules/agent-base/test/ssl-cert-snakeoil.pem +0 -12
  12. data/node_modules/agent-base/test/test.js +0 -673
  13. data/node_modules/async-limiter/LICENSE +0 -8
  14. data/node_modules/async-limiter/coverage/coverage.json +0 -1
  15. data/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.html +0 -73
  16. data/node_modules/async-limiter/coverage/lcov-report/async-throttle/index.js.html +0 -246
  17. data/node_modules/async-limiter/coverage/lcov-report/base.css +0 -182
  18. data/node_modules/async-limiter/coverage/lcov-report/index.html +0 -73
  19. data/node_modules/async-limiter/coverage/lcov-report/prettify.css +0 -1
  20. data/node_modules/async-limiter/coverage/lcov-report/prettify.js +0 -1
  21. data/node_modules/async-limiter/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  22. data/node_modules/async-limiter/coverage/lcov-report/sorter.js +0 -156
  23. data/node_modules/async-limiter/coverage/lcov.info +0 -74
  24. data/node_modules/async-limiter/index.js +0 -67
  25. data/node_modules/async-limiter/package.json +0 -35
  26. data/node_modules/async-limiter/readme.md +0 -132
  27. data/node_modules/balanced-match/LICENSE.md +0 -21
  28. data/node_modules/balanced-match/README.md +0 -91
  29. data/node_modules/balanced-match/index.js +0 -59
  30. data/node_modules/balanced-match/package.json +0 -49
  31. data/node_modules/brace-expansion/LICENSE +0 -21
  32. data/node_modules/brace-expansion/README.md +0 -129
  33. data/node_modules/brace-expansion/index.js +0 -201
  34. data/node_modules/brace-expansion/package.json +0 -47
  35. data/node_modules/buffer-from/index.js +0 -69
  36. data/node_modules/buffer-from/package.json +0 -16
  37. data/node_modules/buffer-from/readme.md +0 -69
  38. data/node_modules/buffer-from/test.js +0 -12
  39. data/node_modules/concat-map/LICENSE +0 -18
  40. data/node_modules/concat-map/README.markdown +0 -62
  41. data/node_modules/concat-map/example/map.js +0 -6
  42. data/node_modules/concat-map/index.js +0 -13
  43. data/node_modules/concat-map/package.json +0 -43
  44. data/node_modules/concat-map/test/map.js +0 -39
  45. data/node_modules/concat-stream/LICENSE +0 -24
  46. data/node_modules/concat-stream/index.js +0 -144
  47. data/node_modules/concat-stream/package.json +0 -55
  48. data/node_modules/concat-stream/readme.md +0 -102
  49. data/node_modules/core-util-is/LICENSE +0 -19
  50. data/node_modules/core-util-is/README.md +0 -3
  51. data/node_modules/core-util-is/float.patch +0 -604
  52. data/node_modules/core-util-is/lib/util.js +0 -107
  53. data/node_modules/core-util-is/package.json +0 -32
  54. data/node_modules/core-util-is/test.js +0 -68
  55. data/node_modules/debug/CHANGELOG.md +0 -395
  56. data/node_modules/debug/LICENSE +0 -19
  57. data/node_modules/debug/Makefile +0 -58
  58. data/node_modules/debug/README.md +0 -368
  59. data/node_modules/debug/karma.conf.js +0 -70
  60. data/node_modules/debug/node.js +0 -1
  61. data/node_modules/debug/package.json +0 -43
  62. data/node_modules/debug/src/browser.js +0 -195
  63. data/node_modules/debug/src/debug.js +0 -225
  64. data/node_modules/debug/src/index.js +0 -10
  65. data/node_modules/debug/src/node.js +0 -186
  66. data/node_modules/es6-promise/CHANGELOG.md +0 -151
  67. data/node_modules/es6-promise/LICENSE +0 -19
  68. data/node_modules/es6-promise/README.md +0 -97
  69. data/node_modules/es6-promise/auto.js +0 -4
  70. data/node_modules/es6-promise/dist/es6-promise.auto.js +0 -1181
  71. data/node_modules/es6-promise/dist/es6-promise.auto.map +0 -1
  72. data/node_modules/es6-promise/dist/es6-promise.auto.min.js +0 -1
  73. data/node_modules/es6-promise/dist/es6-promise.auto.min.map +0 -1
  74. data/node_modules/es6-promise/dist/es6-promise.js +0 -1179
  75. data/node_modules/es6-promise/dist/es6-promise.map +0 -1
  76. data/node_modules/es6-promise/dist/es6-promise.min.js +0 -1
  77. data/node_modules/es6-promise/dist/es6-promise.min.map +0 -1
  78. data/node_modules/es6-promise/es6-promise.d.ts +0 -81
  79. data/node_modules/es6-promise/lib/es6-promise.auto.js +0 -3
  80. data/node_modules/es6-promise/lib/es6-promise.js +0 -7
  81. data/node_modules/es6-promise/lib/es6-promise/-internal.js +0 -266
  82. data/node_modules/es6-promise/lib/es6-promise/asap.js +0 -119
  83. data/node_modules/es6-promise/lib/es6-promise/enumerator.js +0 -113
  84. data/node_modules/es6-promise/lib/es6-promise/polyfill.js +0 -35
  85. data/node_modules/es6-promise/lib/es6-promise/promise.js +0 -427
  86. data/node_modules/es6-promise/lib/es6-promise/promise/all.js +0 -52
  87. data/node_modules/es6-promise/lib/es6-promise/promise/race.js +0 -84
  88. data/node_modules/es6-promise/lib/es6-promise/promise/reject.js +0 -46
  89. data/node_modules/es6-promise/lib/es6-promise/promise/resolve.js +0 -48
  90. data/node_modules/es6-promise/lib/es6-promise/then.js +0 -32
  91. data/node_modules/es6-promise/lib/es6-promise/utils.js +0 -21
  92. data/node_modules/es6-promise/package.json +0 -75
  93. data/node_modules/es6-promisify/README.md +0 -89
  94. data/node_modules/es6-promisify/dist/promise.js +0 -73
  95. data/node_modules/es6-promisify/dist/promisify.js +0 -85
  96. data/node_modules/es6-promisify/package.json +0 -41
  97. data/node_modules/extract-zip/CONTRIBUTING.md +0 -1
  98. data/node_modules/extract-zip/LICENSE +0 -23
  99. data/node_modules/extract-zip/cli.js +0 -20
  100. data/node_modules/extract-zip/index.js +0 -205
  101. data/node_modules/extract-zip/node_modules/debug/CHANGELOG.md +0 -362
  102. data/node_modules/extract-zip/node_modules/debug/LICENSE +0 -19
  103. data/node_modules/extract-zip/node_modules/debug/Makefile +0 -50
  104. data/node_modules/extract-zip/node_modules/debug/README.md +0 -312
  105. data/node_modules/extract-zip/node_modules/debug/component.json +0 -19
  106. data/node_modules/extract-zip/node_modules/debug/karma.conf.js +0 -70
  107. data/node_modules/extract-zip/node_modules/debug/node.js +0 -1
  108. data/node_modules/extract-zip/node_modules/debug/package.json +0 -49
  109. data/node_modules/extract-zip/node_modules/debug/src/browser.js +0 -185
  110. data/node_modules/extract-zip/node_modules/debug/src/debug.js +0 -202
  111. data/node_modules/extract-zip/node_modules/debug/src/index.js +0 -10
  112. data/node_modules/extract-zip/node_modules/debug/src/inspector-log.js +0 -15
  113. data/node_modules/extract-zip/node_modules/debug/src/node.js +0 -248
  114. data/node_modules/extract-zip/package.json +0 -35
  115. data/node_modules/extract-zip/readme.md +0 -49
  116. data/node_modules/fd-slicer/CHANGELOG.md +0 -49
  117. data/node_modules/fd-slicer/LICENSE +0 -21
  118. data/node_modules/fd-slicer/README.md +0 -189
  119. data/node_modules/fd-slicer/index.js +0 -277
  120. data/node_modules/fd-slicer/package.json +0 -36
  121. data/node_modules/fd-slicer/test/test.js +0 -350
  122. data/node_modules/fs.realpath/LICENSE +0 -43
  123. data/node_modules/fs.realpath/README.md +0 -33
  124. data/node_modules/fs.realpath/index.js +0 -66
  125. data/node_modules/fs.realpath/old.js +0 -303
  126. data/node_modules/fs.realpath/package.json +0 -26
  127. data/node_modules/glob/LICENSE +0 -15
  128. data/node_modules/glob/README.md +0 -368
  129. data/node_modules/glob/changelog.md +0 -67
  130. data/node_modules/glob/common.js +0 -240
  131. data/node_modules/glob/glob.js +0 -790
  132. data/node_modules/glob/package.json +0 -43
  133. data/node_modules/glob/sync.js +0 -486
  134. data/node_modules/https-proxy-agent/History.md +0 -124
  135. data/node_modules/https-proxy-agent/README.md +0 -137
  136. data/node_modules/https-proxy-agent/index.js +0 -229
  137. data/node_modules/https-proxy-agent/package.json +0 -35
  138. data/node_modules/https-proxy-agent/test/ssl-cert-snakeoil.key +0 -15
  139. data/node_modules/https-proxy-agent/test/ssl-cert-snakeoil.pem +0 -12
  140. data/node_modules/https-proxy-agent/test/test.js +0 -342
  141. data/node_modules/inflight/LICENSE +0 -15
  142. data/node_modules/inflight/README.md +0 -37
  143. data/node_modules/inflight/inflight.js +0 -54
  144. data/node_modules/inflight/package.json +0 -29
  145. data/node_modules/inherits/LICENSE +0 -16
  146. data/node_modules/inherits/README.md +0 -42
  147. data/node_modules/inherits/inherits.js +0 -7
  148. data/node_modules/inherits/inherits_browser.js +0 -23
  149. data/node_modules/inherits/package.json +0 -29
  150. data/node_modules/isarray/Makefile +0 -6
  151. data/node_modules/isarray/README.md +0 -60
  152. data/node_modules/isarray/component.json +0 -19
  153. data/node_modules/isarray/index.js +0 -5
  154. data/node_modules/isarray/package.json +0 -45
  155. data/node_modules/isarray/test.js +0 -20
  156. data/node_modules/mime/CHANGELOG.md +0 -225
  157. data/node_modules/mime/CONTRIBUTING.md +0 -5
  158. data/node_modules/mime/LICENSE +0 -21
  159. data/node_modules/mime/Mime.js +0 -89
  160. data/node_modules/mime/README.md +0 -188
  161. data/node_modules/mime/cli.js +0 -10
  162. data/node_modules/mime/index.js +0 -4
  163. data/node_modules/mime/lite.js +0 -4
  164. data/node_modules/mime/package.json +0 -43
  165. data/node_modules/mime/src/README_js.md +0 -179
  166. data/node_modules/mime/src/build.js +0 -71
  167. data/node_modules/mime/src/test.js +0 -257
  168. data/node_modules/mime/types/other.json +0 -1
  169. data/node_modules/mime/types/standard.json +0 -1
  170. data/node_modules/minimatch/LICENSE +0 -15
  171. data/node_modules/minimatch/README.md +0 -209
  172. data/node_modules/minimatch/minimatch.js +0 -923
  173. data/node_modules/minimatch/package.json +0 -30
  174. data/node_modules/minimist/LICENSE +0 -18
  175. data/node_modules/minimist/example/parse.js +0 -2
  176. data/node_modules/minimist/index.js +0 -187
  177. data/node_modules/minimist/package.json +0 -40
  178. data/node_modules/minimist/readme.markdown +0 -73
  179. data/node_modules/minimist/test/dash.js +0 -24
  180. data/node_modules/minimist/test/default_bool.js +0 -20
  181. data/node_modules/minimist/test/dotted.js +0 -16
  182. data/node_modules/minimist/test/long.js +0 -31
  183. data/node_modules/minimist/test/parse.js +0 -318
  184. data/node_modules/minimist/test/parse_modified.js +0 -9
  185. data/node_modules/minimist/test/short.js +0 -67
  186. data/node_modules/minimist/test/whitespace.js +0 -8
  187. data/node_modules/mkdirp/LICENSE +0 -21
  188. data/node_modules/mkdirp/bin/cmd.js +0 -33
  189. data/node_modules/mkdirp/bin/usage.txt +0 -12
  190. data/node_modules/mkdirp/examples/pow.js +0 -6
  191. data/node_modules/mkdirp/index.js +0 -98
  192. data/node_modules/mkdirp/package.json +0 -27
  193. data/node_modules/mkdirp/readme.markdown +0 -100
  194. data/node_modules/mkdirp/test/chmod.js +0 -41
  195. data/node_modules/mkdirp/test/clobber.js +0 -38
  196. data/node_modules/mkdirp/test/mkdirp.js +0 -28
  197. data/node_modules/mkdirp/test/opts_fs.js +0 -29
  198. data/node_modules/mkdirp/test/opts_fs_sync.js +0 -27
  199. data/node_modules/mkdirp/test/perm.js +0 -32
  200. data/node_modules/mkdirp/test/perm_sync.js +0 -36
  201. data/node_modules/mkdirp/test/race.js +0 -37
  202. data/node_modules/mkdirp/test/rel.js +0 -32
  203. data/node_modules/mkdirp/test/return.js +0 -25
  204. data/node_modules/mkdirp/test/return_sync.js +0 -24
  205. data/node_modules/mkdirp/test/root.js +0 -19
  206. data/node_modules/mkdirp/test/sync.js +0 -32
  207. data/node_modules/mkdirp/test/umask.js +0 -28
  208. data/node_modules/mkdirp/test/umask_sync.js +0 -32
  209. data/node_modules/ms/index.js +0 -152
  210. data/node_modules/ms/license.md +0 -21
  211. data/node_modules/ms/package.json +0 -37
  212. data/node_modules/ms/readme.md +0 -51
  213. data/node_modules/once/LICENSE +0 -15
  214. data/node_modules/once/README.md +0 -79
  215. data/node_modules/once/once.js +0 -42
  216. data/node_modules/once/package.json +0 -33
  217. data/node_modules/path-is-absolute/index.js +0 -20
  218. data/node_modules/path-is-absolute/license +0 -21
  219. data/node_modules/path-is-absolute/package.json +0 -43
  220. data/node_modules/path-is-absolute/readme.md +0 -59
  221. data/node_modules/pend/LICENSE +0 -23
  222. data/node_modules/pend/README.md +0 -41
  223. data/node_modules/pend/index.js +0 -55
  224. data/node_modules/pend/package.json +0 -18
  225. data/node_modules/pend/test.js +0 -137
  226. data/node_modules/process-nextick-args/index.js +0 -44
  227. data/node_modules/process-nextick-args/license.md +0 -19
  228. data/node_modules/process-nextick-args/package.json +0 -25
  229. data/node_modules/process-nextick-args/readme.md +0 -18
  230. data/node_modules/progress/CHANGELOG.md +0 -115
  231. data/node_modules/progress/LICENSE +0 -22
  232. data/node_modules/progress/Makefile +0 -8
  233. data/node_modules/progress/README.md +0 -146
  234. data/node_modules/progress/index.js +0 -1
  235. data/node_modules/progress/lib/node-progress.js +0 -231
  236. data/node_modules/progress/package.json +0 -25
  237. data/node_modules/proxy-from-env/README.md +0 -131
  238. data/node_modules/proxy-from-env/index.js +0 -103
  239. data/node_modules/proxy-from-env/package.json +0 -35
  240. data/node_modules/proxy-from-env/test.js +0 -393
  241. data/node_modules/puppeteer/CONTRIBUTING.md +0 -206
  242. data/node_modules/puppeteer/DeviceDescriptors.js +0 -704
  243. data/node_modules/puppeteer/LICENSE +0 -202
  244. data/node_modules/puppeteer/README.md +0 -306
  245. data/node_modules/puppeteer/index.js +0 -28
  246. data/node_modules/puppeteer/install.js +0 -122
  247. data/node_modules/puppeteer/lib/Browser.js +0 -186
  248. data/node_modules/puppeteer/lib/BrowserFetcher.js +0 -279
  249. data/node_modules/puppeteer/lib/Connection.js +0 -246
  250. data/node_modules/puppeteer/lib/Coverage.js +0 -301
  251. data/node_modules/puppeteer/lib/Dialog.js +0 -84
  252. data/node_modules/puppeteer/lib/ElementHandle.js +0 -328
  253. data/node_modules/puppeteer/lib/EmulationManager.js +0 -89
  254. data/node_modules/puppeteer/lib/ExecutionContext.js +0 -232
  255. data/node_modules/puppeteer/lib/FrameManager.js +0 -997
  256. data/node_modules/puppeteer/lib/Input.js +0 -309
  257. data/node_modules/puppeteer/lib/Launcher.js +0 -310
  258. data/node_modules/puppeteer/lib/Multimap.js +0 -95
  259. data/node_modules/puppeteer/lib/NavigatorWatcher.js +0 -137
  260. data/node_modules/puppeteer/lib/NetworkManager.js +0 -796
  261. data/node_modules/puppeteer/lib/Page.js +0 -1098
  262. data/node_modules/puppeteer/lib/Pipe.js +0 -69
  263. data/node_modules/puppeteer/lib/Puppeteer.js +0 -60
  264. data/node_modules/puppeteer/lib/Target.js +0 -88
  265. data/node_modules/puppeteer/lib/TaskQueue.js +0 -17
  266. data/node_modules/puppeteer/lib/Tracing.js +0 -99
  267. data/node_modules/puppeteer/lib/USKeyboardLayout.js +0 -281
  268. data/node_modules/puppeteer/lib/helper.js +0 -248
  269. data/node_modules/puppeteer/node6/lib/Browser.js +0 -394
  270. data/node_modules/puppeteer/node6/lib/BrowserFetcher.js +0 -357
  271. data/node_modules/puppeteer/node6/lib/Connection.js +0 -350
  272. data/node_modules/puppeteer/node6/lib/Coverage.js +0 -561
  273. data/node_modules/puppeteer/node6/lib/Dialog.js +0 -136
  274. data/node_modules/puppeteer/node6/lib/ElementHandle.js +0 -796
  275. data/node_modules/puppeteer/node6/lib/EmulationManager.js +0 -115
  276. data/node_modules/puppeteer/node6/lib/ExecutionContext.js +0 -414
  277. data/node_modules/puppeteer/node6/lib/FrameManager.js +0 -1621
  278. data/node_modules/puppeteer/node6/lib/Input.js +0 -569
  279. data/node_modules/puppeteer/node6/lib/Launcher.js +0 -362
  280. data/node_modules/puppeteer/node6/lib/Multimap.js +0 -95
  281. data/node_modules/puppeteer/node6/lib/NavigatorWatcher.js +0 -163
  282. data/node_modules/puppeteer/node6/lib/NetworkManager.js +0 -1108
  283. data/node_modules/puppeteer/node6/lib/Page.js +0 -2242
  284. data/node_modules/puppeteer/node6/lib/Pipe.js +0 -69
  285. data/node_modules/puppeteer/node6/lib/Puppeteer.js +0 -60
  286. data/node_modules/puppeteer/node6/lib/Target.js +0 -114
  287. data/node_modules/puppeteer/node6/lib/TaskQueue.js +0 -17
  288. data/node_modules/puppeteer/node6/lib/Tracing.js +0 -177
  289. data/node_modules/puppeteer/node6/lib/USKeyboardLayout.js +0 -281
  290. data/node_modules/puppeteer/node6/lib/helper.js +0 -274
  291. data/node_modules/puppeteer/package.json +0 -61
  292. data/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  293. data/node_modules/readable-stream/GOVERNANCE.md +0 -136
  294. data/node_modules/readable-stream/LICENSE +0 -47
  295. data/node_modules/readable-stream/README.md +0 -58
  296. data/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  297. data/node_modules/readable-stream/duplex-browser.js +0 -1
  298. data/node_modules/readable-stream/duplex.js +0 -1
  299. data/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
  300. data/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
  301. data/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
  302. data/node_modules/readable-stream/lib/_stream_transform.js +0 -214
  303. data/node_modules/readable-stream/lib/_stream_writable.js +0 -687
  304. data/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -79
  305. data/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -74
  306. data/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  307. data/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  308. data/node_modules/readable-stream/package.json +0 -52
  309. data/node_modules/readable-stream/passthrough.js +0 -1
  310. data/node_modules/readable-stream/readable-browser.js +0 -7
  311. data/node_modules/readable-stream/readable.js +0 -19
  312. data/node_modules/readable-stream/transform.js +0 -1
  313. data/node_modules/readable-stream/writable-browser.js +0 -1
  314. data/node_modules/readable-stream/writable.js +0 -8
  315. data/node_modules/rimraf/LICENSE +0 -15
  316. data/node_modules/rimraf/README.md +0 -101
  317. data/node_modules/rimraf/bin.js +0 -50
  318. data/node_modules/rimraf/package.json +0 -26
  319. data/node_modules/rimraf/rimraf.js +0 -364
  320. data/node_modules/safe-buffer/LICENSE +0 -21
  321. data/node_modules/safe-buffer/README.md +0 -584
  322. data/node_modules/safe-buffer/index.d.ts +0 -187
  323. data/node_modules/safe-buffer/index.js +0 -62
  324. data/node_modules/safe-buffer/package.json +0 -37
  325. data/node_modules/string_decoder/LICENSE +0 -48
  326. data/node_modules/string_decoder/README.md +0 -47
  327. data/node_modules/string_decoder/lib/string_decoder.js +0 -296
  328. data/node_modules/string_decoder/package.json +0 -31
  329. data/node_modules/typedarray/LICENSE +0 -35
  330. data/node_modules/typedarray/example/tarray.js +0 -4
  331. data/node_modules/typedarray/index.js +0 -630
  332. data/node_modules/typedarray/package.json +0 -55
  333. data/node_modules/typedarray/readme.markdown +0 -61
  334. data/node_modules/typedarray/test/server/undef_globals.js +0 -19
  335. data/node_modules/typedarray/test/tarray.js +0 -10
  336. data/node_modules/ultron/LICENSE +0 -22
  337. data/node_modules/ultron/README.md +0 -113
  338. data/node_modules/ultron/index.js +0 -136
  339. data/node_modules/ultron/package.json +0 -41
  340. data/node_modules/util-deprecate/History.md +0 -16
  341. data/node_modules/util-deprecate/LICENSE +0 -24
  342. data/node_modules/util-deprecate/README.md +0 -53
  343. data/node_modules/util-deprecate/browser.js +0 -67
  344. data/node_modules/util-deprecate/node.js +0 -6
  345. data/node_modules/util-deprecate/package.json +0 -27
  346. data/node_modules/wrappy/LICENSE +0 -15
  347. data/node_modules/wrappy/README.md +0 -36
  348. data/node_modules/wrappy/package.json +0 -29
  349. data/node_modules/wrappy/wrappy.js +0 -33
  350. data/node_modules/ws/LICENSE +0 -21
  351. data/node_modules/ws/README.md +0 -341
  352. data/node_modules/ws/index.js +0 -15
  353. data/node_modules/ws/lib/BufferUtil.js +0 -71
  354. data/node_modules/ws/lib/Constants.js +0 -10
  355. data/node_modules/ws/lib/ErrorCodes.js +0 -28
  356. data/node_modules/ws/lib/EventTarget.js +0 -151
  357. data/node_modules/ws/lib/Extensions.js +0 -203
  358. data/node_modules/ws/lib/PerMessageDeflate.js +0 -507
  359. data/node_modules/ws/lib/Receiver.js +0 -553
  360. data/node_modules/ws/lib/Sender.js +0 -412
  361. data/node_modules/ws/lib/Validation.js +0 -17
  362. data/node_modules/ws/lib/WebSocket.js +0 -717
  363. data/node_modules/ws/lib/WebSocketServer.js +0 -326
  364. data/node_modules/ws/package.json +0 -46
  365. data/node_modules/yauzl/LICENSE +0 -21
  366. data/node_modules/yauzl/README.md +0 -467
  367. data/node_modules/yauzl/index.js +0 -626
  368. data/node_modules/yauzl/package.json +0 -36
  369. data/package.json +0 -5
  370. data/yarn.lock +0 -240
@@ -1,206 +0,0 @@
1
- # How to Contribute
2
-
3
- First of all, thank you for your interest in Puppeteer!
4
- We'd love to accept your patches and contributions!
5
-
6
- ## Contributor License Agreement
7
-
8
- Contributions to this project must be accompanied by a Contributor License
9
- Agreement. You (or your employer) retain the copyright to your contribution,
10
- this simply gives us permission to use and redistribute your contributions as
11
- part of the project. Head over to <https://cla.developers.google.com/> to see
12
- your current agreements on file or to sign a new one.
13
-
14
- You generally only need to submit a CLA once, so if you've already submitted one
15
- (even if it was for a different project), you probably don't need to do it
16
- again.
17
-
18
- ## Getting setup
19
-
20
- 1. Clone this repository
21
-
22
- ```bash
23
- git clone https://github.com/GoogleChrome/puppeteer
24
- cd puppeteer
25
- ```
26
-
27
- 2. Install dependencies
28
-
29
- ```bash
30
- npm install
31
- ```
32
-
33
- ## Code reviews
34
-
35
- All submissions, including submissions by project members, require review. We
36
- use GitHub pull requests for this purpose. Consult
37
- [GitHub Help](https://help.github.com/articles/about-pull-requests/) for more
38
- information on using pull requests.
39
-
40
- ## Code Style
41
-
42
- - coding style is fully defined in [.eslintrc](https://github.com/GoogleChrome/puppeteer/blob/master/.eslintrc.js)
43
- - code should be annotated with [closure annotations](https://github.com/google/closure-compiler/wiki/Annotating-JavaScript-for-the-Closure-Compiler)
44
- - comments should be generally avoided. If the code would not be understood without comments, consider re-writing the code to make it self-explanatory
45
-
46
- To run code linter, use:
47
-
48
- ```bash
49
- npm run lint
50
- ```
51
-
52
- ## API guidelines
53
-
54
- When authoring new API methods, consider the following:
55
- - expose as little information as needed. When in doubt, don’t expose new information
56
- - methods are used in favor of getters/setters
57
- - the only exception is namespaces, e.g. `page.keyboard` and `page.coverage`
58
- - all string literals must be small case. This includes event names and option values
59
- - avoid adding "sugar" API (API that is trivially implementable in user-space) unless they're **very** demanded
60
-
61
- ## Commit Messages
62
-
63
- Commit messages should follow the Semantic Commit Messages format:
64
-
65
- ```
66
- label(namespace): title
67
-
68
- description
69
-
70
- footer
71
- ```
72
-
73
- 1. *label* is one of the following:
74
- - `fix` - puppeteer bug fixes
75
- - `feat` - puppeteer features
76
- - `docs` - changes to docs, e.g. `docs(api.md): ..` to change documentation
77
- - `test` - changes to puppeteer tests infrastructure
78
- - `style` - puppeteer code style: spaces/alignment/wrapping etc
79
- - `chore` - build-related work, e.g. doclint changes / travis / appveyor
80
- 2. *namespace* is put in parenthesis after label and is optional
81
- 3. *title* is a brief summary of changes
82
- 4. *description* is **optional**, new-line separated from title and is in present tense
83
- 5. *footer* is **optional**, new-line separated from *description* and contains "fixes" / "references" attribution to github issues
84
- 6. *footer* should also include "BREAKING CHANGE" if current API clients will break due to this change. It should explain what changed and how to get the old behavior.
85
-
86
- Example:
87
-
88
- ```
89
- fix(Page): fix page.pizza method
90
-
91
- This patch fixes page.pizza so that it works with iframes.
92
-
93
- Fixes #123, Fixes #234
94
-
95
- BREAKING CHANGE: page.pizza now delivers pizza at home by default.
96
- To deliver to a different location, use "deliver" option:
97
- `page.pizza({deliver: 'work'})`.
98
- ```
99
-
100
- ## Writing Documentation
101
-
102
- All public API should have a descriptive entry in the [docs/api.md](https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md). There's a [documentation linter](https://github.com/GoogleChrome/puppeteer/tree/master/utils/doclint) which makes sure documentation is aligned with the codebase.
103
-
104
- To run documentation linter, use
105
-
106
- ```bash
107
- npm run doc
108
- ```
109
-
110
- ## Adding New Dependencies
111
-
112
- For all dependencies (both installation and development):
113
- - **Do not add** a dependency if the desired functionality is easily implementable
114
- - if adding a dependency, it should be well-maintained and trustworthy
115
-
116
- A barrier for introducing new installation dependencies is especially high:
117
- - **Do not add** installation dependency unless it's critical to project success
118
-
119
- ## Writing Tests
120
-
121
- - every feature should be accompanied by a test
122
- - every public api event/method should be accompanied by a test
123
- - tests should be *hermetic*. Tests should not depend on external services.
124
- - tests should work on all three platforms: Mac, Linux and Win. This is especially important for screenshot tests.
125
-
126
- Puppeteer tests are located in [test/test.js](https://github.com/GoogleChrome/puppeteer/blob/master/test/test.js)
127
- and are written with a [TestRunner](https://github.com/GoogleChrome/puppeteer/tree/master/utils/testrunner) framework.
128
- Despite being named 'unit', these are integration tests, making sure public API methods and events work as expected.
129
-
130
- - To run all tests:
131
-
132
- ```bash
133
- npm run unit
134
- ```
135
-
136
- - To filter tests by name:
137
-
138
- ```bash
139
- npm run unit --filter=waitFor
140
- ```
141
-
142
- - To run tests in parallel, use `-j` flag:
143
-
144
- ```bash
145
- npm run unit -- -j 4
146
- ```
147
-
148
- - To run a specific test, substitute the `it` with `fit` (mnemonic rule: '*focus it*'):
149
-
150
- ```js
151
- ...
152
- // Using "fit" to run specific test
153
- fit('should work', SX(async function() {
154
- const response = await page.goto(EMPTY_PAGE);
155
- expect(response.ok).toBe(true);
156
- }))
157
- ```
158
-
159
- - To disable a specific test, substitute the `it` with `xit` (mnemonic rule: '*cross it*'):
160
-
161
- ```js
162
- ...
163
- // Using "xit" to skip specific test
164
- xit('should work', SX(async function() {
165
- const response = await page.goto(EMPTY_PAGE);
166
- expect(response.ok).toBe(true);
167
- }))
168
- ```
169
-
170
- - To run tests in non-headless mode:
171
-
172
- ```bash
173
- HEADLESS=false npm run unit
174
- ```
175
-
176
- - To run tests with custom Chromium executable:
177
-
178
- ```bash
179
- CHROME=<path-to-executable> npm run unit
180
- ```
181
-
182
- - To run tests in slow-mode:
183
-
184
- ```bash
185
- HEADLESS=false SLOW_MO=500 npm run unit
186
- ```
187
-
188
- - To debug a test, "focus" a test first and then run:
189
-
190
- ```bash
191
- node --inspect-brk test/test.js
192
- ```
193
-
194
- ## Public API Coverage
195
-
196
- Every public API method or event should be called at least once in tests. To ensure this, there's a coverage command which tracks calls to public API and reports back if some methods/events were not called.
197
-
198
- Run coverage:
199
-
200
- ```bash
201
- npm run coverage
202
- ```
203
-
204
- ## Debugging Puppeteer
205
-
206
- See [Debugging Tips](README.md#debugging-tips) in the readme
@@ -1,704 +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
- module.exports = [
18
- {
19
- 'name': 'Blackberry PlayBook',
20
- 'userAgent': 'Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML like Gecko) Version/7.2.1.0 Safari/536.2+',
21
- 'viewport': {
22
- 'width': 600,
23
- 'height': 1024,
24
- 'deviceScaleFactor': 1,
25
- 'isMobile': true,
26
- 'hasTouch': true,
27
- 'isLandscape': false
28
- }
29
- },
30
- {
31
- 'name': 'Blackberry PlayBook landscape',
32
- 'userAgent': 'Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML like Gecko) Version/7.2.1.0 Safari/536.2+',
33
- 'viewport': {
34
- 'width': 1024,
35
- 'height': 600,
36
- 'deviceScaleFactor': 1,
37
- 'isMobile': true,
38
- 'hasTouch': true,
39
- 'isLandscape': true
40
- }
41
- },
42
- {
43
- 'name': 'BlackBerry Z30',
44
- 'userAgent': 'Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/10.0.9.2372 Mobile Safari/537.10+',
45
- 'viewport': {
46
- 'width': 360,
47
- 'height': 640,
48
- 'deviceScaleFactor': 2,
49
- 'isMobile': true,
50
- 'hasTouch': true,
51
- 'isLandscape': false
52
- }
53
- },
54
- {
55
- 'name': 'BlackBerry Z30 landscape',
56
- 'userAgent': 'Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/10.0.9.2372 Mobile Safari/537.10+',
57
- 'viewport': {
58
- 'width': 640,
59
- 'height': 360,
60
- 'deviceScaleFactor': 2,
61
- 'isMobile': true,
62
- 'hasTouch': true,
63
- 'isLandscape': true
64
- }
65
- },
66
- {
67
- 'name': 'Galaxy Note 3',
68
- 'userAgent': 'Mozilla/5.0 (Linux; U; Android 4.3; en-us; SM-N900T Build/JSS15J) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
69
- 'viewport': {
70
- 'width': 360,
71
- 'height': 640,
72
- 'deviceScaleFactor': 3,
73
- 'isMobile': true,
74
- 'hasTouch': true,
75
- 'isLandscape': false
76
- }
77
- },
78
- {
79
- 'name': 'Galaxy Note 3 landscape',
80
- 'userAgent': 'Mozilla/5.0 (Linux; U; Android 4.3; en-us; SM-N900T Build/JSS15J) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
81
- 'viewport': {
82
- 'width': 640,
83
- 'height': 360,
84
- 'deviceScaleFactor': 3,
85
- 'isMobile': true,
86
- 'hasTouch': true,
87
- 'isLandscape': true
88
- }
89
- },
90
- {
91
- 'name': 'Galaxy Note II',
92
- 'userAgent': 'Mozilla/5.0 (Linux; U; Android 4.1; en-us; GT-N7100 Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
93
- 'viewport': {
94
- 'width': 360,
95
- 'height': 640,
96
- 'deviceScaleFactor': 2,
97
- 'isMobile': true,
98
- 'hasTouch': true,
99
- 'isLandscape': false
100
- }
101
- },
102
- {
103
- 'name': 'Galaxy Note II landscape',
104
- 'userAgent': 'Mozilla/5.0 (Linux; U; Android 4.1; en-us; GT-N7100 Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
105
- 'viewport': {
106
- 'width': 640,
107
- 'height': 360,
108
- 'deviceScaleFactor': 2,
109
- 'isMobile': true,
110
- 'hasTouch': true,
111
- 'isLandscape': true
112
- }
113
- },
114
- {
115
- 'name': 'Galaxy S III',
116
- 'userAgent': 'Mozilla/5.0 (Linux; U; Android 4.0; en-us; GT-I9300 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
117
- 'viewport': {
118
- 'width': 360,
119
- 'height': 640,
120
- 'deviceScaleFactor': 2,
121
- 'isMobile': true,
122
- 'hasTouch': true,
123
- 'isLandscape': false
124
- }
125
- },
126
- {
127
- 'name': 'Galaxy S III landscape',
128
- 'userAgent': 'Mozilla/5.0 (Linux; U; Android 4.0; en-us; GT-I9300 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
129
- 'viewport': {
130
- 'width': 640,
131
- 'height': 360,
132
- 'deviceScaleFactor': 2,
133
- 'isMobile': true,
134
- 'hasTouch': true,
135
- 'isLandscape': true
136
- }
137
- },
138
- {
139
- 'name': 'Galaxy S5',
140
- 'userAgent': 'Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36',
141
- 'viewport': {
142
- 'width': 360,
143
- 'height': 640,
144
- 'deviceScaleFactor': 3,
145
- 'isMobile': true,
146
- 'hasTouch': true,
147
- 'isLandscape': false
148
- }
149
- },
150
- {
151
- 'name': 'Galaxy S5 landscape',
152
- 'userAgent': 'Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36',
153
- 'viewport': {
154
- 'width': 640,
155
- 'height': 360,
156
- 'deviceScaleFactor': 3,
157
- 'isMobile': true,
158
- 'hasTouch': true,
159
- 'isLandscape': true
160
- }
161
- },
162
- {
163
- 'name': 'iPad',
164
- 'userAgent': 'Mozilla/5.0 (iPad; CPU OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1',
165
- 'viewport': {
166
- 'width': 768,
167
- 'height': 1024,
168
- 'deviceScaleFactor': 2,
169
- 'isMobile': true,
170
- 'hasTouch': true,
171
- 'isLandscape': false
172
- }
173
- },
174
- {
175
- 'name': 'iPad landscape',
176
- 'userAgent': 'Mozilla/5.0 (iPad; CPU OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1',
177
- 'viewport': {
178
- 'width': 1024,
179
- 'height': 768,
180
- 'deviceScaleFactor': 2,
181
- 'isMobile': true,
182
- 'hasTouch': true,
183
- 'isLandscape': true
184
- }
185
- },
186
- {
187
- 'name': 'iPad Mini',
188
- 'userAgent': 'Mozilla/5.0 (iPad; CPU OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1',
189
- 'viewport': {
190
- 'width': 768,
191
- 'height': 1024,
192
- 'deviceScaleFactor': 2,
193
- 'isMobile': true,
194
- 'hasTouch': true,
195
- 'isLandscape': false
196
- }
197
- },
198
- {
199
- 'name': 'iPad Mini landscape',
200
- 'userAgent': 'Mozilla/5.0 (iPad; CPU OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1',
201
- 'viewport': {
202
- 'width': 1024,
203
- 'height': 768,
204
- 'deviceScaleFactor': 2,
205
- 'isMobile': true,
206
- 'hasTouch': true,
207
- 'isLandscape': true
208
- }
209
- },
210
- {
211
- 'name': 'iPad Pro',
212
- 'userAgent': 'Mozilla/5.0 (iPad; CPU OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1',
213
- 'viewport': {
214
- 'width': 1024,
215
- 'height': 1366,
216
- 'deviceScaleFactor': 2,
217
- 'isMobile': true,
218
- 'hasTouch': true,
219
- 'isLandscape': false
220
- }
221
- },
222
- {
223
- 'name': 'iPad Pro landscape',
224
- 'userAgent': 'Mozilla/5.0 (iPad; CPU OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1',
225
- 'viewport': {
226
- 'width': 1366,
227
- 'height': 1024,
228
- 'deviceScaleFactor': 2,
229
- 'isMobile': true,
230
- 'hasTouch': true,
231
- 'isLandscape': true
232
- }
233
- },
234
- {
235
- 'name': 'iPhone 4',
236
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1',
237
- 'viewport': {
238
- 'width': 320,
239
- 'height': 480,
240
- 'deviceScaleFactor': 2,
241
- 'isMobile': true,
242
- 'hasTouch': true,
243
- 'isLandscape': false
244
- }
245
- },
246
- {
247
- 'name': 'iPhone 4 landscape',
248
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1',
249
- 'viewport': {
250
- 'width': 480,
251
- 'height': 320,
252
- 'deviceScaleFactor': 2,
253
- 'isMobile': true,
254
- 'hasTouch': true,
255
- 'isLandscape': true
256
- }
257
- },
258
- {
259
- 'name': 'iPhone 5',
260
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1',
261
- 'viewport': {
262
- 'width': 320,
263
- 'height': 568,
264
- 'deviceScaleFactor': 2,
265
- 'isMobile': true,
266
- 'hasTouch': true,
267
- 'isLandscape': false
268
- }
269
- },
270
- {
271
- 'name': 'iPhone 5 landscape',
272
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1',
273
- 'viewport': {
274
- 'width': 568,
275
- 'height': 320,
276
- 'deviceScaleFactor': 2,
277
- 'isMobile': true,
278
- 'hasTouch': true,
279
- 'isLandscape': true
280
- }
281
- },
282
- {
283
- 'name': 'iPhone 6',
284
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1',
285
- 'viewport': {
286
- 'width': 375,
287
- 'height': 667,
288
- 'deviceScaleFactor': 2,
289
- 'isMobile': true,
290
- 'hasTouch': true,
291
- 'isLandscape': false
292
- }
293
- },
294
- {
295
- 'name': 'iPhone 6 landscape',
296
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1',
297
- 'viewport': {
298
- 'width': 667,
299
- 'height': 375,
300
- 'deviceScaleFactor': 2,
301
- 'isMobile': true,
302
- 'hasTouch': true,
303
- 'isLandscape': true
304
- }
305
- },
306
- {
307
- 'name': 'iPhone 6 Plus',
308
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1',
309
- 'viewport': {
310
- 'width': 414,
311
- 'height': 736,
312
- 'deviceScaleFactor': 3,
313
- 'isMobile': true,
314
- 'hasTouch': true,
315
- 'isLandscape': false
316
- }
317
- },
318
- {
319
- 'name': 'iPhone 6 Plus landscape',
320
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1',
321
- 'viewport': {
322
- 'width': 736,
323
- 'height': 414,
324
- 'deviceScaleFactor': 3,
325
- 'isMobile': true,
326
- 'hasTouch': true,
327
- 'isLandscape': true
328
- }
329
- },
330
- {
331
- 'name': 'iPhone X',
332
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
333
- 'viewport': {
334
- 'width': 375,
335
- 'height': 812,
336
- 'deviceScaleFactor': 3,
337
- 'isMobile': true,
338
- 'hasTouch': true,
339
- 'isLandscape': false
340
- }
341
- },
342
- {
343
- 'name': 'iPhone X landscape',
344
- 'userAgent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
345
- 'viewport': {
346
- 'width': 812,
347
- 'height': 375,
348
- 'deviceScaleFactor': 3,
349
- 'isMobile': true,
350
- 'hasTouch': true,
351
- 'isLandscape': true
352
- }
353
- },
354
- {
355
- 'name': 'Kindle Fire HDX',
356
- 'userAgent': 'Mozilla/5.0 (Linux; U; en-us; KFAPWI Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.13 Safari/535.19 Silk-Accelerated=true',
357
- 'viewport': {
358
- 'width': 800,
359
- 'height': 1280,
360
- 'deviceScaleFactor': 2,
361
- 'isMobile': true,
362
- 'hasTouch': true,
363
- 'isLandscape': false
364
- }
365
- },
366
- {
367
- 'name': 'Kindle Fire HDX landscape',
368
- 'userAgent': 'Mozilla/5.0 (Linux; U; en-us; KFAPWI Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.13 Safari/535.19 Silk-Accelerated=true',
369
- 'viewport': {
370
- 'width': 1280,
371
- 'height': 800,
372
- 'deviceScaleFactor': 2,
373
- 'isMobile': true,
374
- 'hasTouch': true,
375
- 'isLandscape': true
376
- }
377
- },
378
- {
379
- 'name': 'LG Optimus L70',
380
- 'userAgent': 'Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; LGMS323 Build/KOT49I.MS32310c) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/%s Mobile Safari/537.36',
381
- 'viewport': {
382
- 'width': 384,
383
- 'height': 640,
384
- 'deviceScaleFactor': 1.25,
385
- 'isMobile': true,
386
- 'hasTouch': true,
387
- 'isLandscape': false
388
- }
389
- },
390
- {
391
- 'name': 'LG Optimus L70 landscape',
392
- 'userAgent': 'Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; LGMS323 Build/KOT49I.MS32310c) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/%s Mobile Safari/537.36',
393
- 'viewport': {
394
- 'width': 640,
395
- 'height': 384,
396
- 'deviceScaleFactor': 1.25,
397
- 'isMobile': true,
398
- 'hasTouch': true,
399
- 'isLandscape': true
400
- }
401
- },
402
- {
403
- 'name': 'Microsoft Lumia 550',
404
- 'userAgent': 'Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 550) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/14.14263',
405
- 'viewport': {
406
- 'width': 640,
407
- 'height': 360,
408
- 'deviceScaleFactor': 2,
409
- 'isMobile': true,
410
- 'hasTouch': true,
411
- 'isLandscape': false
412
- }
413
- },
414
- {
415
- 'name': 'Microsoft Lumia 950',
416
- 'userAgent': 'Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/14.14263',
417
- 'viewport': {
418
- 'width': 360,
419
- 'height': 640,
420
- 'deviceScaleFactor': 4,
421
- 'isMobile': true,
422
- 'hasTouch': true,
423
- 'isLandscape': false
424
- }
425
- },
426
- {
427
- 'name': 'Microsoft Lumia 950 landscape',
428
- 'userAgent': 'Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/14.14263',
429
- 'viewport': {
430
- 'width': 640,
431
- 'height': 360,
432
- 'deviceScaleFactor': 4,
433
- 'isMobile': true,
434
- 'hasTouch': true,
435
- 'isLandscape': true
436
- }
437
- },
438
- {
439
- 'name': 'Nexus 10',
440
- 'userAgent': 'Mozilla/5.0 (Linux; Android 4.3; Nexus 10 Build/JSS15Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Safari/537.36',
441
- 'viewport': {
442
- 'width': 800,
443
- 'height': 1280,
444
- 'deviceScaleFactor': 2,
445
- 'isMobile': true,
446
- 'hasTouch': true,
447
- 'isLandscape': false
448
- }
449
- },
450
- {
451
- 'name': 'Nexus 10 landscape',
452
- 'userAgent': 'Mozilla/5.0 (Linux; Android 4.3; Nexus 10 Build/JSS15Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Safari/537.36',
453
- 'viewport': {
454
- 'width': 1280,
455
- 'height': 800,
456
- 'deviceScaleFactor': 2,
457
- 'isMobile': true,
458
- 'hasTouch': true,
459
- 'isLandscape': true
460
- }
461
- },
462
- {
463
- 'name': 'Nexus 4',
464
- 'userAgent': 'Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36',
465
- 'viewport': {
466
- 'width': 384,
467
- 'height': 640,
468
- 'deviceScaleFactor': 2,
469
- 'isMobile': true,
470
- 'hasTouch': true,
471
- 'isLandscape': false
472
- }
473
- },
474
- {
475
- 'name': 'Nexus 4 landscape',
476
- 'userAgent': 'Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36',
477
- 'viewport': {
478
- 'width': 640,
479
- 'height': 384,
480
- 'deviceScaleFactor': 2,
481
- 'isMobile': true,
482
- 'hasTouch': true,
483
- 'isLandscape': true
484
- }
485
- },
486
- {
487
- 'name': 'Nexus 5',
488
- 'userAgent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36',
489
- 'viewport': {
490
- 'width': 360,
491
- 'height': 640,
492
- 'deviceScaleFactor': 3,
493
- 'isMobile': true,
494
- 'hasTouch': true,
495
- 'isLandscape': false
496
- }
497
- },
498
- {
499
- 'name': 'Nexus 5 landscape',
500
- 'userAgent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36',
501
- 'viewport': {
502
- 'width': 640,
503
- 'height': 360,
504
- 'deviceScaleFactor': 3,
505
- 'isMobile': true,
506
- 'hasTouch': true,
507
- 'isLandscape': true
508
- }
509
- },
510
- {
511
- 'name': 'Nexus 5X',
512
- 'userAgent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36',
513
- 'viewport': {
514
- 'width': 412,
515
- 'height': 732,
516
- 'deviceScaleFactor': 2.625,
517
- 'isMobile': true,
518
- 'hasTouch': true,
519
- 'isLandscape': false
520
- }
521
- },
522
- {
523
- 'name': 'Nexus 5X landscape',
524
- 'userAgent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36',
525
- 'viewport': {
526
- 'width': 732,
527
- 'height': 412,
528
- 'deviceScaleFactor': 2.625,
529
- 'isMobile': true,
530
- 'hasTouch': true,
531
- 'isLandscape': true
532
- }
533
- },
534
- {
535
- 'name': 'Nexus 6',
536
- 'userAgent': 'Mozilla/5.0 (Linux; Android 5.1.1; Nexus 6 Build/LYZ28E) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36',
537
- 'viewport': {
538
- 'width': 412,
539
- 'height': 732,
540
- 'deviceScaleFactor': 3.5,
541
- 'isMobile': true,
542
- 'hasTouch': true,
543
- 'isLandscape': false
544
- }
545
- },
546
- {
547
- 'name': 'Nexus 6 landscape',
548
- 'userAgent': 'Mozilla/5.0 (Linux; Android 5.1.1; Nexus 6 Build/LYZ28E) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36',
549
- 'viewport': {
550
- 'width': 732,
551
- 'height': 412,
552
- 'deviceScaleFactor': 3.5,
553
- 'isMobile': true,
554
- 'hasTouch': true,
555
- 'isLandscape': true
556
- }
557
- },
558
- {
559
- 'name': 'Nexus 6P',
560
- 'userAgent': 'Mozilla/5.0 (Linux; Android 5.1.1; Nexus 6 Build/LYZ28E) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36',
561
- 'viewport': {
562
- 'width': 412,
563
- 'height': 732,
564
- 'deviceScaleFactor': 3.5,
565
- 'isMobile': true,
566
- 'hasTouch': true,
567
- 'isLandscape': false
568
- }
569
- },
570
- {
571
- 'name': 'Nexus 6P landscape',
572
- 'userAgent': 'Mozilla/5.0 (Linux; Android 5.1.1; Nexus 6 Build/LYZ28E) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36',
573
- 'viewport': {
574
- 'width': 732,
575
- 'height': 412,
576
- 'deviceScaleFactor': 3.5,
577
- 'isMobile': true,
578
- 'hasTouch': true,
579
- 'isLandscape': true
580
- }
581
- },
582
- {
583
- 'name': 'Nexus 7',
584
- 'userAgent': 'Mozilla/5.0 (Linux; Android 4.3; Nexus 7 Build/JSS15Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Safari/537.36',
585
- 'viewport': {
586
- 'width': 600,
587
- 'height': 960,
588
- 'deviceScaleFactor': 2,
589
- 'isMobile': true,
590
- 'hasTouch': true,
591
- 'isLandscape': false
592
- }
593
- },
594
- {
595
- 'name': 'Nexus 7 landscape',
596
- 'userAgent': 'Mozilla/5.0 (Linux; Android 4.3; Nexus 7 Build/JSS15Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Safari/537.36',
597
- 'viewport': {
598
- 'width': 960,
599
- 'height': 600,
600
- 'deviceScaleFactor': 2,
601
- 'isMobile': true,
602
- 'hasTouch': true,
603
- 'isLandscape': true
604
- }
605
- },
606
- {
607
- 'name': 'Nokia Lumia 520',
608
- 'userAgent': 'Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 520)',
609
- 'viewport': {
610
- 'width': 320,
611
- 'height': 533,
612
- 'deviceScaleFactor': 1.5,
613
- 'isMobile': true,
614
- 'hasTouch': true,
615
- 'isLandscape': false
616
- }
617
- },
618
- {
619
- 'name': 'Nokia Lumia 520 landscape',
620
- 'userAgent': 'Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 520)',
621
- 'viewport': {
622
- 'width': 533,
623
- 'height': 320,
624
- 'deviceScaleFactor': 1.5,
625
- 'isMobile': true,
626
- 'hasTouch': true,
627
- 'isLandscape': true
628
- }
629
- },
630
- {
631
- 'name': 'Nokia N9',
632
- 'userAgent': 'Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13',
633
- 'viewport': {
634
- 'width': 480,
635
- 'height': 854,
636
- 'deviceScaleFactor': 1,
637
- 'isMobile': true,
638
- 'hasTouch': true,
639
- 'isLandscape': false
640
- }
641
- },
642
- {
643
- 'name': 'Nokia N9 landscape',
644
- 'userAgent': 'Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13',
645
- 'viewport': {
646
- 'width': 854,
647
- 'height': 480,
648
- 'deviceScaleFactor': 1,
649
- 'isMobile': true,
650
- 'hasTouch': true,
651
- 'isLandscape': true
652
- }
653
- },
654
- {
655
- 'name': 'Pixel 2',
656
- 'userAgent': 'Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Mobile Safari/537.36',
657
- 'viewport': {
658
- 'width': 411,
659
- 'height': 731,
660
- 'deviceScaleFactor': 2.625,
661
- 'isMobile': true,
662
- 'hasTouch': true,
663
- 'isLandscape': false
664
- }
665
- },
666
- {
667
- 'name': 'Pixel 2 landscape',
668
- 'userAgent': 'Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Mobile Safari/537.36',
669
- 'viewport': {
670
- 'width': 731,
671
- 'height': 411,
672
- 'deviceScaleFactor': 2.625,
673
- 'isMobile': true,
674
- 'hasTouch': true,
675
- 'isLandscape': true
676
- }
677
- },
678
- {
679
- 'name': 'Pixel 2 XL',
680
- 'userAgent': 'Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Mobile Safari/537.36',
681
- 'viewport': {
682
- 'width': 411,
683
- 'height': 823,
684
- 'deviceScaleFactor': 3.5,
685
- 'isMobile': true,
686
- 'hasTouch': true,
687
- 'isLandscape': false
688
- }
689
- },
690
- {
691
- 'name': 'Pixel 2 XL landscape',
692
- 'userAgent': 'Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Mobile Safari/537.36',
693
- 'viewport': {
694
- 'width': 823,
695
- 'height': 411,
696
- 'deviceScaleFactor': 3.5,
697
- 'isMobile': true,
698
- 'hasTouch': true,
699
- 'isLandscape': true
700
- }
701
- }
702
- ];
703
- for (const device of module.exports)
704
- module.exports[device.name] = device;