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,644 +0,0 @@
1
- /*!
2
- * express
3
- * Copyright(c) 2009-2013 TJ Holowaychuk
4
- * Copyright(c) 2013 Roman Shtylman
5
- * Copyright(c) 2014-2015 Douglas Christopher Wilson
6
- * MIT Licensed
7
- */
8
-
9
- 'use strict';
10
-
11
- /**
12
- * Module dependencies.
13
- * @private
14
- */
15
-
16
- var finalhandler = require('finalhandler');
17
- var Router = require('./router');
18
- var methods = require('methods');
19
- var middleware = require('./middleware/init');
20
- var query = require('./middleware/query');
21
- var debug = require('debug')('express:application');
22
- var View = require('./view');
23
- var http = require('http');
24
- var compileETag = require('./utils').compileETag;
25
- var compileQueryParser = require('./utils').compileQueryParser;
26
- var compileTrust = require('./utils').compileTrust;
27
- var deprecate = require('depd')('express');
28
- var flatten = require('array-flatten');
29
- var merge = require('utils-merge');
30
- var resolve = require('path').resolve;
31
- var setPrototypeOf = require('setprototypeof')
32
- var slice = Array.prototype.slice;
33
-
34
- /**
35
- * Application prototype.
36
- */
37
-
38
- var app = exports = module.exports = {};
39
-
40
- /**
41
- * Variable for trust proxy inheritance back-compat
42
- * @private
43
- */
44
-
45
- var trustProxyDefaultSymbol = '@@symbol:trust_proxy_default';
46
-
47
- /**
48
- * Initialize the server.
49
- *
50
- * - setup default configuration
51
- * - setup default middleware
52
- * - setup route reflection methods
53
- *
54
- * @private
55
- */
56
-
57
- app.init = function init() {
58
- this.cache = {};
59
- this.engines = {};
60
- this.settings = {};
61
-
62
- this.defaultConfiguration();
63
- };
64
-
65
- /**
66
- * Initialize application configuration.
67
- * @private
68
- */
69
-
70
- app.defaultConfiguration = function defaultConfiguration() {
71
- var env = process.env.NODE_ENV || 'development';
72
-
73
- // default settings
74
- this.enable('x-powered-by');
75
- this.set('etag', 'weak');
76
- this.set('env', env);
77
- this.set('query parser', 'extended');
78
- this.set('subdomain offset', 2);
79
- this.set('trust proxy', false);
80
-
81
- // trust proxy inherit back-compat
82
- Object.defineProperty(this.settings, trustProxyDefaultSymbol, {
83
- configurable: true,
84
- value: true
85
- });
86
-
87
- debug('booting in %s mode', env);
88
-
89
- this.on('mount', function onmount(parent) {
90
- // inherit trust proxy
91
- if (this.settings[trustProxyDefaultSymbol] === true
92
- && typeof parent.settings['trust proxy fn'] === 'function') {
93
- delete this.settings['trust proxy'];
94
- delete this.settings['trust proxy fn'];
95
- }
96
-
97
- // inherit protos
98
- setPrototypeOf(this.request, parent.request)
99
- setPrototypeOf(this.response, parent.response)
100
- setPrototypeOf(this.engines, parent.engines)
101
- setPrototypeOf(this.settings, parent.settings)
102
- });
103
-
104
- // setup locals
105
- this.locals = Object.create(null);
106
-
107
- // top-most app is mounted at /
108
- this.mountpath = '/';
109
-
110
- // default locals
111
- this.locals.settings = this.settings;
112
-
113
- // default configuration
114
- this.set('view', View);
115
- this.set('views', resolve('views'));
116
- this.set('jsonp callback name', 'callback');
117
-
118
- if (env === 'production') {
119
- this.enable('view cache');
120
- }
121
-
122
- Object.defineProperty(this, 'router', {
123
- get: function() {
124
- throw new Error('\'app.router\' is deprecated!\nPlease see the 3.x to 4.x migration guide for details on how to update your app.');
125
- }
126
- });
127
- };
128
-
129
- /**
130
- * lazily adds the base router if it has not yet been added.
131
- *
132
- * We cannot add the base router in the defaultConfiguration because
133
- * it reads app settings which might be set after that has run.
134
- *
135
- * @private
136
- */
137
- app.lazyrouter = function lazyrouter() {
138
- if (!this._router) {
139
- this._router = new Router({
140
- caseSensitive: this.enabled('case sensitive routing'),
141
- strict: this.enabled('strict routing')
142
- });
143
-
144
- this._router.use(query(this.get('query parser fn')));
145
- this._router.use(middleware.init(this));
146
- }
147
- };
148
-
149
- /**
150
- * Dispatch a req, res pair into the application. Starts pipeline processing.
151
- *
152
- * If no callback is provided, then default error handlers will respond
153
- * in the event of an error bubbling through the stack.
154
- *
155
- * @private
156
- */
157
-
158
- app.handle = function handle(req, res, callback) {
159
- var router = this._router;
160
-
161
- // final handler
162
- var done = callback || finalhandler(req, res, {
163
- env: this.get('env'),
164
- onerror: logerror.bind(this)
165
- });
166
-
167
- // no routes
168
- if (!router) {
169
- debug('no routes defined on app');
170
- done();
171
- return;
172
- }
173
-
174
- router.handle(req, res, done);
175
- };
176
-
177
- /**
178
- * Proxy `Router#use()` to add middleware to the app router.
179
- * See Router#use() documentation for details.
180
- *
181
- * If the _fn_ parameter is an express app, then it will be
182
- * mounted at the _route_ specified.
183
- *
184
- * @public
185
- */
186
-
187
- app.use = function use(fn) {
188
- var offset = 0;
189
- var path = '/';
190
-
191
- // default path to '/'
192
- // disambiguate app.use([fn])
193
- if (typeof fn !== 'function') {
194
- var arg = fn;
195
-
196
- while (Array.isArray(arg) && arg.length !== 0) {
197
- arg = arg[0];
198
- }
199
-
200
- // first arg is the path
201
- if (typeof arg !== 'function') {
202
- offset = 1;
203
- path = fn;
204
- }
205
- }
206
-
207
- var fns = flatten(slice.call(arguments, offset));
208
-
209
- if (fns.length === 0) {
210
- throw new TypeError('app.use() requires a middleware function')
211
- }
212
-
213
- // setup router
214
- this.lazyrouter();
215
- var router = this._router;
216
-
217
- fns.forEach(function (fn) {
218
- // non-express app
219
- if (!fn || !fn.handle || !fn.set) {
220
- return router.use(path, fn);
221
- }
222
-
223
- debug('.use app under %s', path);
224
- fn.mountpath = path;
225
- fn.parent = this;
226
-
227
- // restore .app property on req and res
228
- router.use(path, function mounted_app(req, res, next) {
229
- var orig = req.app;
230
- fn.handle(req, res, function (err) {
231
- setPrototypeOf(req, orig.request)
232
- setPrototypeOf(res, orig.response)
233
- next(err);
234
- });
235
- });
236
-
237
- // mounted an app
238
- fn.emit('mount', this);
239
- }, this);
240
-
241
- return this;
242
- };
243
-
244
- /**
245
- * Proxy to the app `Router#route()`
246
- * Returns a new `Route` instance for the _path_.
247
- *
248
- * Routes are isolated middleware stacks for specific paths.
249
- * See the Route api docs for details.
250
- *
251
- * @public
252
- */
253
-
254
- app.route = function route(path) {
255
- this.lazyrouter();
256
- return this._router.route(path);
257
- };
258
-
259
- /**
260
- * Register the given template engine callback `fn`
261
- * as `ext`.
262
- *
263
- * By default will `require()` the engine based on the
264
- * file extension. For example if you try to render
265
- * a "foo.ejs" file Express will invoke the following internally:
266
- *
267
- * app.engine('ejs', require('ejs').__express);
268
- *
269
- * For engines that do not provide `.__express` out of the box,
270
- * or if you wish to "map" a different extension to the template engine
271
- * you may use this method. For example mapping the EJS template engine to
272
- * ".html" files:
273
- *
274
- * app.engine('html', require('ejs').renderFile);
275
- *
276
- * In this case EJS provides a `.renderFile()` method with
277
- * the same signature that Express expects: `(path, options, callback)`,
278
- * though note that it aliases this method as `ejs.__express` internally
279
- * so if you're using ".ejs" extensions you don't need to do anything.
280
- *
281
- * Some template engines do not follow this convention, the
282
- * [Consolidate.js](https://github.com/tj/consolidate.js)
283
- * library was created to map all of node's popular template
284
- * engines to follow this convention, thus allowing them to
285
- * work seamlessly within Express.
286
- *
287
- * @param {String} ext
288
- * @param {Function} fn
289
- * @return {app} for chaining
290
- * @public
291
- */
292
-
293
- app.engine = function engine(ext, fn) {
294
- if (typeof fn !== 'function') {
295
- throw new Error('callback function required');
296
- }
297
-
298
- // get file extension
299
- var extension = ext[0] !== '.'
300
- ? '.' + ext
301
- : ext;
302
-
303
- // store engine
304
- this.engines[extension] = fn;
305
-
306
- return this;
307
- };
308
-
309
- /**
310
- * Proxy to `Router#param()` with one added api feature. The _name_ parameter
311
- * can be an array of names.
312
- *
313
- * See the Router#param() docs for more details.
314
- *
315
- * @param {String|Array} name
316
- * @param {Function} fn
317
- * @return {app} for chaining
318
- * @public
319
- */
320
-
321
- app.param = function param(name, fn) {
322
- this.lazyrouter();
323
-
324
- if (Array.isArray(name)) {
325
- for (var i = 0; i < name.length; i++) {
326
- this.param(name[i], fn);
327
- }
328
-
329
- return this;
330
- }
331
-
332
- this._router.param(name, fn);
333
-
334
- return this;
335
- };
336
-
337
- /**
338
- * Assign `setting` to `val`, or return `setting`'s value.
339
- *
340
- * app.set('foo', 'bar');
341
- * app.set('foo');
342
- * // => "bar"
343
- *
344
- * Mounted servers inherit their parent server's settings.
345
- *
346
- * @param {String} setting
347
- * @param {*} [val]
348
- * @return {Server} for chaining
349
- * @public
350
- */
351
-
352
- app.set = function set(setting, val) {
353
- if (arguments.length === 1) {
354
- // app.get(setting)
355
- return this.settings[setting];
356
- }
357
-
358
- debug('set "%s" to %o', setting, val);
359
-
360
- // set value
361
- this.settings[setting] = val;
362
-
363
- // trigger matched settings
364
- switch (setting) {
365
- case 'etag':
366
- this.set('etag fn', compileETag(val));
367
- break;
368
- case 'query parser':
369
- this.set('query parser fn', compileQueryParser(val));
370
- break;
371
- case 'trust proxy':
372
- this.set('trust proxy fn', compileTrust(val));
373
-
374
- // trust proxy inherit back-compat
375
- Object.defineProperty(this.settings, trustProxyDefaultSymbol, {
376
- configurable: true,
377
- value: false
378
- });
379
-
380
- break;
381
- }
382
-
383
- return this;
384
- };
385
-
386
- /**
387
- * Return the app's absolute pathname
388
- * based on the parent(s) that have
389
- * mounted it.
390
- *
391
- * For example if the application was
392
- * mounted as "/admin", which itself
393
- * was mounted as "/blog" then the
394
- * return value would be "/blog/admin".
395
- *
396
- * @return {String}
397
- * @private
398
- */
399
-
400
- app.path = function path() {
401
- return this.parent
402
- ? this.parent.path() + this.mountpath
403
- : '';
404
- };
405
-
406
- /**
407
- * Check if `setting` is enabled (truthy).
408
- *
409
- * app.enabled('foo')
410
- * // => false
411
- *
412
- * app.enable('foo')
413
- * app.enabled('foo')
414
- * // => true
415
- *
416
- * @param {String} setting
417
- * @return {Boolean}
418
- * @public
419
- */
420
-
421
- app.enabled = function enabled(setting) {
422
- return Boolean(this.set(setting));
423
- };
424
-
425
- /**
426
- * Check if `setting` is disabled.
427
- *
428
- * app.disabled('foo')
429
- * // => true
430
- *
431
- * app.enable('foo')
432
- * app.disabled('foo')
433
- * // => false
434
- *
435
- * @param {String} setting
436
- * @return {Boolean}
437
- * @public
438
- */
439
-
440
- app.disabled = function disabled(setting) {
441
- return !this.set(setting);
442
- };
443
-
444
- /**
445
- * Enable `setting`.
446
- *
447
- * @param {String} setting
448
- * @return {app} for chaining
449
- * @public
450
- */
451
-
452
- app.enable = function enable(setting) {
453
- return this.set(setting, true);
454
- };
455
-
456
- /**
457
- * Disable `setting`.
458
- *
459
- * @param {String} setting
460
- * @return {app} for chaining
461
- * @public
462
- */
463
-
464
- app.disable = function disable(setting) {
465
- return this.set(setting, false);
466
- };
467
-
468
- /**
469
- * Delegate `.VERB(...)` calls to `router.VERB(...)`.
470
- */
471
-
472
- methods.forEach(function(method){
473
- app[method] = function(path){
474
- if (method === 'get' && arguments.length === 1) {
475
- // app.get(setting)
476
- return this.set(path);
477
- }
478
-
479
- this.lazyrouter();
480
-
481
- var route = this._router.route(path);
482
- route[method].apply(route, slice.call(arguments, 1));
483
- return this;
484
- };
485
- });
486
-
487
- /**
488
- * Special-cased "all" method, applying the given route `path`,
489
- * middleware, and callback to _every_ HTTP method.
490
- *
491
- * @param {String} path
492
- * @param {Function} ...
493
- * @return {app} for chaining
494
- * @public
495
- */
496
-
497
- app.all = function all(path) {
498
- this.lazyrouter();
499
-
500
- var route = this._router.route(path);
501
- var args = slice.call(arguments, 1);
502
-
503
- for (var i = 0; i < methods.length; i++) {
504
- route[methods[i]].apply(route, args);
505
- }
506
-
507
- return this;
508
- };
509
-
510
- // del -> delete alias
511
-
512
- app.del = deprecate.function(app.delete, 'app.del: Use app.delete instead');
513
-
514
- /**
515
- * Render the given view `name` name with `options`
516
- * and a callback accepting an error and the
517
- * rendered template string.
518
- *
519
- * Example:
520
- *
521
- * app.render('email', { name: 'Tobi' }, function(err, html){
522
- * // ...
523
- * })
524
- *
525
- * @param {String} name
526
- * @param {Object|Function} options or fn
527
- * @param {Function} callback
528
- * @public
529
- */
530
-
531
- app.render = function render(name, options, callback) {
532
- var cache = this.cache;
533
- var done = callback;
534
- var engines = this.engines;
535
- var opts = options;
536
- var renderOptions = {};
537
- var view;
538
-
539
- // support callback function as second arg
540
- if (typeof options === 'function') {
541
- done = options;
542
- opts = {};
543
- }
544
-
545
- // merge app.locals
546
- merge(renderOptions, this.locals);
547
-
548
- // merge options._locals
549
- if (opts._locals) {
550
- merge(renderOptions, opts._locals);
551
- }
552
-
553
- // merge options
554
- merge(renderOptions, opts);
555
-
556
- // set .cache unless explicitly provided
557
- if (renderOptions.cache == null) {
558
- renderOptions.cache = this.enabled('view cache');
559
- }
560
-
561
- // primed cache
562
- if (renderOptions.cache) {
563
- view = cache[name];
564
- }
565
-
566
- // view
567
- if (!view) {
568
- var View = this.get('view');
569
-
570
- view = new View(name, {
571
- defaultEngine: this.get('view engine'),
572
- root: this.get('views'),
573
- engines: engines
574
- });
575
-
576
- if (!view.path) {
577
- var dirs = Array.isArray(view.root) && view.root.length > 1
578
- ? 'directories "' + view.root.slice(0, -1).join('", "') + '" or "' + view.root[view.root.length - 1] + '"'
579
- : 'directory "' + view.root + '"'
580
- var err = new Error('Failed to lookup view "' + name + '" in views ' + dirs);
581
- err.view = view;
582
- return done(err);
583
- }
584
-
585
- // prime the cache
586
- if (renderOptions.cache) {
587
- cache[name] = view;
588
- }
589
- }
590
-
591
- // render
592
- tryRender(view, renderOptions, done);
593
- };
594
-
595
- /**
596
- * Listen for connections.
597
- *
598
- * A node `http.Server` is returned, with this
599
- * application (which is a `Function`) as its
600
- * callback. If you wish to create both an HTTP
601
- * and HTTPS server you may do so with the "http"
602
- * and "https" modules as shown here:
603
- *
604
- * var http = require('http')
605
- * , https = require('https')
606
- * , express = require('express')
607
- * , app = express();
608
- *
609
- * http.createServer(app).listen(80);
610
- * https.createServer({ ... }, app).listen(443);
611
- *
612
- * @return {http.Server}
613
- * @public
614
- */
615
-
616
- app.listen = function listen() {
617
- var server = http.createServer(this);
618
- return server.listen.apply(server, arguments);
619
- };
620
-
621
- /**
622
- * Log error using console.error.
623
- *
624
- * @param {Error} err
625
- * @private
626
- */
627
-
628
- function logerror(err) {
629
- /* istanbul ignore next */
630
- if (this.get('env') !== 'test') console.error(err.stack || err.toString());
631
- }
632
-
633
- /**
634
- * Try rendering a view.
635
- * @private
636
- */
637
-
638
- function tryRender(view, options, callback) {
639
- try {
640
- view.render(options, callback);
641
- } catch (err) {
642
- callback(err);
643
- }
644
- }