es6-crawler-detect 3.2.0 → 4.0.0-beta.1

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 (361) hide show
  1. package/.babelrc +1 -1
  2. package/.mocharc.json +5 -0
  3. package/README.md +1 -0
  4. package/dist/main.bundle.js +1 -1
  5. package/eslint.config.mjs +62 -0
  6. package/example/node/package.json +1 -1
  7. package/example/node/server.js +38 -32
  8. package/example/node/yarn.lock +222 -99
  9. package/package.json +30 -25
  10. package/src/index.js +20 -14
  11. package/src/index.ts +18 -0
  12. package/src/lib/crawler/crawlers.js +9 -12
  13. package/src/lib/crawler/crawlers.ts +1397 -0
  14. package/src/lib/crawler/exclusions.js +7 -11
  15. package/src/lib/crawler/exclusions.ts +56 -0
  16. package/src/lib/crawler/headers.js +6 -10
  17. package/src/lib/crawler/headers.ts +18 -0
  18. package/src/lib/crawler/provider.js +1 -10
  19. package/src/lib/crawler/provider.ts +3 -0
  20. package/src/lib/crawler.js +61 -98
  21. package/src/lib/crawler.ts +128 -0
  22. package/src/types.js +2 -0
  23. package/src/types.ts +15 -0
  24. package/test/lib/crawler.spec.js +149 -0
  25. package/test/lib/crawler.spec.ts +116 -0
  26. package/test/lib/database/crawlers.txt +3651 -0
  27. package/test/lib/database/devices.txt +165636 -0
  28. package/tsconfig.json +16 -0
  29. package/webpack.common.js +20 -20
  30. package/webpack.dev.js +7 -7
  31. package/webpack.prod.js +14 -14
  32. package/.eslintignore +0 -6
  33. package/.eslintrc.json +0 -30
  34. package/example/node/node_modules/.bin/mime +0 -15
  35. package/example/node/node_modules/.bin/mime.cmd +0 -7
  36. package/example/node/node_modules/.yarn-integrity +0 -67
  37. package/example/node/node_modules/accepts/HISTORY.md +0 -236
  38. package/example/node/node_modules/accepts/LICENSE +0 -23
  39. package/example/node/node_modules/accepts/README.md +0 -142
  40. package/example/node/node_modules/accepts/index.js +0 -238
  41. package/example/node/node_modules/accepts/package.json +0 -47
  42. package/example/node/node_modules/array-flatten/LICENSE +0 -21
  43. package/example/node/node_modules/array-flatten/README.md +0 -43
  44. package/example/node/node_modules/array-flatten/array-flatten.js +0 -64
  45. package/example/node/node_modules/array-flatten/package.json +0 -39
  46. package/example/node/node_modules/body-parser/HISTORY.md +0 -624
  47. package/example/node/node_modules/body-parser/LICENSE +0 -23
  48. package/example/node/node_modules/body-parser/README.md +0 -456
  49. package/example/node/node_modules/body-parser/index.js +0 -157
  50. package/example/node/node_modules/body-parser/lib/read.js +0 -181
  51. package/example/node/node_modules/body-parser/lib/types/json.js +0 -230
  52. package/example/node/node_modules/body-parser/lib/types/raw.js +0 -101
  53. package/example/node/node_modules/body-parser/lib/types/text.js +0 -121
  54. package/example/node/node_modules/body-parser/lib/types/urlencoded.js +0 -284
  55. package/example/node/node_modules/body-parser/package.json +0 -52
  56. package/example/node/node_modules/bytes/History.md +0 -92
  57. package/example/node/node_modules/bytes/LICENSE +0 -23
  58. package/example/node/node_modules/bytes/Readme.md +0 -152
  59. package/example/node/node_modules/bytes/index.js +0 -166
  60. package/example/node/node_modules/bytes/package.json +0 -42
  61. package/example/node/node_modules/content-disposition/HISTORY.md +0 -60
  62. package/example/node/node_modules/content-disposition/LICENSE +0 -22
  63. package/example/node/node_modules/content-disposition/README.md +0 -142
  64. package/example/node/node_modules/content-disposition/index.js +0 -458
  65. package/example/node/node_modules/content-disposition/package.json +0 -44
  66. package/example/node/node_modules/content-type/HISTORY.md +0 -24
  67. package/example/node/node_modules/content-type/LICENSE +0 -22
  68. package/example/node/node_modules/content-type/README.md +0 -92
  69. package/example/node/node_modules/content-type/index.js +0 -222
  70. package/example/node/node_modules/content-type/package.json +0 -40
  71. package/example/node/node_modules/cookie/HISTORY.md +0 -128
  72. package/example/node/node_modules/cookie/LICENSE +0 -24
  73. package/example/node/node_modules/cookie/README.md +0 -257
  74. package/example/node/node_modules/cookie/index.js +0 -202
  75. package/example/node/node_modules/cookie/package.json +0 -40
  76. package/example/node/node_modules/cookie-signature/History.md +0 -38
  77. package/example/node/node_modules/cookie-signature/Readme.md +0 -42
  78. package/example/node/node_modules/cookie-signature/index.js +0 -51
  79. package/example/node/node_modules/cookie-signature/package.json +0 -18
  80. package/example/node/node_modules/debug/.coveralls.yml +0 -1
  81. package/example/node/node_modules/debug/.eslintrc +0 -11
  82. package/example/node/node_modules/debug/.travis.yml +0 -14
  83. package/example/node/node_modules/debug/CHANGELOG.md +0 -362
  84. package/example/node/node_modules/debug/LICENSE +0 -19
  85. package/example/node/node_modules/debug/Makefile +0 -50
  86. package/example/node/node_modules/debug/README.md +0 -312
  87. package/example/node/node_modules/debug/component.json +0 -19
  88. package/example/node/node_modules/debug/karma.conf.js +0 -70
  89. package/example/node/node_modules/debug/node.js +0 -1
  90. package/example/node/node_modules/debug/package.json +0 -49
  91. package/example/node/node_modules/debug/src/browser.js +0 -185
  92. package/example/node/node_modules/debug/src/debug.js +0 -202
  93. package/example/node/node_modules/debug/src/index.js +0 -10
  94. package/example/node/node_modules/debug/src/inspector-log.js +0 -15
  95. package/example/node/node_modules/debug/src/node.js +0 -248
  96. package/example/node/node_modules/depd/History.md +0 -96
  97. package/example/node/node_modules/depd/LICENSE +0 -22
  98. package/example/node/node_modules/depd/Readme.md +0 -280
  99. package/example/node/node_modules/depd/index.js +0 -522
  100. package/example/node/node_modules/depd/lib/browser/index.js +0 -77
  101. package/example/node/node_modules/depd/lib/compat/callsite-tostring.js +0 -103
  102. package/example/node/node_modules/depd/lib/compat/event-listener-count.js +0 -22
  103. package/example/node/node_modules/depd/lib/compat/index.js +0 -79
  104. package/example/node/node_modules/depd/package.json +0 -41
  105. package/example/node/node_modules/destroy/LICENSE +0 -22
  106. package/example/node/node_modules/destroy/README.md +0 -60
  107. package/example/node/node_modules/destroy/index.js +0 -75
  108. package/example/node/node_modules/destroy/package.json +0 -37
  109. package/example/node/node_modules/ee-first/LICENSE +0 -22
  110. package/example/node/node_modules/ee-first/README.md +0 -80
  111. package/example/node/node_modules/ee-first/index.js +0 -95
  112. package/example/node/node_modules/ee-first/package.json +0 -29
  113. package/example/node/node_modules/encodeurl/HISTORY.md +0 -14
  114. package/example/node/node_modules/encodeurl/LICENSE +0 -22
  115. package/example/node/node_modules/encodeurl/README.md +0 -128
  116. package/example/node/node_modules/encodeurl/index.js +0 -60
  117. package/example/node/node_modules/encodeurl/package.json +0 -40
  118. package/example/node/node_modules/escape-html/LICENSE +0 -24
  119. package/example/node/node_modules/escape-html/Readme.md +0 -43
  120. package/example/node/node_modules/escape-html/index.js +0 -78
  121. package/example/node/node_modules/escape-html/package.json +0 -24
  122. package/example/node/node_modules/etag/HISTORY.md +0 -83
  123. package/example/node/node_modules/etag/LICENSE +0 -22
  124. package/example/node/node_modules/etag/README.md +0 -159
  125. package/example/node/node_modules/etag/index.js +0 -131
  126. package/example/node/node_modules/etag/package.json +0 -47
  127. package/example/node/node_modules/express/History.md +0 -3510
  128. package/example/node/node_modules/express/LICENSE +0 -24
  129. package/example/node/node_modules/express/Readme.md +0 -158
  130. package/example/node/node_modules/express/index.js +0 -11
  131. package/example/node/node_modules/express/lib/application.js +0 -644
  132. package/example/node/node_modules/express/lib/express.js +0 -116
  133. package/example/node/node_modules/express/lib/middleware/init.js +0 -43
  134. package/example/node/node_modules/express/lib/middleware/query.js +0 -47
  135. package/example/node/node_modules/express/lib/request.js +0 -525
  136. package/example/node/node_modules/express/lib/response.js +0 -1147
  137. package/example/node/node_modules/express/lib/router/index.js +0 -668
  138. package/example/node/node_modules/express/lib/router/layer.js +0 -181
  139. package/example/node/node_modules/express/lib/router/route.js +0 -216
  140. package/example/node/node_modules/express/lib/utils.js +0 -302
  141. package/example/node/node_modules/express/lib/view.js +0 -182
  142. package/example/node/node_modules/express/package.json +0 -99
  143. package/example/node/node_modules/finalhandler/HISTORY.md +0 -187
  144. package/example/node/node_modules/finalhandler/LICENSE +0 -22
  145. package/example/node/node_modules/finalhandler/README.md +0 -148
  146. package/example/node/node_modules/finalhandler/index.js +0 -331
  147. package/example/node/node_modules/finalhandler/package.json +0 -45
  148. package/example/node/node_modules/forwarded/HISTORY.md +0 -21
  149. package/example/node/node_modules/forwarded/LICENSE +0 -22
  150. package/example/node/node_modules/forwarded/README.md +0 -57
  151. package/example/node/node_modules/forwarded/index.js +0 -90
  152. package/example/node/node_modules/forwarded/package.json +0 -45
  153. package/example/node/node_modules/fresh/HISTORY.md +0 -70
  154. package/example/node/node_modules/fresh/LICENSE +0 -23
  155. package/example/node/node_modules/fresh/README.md +0 -119
  156. package/example/node/node_modules/fresh/index.js +0 -137
  157. package/example/node/node_modules/fresh/package.json +0 -46
  158. package/example/node/node_modules/http-errors/HISTORY.md +0 -165
  159. package/example/node/node_modules/http-errors/LICENSE +0 -23
  160. package/example/node/node_modules/http-errors/README.md +0 -169
  161. package/example/node/node_modules/http-errors/index.js +0 -299
  162. package/example/node/node_modules/http-errors/package.json +0 -49
  163. package/example/node/node_modules/iconv-lite/Changelog.md +0 -162
  164. package/example/node/node_modules/iconv-lite/LICENSE +0 -21
  165. package/example/node/node_modules/iconv-lite/README.md +0 -156
  166. package/example/node/node_modules/iconv-lite/encodings/dbcs-codec.js +0 -555
  167. package/example/node/node_modules/iconv-lite/encodings/dbcs-data.js +0 -176
  168. package/example/node/node_modules/iconv-lite/encodings/index.js +0 -22
  169. package/example/node/node_modules/iconv-lite/encodings/internal.js +0 -188
  170. package/example/node/node_modules/iconv-lite/encodings/sbcs-codec.js +0 -72
  171. package/example/node/node_modules/iconv-lite/encodings/sbcs-data-generated.js +0 -451
  172. package/example/node/node_modules/iconv-lite/encodings/sbcs-data.js +0 -174
  173. package/example/node/node_modules/iconv-lite/encodings/tables/big5-added.json +0 -122
  174. package/example/node/node_modules/iconv-lite/encodings/tables/cp936.json +0 -264
  175. package/example/node/node_modules/iconv-lite/encodings/tables/cp949.json +0 -273
  176. package/example/node/node_modules/iconv-lite/encodings/tables/cp950.json +0 -177
  177. package/example/node/node_modules/iconv-lite/encodings/tables/eucjp.json +0 -182
  178. package/example/node/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +0 -1
  179. package/example/node/node_modules/iconv-lite/encodings/tables/gbk-added.json +0 -55
  180. package/example/node/node_modules/iconv-lite/encodings/tables/shiftjis.json +0 -125
  181. package/example/node/node_modules/iconv-lite/encodings/utf16.js +0 -177
  182. package/example/node/node_modules/iconv-lite/encodings/utf7.js +0 -290
  183. package/example/node/node_modules/iconv-lite/lib/bom-handling.js +0 -52
  184. package/example/node/node_modules/iconv-lite/lib/extend-node.js +0 -217
  185. package/example/node/node_modules/iconv-lite/lib/index.d.ts +0 -24
  186. package/example/node/node_modules/iconv-lite/lib/index.js +0 -153
  187. package/example/node/node_modules/iconv-lite/lib/streams.js +0 -121
  188. package/example/node/node_modules/iconv-lite/package.json +0 -46
  189. package/example/node/node_modules/inherits/LICENSE +0 -16
  190. package/example/node/node_modules/inherits/README.md +0 -42
  191. package/example/node/node_modules/inherits/inherits.js +0 -9
  192. package/example/node/node_modules/inherits/inherits_browser.js +0 -27
  193. package/example/node/node_modules/inherits/package.json +0 -29
  194. package/example/node/node_modules/ipaddr.js/LICENSE +0 -19
  195. package/example/node/node_modules/ipaddr.js/README.md +0 -233
  196. package/example/node/node_modules/ipaddr.js/ipaddr.min.js +0 -1
  197. package/example/node/node_modules/ipaddr.js/lib/ipaddr.js +0 -673
  198. package/example/node/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +0 -68
  199. package/example/node/node_modules/ipaddr.js/package.json +0 -35
  200. package/example/node/node_modules/media-typer/HISTORY.md +0 -22
  201. package/example/node/node_modules/media-typer/LICENSE +0 -22
  202. package/example/node/node_modules/media-typer/README.md +0 -81
  203. package/example/node/node_modules/media-typer/index.js +0 -270
  204. package/example/node/node_modules/media-typer/package.json +0 -26
  205. package/example/node/node_modules/merge-descriptors/HISTORY.md +0 -21
  206. package/example/node/node_modules/merge-descriptors/LICENSE +0 -23
  207. package/example/node/node_modules/merge-descriptors/README.md +0 -48
  208. package/example/node/node_modules/merge-descriptors/index.js +0 -60
  209. package/example/node/node_modules/merge-descriptors/package.json +0 -32
  210. package/example/node/node_modules/methods/HISTORY.md +0 -29
  211. package/example/node/node_modules/methods/LICENSE +0 -24
  212. package/example/node/node_modules/methods/README.md +0 -51
  213. package/example/node/node_modules/methods/index.js +0 -69
  214. package/example/node/node_modules/methods/package.json +0 -36
  215. package/example/node/node_modules/mime/CHANGELOG.md +0 -164
  216. package/example/node/node_modules/mime/LICENSE +0 -21
  217. package/example/node/node_modules/mime/README.md +0 -90
  218. package/example/node/node_modules/mime/cli.js +0 -8
  219. package/example/node/node_modules/mime/mime.js +0 -108
  220. package/example/node/node_modules/mime/package.json +0 -44
  221. package/example/node/node_modules/mime/src/build.js +0 -53
  222. package/example/node/node_modules/mime/src/test.js +0 -60
  223. package/example/node/node_modules/mime/types.json +0 -1
  224. package/example/node/node_modules/mime-db/HISTORY.md +0 -499
  225. package/example/node/node_modules/mime-db/LICENSE +0 -22
  226. package/example/node/node_modules/mime-db/README.md +0 -100
  227. package/example/node/node_modules/mime-db/db.json +0 -8471
  228. package/example/node/node_modules/mime-db/index.js +0 -11
  229. package/example/node/node_modules/mime-db/package.json +0 -59
  230. package/example/node/node_modules/mime-types/HISTORY.md +0 -388
  231. package/example/node/node_modules/mime-types/LICENSE +0 -23
  232. package/example/node/node_modules/mime-types/README.md +0 -113
  233. package/example/node/node_modules/mime-types/index.js +0 -188
  234. package/example/node/node_modules/mime-types/package.json +0 -44
  235. package/example/node/node_modules/ms/index.js +0 -152
  236. package/example/node/node_modules/ms/license.md +0 -21
  237. package/example/node/node_modules/ms/package.json +0 -37
  238. package/example/node/node_modules/ms/readme.md +0 -51
  239. package/example/node/node_modules/negotiator/HISTORY.md +0 -103
  240. package/example/node/node_modules/negotiator/LICENSE +0 -24
  241. package/example/node/node_modules/negotiator/README.md +0 -203
  242. package/example/node/node_modules/negotiator/index.js +0 -124
  243. package/example/node/node_modules/negotiator/lib/charset.js +0 -169
  244. package/example/node/node_modules/negotiator/lib/encoding.js +0 -184
  245. package/example/node/node_modules/negotiator/lib/language.js +0 -179
  246. package/example/node/node_modules/negotiator/lib/mediaType.js +0 -294
  247. package/example/node/node_modules/negotiator/package.json +0 -42
  248. package/example/node/node_modules/on-finished/HISTORY.md +0 -88
  249. package/example/node/node_modules/on-finished/LICENSE +0 -23
  250. package/example/node/node_modules/on-finished/README.md +0 -154
  251. package/example/node/node_modules/on-finished/index.js +0 -196
  252. package/example/node/node_modules/on-finished/package.json +0 -31
  253. package/example/node/node_modules/parseurl/HISTORY.md +0 -58
  254. package/example/node/node_modules/parseurl/LICENSE +0 -24
  255. package/example/node/node_modules/parseurl/README.md +0 -133
  256. package/example/node/node_modules/parseurl/index.js +0 -158
  257. package/example/node/node_modules/parseurl/package.json +0 -40
  258. package/example/node/node_modules/path-to-regexp/History.md +0 -36
  259. package/example/node/node_modules/path-to-regexp/LICENSE +0 -21
  260. package/example/node/node_modules/path-to-regexp/Readme.md +0 -35
  261. package/example/node/node_modules/path-to-regexp/index.js +0 -129
  262. package/example/node/node_modules/path-to-regexp/package.json +0 -30
  263. package/example/node/node_modules/proxy-addr/HISTORY.md +0 -161
  264. package/example/node/node_modules/proxy-addr/LICENSE +0 -22
  265. package/example/node/node_modules/proxy-addr/README.md +0 -139
  266. package/example/node/node_modules/proxy-addr/index.js +0 -327
  267. package/example/node/node_modules/proxy-addr/package.json +0 -47
  268. package/example/node/node_modules/qs/.editorconfig +0 -39
  269. package/example/node/node_modules/qs/.eslintignore +0 -2
  270. package/example/node/node_modules/qs/.eslintrc +0 -35
  271. package/example/node/node_modules/qs/.github/FUNDING.yml +0 -12
  272. package/example/node/node_modules/qs/.nycrc +0 -13
  273. package/example/node/node_modules/qs/CHANGELOG.md +0 -359
  274. package/example/node/node_modules/qs/LICENSE.md +0 -29
  275. package/example/node/node_modules/qs/README.md +0 -604
  276. package/example/node/node_modules/qs/dist/qs.js +0 -832
  277. package/example/node/node_modules/qs/lib/formats.js +0 -23
  278. package/example/node/node_modules/qs/lib/index.js +0 -11
  279. package/example/node/node_modules/qs/lib/parse.js +0 -257
  280. package/example/node/node_modules/qs/lib/stringify.js +0 -278
  281. package/example/node/node_modules/qs/lib/utils.js +0 -251
  282. package/example/node/node_modules/qs/package.json +0 -69
  283. package/example/node/node_modules/qs/test/parse.js +0 -772
  284. package/example/node/node_modules/qs/test/stringify.js +0 -793
  285. package/example/node/node_modules/qs/test/utils.js +0 -136
  286. package/example/node/node_modules/range-parser/HISTORY.md +0 -56
  287. package/example/node/node_modules/range-parser/LICENSE +0 -23
  288. package/example/node/node_modules/range-parser/README.md +0 -84
  289. package/example/node/node_modules/range-parser/index.js +0 -162
  290. package/example/node/node_modules/range-parser/package.json +0 -44
  291. package/example/node/node_modules/raw-body/HISTORY.md +0 -284
  292. package/example/node/node_modules/raw-body/LICENSE +0 -22
  293. package/example/node/node_modules/raw-body/README.md +0 -217
  294. package/example/node/node_modules/raw-body/index.d.ts +0 -87
  295. package/example/node/node_modules/raw-body/index.js +0 -286
  296. package/example/node/node_modules/raw-body/package.json +0 -48
  297. package/example/node/node_modules/safe-buffer/LICENSE +0 -21
  298. package/example/node/node_modules/safe-buffer/README.md +0 -584
  299. package/example/node/node_modules/safe-buffer/index.d.ts +0 -187
  300. package/example/node/node_modules/safe-buffer/index.js +0 -65
  301. package/example/node/node_modules/safe-buffer/package.json +0 -51
  302. package/example/node/node_modules/safer-buffer/LICENSE +0 -21
  303. package/example/node/node_modules/safer-buffer/Porting-Buffer.md +0 -268
  304. package/example/node/node_modules/safer-buffer/Readme.md +0 -156
  305. package/example/node/node_modules/safer-buffer/dangerous.js +0 -58
  306. package/example/node/node_modules/safer-buffer/package.json +0 -34
  307. package/example/node/node_modules/safer-buffer/safer.js +0 -77
  308. package/example/node/node_modules/safer-buffer/tests.js +0 -406
  309. package/example/node/node_modules/send/HISTORY.md +0 -506
  310. package/example/node/node_modules/send/LICENSE +0 -23
  311. package/example/node/node_modules/send/README.md +0 -327
  312. package/example/node/node_modules/send/index.js +0 -1133
  313. package/example/node/node_modules/send/node_modules/.bin/mime +0 -15
  314. package/example/node/node_modules/send/node_modules/.bin/mime.cmd +0 -7
  315. package/example/node/node_modules/send/node_modules/ms/index.js +0 -162
  316. package/example/node/node_modules/send/node_modules/ms/license.md +0 -21
  317. package/example/node/node_modules/send/node_modules/ms/package.json +0 -38
  318. package/example/node/node_modules/send/node_modules/ms/readme.md +0 -59
  319. package/example/node/node_modules/send/package.json +0 -61
  320. package/example/node/node_modules/serve-static/HISTORY.md +0 -459
  321. package/example/node/node_modules/serve-static/LICENSE +0 -25
  322. package/example/node/node_modules/serve-static/README.md +0 -257
  323. package/example/node/node_modules/serve-static/index.js +0 -210
  324. package/example/node/node_modules/serve-static/package.json +0 -42
  325. package/example/node/node_modules/setprototypeof/LICENSE +0 -13
  326. package/example/node/node_modules/setprototypeof/README.md +0 -31
  327. package/example/node/node_modules/setprototypeof/index.d.ts +0 -2
  328. package/example/node/node_modules/setprototypeof/index.js +0 -17
  329. package/example/node/node_modules/setprototypeof/package.json +0 -38
  330. package/example/node/node_modules/setprototypeof/test/index.js +0 -24
  331. package/example/node/node_modules/statuses/HISTORY.md +0 -65
  332. package/example/node/node_modules/statuses/LICENSE +0 -23
  333. package/example/node/node_modules/statuses/README.md +0 -127
  334. package/example/node/node_modules/statuses/codes.json +0 -66
  335. package/example/node/node_modules/statuses/index.js +0 -113
  336. package/example/node/node_modules/statuses/package.json +0 -48
  337. package/example/node/node_modules/toidentifier/HISTORY.md +0 -9
  338. package/example/node/node_modules/toidentifier/LICENSE +0 -21
  339. package/example/node/node_modules/toidentifier/README.md +0 -61
  340. package/example/node/node_modules/toidentifier/index.js +0 -32
  341. package/example/node/node_modules/toidentifier/package.json +0 -38
  342. package/example/node/node_modules/type-is/HISTORY.md +0 -259
  343. package/example/node/node_modules/type-is/LICENSE +0 -23
  344. package/example/node/node_modules/type-is/README.md +0 -170
  345. package/example/node/node_modules/type-is/index.js +0 -266
  346. package/example/node/node_modules/type-is/package.json +0 -45
  347. package/example/node/node_modules/unpipe/HISTORY.md +0 -4
  348. package/example/node/node_modules/unpipe/LICENSE +0 -22
  349. package/example/node/node_modules/unpipe/README.md +0 -43
  350. package/example/node/node_modules/unpipe/index.js +0 -69
  351. package/example/node/node_modules/unpipe/package.json +0 -27
  352. package/example/node/node_modules/utils-merge/LICENSE +0 -20
  353. package/example/node/node_modules/utils-merge/README.md +0 -34
  354. package/example/node/node_modules/utils-merge/index.js +0 -23
  355. package/example/node/node_modules/utils-merge/package.json +0 -40
  356. package/example/node/node_modules/vary/HISTORY.md +0 -39
  357. package/example/node/node_modules/vary/LICENSE +0 -22
  358. package/example/node/node_modules/vary/README.md +0 -101
  359. package/example/node/node_modules/vary/index.js +0 -149
  360. package/example/node/node_modules/vary/package.json +0 -43
  361. package/test/lib/crawler.test.js +0 -52
