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,203 +0,0 @@
1
- # negotiator
2
-
3
- [![NPM Version][npm-image]][npm-url]
4
- [![NPM Downloads][downloads-image]][downloads-url]
5
- [![Node.js Version][node-version-image]][node-version-url]
6
- [![Build Status][travis-image]][travis-url]
7
- [![Test Coverage][coveralls-image]][coveralls-url]
8
-
9
- An HTTP content negotiator for Node.js
10
-
11
- ## Installation
12
-
13
- ```sh
14
- $ npm install negotiator
15
- ```
16
-
17
- ## API
18
-
19
- ```js
20
- var Negotiator = require('negotiator')
21
- ```
22
-
23
- ### Accept Negotiation
24
-
25
- ```js
26
- availableMediaTypes = ['text/html', 'text/plain', 'application/json']
27
-
28
- // The negotiator constructor receives a request object
29
- negotiator = new Negotiator(request)
30
-
31
- // Let's say Accept header is 'text/html, application/*;q=0.2, image/jpeg;q=0.8'
32
-
33
- negotiator.mediaTypes()
34
- // -> ['text/html', 'image/jpeg', 'application/*']
35
-
36
- negotiator.mediaTypes(availableMediaTypes)
37
- // -> ['text/html', 'application/json']
38
-
39
- negotiator.mediaType(availableMediaTypes)
40
- // -> 'text/html'
41
- ```
42
-
43
- You can check a working example at `examples/accept.js`.
44
-
45
- #### Methods
46
-
47
- ##### mediaType()
48
-
49
- Returns the most preferred media type from the client.
50
-
51
- ##### mediaType(availableMediaType)
52
-
53
- Returns the most preferred media type from a list of available media types.
54
-
55
- ##### mediaTypes()
56
-
57
- Returns an array of preferred media types ordered by the client preference.
58
-
59
- ##### mediaTypes(availableMediaTypes)
60
-
61
- Returns an array of preferred media types ordered by priority from a list of
62
- available media types.
63
-
64
- ### Accept-Language Negotiation
65
-
66
- ```js
67
- negotiator = new Negotiator(request)
68
-
69
- availableLanguages = ['en', 'es', 'fr']
70
-
71
- // Let's say Accept-Language header is 'en;q=0.8, es, pt'
72
-
73
- negotiator.languages()
74
- // -> ['es', 'pt', 'en']
75
-
76
- negotiator.languages(availableLanguages)
77
- // -> ['es', 'en']
78
-
79
- language = negotiator.language(availableLanguages)
80
- // -> 'es'
81
- ```
82
-
83
- You can check a working example at `examples/language.js`.
84
-
85
- #### Methods
86
-
87
- ##### language()
88
-
89
- Returns the most preferred language from the client.
90
-
91
- ##### language(availableLanguages)
92
-
93
- Returns the most preferred language from a list of available languages.
94
-
95
- ##### languages()
96
-
97
- Returns an array of preferred languages ordered by the client preference.
98
-
99
- ##### languages(availableLanguages)
100
-
101
- Returns an array of preferred languages ordered by priority from a list of
102
- available languages.
103
-
104
- ### Accept-Charset Negotiation
105
-
106
- ```js
107
- availableCharsets = ['utf-8', 'iso-8859-1', 'iso-8859-5']
108
-
109
- negotiator = new Negotiator(request)
110
-
111
- // Let's say Accept-Charset header is 'utf-8, iso-8859-1;q=0.8, utf-7;q=0.2'
112
-
113
- negotiator.charsets()
114
- // -> ['utf-8', 'iso-8859-1', 'utf-7']
115
-
116
- negotiator.charsets(availableCharsets)
117
- // -> ['utf-8', 'iso-8859-1']
118
-
119
- negotiator.charset(availableCharsets)
120
- // -> 'utf-8'
121
- ```
122
-
123
- You can check a working example at `examples/charset.js`.
124
-
125
- #### Methods
126
-
127
- ##### charset()
128
-
129
- Returns the most preferred charset from the client.
130
-
131
- ##### charset(availableCharsets)
132
-
133
- Returns the most preferred charset from a list of available charsets.
134
-
135
- ##### charsets()
136
-
137
- Returns an array of preferred charsets ordered by the client preference.
138
-
139
- ##### charsets(availableCharsets)
140
-
141
- Returns an array of preferred charsets ordered by priority from a list of
142
- available charsets.
143
-
144
- ### Accept-Encoding Negotiation
145
-
146
- ```js
147
- availableEncodings = ['identity', 'gzip']
148
-
149
- negotiator = new Negotiator(request)
150
-
151
- // Let's say Accept-Encoding header is 'gzip, compress;q=0.2, identity;q=0.5'
152
-
153
- negotiator.encodings()
154
- // -> ['gzip', 'identity', 'compress']
155
-
156
- negotiator.encodings(availableEncodings)
157
- // -> ['gzip', 'identity']
158
-
159
- negotiator.encoding(availableEncodings)
160
- // -> 'gzip'
161
- ```
162
-
163
- You can check a working example at `examples/encoding.js`.
164
-
165
- #### Methods
166
-
167
- ##### encoding()
168
-
169
- Returns the most preferred encoding from the client.
170
-
171
- ##### encoding(availableEncodings)
172
-
173
- Returns the most preferred encoding from a list of available encodings.
174
-
175
- ##### encodings()
176
-
177
- Returns an array of preferred encodings ordered by the client preference.
178
-
179
- ##### encodings(availableEncodings)
180
-
181
- Returns an array of preferred encodings ordered by priority from a list of
182
- available encodings.
183
-
184
- ## See Also
185
-
186
- The [accepts](https://npmjs.org/package/accepts#readme) module builds on
187
- this module and provides an alternative interface, mime type validation,
188
- and more.
189
-
190
- ## License
191
-
192
- [MIT](LICENSE)
193
-
194
- [npm-image]: https://img.shields.io/npm/v/negotiator.svg
195
- [npm-url]: https://npmjs.org/package/negotiator
196
- [node-version-image]: https://img.shields.io/node/v/negotiator.svg
197
- [node-version-url]: https://nodejs.org/en/download/
198
- [travis-image]: https://img.shields.io/travis/jshttp/negotiator/master.svg
199
- [travis-url]: https://travis-ci.org/jshttp/negotiator
200
- [coveralls-image]: https://img.shields.io/coveralls/jshttp/negotiator/master.svg
201
- [coveralls-url]: https://coveralls.io/r/jshttp/negotiator?branch=master
202
- [downloads-image]: https://img.shields.io/npm/dm/negotiator.svg
203
- [downloads-url]: https://npmjs.org/package/negotiator
@@ -1,124 +0,0 @@
1
- /*!
2
- * negotiator
3
- * Copyright(c) 2012 Federico Romero
4
- * Copyright(c) 2012-2014 Isaac Z. Schlueter
5
- * Copyright(c) 2015 Douglas Christopher Wilson
6
- * MIT Licensed
7
- */
8
-
9
- 'use strict';
10
-
11
- /**
12
- * Cached loaded submodules.
13
- * @private
14
- */
15
-
16
- var modules = Object.create(null);
17
-
18
- /**
19
- * Module exports.
20
- * @public
21
- */
22
-
23
- module.exports = Negotiator;
24
- module.exports.Negotiator = Negotiator;
25
-
26
- /**
27
- * Create a Negotiator instance from a request.
28
- * @param {object} request
29
- * @public
30
- */
31
-
32
- function Negotiator(request) {
33
- if (!(this instanceof Negotiator)) {
34
- return new Negotiator(request);
35
- }
36
-
37
- this.request = request;
38
- }
39
-
40
- Negotiator.prototype.charset = function charset(available) {
41
- var set = this.charsets(available);
42
- return set && set[0];
43
- };
44
-
45
- Negotiator.prototype.charsets = function charsets(available) {
46
- var preferredCharsets = loadModule('charset').preferredCharsets;
47
- return preferredCharsets(this.request.headers['accept-charset'], available);
48
- };
49
-
50
- Negotiator.prototype.encoding = function encoding(available) {
51
- var set = this.encodings(available);
52
- return set && set[0];
53
- };
54
-
55
- Negotiator.prototype.encodings = function encodings(available) {
56
- var preferredEncodings = loadModule('encoding').preferredEncodings;
57
- return preferredEncodings(this.request.headers['accept-encoding'], available);
58
- };
59
-
60
- Negotiator.prototype.language = function language(available) {
61
- var set = this.languages(available);
62
- return set && set[0];
63
- };
64
-
65
- Negotiator.prototype.languages = function languages(available) {
66
- var preferredLanguages = loadModule('language').preferredLanguages;
67
- return preferredLanguages(this.request.headers['accept-language'], available);
68
- };
69
-
70
- Negotiator.prototype.mediaType = function mediaType(available) {
71
- var set = this.mediaTypes(available);
72
- return set && set[0];
73
- };
74
-
75
- Negotiator.prototype.mediaTypes = function mediaTypes(available) {
76
- var preferredMediaTypes = loadModule('mediaType').preferredMediaTypes;
77
- return preferredMediaTypes(this.request.headers.accept, available);
78
- };
79
-
80
- // Backwards compatibility
81
- Negotiator.prototype.preferredCharset = Negotiator.prototype.charset;
82
- Negotiator.prototype.preferredCharsets = Negotiator.prototype.charsets;
83
- Negotiator.prototype.preferredEncoding = Negotiator.prototype.encoding;
84
- Negotiator.prototype.preferredEncodings = Negotiator.prototype.encodings;
85
- Negotiator.prototype.preferredLanguage = Negotiator.prototype.language;
86
- Negotiator.prototype.preferredLanguages = Negotiator.prototype.languages;
87
- Negotiator.prototype.preferredMediaType = Negotiator.prototype.mediaType;
88
- Negotiator.prototype.preferredMediaTypes = Negotiator.prototype.mediaTypes;
89
-
90
- /**
91
- * Load the given module.
92
- * @private
93
- */
94
-
95
- function loadModule(moduleName) {
96
- var module = modules[moduleName];
97
-
98
- if (module !== undefined) {
99
- return module;
100
- }
101
-
102
- // This uses a switch for static require analysis
103
- switch (moduleName) {
104
- case 'charset':
105
- module = require('./lib/charset');
106
- break;
107
- case 'encoding':
108
- module = require('./lib/encoding');
109
- break;
110
- case 'language':
111
- module = require('./lib/language');
112
- break;
113
- case 'mediaType':
114
- module = require('./lib/mediaType');
115
- break;
116
- default:
117
- throw new Error('Cannot find module \'' + moduleName + '\'');
118
- }
119
-
120
- // Store to prevent invoking require()
121
- modules[moduleName] = module;
122
-
123
- return module;
124
- }
@@ -1,169 +0,0 @@
1
- /**
2
- * negotiator
3
- * Copyright(c) 2012 Isaac Z. Schlueter
4
- * Copyright(c) 2014 Federico Romero
5
- * Copyright(c) 2014-2015 Douglas Christopher Wilson
6
- * MIT Licensed
7
- */
8
-
9
- 'use strict';
10
-
11
- /**
12
- * Module exports.
13
- * @public
14
- */
15
-
16
- module.exports = preferredCharsets;
17
- module.exports.preferredCharsets = preferredCharsets;
18
-
19
- /**
20
- * Module variables.
21
- * @private
22
- */
23
-
24
- var simpleCharsetRegExp = /^\s*([^\s;]+)\s*(?:;(.*))?$/;
25
-
26
- /**
27
- * Parse the Accept-Charset header.
28
- * @private
29
- */
30
-
31
- function parseAcceptCharset(accept) {
32
- var accepts = accept.split(',');
33
-
34
- for (var i = 0, j = 0; i < accepts.length; i++) {
35
- var charset = parseCharset(accepts[i].trim(), i);
36
-
37
- if (charset) {
38
- accepts[j++] = charset;
39
- }
40
- }
41
-
42
- // trim accepts
43
- accepts.length = j;
44
-
45
- return accepts;
46
- }
47
-
48
- /**
49
- * Parse a charset from the Accept-Charset header.
50
- * @private
51
- */
52
-
53
- function parseCharset(str, i) {
54
- var match = simpleCharsetRegExp.exec(str);
55
- if (!match) return null;
56
-
57
- var charset = match[1];
58
- var q = 1;
59
- if (match[2]) {
60
- var params = match[2].split(';')
61
- for (var j = 0; j < params.length; j++) {
62
- var p = params[j].trim().split('=');
63
- if (p[0] === 'q') {
64
- q = parseFloat(p[1]);
65
- break;
66
- }
67
- }
68
- }
69
-
70
- return {
71
- charset: charset,
72
- q: q,
73
- i: i
74
- };
75
- }
76
-
77
- /**
78
- * Get the priority of a charset.
79
- * @private
80
- */
81
-
82
- function getCharsetPriority(charset, accepted, index) {
83
- var priority = {o: -1, q: 0, s: 0};
84
-
85
- for (var i = 0; i < accepted.length; i++) {
86
- var spec = specify(charset, accepted[i], index);
87
-
88
- if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) {
89
- priority = spec;
90
- }
91
- }
92
-
93
- return priority;
94
- }
95
-
96
- /**
97
- * Get the specificity of the charset.
98
- * @private
99
- */
100
-
101
- function specify(charset, spec, index) {
102
- var s = 0;
103
- if(spec.charset.toLowerCase() === charset.toLowerCase()){
104
- s |= 1;
105
- } else if (spec.charset !== '*' ) {
106
- return null
107
- }
108
-
109
- return {
110
- i: index,
111
- o: spec.i,
112
- q: spec.q,
113
- s: s
114
- }
115
- }
116
-
117
- /**
118
- * Get the preferred charsets from an Accept-Charset header.
119
- * @public
120
- */
121
-
122
- function preferredCharsets(accept, provided) {
123
- // RFC 2616 sec 14.2: no header = *
124
- var accepts = parseAcceptCharset(accept === undefined ? '*' : accept || '');
125
-
126
- if (!provided) {
127
- // sorted list of all charsets
128
- return accepts
129
- .filter(isQuality)
130
- .sort(compareSpecs)
131
- .map(getFullCharset);
132
- }
133
-
134
- var priorities = provided.map(function getPriority(type, index) {
135
- return getCharsetPriority(type, accepts, index);
136
- });
137
-
138
- // sorted list of accepted charsets
139
- return priorities.filter(isQuality).sort(compareSpecs).map(function getCharset(priority) {
140
- return provided[priorities.indexOf(priority)];
141
- });
142
- }
143
-
144
- /**
145
- * Compare two specs.
146
- * @private
147
- */
148
-
149
- function compareSpecs(a, b) {
150
- return (b.q - a.q) || (b.s - a.s) || (a.o - b.o) || (a.i - b.i) || 0;
151
- }
152
-
153
- /**
154
- * Get full charset string.
155
- * @private
156
- */
157
-
158
- function getFullCharset(spec) {
159
- return spec.charset;
160
- }
161
-
162
- /**
163
- * Check if a spec has any quality.
164
- * @private
165
- */
166
-
167
- function isQuality(spec) {
168
- return spec.q > 0;
169
- }
@@ -1,184 +0,0 @@
1
- /**
2
- * negotiator
3
- * Copyright(c) 2012 Isaac Z. Schlueter
4
- * Copyright(c) 2014 Federico Romero
5
- * Copyright(c) 2014-2015 Douglas Christopher Wilson
6
- * MIT Licensed
7
- */
8
-
9
- 'use strict';
10
-
11
- /**
12
- * Module exports.
13
- * @public
14
- */
15
-
16
- module.exports = preferredEncodings;
17
- module.exports.preferredEncodings = preferredEncodings;
18
-
19
- /**
20
- * Module variables.
21
- * @private
22
- */
23
-
24
- var simpleEncodingRegExp = /^\s*([^\s;]+)\s*(?:;(.*))?$/;
25
-
26
- /**
27
- * Parse the Accept-Encoding header.
28
- * @private
29
- */
30
-
31
- function parseAcceptEncoding(accept) {
32
- var accepts = accept.split(',');
33
- var hasIdentity = false;
34
- var minQuality = 1;
35
-
36
- for (var i = 0, j = 0; i < accepts.length; i++) {
37
- var encoding = parseEncoding(accepts[i].trim(), i);
38
-
39
- if (encoding) {
40
- accepts[j++] = encoding;
41
- hasIdentity = hasIdentity || specify('identity', encoding);
42
- minQuality = Math.min(minQuality, encoding.q || 1);
43
- }
44
- }
45
-
46
- if (!hasIdentity) {
47
- /*
48
- * If identity doesn't explicitly appear in the accept-encoding header,
49
- * it's added to the list of acceptable encoding with the lowest q
50
- */
51
- accepts[j++] = {
52
- encoding: 'identity',
53
- q: minQuality,
54
- i: i
55
- };
56
- }
57
-
58
- // trim accepts
59
- accepts.length = j;
60
-
61
- return accepts;
62
- }
63
-
64
- /**
65
- * Parse an encoding from the Accept-Encoding header.
66
- * @private
67
- */
68
-
69
- function parseEncoding(str, i) {
70
- var match = simpleEncodingRegExp.exec(str);
71
- if (!match) return null;
72
-
73
- var encoding = match[1];
74
- var q = 1;
75
- if (match[2]) {
76
- var params = match[2].split(';');
77
- for (var j = 0; j < params.length; j++) {
78
- var p = params[j].trim().split('=');
79
- if (p[0] === 'q') {
80
- q = parseFloat(p[1]);
81
- break;
82
- }
83
- }
84
- }
85
-
86
- return {
87
- encoding: encoding,
88
- q: q,
89
- i: i
90
- };
91
- }
92
-
93
- /**
94
- * Get the priority of an encoding.
95
- * @private
96
- */
97
-
98
- function getEncodingPriority(encoding, accepted, index) {
99
- var priority = {o: -1, q: 0, s: 0};
100
-
101
- for (var i = 0; i < accepted.length; i++) {
102
- var spec = specify(encoding, accepted[i], index);
103
-
104
- if (spec && (priority.s - spec.s || priority.q - spec.q || priority.o - spec.o) < 0) {
105
- priority = spec;
106
- }
107
- }
108
-
109
- return priority;
110
- }
111
-
112
- /**
113
- * Get the specificity of the encoding.
114
- * @private
115
- */
116
-
117
- function specify(encoding, spec, index) {
118
- var s = 0;
119
- if(spec.encoding.toLowerCase() === encoding.toLowerCase()){
120
- s |= 1;
121
- } else if (spec.encoding !== '*' ) {
122
- return null
123
- }
124
-
125
- return {
126
- i: index,
127
- o: spec.i,
128
- q: spec.q,
129
- s: s
130
- }
131
- };
132
-
133
- /**
134
- * Get the preferred encodings from an Accept-Encoding header.
135
- * @public
136
- */
137
-
138
- function preferredEncodings(accept, provided) {
139
- var accepts = parseAcceptEncoding(accept || '');
140
-
141
- if (!provided) {
142
- // sorted list of all encodings
143
- return accepts
144
- .filter(isQuality)
145
- .sort(compareSpecs)
146
- .map(getFullEncoding);
147
- }
148
-
149
- var priorities = provided.map(function getPriority(type, index) {
150
- return getEncodingPriority(type, accepts, index);
151
- });
152
-
153
- // sorted list of accepted encodings
154
- return priorities.filter(isQuality).sort(compareSpecs).map(function getEncoding(priority) {
155
- return provided[priorities.indexOf(priority)];
156
- });
157
- }
158
-
159
- /**
160
- * Compare two specs.
161
- * @private
162
- */
163
-
164
- function compareSpecs(a, b) {
165
- return (b.q - a.q) || (b.s - a.s) || (a.o - b.o) || (a.i - b.i) || 0;
166
- }
167
-
168
- /**
169
- * Get full encoding string.
170
- * @private
171
- */
172
-
173
- function getFullEncoding(spec) {
174
- return spec.encoding;
175
- }
176
-
177
- /**
178
- * Check if a spec has any quality.
179
- * @private
180
- */
181
-
182
- function isQuality(spec) {
183
- return spec.q > 0;
184
- }