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
package/tsconfig.json ADDED
@@ -0,0 +1,16 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/tsconfig",
3
+ "display": "Node 20",
4
+ "_version": "20.1.0",
5
+
6
+ "compilerOptions": {
7
+ "lib": ["es2023"],
8
+ "module": "node16",
9
+ "target": "es2022",
10
+
11
+ "strict": true,
12
+ "esModuleInterop": true,
13
+ "skipLibCheck": true,
14
+ "moduleResolution": "node16"
15
+ }
16
+ }
package/webpack.common.js CHANGED
@@ -1,20 +1,20 @@
1
- const path = require('path');
2
-
3
- module.exports = {
4
- context: path.resolve(__dirname, 'src'),
5
- entry: './index.js',
6
- output: {
7
- path: path.resolve(__dirname, 'dist'),
8
- filename: '[name].bundle.js',
9
- library: 'Crawler',
10
- },
11
- module: {
12
- rules: [
13
- {
14
- test: /\.js$/,
15
- use: 'babel-loader',
16
- exclude: /node_modules/,
17
- },
18
- ],
19
- },
20
- };
1
+ const path = require('path');
2
+
3
+ module.exports = {
4
+ context: path.resolve(__dirname, 'src'),
5
+ entry: './index.js',
6
+ output: {
7
+ path: path.resolve(__dirname, 'dist'),
8
+ filename: '[name].bundle.js',
9
+ library: 'Crawler',
10
+ },
11
+ module: {
12
+ rules: [
13
+ {
14
+ test: /\.js$/,
15
+ use: 'babel-loader',
16
+ exclude: /node_modules/,
17
+ },
18
+ ],
19
+ },
20
+ };
package/webpack.dev.js CHANGED
@@ -1,7 +1,7 @@
1
- const { merge } = require('webpack-merge');
2
- const common = require('./webpack.common');
3
-
4
- module.exports = merge(common, {
5
- mode: 'development',
6
- devtool: 'inline-source-map',
7
- });
1
+ const { merge } = require('webpack-merge');
2
+ const common = require('./webpack.common');
3
+
4
+ module.exports = merge(common, {
5
+ mode: 'development',
6
+ devtool: 'inline-source-map',
7
+ });
package/webpack.prod.js CHANGED
@@ -1,14 +1,14 @@
1
- const { merge } = require('webpack-merge');
2
- const TerserPlugin = require('terser-webpack-plugin');
3
- const common = require('./webpack.common');
4
-
5
- module.exports = merge(common, {
6
- mode: 'production',
7
- optimization: {
8
- minimizer: [
9
- new TerserPlugin({
10
- parallel: true,
11
- }),
12
- ],
13
- },
14
- });
1
+ const { merge } = require('webpack-merge');
2
+ const TerserPlugin = require('terser-webpack-plugin');
3
+ const common = require('./webpack.common');
4
+
5
+ module.exports = merge(common, {
6
+ mode: 'production',
7
+ optimization: {
8
+ minimizer: [
9
+ new TerserPlugin({
10
+ parallel: true,
11
+ }),
12
+ ],
13
+ },
14
+ });
package/.eslintignore DELETED
@@ -1,6 +0,0 @@
1
- !.*
2
- coverage/
3
- junit/
4
- dist/
5
- mobiles/
6
- **/node_modules/*
package/.eslintrc.json DELETED
@@ -1,30 +0,0 @@
1
- {
2
- "extends": ["eslint:recommended", "plugin:prettier/recommended"],
3
- "env": {
4
- "browser": false,
5
- "commonjs": true,
6
- "es6": true,
7
- "node": true,
8
- "mocha": true
9
- },
10
- "rules": {
11
- "max-len": [
12
- "warn",
13
- {
14
- "code": 80,
15
- "tabWidth": 2,
16
- "comments": 80,
17
- "ignoreComments": false,
18
- "ignoreTrailingComments": true,
19
- "ignoreUrls": true,
20
- "ignoreStrings": true,
21
- "ignoreTemplateLiterals": true,
22
- "ignoreRegExpLiterals": true
23
- }
24
- ]
25
- },
26
- "parser": "@babel/eslint-parser",
27
- "parserOptions": {
28
- "requireConfigFile": false
29
- }
30
- }
@@ -1,15 +0,0 @@
1
- #!/bin/sh
2
- basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
-
4
- case `uname` in
5
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
- esac
7
-
8
- if [ -x "$basedir/node" ]; then
9
- "$basedir/node" "$basedir/../mime/cli.js" "$@"
10
- ret=$?
11
- else
12
- node "$basedir/../mime/cli.js" "$@"
13
- ret=$?
14
- fi
15
- exit $ret
@@ -1,7 +0,0 @@
1
- @IF EXIST "%~dp0\node.exe" (
2
- "%~dp0\node.exe" "%~dp0\..\mime\cli.js" %*
3
- ) ELSE (
4
- @SETLOCAL
5
- @SET PATHEXT=%PATHEXT:;.JS;=;%
6
- node "%~dp0\..\mime\cli.js" %*
7
- )
@@ -1,67 +0,0 @@
1
- {
2
- "systemParams": "win32-x64-93",
3
- "modulesFolders": [
4
- "node_modules"
5
- ],
6
- "flags": [],
7
- "linkedModules": [],
8
- "topLevelPatterns": [
9
- "express@^4.17.2"
10
- ],
11
- "lockfileEntries": {
12
- "accepts@~1.3.7": "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd",
13
- "array-flatten@1.1.1": "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2",
14
- "body-parser@1.19.1": "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.1.tgz#1499abbaa9274af3ecc9f6f10396c995943e31d4",
15
- "bytes@3.1.1": "https://registry.yarnpkg.com/bytes/-/bytes-3.1.1.tgz#3f018291cb4cbad9accb6e6970bca9c8889e879a",
16
- "content-disposition@0.5.4": "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe",
17
- "content-type@~1.0.4": "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b",
18
- "cookie-signature@1.0.6": "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c",
19
- "cookie@0.4.1": "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1",
20
- "debug@2.6.9": "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f",
21
- "depd@~1.1.2": "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9",
22
- "destroy@~1.0.4": "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80",
23
- "ee-first@1.1.1": "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d",
24
- "encodeurl@~1.0.2": "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59",
25
- "escape-html@~1.0.3": "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988",
26
- "etag@~1.8.1": "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887",
27
- "express@^4.17.2": "https://registry.yarnpkg.com/express/-/express-4.17.2.tgz#c18369f265297319beed4e5558753cc8c1364cb3",
28
- "finalhandler@~1.1.2": "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d",
29
- "forwarded@0.2.0": "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811",
30
- "fresh@0.5.2": "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7",
31
- "http-errors@1.8.1": "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c",
32
- "iconv-lite@0.4.24": "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b",
33
- "inherits@2.0.4": "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c",
34
- "ipaddr.js@1.9.1": "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3",
35
- "media-typer@0.3.0": "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748",
36
- "merge-descriptors@1.0.1": "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61",
37
- "methods@~1.1.2": "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee",
38
- "mime-db@1.51.0": "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c",
39
- "mime-types@~2.1.24": "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24",
40
- "mime@1.6.0": "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1",
41
- "ms@2.0.0": "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8",
42
- "ms@2.1.3": "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2",
43
- "negotiator@0.6.2": "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb",
44
- "on-finished@~2.3.0": "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947",
45
- "parseurl@~1.3.3": "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4",
46
- "path-to-regexp@0.1.7": "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c",
47
- "proxy-addr@~2.0.7": "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025",
48
- "qs@6.9.6": "https://registry.yarnpkg.com/qs/-/qs-6.9.6.tgz#26ed3c8243a431b2924aca84cc90471f35d5a0ee",
49
- "range-parser@~1.2.1": "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031",
50
- "raw-body@2.4.2": "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.2.tgz#baf3e9c21eebced59dd6533ac872b71f7b61cb32",
51
- "safe-buffer@5.2.1": "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6",
52
- "safer-buffer@>= 2.1.2 < 3": "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a",
53
- "send@0.17.2": "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz#926622f76601c41808012c8bf1688fe3906f7820",
54
- "serve-static@1.14.2": "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.2.tgz#722d6294b1d62626d41b43a013ece4598d292bfa",
55
- "setprototypeof@1.2.0": "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424",
56
- "statuses@>= 1.5.0 < 2": "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c",
57
- "statuses@~1.5.0": "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c",
58
- "toidentifier@1.0.1": "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35",
59
- "type-is@~1.6.18": "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131",
60
- "unpipe@1.0.0": "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec",
61
- "unpipe@~1.0.0": "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec",
62
- "utils-merge@1.0.1": "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713",
63
- "vary@~1.1.2": "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
64
- },
65
- "files": [],
66
- "artifacts": {}
67
- }
@@ -1,236 +0,0 @@
1
- 1.3.7 / 2019-04-29
2
- ==================
3
-
4
- * deps: negotiator@0.6.2
5
- - Fix sorting charset, encoding, and language with extra parameters
6
-
7
- 1.3.6 / 2019-04-28
8
- ==================
9
-
10
- * deps: mime-types@~2.1.24
11
- - deps: mime-db@~1.40.0
12
-
13
- 1.3.5 / 2018-02-28
14
- ==================
15
-
16
- * deps: mime-types@~2.1.18
17
- - deps: mime-db@~1.33.0
18
-
19
- 1.3.4 / 2017-08-22
20
- ==================
21
-
22
- * deps: mime-types@~2.1.16
23
- - deps: mime-db@~1.29.0
24
-
25
- 1.3.3 / 2016-05-02
26
- ==================
27
-
28
- * deps: mime-types@~2.1.11
29
- - deps: mime-db@~1.23.0
30
- * deps: negotiator@0.6.1
31
- - perf: improve `Accept` parsing speed
32
- - perf: improve `Accept-Charset` parsing speed
33
- - perf: improve `Accept-Encoding` parsing speed
34
- - perf: improve `Accept-Language` parsing speed
35
-
36
- 1.3.2 / 2016-03-08
37
- ==================
38
-
39
- * deps: mime-types@~2.1.10
40
- - Fix extension of `application/dash+xml`
41
- - Update primary extension for `audio/mp4`
42
- - deps: mime-db@~1.22.0
43
-
44
- 1.3.1 / 2016-01-19
45
- ==================
46
-
47
- * deps: mime-types@~2.1.9
48
- - deps: mime-db@~1.21.0
49
-
50
- 1.3.0 / 2015-09-29
51
- ==================
52
-
53
- * deps: mime-types@~2.1.7
54
- - deps: mime-db@~1.19.0
55
- * deps: negotiator@0.6.0
56
- - Fix including type extensions in parameters in `Accept` parsing
57
- - Fix parsing `Accept` parameters with quoted equals
58
- - Fix parsing `Accept` parameters with quoted semicolons
59
- - Lazy-load modules from main entry point
60
- - perf: delay type concatenation until needed
61
- - perf: enable strict mode
62
- - perf: hoist regular expressions
63
- - perf: remove closures getting spec properties
64
- - perf: remove a closure from media type parsing
65
- - perf: remove property delete from media type parsing
66
-
67
- 1.2.13 / 2015-09-06
68
- ===================
69
-
70
- * deps: mime-types@~2.1.6
71
- - deps: mime-db@~1.18.0
72
-
73
- 1.2.12 / 2015-07-30
74
- ===================
75
-
76
- * deps: mime-types@~2.1.4
77
- - deps: mime-db@~1.16.0
78
-
79
- 1.2.11 / 2015-07-16
80
- ===================
81
-
82
- * deps: mime-types@~2.1.3
83
- - deps: mime-db@~1.15.0
84
-
85
- 1.2.10 / 2015-07-01
86
- ===================
87
-
88
- * deps: mime-types@~2.1.2
89
- - deps: mime-db@~1.14.0
90
-
91
- 1.2.9 / 2015-06-08
92
- ==================
93
-
94
- * deps: mime-types@~2.1.1
95
- - perf: fix deopt during mapping
96
-
97
- 1.2.8 / 2015-06-07
98
- ==================
99
-
100
- * deps: mime-types@~2.1.0
101
- - deps: mime-db@~1.13.0
102
- * perf: avoid argument reassignment & argument slice
103
- * perf: avoid negotiator recursive construction
104
- * perf: enable strict mode
105
- * perf: remove unnecessary bitwise operator
106
-
107
- 1.2.7 / 2015-05-10
108
- ==================
109
-
110
- * deps: negotiator@0.5.3
111
- - Fix media type parameter matching to be case-insensitive
112
-
113
- 1.2.6 / 2015-05-07
114
- ==================
115
-
116
- * deps: mime-types@~2.0.11
117
- - deps: mime-db@~1.9.1
118
- * deps: negotiator@0.5.2
119
- - Fix comparing media types with quoted values
120
- - Fix splitting media types with quoted commas
121
-
122
- 1.2.5 / 2015-03-13
123
- ==================
124
-
125
- * deps: mime-types@~2.0.10
126
- - deps: mime-db@~1.8.0
127
-
128
- 1.2.4 / 2015-02-14
129
- ==================
130
-
131
- * Support Node.js 0.6
132
- * deps: mime-types@~2.0.9
133
- - deps: mime-db@~1.7.0
134
- * deps: negotiator@0.5.1
135
- - Fix preference sorting to be stable for long acceptable lists
136
-
137
- 1.2.3 / 2015-01-31
138
- ==================
139
-
140
- * deps: mime-types@~2.0.8
141
- - deps: mime-db@~1.6.0
142
-
143
- 1.2.2 / 2014-12-30
144
- ==================
145
-
146
- * deps: mime-types@~2.0.7
147
- - deps: mime-db@~1.5.0
148
-
149
- 1.2.1 / 2014-12-30
150
- ==================
151
-
152
- * deps: mime-types@~2.0.5
153
- - deps: mime-db@~1.3.1
154
-
155
- 1.2.0 / 2014-12-19
156
- ==================
157
-
158
- * deps: negotiator@0.5.0
159
- - Fix list return order when large accepted list
160
- - Fix missing identity encoding when q=0 exists
161
- - Remove dynamic building of Negotiator class
162
-
163
- 1.1.4 / 2014-12-10
164
- ==================
165
-
166
- * deps: mime-types@~2.0.4
167
- - deps: mime-db@~1.3.0
168
-
169
- 1.1.3 / 2014-11-09
170
- ==================
171
-
172
- * deps: mime-types@~2.0.3
173
- - deps: mime-db@~1.2.0
174
-
175
- 1.1.2 / 2014-10-14
176
- ==================
177
-
178
- * deps: negotiator@0.4.9
179
- - Fix error when media type has invalid parameter
180
-
181
- 1.1.1 / 2014-09-28
182
- ==================
183
-
184
- * deps: mime-types@~2.0.2
185
- - deps: mime-db@~1.1.0
186
- * deps: negotiator@0.4.8
187
- - Fix all negotiations to be case-insensitive
188
- - Stable sort preferences of same quality according to client order
189
-
190
- 1.1.0 / 2014-09-02
191
- ==================
192
-
193
- * update `mime-types`
194
-
195
- 1.0.7 / 2014-07-04
196
- ==================
197
-
198
- * Fix wrong type returned from `type` when match after unknown extension
199
-
200
- 1.0.6 / 2014-06-24
201
- ==================
202
-
203
- * deps: negotiator@0.4.7
204
-
205
- 1.0.5 / 2014-06-20
206
- ==================
207
-
208
- * fix crash when unknown extension given
209
-
210
- 1.0.4 / 2014-06-19
211
- ==================
212
-
213
- * use `mime-types`
214
-
215
- 1.0.3 / 2014-06-11
216
- ==================
217
-
218
- * deps: negotiator@0.4.6
219
- - Order by specificity when quality is the same
220
-
221
- 1.0.2 / 2014-05-29
222
- ==================
223
-
224
- * Fix interpretation when header not in request
225
- * deps: pin negotiator@0.4.5
226
-
227
- 1.0.1 / 2014-01-18
228
- ==================
229
-
230
- * Identity encoding isn't always acceptable
231
- * deps: negotiator@~0.4.0
232
-
233
- 1.0.0 / 2013-12-27
234
- ==================
235
-
236
- * Genesis
@@ -1,23 +0,0 @@
1
- (The MIT License)
2
-
3
- Copyright (c) 2014 Jonathan Ong <me@jongleberry.com>
4
- Copyright (c) 2015 Douglas Christopher Wilson <doug@somethingdoug.com>
5
-
6
- Permission is hereby granted, free of charge, to any person obtaining
7
- a copy of this software and associated documentation files (the
8
- 'Software'), to deal in the Software without restriction, including
9
- without limitation the rights to use, copy, modify, merge, publish,
10
- distribute, sublicense, and/or sell copies of the Software, and to
11
- permit persons to whom the Software is furnished to do so, subject to
12
- the following conditions:
13
-
14
- The above copyright notice and this permission notice shall be
15
- included in all copies or substantial portions of the Software.
16
-
17
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
18
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
21
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
22
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,142 +0,0 @@
1
- # accepts
2
-
3
- [![NPM Version][npm-version-image]][npm-url]
4
- [![NPM Downloads][npm-downloads-image]][npm-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
- Higher level content negotiation based on [negotiator](https://www.npmjs.com/package/negotiator).
10
- Extracted from [koa](https://www.npmjs.com/package/koa) for general use.
11
-
12
- In addition to negotiator, it allows:
13
-
14
- - Allows types as an array or arguments list, ie `(['text/html', 'application/json'])`
15
- as well as `('text/html', 'application/json')`.
16
- - Allows type shorthands such as `json`.
17
- - Returns `false` when no types match
18
- - Treats non-existent headers as `*`
19
-
20
- ## Installation
21
-
22
- This is a [Node.js](https://nodejs.org/en/) module available through the
23
- [npm registry](https://www.npmjs.com/). Installation is done using the
24
- [`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally):
25
-
26
- ```sh
27
- $ npm install accepts
28
- ```
29
-
30
- ## API
31
-
32
- <!-- eslint-disable no-unused-vars -->
33
-
34
- ```js
35
- var accepts = require('accepts')
36
- ```
37
-
38
- ### accepts(req)
39
-
40
- Create a new `Accepts` object for the given `req`.
41
-
42
- #### .charset(charsets)
43
-
44
- Return the first accepted charset. If nothing in `charsets` is accepted,
45
- then `false` is returned.
46
-
47
- #### .charsets()
48
-
49
- Return the charsets that the request accepts, in the order of the client's
50
- preference (most preferred first).
51
-
52
- #### .encoding(encodings)
53
-
54
- Return the first accepted encoding. If nothing in `encodings` is accepted,
55
- then `false` is returned.
56
-
57
- #### .encodings()
58
-
59
- Return the encodings that the request accepts, in the order of the client's
60
- preference (most preferred first).
61
-
62
- #### .language(languages)
63
-
64
- Return the first accepted language. If nothing in `languages` is accepted,
65
- then `false` is returned.
66
-
67
- #### .languages()
68
-
69
- Return the languages that the request accepts, in the order of the client's
70
- preference (most preferred first).
71
-
72
- #### .type(types)
73
-
74
- Return the first accepted type (and it is returned as the same text as what
75
- appears in the `types` array). If nothing in `types` is accepted, then `false`
76
- is returned.
77
-
78
- The `types` array can contain full MIME types or file extensions. Any value
79
- that is not a full MIME types is passed to `require('mime-types').lookup`.
80
-
81
- #### .types()
82
-
83
- Return the types that the request accepts, in the order of the client's
84
- preference (most preferred first).
85
-
86
- ## Examples
87
-
88
- ### Simple type negotiation
89
-
90
- This simple example shows how to use `accepts` to return a different typed
91
- respond body based on what the client wants to accept. The server lists it's
92
- preferences in order and will get back the best match between the client and
93
- server.
94
-
95
- ```js
96
- var accepts = require('accepts')
97
- var http = require('http')
98
-
99
- function app (req, res) {
100
- var accept = accepts(req)
101
-
102
- // the order of this list is significant; should be server preferred order
103
- switch (accept.type(['json', 'html'])) {
104
- case 'json':
105
- res.setHeader('Content-Type', 'application/json')
106
- res.write('{"hello":"world!"}')
107
- break
108
- case 'html':
109
- res.setHeader('Content-Type', 'text/html')
110
- res.write('<b>hello, world!</b>')
111
- break
112
- default:
113
- // the fallback is text/plain, so no need to specify it above
114
- res.setHeader('Content-Type', 'text/plain')
115
- res.write('hello, world!')
116
- break
117
- }
118
-
119
- res.end()
120
- }
121
-
122
- http.createServer(app).listen(3000)
123
- ```
124
-
125
- You can test this out with the cURL program:
126
- ```sh
127
- curl -I -H'Accept: text/html' http://localhost:3000/
128
- ```
129
-
130
- ## License
131
-
132
- [MIT](LICENSE)
133
-
134
- [coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/accepts/master
135
- [coveralls-url]: https://coveralls.io/r/jshttp/accepts?branch=master
136
- [node-version-image]: https://badgen.net/npm/node/accepts
137
- [node-version-url]: https://nodejs.org/en/download
138
- [npm-downloads-image]: https://badgen.net/npm/dm/accepts
139
- [npm-url]: https://npmjs.org/package/accepts
140
- [npm-version-image]: https://badgen.net/npm/v/accepts
141
- [travis-image]: https://badgen.net/travis/jshttp/accepts/master
142
- [travis-url]: https://travis-ci.org/jshttp/accepts