@@ -1,177 +0,0 @@
1
- "use strict";
2
- var Buffer = require("safer-buffer").Buffer;
3
-
4
- // Note: UTF16-LE (or UCS2) codec is Node.js native. See encodings/internal.js
5
-
6
- // == UTF16-BE codec. ==========================================================
7
-
8
- exports.utf16be = Utf16BECodec;
9
- function Utf16BECodec() {
10
- }
11
-
12
- Utf16BECodec.prototype.encoder = Utf16BEEncoder;
13
- Utf16BECodec.prototype.decoder = Utf16BEDecoder;
14
- Utf16BECodec.prototype.bomAware = true;
15
-
16
-
17
- // -- Encoding
18
-
19
- function Utf16BEEncoder() {
20
- }
21
-
22
- Utf16BEEncoder.prototype.write = function(str) {
23
- var buf = Buffer.from(str, 'ucs2');
24
- for (var i = 0; i < buf.length; i += 2) {
25
- var tmp = buf[i]; buf[i] = buf[i+1]; buf[i+1] = tmp;
26
- }
27
- return buf;
28
- }
29
-
30
- Utf16BEEncoder.prototype.end = function() {
31
- }
32
-
33
-
34
- // -- Decoding
35
-
36
- function Utf16BEDecoder() {
37
- this.overflowByte = -1;
38
- }
39
-
40
- Utf16BEDecoder.prototype.write = function(buf) {
41
- if (buf.length == 0)
42
- return '';
43
-
44
- var buf2 = Buffer.alloc(buf.length + 1),
45
- i = 0, j = 0;
46
-
47
- if (this.overflowByte !== -1) {
48
- buf2[0] = buf[0];
49
- buf2[1] = this.overflowByte;
50
- i = 1; j = 2;
51
- }
52
-
53
- for (; i < buf.length-1; i += 2, j+= 2) {
54
- buf2[j] = buf[i+1];
55
- buf2[j+1] = buf[i];
56
- }
57
-
58
- this.overflowByte = (i == buf.length-1) ? buf[buf.length-1] : -1;
59
-
60
- return buf2.slice(0, j).toString('ucs2');
61
- }
62
-
63
- Utf16BEDecoder.prototype.end = function() {
64
- }
65
-
66
-
67
- // == UTF-16 codec =============================================================
68
- // Decoder chooses automatically from UTF-16LE and UTF-16BE using BOM and space-based heuristic.
69
- // Defaults to UTF-16LE, as it's prevalent and default in Node.
70
- // http://en.wikipedia.org/wiki/UTF-16 and http://encoding.spec.whatwg.org/#utf-16le
71
- // Decoder default can be changed: iconv.decode(buf, 'utf16', {defaultEncoding: 'utf-16be'});
72
-
73
- // Encoder uses UTF-16LE and prepends BOM (which can be overridden with addBOM: false).
74
-
75
- exports.utf16 = Utf16Codec;
76
- function Utf16Codec(codecOptions, iconv) {
77
- this.iconv = iconv;
78
- }
79
-
80
- Utf16Codec.prototype.encoder = Utf16Encoder;
81
- Utf16Codec.prototype.decoder = Utf16Decoder;
82
-
83
-
84
- // -- Encoding (pass-through)
85
-
86
- function Utf16Encoder(options, codec) {
87
- options = options || {};
88
- if (options.addBOM === undefined)
89
- options.addBOM = true;
90
- this.encoder = codec.iconv.getEncoder('utf-16le', options);
91
- }
92
-
93
- Utf16Encoder.prototype.write = function(str) {
94
- return this.encoder.write(str);
95
- }
96
-
97
- Utf16Encoder.prototype.end = function() {
98
- return this.encoder.end();
99
- }
100
-
101
-
102
- // -- Decoding
103
-
104
- function Utf16Decoder(options, codec) {
105
- this.decoder = null;
106
- this.initialBytes = [];
107
- this.initialBytesLen = 0;
108
-
109
- this.options = options || {};
110
- this.iconv = codec.iconv;
111
- }
112
-
113
- Utf16Decoder.prototype.write = function(buf) {
114
- if (!this.decoder) {
115
- // Codec is not chosen yet. Accumulate initial bytes.
116
- this.initialBytes.push(buf);
117
- this.initialBytesLen += buf.length;
118
-
119
- if (this.initialBytesLen < 16) // We need more bytes to use space heuristic (see below)
120
- return '';
121
-
122
- // We have enough bytes -> detect endianness.
123
- var buf = Buffer.concat(this.initialBytes),
124
- encoding = detectEncoding(buf, this.options.defaultEncoding);
125
- this.decoder = this.iconv.getDecoder(encoding, this.options);
126
- this.initialBytes.length = this.initialBytesLen = 0;
127
- }
128
-
129
- return this.decoder.write(buf);
130
- }
131
-
132
- Utf16Decoder.prototype.end = function() {
133
- if (!this.decoder) {
134
- var buf = Buffer.concat(this.initialBytes),
135
- encoding = detectEncoding(buf, this.options.defaultEncoding);
136
- this.decoder = this.iconv.getDecoder(encoding, this.options);
137
-
138
- var res = this.decoder.write(buf),
139
- trail = this.decoder.end();
140
-
141
- return trail ? (res + trail) : res;
142
- }
143
- return this.decoder.end();
144
- }
145
-
146
- function detectEncoding(buf, defaultEncoding) {
147
- var enc = defaultEncoding || 'utf-16le';
148
-
149
- if (buf.length >= 2) {
150
- // Check BOM.
151
- if (buf[0] == 0xFE && buf[1] == 0xFF) // UTF-16BE BOM
152
- enc = 'utf-16be';
153
- else if (buf[0] == 0xFF && buf[1] == 0xFE) // UTF-16LE BOM
154
- enc = 'utf-16le';
155
- else {
156
- // No BOM found. Try to deduce encoding from initial content.
157
- // Most of the time, the content has ASCII chars (U+00**), but the opposite (U+**00) is uncommon.
158
- // So, we count ASCII as if it was LE or BE, and decide from that.
159
- var asciiCharsLE = 0, asciiCharsBE = 0, // Counts of chars in both positions
160
- _len = Math.min(buf.length - (buf.length % 2), 64); // Len is always even.
161
-
162
- for (var i = 0; i < _len; i += 2) {
163
- if (buf[i] === 0 && buf[i+1] !== 0) asciiCharsBE++;
164
- if (buf[i] !== 0 && buf[i+1] === 0) asciiCharsLE++;
165
- }
166
-
167
- if (asciiCharsBE > asciiCharsLE)
168
- enc = 'utf-16be';
169
- else if (asciiCharsBE < asciiCharsLE)
170
- enc = 'utf-16le';
171
- }
172
- }
173
-
174
- return enc;
175
- }
176
-
177
-
@@ -1,290 +0,0 @@
1
- "use strict";
2
- var Buffer = require("safer-buffer").Buffer;
3
-
4
- // UTF-7 codec, according to https://tools.ietf.org/html/rfc2152
5
- // See also below a UTF-7-IMAP codec, according to http://tools.ietf.org/html/rfc3501#section-5.1.3
6
-
7
- exports.utf7 = Utf7Codec;
8
- exports.unicode11utf7 = 'utf7'; // Alias UNICODE-1-1-UTF-7
9
- function Utf7Codec(codecOptions, iconv) {
10
- this.iconv = iconv;
11
- };
12
-
13
- Utf7Codec.prototype.encoder = Utf7Encoder;
14
- Utf7Codec.prototype.decoder = Utf7Decoder;
15
- Utf7Codec.prototype.bomAware = true;
16
-
17
-
18
- // -- Encoding
19
-
20
- var nonDirectChars = /[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g;
21
-
22
- function Utf7Encoder(options, codec) {
23
- this.iconv = codec.iconv;
24
- }
25
-
26
- Utf7Encoder.prototype.write = function(str) {
27
- // Naive implementation.
28
- // Non-direct chars are encoded as "+<base64>-"; single "+" char is encoded as "+-".
29
- return Buffer.from(str.replace(nonDirectChars, function(chunk) {
30
- return "+" + (chunk === '+' ? '' :
31
- this.iconv.encode(chunk, 'utf16-be').toString('base64').replace(/=+$/, ''))
32
- + "-";
33
- }.bind(this)));
34
- }
35
-
36
- Utf7Encoder.prototype.end = function() {
37
- }
38
-
39
-
40
- // -- Decoding
41
-
42
- function Utf7Decoder(options, codec) {
43
- this.iconv = codec.iconv;
44
- this.inBase64 = false;
45
- this.base64Accum = '';
46
- }
47
-
48
- var base64Regex = /[A-Za-z0-9\/+]/;
49
- var base64Chars = [];
50
- for (var i = 0; i < 256; i++)
51
- base64Chars[i] = base64Regex.test(String.fromCharCode(i));
52
-
53
- var plusChar = '+'.charCodeAt(0),
54
- minusChar = '-'.charCodeAt(0),
55
- andChar = '&'.charCodeAt(0);
56
-
57
- Utf7Decoder.prototype.write = function(buf) {
58
- var res = "", lastI = 0,
59
- inBase64 = this.inBase64,
60
- base64Accum = this.base64Accum;
61
-
62
- // The decoder is more involved as we must handle chunks in stream.
63
-
64
- for (var i = 0; i < buf.length; i++) {
65
- if (!inBase64) { // We're in direct mode.
66
- // Write direct chars until '+'
67
- if (buf[i] == plusChar) {
68
- res += this.iconv.decode(buf.slice(lastI, i), "ascii"); // Write direct chars.
69
- lastI = i+1;
70
- inBase64 = true;
71
- }
72
- } else { // We decode base64.
73
- if (!base64Chars[buf[i]]) { // Base64 ended.
74
- if (i == lastI && buf[i] == minusChar) {// "+-" -> "+"
75
- res += "+";
76
- } else {
77
- var b64str = base64Accum + buf.slice(lastI, i).toString();
78
- res += this.iconv.decode(Buffer.from(b64str, 'base64'), "utf16-be");
79
- }
80
-
81
- if (buf[i] != minusChar) // Minus is absorbed after base64.
82
- i--;
83
-
84
- lastI = i+1;
85
- inBase64 = false;
86
- base64Accum = '';
87
- }
88
- }
89
- }
90
-
91
- if (!inBase64) {
92
- res += this.iconv.decode(buf.slice(lastI), "ascii"); // Write direct chars.
93
- } else {
94
- var b64str = base64Accum + buf.slice(lastI).toString();
95
-
96
- var canBeDecoded = b64str.length - (b64str.length % 8); // Minimal chunk: 2 quads -> 2x3 bytes -> 3 chars.
97
- base64Accum = b64str.slice(canBeDecoded); // The rest will be decoded in future.
98
- b64str = b64str.slice(0, canBeDecoded);
99
-
100
- res += this.iconv.decode(Buffer.from(b64str, 'base64'), "utf16-be");
101
- }
102
-
103
- this.inBase64 = inBase64;
104
- this.base64Accum = base64Accum;
105
-
106
- return res;
107
- }
108
-
109
- Utf7Decoder.prototype.end = function() {
110
- var res = "";
111
- if (this.inBase64 && this.base64Accum.length > 0)
112
- res = this.iconv.decode(Buffer.from(this.base64Accum, 'base64'), "utf16-be");
113
-
114
- this.inBase64 = false;
115
- this.base64Accum = '';
116
- return res;
117
- }
118
-
119
-
120
- // UTF-7-IMAP codec.
121
- // RFC3501 Sec. 5.1.3 Modified UTF-7 (http://tools.ietf.org/html/rfc3501#section-5.1.3)
122
- // Differences:
123
- // * Base64 part is started by "&" instead of "+"
124
- // * Direct characters are 0x20-0x7E, except "&" (0x26)
125
- // * In Base64, "," is used instead of "/"
126
- // * Base64 must not be used to represent direct characters.
127
- // * No implicit shift back from Base64 (should always end with '-')
128
- // * String must end in non-shifted position.
129
- // * "-&" while in base64 is not allowed.
130
-
131
-
132
- exports.utf7imap = Utf7IMAPCodec;
133
- function Utf7IMAPCodec(codecOptions, iconv) {
134
- this.iconv = iconv;
135
- };
136
-
137
- Utf7IMAPCodec.prototype.encoder = Utf7IMAPEncoder;
138
- Utf7IMAPCodec.prototype.decoder = Utf7IMAPDecoder;
139
- Utf7IMAPCodec.prototype.bomAware = true;
140
-
141
-
142
- // -- Encoding
143
-
144
- function Utf7IMAPEncoder(options, codec) {
145
- this.iconv = codec.iconv;
146
- this.inBase64 = false;
147
- this.base64Accum = Buffer.alloc(6);
148
- this.base64AccumIdx = 0;
149
- }
150
-
151
- Utf7IMAPEncoder.prototype.write = function(str) {
152
- var inBase64 = this.inBase64,
153
- base64Accum = this.base64Accum,
154
- base64AccumIdx = this.base64AccumIdx,
155
- buf = Buffer.alloc(str.length*5 + 10), bufIdx = 0;
156
-
157
- for (var i = 0; i < str.length; i++) {
158
- var uChar = str.charCodeAt(i);
159
- if (0x20 <= uChar && uChar <= 0x7E) { // Direct character or '&'.
160
- if (inBase64) {
161
- if (base64AccumIdx > 0) {
162
- bufIdx += buf.write(base64Accum.slice(0, base64AccumIdx).toString('base64').replace(/\//g, ',').replace(/=+$/, ''), bufIdx);
163
- base64AccumIdx = 0;
164
- }
165
-
166
- buf[bufIdx++] = minusChar; // Write '-', then go to direct mode.
167
- inBase64 = false;
168
- }
169
-
170
- if (!inBase64) {
171
- buf[bufIdx++] = uChar; // Write direct character
172
-
173
- if (uChar === andChar) // Ampersand -> '&-'
174
- buf[bufIdx++] = minusChar;
175
- }
176
-
177
- } else { // Non-direct character
178
- if (!inBase64) {
179
- buf[bufIdx++] = andChar; // Write '&', then go to base64 mode.
180
- inBase64 = true;
181
- }
182
- if (inBase64) {
183
- base64Accum[base64AccumIdx++] = uChar >> 8;
184
- base64Accum[base64AccumIdx++] = uChar & 0xFF;
185
-
186
- if (base64AccumIdx == base64Accum.length) {
187
- bufIdx += buf.write(base64Accum.toString('base64').replace(/\//g, ','), bufIdx);
188
- base64AccumIdx = 0;
189
- }
190
- }
191
- }
192
- }
193
-
194
- this.inBase64 = inBase64;
195
- this.base64AccumIdx = base64AccumIdx;
196
-
197
- return buf.slice(0, bufIdx);
198
- }
199
-
200
- Utf7IMAPEncoder.prototype.end = function() {
201
- var buf = Buffer.alloc(10), bufIdx = 0;
202
- if (this.inBase64) {
203
- if (this.base64AccumIdx > 0) {
204
- bufIdx += buf.write(this.base64Accum.slice(0, this.base64AccumIdx).toString('base64').replace(/\//g, ',').replace(/=+$/, ''), bufIdx);
205
- this.base64AccumIdx = 0;
206
- }
207
-
208
- buf[bufIdx++] = minusChar; // Write '-', then go to direct mode.
209
- this.inBase64 = false;
210
- }
211
-
212
- return buf.slice(0, bufIdx);
213
- }
214
-
215
-
216
- // -- Decoding
217
-
218
- function Utf7IMAPDecoder(options, codec) {
219
- this.iconv = codec.iconv;
220
- this.inBase64 = false;
221
- this.base64Accum = '';
222
- }
223
-
224
- var base64IMAPChars = base64Chars.slice();
225
- base64IMAPChars[','.charCodeAt(0)] = true;
226
-
227
- Utf7IMAPDecoder.prototype.write = function(buf) {
228
- var res = "", lastI = 0,
229
- inBase64 = this.inBase64,
230
- base64Accum = this.base64Accum;
231
-
232
- // The decoder is more involved as we must handle chunks in stream.
233
- // It is forgiving, closer to standard UTF-7 (for example, '-' is optional at the end).
234
-
235
- for (var i = 0; i < buf.length; i++) {
236
- if (!inBase64) { // We're in direct mode.
237
- // Write direct chars until '&'
238
- if (buf[i] == andChar) {
239
- res += this.iconv.decode(buf.slice(lastI, i), "ascii"); // Write direct chars.
240
- lastI = i+1;
241
- inBase64 = true;
242
- }
243
- } else { // We decode base64.
244
- if (!base64IMAPChars[buf[i]]) { // Base64 ended.
245
- if (i == lastI && buf[i] == minusChar) { // "&-" -> "&"
246
- res += "&";
247
- } else {
248
- var b64str = base64Accum + buf.slice(lastI, i).toString().replace(/,/g, '/');
249
- res += this.iconv.decode(Buffer.from(b64str, 'base64'), "utf16-be");
250
- }
251
-
252
- if (buf[i] != minusChar) // Minus may be absorbed after base64.
253
- i--;
254
-
255
- lastI = i+1;
256
- inBase64 = false;
257
- base64Accum = '';
258
- }
259
- }
260
- }
261
-
262
- if (!inBase64) {
263
- res += this.iconv.decode(buf.slice(lastI), "ascii"); // Write direct chars.
264
- } else {
265
- var b64str = base64Accum + buf.slice(lastI).toString().replace(/,/g, '/');
266
-
267
- var canBeDecoded = b64str.length - (b64str.length % 8); // Minimal chunk: 2 quads -> 2x3 bytes -> 3 chars.
268
- base64Accum = b64str.slice(canBeDecoded); // The rest will be decoded in future.
269
- b64str = b64str.slice(0, canBeDecoded);
270
-
271
- res += this.iconv.decode(Buffer.from(b64str, 'base64'), "utf16-be");
272
- }
273
-
274
- this.inBase64 = inBase64;
275
- this.base64Accum = base64Accum;
276
-
277
- return res;
278
- }
279
-
280
- Utf7IMAPDecoder.prototype.end = function() {
281
- var res = "";
282
- if (this.inBase64 && this.base64Accum.length > 0)
283
- res = this.iconv.decode(Buffer.from(this.base64Accum, 'base64'), "utf16-be");
284
-
285
- this.inBase64 = false;
286
- this.base64Accum = '';
287
- return res;
288
- }
289
-
290
-
@@ -1,52 +0,0 @@
1
- "use strict";
2
-
3
- var BOMChar = '\uFEFF';
4
-
5
- exports.PrependBOM = PrependBOMWrapper
6
- function PrependBOMWrapper(encoder, options) {
7
- this.encoder = encoder;
8
- this.addBOM = true;
9
- }
10
-
11
- PrependBOMWrapper.prototype.write = function(str) {
12
- if (this.addBOM) {
13
- str = BOMChar + str;
14
- this.addBOM = false;
15
- }
16
-
17
- return this.encoder.write(str);
18
- }
19
-
20
- PrependBOMWrapper.prototype.end = function() {
21
- return this.encoder.end();
22
- }
23
-
24
-
25
- //------------------------------------------------------------------------------
26
-
27
- exports.StripBOM = StripBOMWrapper;
28
- function StripBOMWrapper(decoder, options) {
29
- this.decoder = decoder;
30
- this.pass = false;
31
- this.options = options || {};
32
- }
33
-
34
- StripBOMWrapper.prototype.write = function(buf) {
35
- var res = this.decoder.write(buf);
36
- if (this.pass || !res)
37
- return res;
38
-
39
- if (res[0] === BOMChar) {
40
- res = res.slice(1);
41
- if (typeof this.options.stripBOM === 'function')
42
- this.options.stripBOM();
43
- }
44
-
45
- this.pass = true;
46
- return res;
47
- }
48
-
49
- StripBOMWrapper.prototype.end = function() {
50
- return this.decoder.end();
51
- }
52
-