es6-crawler-detect 3.3.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 (358) 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/yarn.lock +222 -99
  8. package/package.json +30 -25
  9. package/src/index.js +20 -14
  10. package/src/index.ts +18 -0
  11. package/src/lib/crawler/crawlers.js +1399 -1403
  12. package/src/lib/crawler/crawlers.ts +1397 -0
  13. package/src/lib/crawler/exclusions.js +58 -62
  14. package/src/lib/crawler/exclusions.ts +56 -0
  15. package/src/lib/crawler/headers.js +6 -10
  16. package/src/lib/crawler/headers.ts +18 -0
  17. package/src/lib/crawler/provider.js +1 -10
  18. package/src/lib/crawler/provider.ts +3 -0
  19. package/src/lib/crawler.js +98 -130
  20. package/src/lib/crawler.ts +128 -0
  21. package/src/types.js +2 -0
  22. package/src/types.ts +15 -0
  23. package/test/lib/crawler.spec.js +149 -0
  24. package/test/lib/crawler.spec.ts +116 -0
  25. package/tsconfig.json +16 -0
  26. package/webpack.common.js +20 -20
  27. package/webpack.dev.js +7 -7
  28. package/webpack.prod.js +14 -14
  29. package/.eslintignore +0 -6
  30. package/.eslintrc.json +0 -30
  31. package/example/node/node_modules/.bin/mime +0 -15
  32. package/example/node/node_modules/.bin/mime.cmd +0 -7
  33. package/example/node/node_modules/.yarn-integrity +0 -67
  34. package/example/node/node_modules/accepts/HISTORY.md +0 -236
  35. package/example/node/node_modules/accepts/LICENSE +0 -23
  36. package/example/node/node_modules/accepts/README.md +0 -142
  37. package/example/node/node_modules/accepts/index.js +0 -238
  38. package/example/node/node_modules/accepts/package.json +0 -47
  39. package/example/node/node_modules/array-flatten/LICENSE +0 -21
  40. package/example/node/node_modules/array-flatten/README.md +0 -43
  41. package/example/node/node_modules/array-flatten/array-flatten.js +0 -64
  42. package/example/node/node_modules/array-flatten/package.json +0 -39
  43. package/example/node/node_modules/body-parser/HISTORY.md +0 -624
  44. package/example/node/node_modules/body-parser/LICENSE +0 -23
  45. package/example/node/node_modules/body-parser/README.md +0 -456
  46. package/example/node/node_modules/body-parser/index.js +0 -157
  47. package/example/node/node_modules/body-parser/lib/read.js +0 -181
  48. package/example/node/node_modules/body-parser/lib/types/json.js +0 -230
  49. package/example/node/node_modules/body-parser/lib/types/raw.js +0 -101
  50. package/example/node/node_modules/body-parser/lib/types/text.js +0 -121
  51. package/example/node/node_modules/body-parser/lib/types/urlencoded.js +0 -284
  52. package/example/node/node_modules/body-parser/package.json +0 -52
  53. package/example/node/node_modules/bytes/History.md +0 -92
  54. package/example/node/node_modules/bytes/LICENSE +0 -23
  55. package/example/node/node_modules/bytes/Readme.md +0 -152
  56. package/example/node/node_modules/bytes/index.js +0 -166
  57. package/example/node/node_modules/bytes/package.json +0 -42
  58. package/example/node/node_modules/content-disposition/HISTORY.md +0 -60
  59. package/example/node/node_modules/content-disposition/LICENSE +0 -22
  60. package/example/node/node_modules/content-disposition/README.md +0 -142
  61. package/example/node/node_modules/content-disposition/index.js +0 -458
  62. package/example/node/node_modules/content-disposition/package.json +0 -44
  63. package/example/node/node_modules/content-type/HISTORY.md +0 -24
  64. package/example/node/node_modules/content-type/LICENSE +0 -22
  65. package/example/node/node_modules/content-type/README.md +0 -92
  66. package/example/node/node_modules/content-type/index.js +0 -222
  67. package/example/node/node_modules/content-type/package.json +0 -40
  68. package/example/node/node_modules/cookie/HISTORY.md +0 -128
  69. package/example/node/node_modules/cookie/LICENSE +0 -24
  70. package/example/node/node_modules/cookie/README.md +0 -257
  71. package/example/node/node_modules/cookie/index.js +0 -202
  72. package/example/node/node_modules/cookie/package.json +0 -40
  73. package/example/node/node_modules/cookie-signature/History.md +0 -38
  74. package/example/node/node_modules/cookie-signature/Readme.md +0 -42
  75. package/example/node/node_modules/cookie-signature/index.js +0 -51
  76. package/example/node/node_modules/cookie-signature/package.json +0 -18
  77. package/example/node/node_modules/debug/.coveralls.yml +0 -1
  78. package/example/node/node_modules/debug/.eslintrc +0 -11
  79. package/example/node/node_modules/debug/.travis.yml +0 -14
  80. package/example/node/node_modules/debug/CHANGELOG.md +0 -362
  81. package/example/node/node_modules/debug/LICENSE +0 -19
  82. package/example/node/node_modules/debug/Makefile +0 -50
  83. package/example/node/node_modules/debug/README.md +0 -312
  84. package/example/node/node_modules/debug/component.json +0 -19
  85. package/example/node/node_modules/debug/karma.conf.js +0 -70
  86. package/example/node/node_modules/debug/node.js +0 -1
  87. package/example/node/node_modules/debug/package.json +0 -49
  88. package/example/node/node_modules/debug/src/browser.js +0 -185
  89. package/example/node/node_modules/debug/src/debug.js +0 -202
  90. package/example/node/node_modules/debug/src/index.js +0 -10
  91. package/example/node/node_modules/debug/src/inspector-log.js +0 -15
  92. package/example/node/node_modules/debug/src/node.js +0 -248
  93. package/example/node/node_modules/depd/History.md +0 -96
  94. package/example/node/node_modules/depd/LICENSE +0 -22
  95. package/example/node/node_modules/depd/Readme.md +0 -280
  96. package/example/node/node_modules/depd/index.js +0 -522
  97. package/example/node/node_modules/depd/lib/browser/index.js +0 -77
  98. package/example/node/node_modules/depd/lib/compat/callsite-tostring.js +0 -103
  99. package/example/node/node_modules/depd/lib/compat/event-listener-count.js +0 -22
  100. package/example/node/node_modules/depd/lib/compat/index.js +0 -79
  101. package/example/node/node_modules/depd/package.json +0 -41
  102. package/example/node/node_modules/destroy/LICENSE +0 -22
  103. package/example/node/node_modules/destroy/README.md +0 -60
  104. package/example/node/node_modules/destroy/index.js +0 -75
  105. package/example/node/node_modules/destroy/package.json +0 -37
  106. package/example/node/node_modules/ee-first/LICENSE +0 -22
  107. package/example/node/node_modules/ee-first/README.md +0 -80
  108. package/example/node/node_modules/ee-first/index.js +0 -95
  109. package/example/node/node_modules/ee-first/package.json +0 -29
  110. package/example/node/node_modules/encodeurl/HISTORY.md +0 -14
  111. package/example/node/node_modules/encodeurl/LICENSE +0 -22
  112. package/example/node/node_modules/encodeurl/README.md +0 -128
  113. package/example/node/node_modules/encodeurl/index.js +0 -60
  114. package/example/node/node_modules/encodeurl/package.json +0 -40
  115. package/example/node/node_modules/escape-html/LICENSE +0 -24
  116. package/example/node/node_modules/escape-html/Readme.md +0 -43
  117. package/example/node/node_modules/escape-html/index.js +0 -78
  118. package/example/node/node_modules/escape-html/package.json +0 -24
  119. package/example/node/node_modules/etag/HISTORY.md +0 -83
  120. package/example/node/node_modules/etag/LICENSE +0 -22
  121. package/example/node/node_modules/etag/README.md +0 -159
  122. package/example/node/node_modules/etag/index.js +0 -131
  123. package/example/node/node_modules/etag/package.json +0 -47
  124. package/example/node/node_modules/express/History.md +0 -3510
  125. package/example/node/node_modules/express/LICENSE +0 -24
  126. package/example/node/node_modules/express/Readme.md +0 -158
  127. package/example/node/node_modules/express/index.js +0 -11
  128. package/example/node/node_modules/express/lib/application.js +0 -644
  129. package/example/node/node_modules/express/lib/express.js +0 -116
  130. package/example/node/node_modules/express/lib/middleware/init.js +0 -43
  131. package/example/node/node_modules/express/lib/middleware/query.js +0 -47
  132. package/example/node/node_modules/express/lib/request.js +0 -525
  133. package/example/node/node_modules/express/lib/response.js +0 -1147
  134. package/example/node/node_modules/express/lib/router/index.js +0 -668
  135. package/example/node/node_modules/express/lib/router/layer.js +0 -181
  136. package/example/node/node_modules/express/lib/router/route.js +0 -216
  137. package/example/node/node_modules/express/lib/utils.js +0 -302
  138. package/example/node/node_modules/express/lib/view.js +0 -182
  139. package/example/node/node_modules/express/package.json +0 -99
  140. package/example/node/node_modules/finalhandler/HISTORY.md +0 -187
  141. package/example/node/node_modules/finalhandler/LICENSE +0 -22
  142. package/example/node/node_modules/finalhandler/README.md +0 -148
  143. package/example/node/node_modules/finalhandler/index.js +0 -331
  144. package/example/node/node_modules/finalhandler/package.json +0 -45
  145. package/example/node/node_modules/forwarded/HISTORY.md +0 -21
  146. package/example/node/node_modules/forwarded/LICENSE +0 -22
  147. package/example/node/node_modules/forwarded/README.md +0 -57
  148. package/example/node/node_modules/forwarded/index.js +0 -90
  149. package/example/node/node_modules/forwarded/package.json +0 -45
  150. package/example/node/node_modules/fresh/HISTORY.md +0 -70
  151. package/example/node/node_modules/fresh/LICENSE +0 -23
  152. package/example/node/node_modules/fresh/README.md +0 -119
  153. package/example/node/node_modules/fresh/index.js +0 -137
  154. package/example/node/node_modules/fresh/package.json +0 -46
  155. package/example/node/node_modules/http-errors/HISTORY.md +0 -165
  156. package/example/node/node_modules/http-errors/LICENSE +0 -23
  157. package/example/node/node_modules/http-errors/README.md +0 -169
  158. package/example/node/node_modules/http-errors/index.js +0 -299
  159. package/example/node/node_modules/http-errors/package.json +0 -49
  160. package/example/node/node_modules/iconv-lite/Changelog.md +0 -162
  161. package/example/node/node_modules/iconv-lite/LICENSE +0 -21
  162. package/example/node/node_modules/iconv-lite/README.md +0 -156
  163. package/example/node/node_modules/iconv-lite/encodings/dbcs-codec.js +0 -555
  164. package/example/node/node_modules/iconv-lite/encodings/dbcs-data.js +0 -176
  165. package/example/node/node_modules/iconv-lite/encodings/index.js +0 -22
  166. package/example/node/node_modules/iconv-lite/encodings/internal.js +0 -188
  167. package/example/node/node_modules/iconv-lite/encodings/sbcs-codec.js +0 -72
  168. package/example/node/node_modules/iconv-lite/encodings/sbcs-data-generated.js +0 -451
  169. package/example/node/node_modules/iconv-lite/encodings/sbcs-data.js +0 -174
  170. package/example/node/node_modules/iconv-lite/encodings/tables/big5-added.json +0 -122
  171. package/example/node/node_modules/iconv-lite/encodings/tables/cp936.json +0 -264
  172. package/example/node/node_modules/iconv-lite/encodings/tables/cp949.json +0 -273
  173. package/example/node/node_modules/iconv-lite/encodings/tables/cp950.json +0 -177
  174. package/example/node/node_modules/iconv-lite/encodings/tables/eucjp.json +0 -182
  175. package/example/node/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +0 -1
  176. package/example/node/node_modules/iconv-lite/encodings/tables/gbk-added.json +0 -55
  177. package/example/node/node_modules/iconv-lite/encodings/tables/shiftjis.json +0 -125
  178. package/example/node/node_modules/iconv-lite/encodings/utf16.js +0 -177
  179. package/example/node/node_modules/iconv-lite/encodings/utf7.js +0 -290
  180. package/example/node/node_modules/iconv-lite/lib/bom-handling.js +0 -52
  181. package/example/node/node_modules/iconv-lite/lib/extend-node.js +0 -217
  182. package/example/node/node_modules/iconv-lite/lib/index.d.ts +0 -24
  183. package/example/node/node_modules/iconv-lite/lib/index.js +0 -153
  184. package/example/node/node_modules/iconv-lite/lib/streams.js +0 -121
  185. package/example/node/node_modules/iconv-lite/package.json +0 -46
  186. package/example/node/node_modules/inherits/LICENSE +0 -16
  187. package/example/node/node_modules/inherits/README.md +0 -42
  188. package/example/node/node_modules/inherits/inherits.js +0 -9
  189. package/example/node/node_modules/inherits/inherits_browser.js +0 -27
  190. package/example/node/node_modules/inherits/package.json +0 -29
  191. package/example/node/node_modules/ipaddr.js/LICENSE +0 -19
  192. package/example/node/node_modules/ipaddr.js/README.md +0 -233
  193. package/example/node/node_modules/ipaddr.js/ipaddr.min.js +0 -1
  194. package/example/node/node_modules/ipaddr.js/lib/ipaddr.js +0 -673
  195. package/example/node/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +0 -68
  196. package/example/node/node_modules/ipaddr.js/package.json +0 -35
  197. package/example/node/node_modules/media-typer/HISTORY.md +0 -22
  198. package/example/node/node_modules/media-typer/LICENSE +0 -22
  199. package/example/node/node_modules/media-typer/README.md +0 -81
  200. package/example/node/node_modules/media-typer/index.js +0 -270
  201. package/example/node/node_modules/media-typer/package.json +0 -26
  202. package/example/node/node_modules/merge-descriptors/HISTORY.md +0 -21
  203. package/example/node/node_modules/merge-descriptors/LICENSE +0 -23
  204. package/example/node/node_modules/merge-descriptors/README.md +0 -48
  205. package/example/node/node_modules/merge-descriptors/index.js +0 -60
  206. package/example/node/node_modules/merge-descriptors/package.json +0 -32
  207. package/example/node/node_modules/methods/HISTORY.md +0 -29
  208. package/example/node/node_modules/methods/LICENSE +0 -24
  209. package/example/node/node_modules/methods/README.md +0 -51
  210. package/example/node/node_modules/methods/index.js +0 -69
  211. package/example/node/node_modules/methods/package.json +0 -36
  212. package/example/node/node_modules/mime/CHANGELOG.md +0 -164
  213. package/example/node/node_modules/mime/LICENSE +0 -21
  214. package/example/node/node_modules/mime/README.md +0 -90
  215. package/example/node/node_modules/mime/cli.js +0 -8
  216. package/example/node/node_modules/mime/mime.js +0 -108
  217. package/example/node/node_modules/mime/package.json +0 -44
  218. package/example/node/node_modules/mime/src/build.js +0 -53
  219. package/example/node/node_modules/mime/src/test.js +0 -60
  220. package/example/node/node_modules/mime/types.json +0 -1
  221. package/example/node/node_modules/mime-db/HISTORY.md +0 -499
  222. package/example/node/node_modules/mime-db/LICENSE +0 -22
  223. package/example/node/node_modules/mime-db/README.md +0 -100
  224. package/example/node/node_modules/mime-db/db.json +0 -8471
  225. package/example/node/node_modules/mime-db/index.js +0 -11
  226. package/example/node/node_modules/mime-db/package.json +0 -59
  227. package/example/node/node_modules/mime-types/HISTORY.md +0 -388
  228. package/example/node/node_modules/mime-types/LICENSE +0 -23
  229. package/example/node/node_modules/mime-types/README.md +0 -113
  230. package/example/node/node_modules/mime-types/index.js +0 -188
  231. package/example/node/node_modules/mime-types/package.json +0 -44
  232. package/example/node/node_modules/ms/index.js +0 -152
  233. package/example/node/node_modules/ms/license.md +0 -21
  234. package/example/node/node_modules/ms/package.json +0 -37
  235. package/example/node/node_modules/ms/readme.md +0 -51
  236. package/example/node/node_modules/negotiator/HISTORY.md +0 -103
  237. package/example/node/node_modules/negotiator/LICENSE +0 -24
  238. package/example/node/node_modules/negotiator/README.md +0 -203
  239. package/example/node/node_modules/negotiator/index.js +0 -124
  240. package/example/node/node_modules/negotiator/lib/charset.js +0 -169
  241. package/example/node/node_modules/negotiator/lib/encoding.js +0 -184
  242. package/example/node/node_modules/negotiator/lib/language.js +0 -179
  243. package/example/node/node_modules/negotiator/lib/mediaType.js +0 -294
  244. package/example/node/node_modules/negotiator/package.json +0 -42
  245. package/example/node/node_modules/on-finished/HISTORY.md +0 -88
  246. package/example/node/node_modules/on-finished/LICENSE +0 -23
  247. package/example/node/node_modules/on-finished/README.md +0 -154
  248. package/example/node/node_modules/on-finished/index.js +0 -196
  249. package/example/node/node_modules/on-finished/package.json +0 -31
  250. package/example/node/node_modules/parseurl/HISTORY.md +0 -58
  251. package/example/node/node_modules/parseurl/LICENSE +0 -24
  252. package/example/node/node_modules/parseurl/README.md +0 -133
  253. package/example/node/node_modules/parseurl/index.js +0 -158
  254. package/example/node/node_modules/parseurl/package.json +0 -40
  255. package/example/node/node_modules/path-to-regexp/History.md +0 -36
  256. package/example/node/node_modules/path-to-regexp/LICENSE +0 -21
  257. package/example/node/node_modules/path-to-regexp/Readme.md +0 -35
  258. package/example/node/node_modules/path-to-regexp/index.js +0 -129
  259. package/example/node/node_modules/path-to-regexp/package.json +0 -30
  260. package/example/node/node_modules/proxy-addr/HISTORY.md +0 -161
  261. package/example/node/node_modules/proxy-addr/LICENSE +0 -22
  262. package/example/node/node_modules/proxy-addr/README.md +0 -139
  263. package/example/node/node_modules/proxy-addr/index.js +0 -327
  264. package/example/node/node_modules/proxy-addr/package.json +0 -47
  265. package/example/node/node_modules/qs/.editorconfig +0 -39
  266. package/example/node/node_modules/qs/.eslintignore +0 -2
  267. package/example/node/node_modules/qs/.eslintrc +0 -35
  268. package/example/node/node_modules/qs/.github/FUNDING.yml +0 -12
  269. package/example/node/node_modules/qs/.nycrc +0 -13
  270. package/example/node/node_modules/qs/CHANGELOG.md +0 -359
  271. package/example/node/node_modules/qs/LICENSE.md +0 -29
  272. package/example/node/node_modules/qs/README.md +0 -604
  273. package/example/node/node_modules/qs/dist/qs.js +0 -832
  274. package/example/node/node_modules/qs/lib/formats.js +0 -23
  275. package/example/node/node_modules/qs/lib/index.js +0 -11
  276. package/example/node/node_modules/qs/lib/parse.js +0 -257
  277. package/example/node/node_modules/qs/lib/stringify.js +0 -278
  278. package/example/node/node_modules/qs/lib/utils.js +0 -251
  279. package/example/node/node_modules/qs/package.json +0 -69
  280. package/example/node/node_modules/qs/test/parse.js +0 -772
  281. package/example/node/node_modules/qs/test/stringify.js +0 -793
  282. package/example/node/node_modules/qs/test/utils.js +0 -136
  283. package/example/node/node_modules/range-parser/HISTORY.md +0 -56
  284. package/example/node/node_modules/range-parser/LICENSE +0 -23
  285. package/example/node/node_modules/range-parser/README.md +0 -84
  286. package/example/node/node_modules/range-parser/index.js +0 -162
  287. package/example/node/node_modules/range-parser/package.json +0 -44
  288. package/example/node/node_modules/raw-body/HISTORY.md +0 -284
  289. package/example/node/node_modules/raw-body/LICENSE +0 -22
  290. package/example/node/node_modules/raw-body/README.md +0 -217
  291. package/example/node/node_modules/raw-body/index.d.ts +0 -87
  292. package/example/node/node_modules/raw-body/index.js +0 -286
  293. package/example/node/node_modules/raw-body/package.json +0 -48
  294. package/example/node/node_modules/safe-buffer/LICENSE +0 -21
  295. package/example/node/node_modules/safe-buffer/README.md +0 -584
  296. package/example/node/node_modules/safe-buffer/index.d.ts +0 -187
  297. package/example/node/node_modules/safe-buffer/index.js +0 -65
  298. package/example/node/node_modules/safe-buffer/package.json +0 -51
  299. package/example/node/node_modules/safer-buffer/LICENSE +0 -21
  300. package/example/node/node_modules/safer-buffer/Porting-Buffer.md +0 -268
  301. package/example/node/node_modules/safer-buffer/Readme.md +0 -156
  302. package/example/node/node_modules/safer-buffer/dangerous.js +0 -58
  303. package/example/node/node_modules/safer-buffer/package.json +0 -34
  304. package/example/node/node_modules/safer-buffer/safer.js +0 -77
  305. package/example/node/node_modules/safer-buffer/tests.js +0 -406
  306. package/example/node/node_modules/send/HISTORY.md +0 -506
  307. package/example/node/node_modules/send/LICENSE +0 -23
  308. package/example/node/node_modules/send/README.md +0 -327
  309. package/example/node/node_modules/send/index.js +0 -1133
  310. package/example/node/node_modules/send/node_modules/.bin/mime +0 -15
  311. package/example/node/node_modules/send/node_modules/.bin/mime.cmd +0 -7
  312. package/example/node/node_modules/send/node_modules/ms/index.js +0 -162
  313. package/example/node/node_modules/send/node_modules/ms/license.md +0 -21
  314. package/example/node/node_modules/send/node_modules/ms/package.json +0 -38
  315. package/example/node/node_modules/send/node_modules/ms/readme.md +0 -59
  316. package/example/node/node_modules/send/package.json +0 -61
  317. package/example/node/node_modules/serve-static/HISTORY.md +0 -459
  318. package/example/node/node_modules/serve-static/LICENSE +0 -25
  319. package/example/node/node_modules/serve-static/README.md +0 -257
  320. package/example/node/node_modules/serve-static/index.js +0 -210
  321. package/example/node/node_modules/serve-static/package.json +0 -42
  322. package/example/node/node_modules/setprototypeof/LICENSE +0 -13
  323. package/example/node/node_modules/setprototypeof/README.md +0 -31
  324. package/example/node/node_modules/setprototypeof/index.d.ts +0 -2
  325. package/example/node/node_modules/setprototypeof/index.js +0 -17
  326. package/example/node/node_modules/setprototypeof/package.json +0 -38
  327. package/example/node/node_modules/setprototypeof/test/index.js +0 -24
  328. package/example/node/node_modules/statuses/HISTORY.md +0 -65
  329. package/example/node/node_modules/statuses/LICENSE +0 -23
  330. package/example/node/node_modules/statuses/README.md +0 -127
  331. package/example/node/node_modules/statuses/codes.json +0 -66
  332. package/example/node/node_modules/statuses/index.js +0 -113
  333. package/example/node/node_modules/statuses/package.json +0 -48
  334. package/example/node/node_modules/toidentifier/HISTORY.md +0 -9
  335. package/example/node/node_modules/toidentifier/LICENSE +0 -21
  336. package/example/node/node_modules/toidentifier/README.md +0 -61
  337. package/example/node/node_modules/toidentifier/index.js +0 -32
  338. package/example/node/node_modules/toidentifier/package.json +0 -38
  339. package/example/node/node_modules/type-is/HISTORY.md +0 -259
  340. package/example/node/node_modules/type-is/LICENSE +0 -23
  341. package/example/node/node_modules/type-is/README.md +0 -170
  342. package/example/node/node_modules/type-is/index.js +0 -266
  343. package/example/node/node_modules/type-is/package.json +0 -45
  344. package/example/node/node_modules/unpipe/HISTORY.md +0 -4
  345. package/example/node/node_modules/unpipe/LICENSE +0 -22
  346. package/example/node/node_modules/unpipe/README.md +0 -43
  347. package/example/node/node_modules/unpipe/index.js +0 -69
  348. package/example/node/node_modules/unpipe/package.json +0 -27
  349. package/example/node/node_modules/utils-merge/LICENSE +0 -20
  350. package/example/node/node_modules/utils-merge/README.md +0 -34
  351. package/example/node/node_modules/utils-merge/index.js +0 -23
  352. package/example/node/node_modules/utils-merge/package.json +0 -40
  353. package/example/node/node_modules/vary/HISTORY.md +0 -39
  354. package/example/node/node_modules/vary/LICENSE +0 -22
  355. package/example/node/node_modules/vary/README.md +0 -101
  356. package/example/node/node_modules/vary/index.js +0 -149
  357. package/example/node/node_modules/vary/package.json +0 -43
  358. package/test/lib/crawler.test.js +0 -94
@@ -1,156 +0,0 @@
1
- # safer-buffer [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url] [![javascript style guide][standard-image]][standard-url] [![Security Responsible Disclosure][secuirty-image]][secuirty-url]
2
-
3
- [travis-image]: https://travis-ci.org/ChALkeR/safer-buffer.svg?branch=master
4
- [travis-url]: https://travis-ci.org/ChALkeR/safer-buffer
5
- [npm-image]: https://img.shields.io/npm/v/safer-buffer.svg
6
- [npm-url]: https://npmjs.org/package/safer-buffer
7
- [standard-image]: https://img.shields.io/badge/code_style-standard-brightgreen.svg
8
- [standard-url]: https://standardjs.com
9
- [secuirty-image]: https://img.shields.io/badge/Security-Responsible%20Disclosure-green.svg
10
- [secuirty-url]: https://github.com/nodejs/security-wg/blob/master/processes/responsible_disclosure_template.md
11
-
12
- Modern Buffer API polyfill without footguns, working on Node.js from 0.8 to current.
13
-
14
- ## How to use?
15
-
16
- First, port all `Buffer()` and `new Buffer()` calls to `Buffer.alloc()` and `Buffer.from()` API.
17
-
18
- Then, to achieve compatibility with outdated Node.js versions (`<4.5.0` and 5.x `<5.9.0`), use
19
- `const Buffer = require('safer-buffer').Buffer` in all files where you make calls to the new
20
- Buffer API. _Use `var` instead of `const` if you need that for your Node.js version range support._
21
-
22
- Also, see the
23
- [porting Buffer](https://github.com/ChALkeR/safer-buffer/blob/master/Porting-Buffer.md) guide.
24
-
25
- ## Do I need it?
26
-
27
- Hopefully, not — dropping support for outdated Node.js versions should be fine nowdays, and that
28
- is the recommended path forward. You _do_ need to port to the `Buffer.alloc()` and `Buffer.from()`
29
- though.
30
-
31
- See the [porting guide](https://github.com/ChALkeR/safer-buffer/blob/master/Porting-Buffer.md)
32
- for a better description.
33
-
34
- ## Why not [safe-buffer](https://npmjs.com/safe-buffer)?
35
-
36
- _In short: while `safe-buffer` serves as a polyfill for the new API, it allows old API usage and
37
- itself contains footguns._
38
-
39
- `safe-buffer` could be used safely to get the new API while still keeping support for older
40
- Node.js versions (like this module), but while analyzing ecosystem usage of the old Buffer API
41
- I found out that `safe-buffer` is itself causing problems in some cases.
42
-
43
- For example, consider the following snippet:
44
-
45
- ```console
46
- $ cat example.unsafe.js
47
- console.log(Buffer(20))
48
- $ ./node-v6.13.0-linux-x64/bin/node example.unsafe.js
49
- <Buffer 0a 00 00 00 00 00 00 00 28 13 de 02 00 00 00 00 05 00 00 00>
50
- $ standard example.unsafe.js
51
- standard: Use JavaScript Standard Style (https://standardjs.com)
52
- /home/chalker/repo/safer-buffer/example.unsafe.js:2:13: 'Buffer()' was deprecated since v6. Use 'Buffer.alloc()' or 'Buffer.from()' (use 'https://www.npmjs.com/package/safe-buffer' for '<4.5.0') instead.
53
- ```
54
-
55
- This is allocates and writes to console an uninitialized chunk of memory.
56
- [standard](https://www.npmjs.com/package/standard) linter (among others) catch that and warn people
57
- to avoid using unsafe API.
58
-
59
- Let's now throw in `safe-buffer`!
60
-
61
- ```console
62
- $ cat example.safe-buffer.js
63
- const Buffer = require('safe-buffer').Buffer
64
- console.log(Buffer(20))
65
- $ standard example.safe-buffer.js
66
- $ ./node-v6.13.0-linux-x64/bin/node example.safe-buffer.js
67
- <Buffer 08 00 00 00 00 00 00 00 28 58 01 82 fe 7f 00 00 00 00 00 00>
68
- ```
69
-
70
- See the problem? Adding in `safe-buffer` _magically removes the lint warning_, but the behavior
71
- remains identiсal to what we had before, and when launched on Node.js 6.x LTS — this dumps out
72
- chunks of uninitialized memory.
73
- _And this code will still emit runtime warnings on Node.js 10.x and above._
74
-
75
- That was done by design. I first considered changing `safe-buffer`, prohibiting old API usage or
76
- emitting warnings on it, but that significantly diverges from `safe-buffer` design. After some
77
- discussion, it was decided to move my approach into a separate package, and _this is that separate
78
- package_.
79
-
80
- This footgun is not imaginary — I observed top-downloaded packages doing that kind of thing,
81
- «fixing» the lint warning by blindly including `safe-buffer` without any actual changes.
82
-
83
- Also in some cases, even if the API _was_ migrated to use of safe Buffer API — a random pull request
84
- can bring unsafe Buffer API usage back to the codebase by adding new calls — and that could go
85
- unnoticed even if you have a linter prohibiting that (becase of the reason stated above), and even
86
- pass CI. _I also observed that being done in popular packages._
87
-
88
- Some examples:
89
- * [webdriverio](https://github.com/webdriverio/webdriverio/commit/05cbd3167c12e4930f09ef7cf93b127ba4effae4#diff-124380949022817b90b622871837d56cR31)
90
- (a module with 548 759 downloads/month),
91
- * [websocket-stream](https://github.com/maxogden/websocket-stream/commit/c9312bd24d08271687d76da0fe3c83493871cf61)
92
- (218 288 d/m, fix in [maxogden/websocket-stream#142](https://github.com/maxogden/websocket-stream/pull/142)),
93
- * [node-serialport](https://github.com/node-serialport/node-serialport/commit/e8d9d2b16c664224920ce1c895199b1ce2def48c)
94
- (113 138 d/m, fix in [node-serialport/node-serialport#1510](https://github.com/node-serialport/node-serialport/pull/1510)),
95
- * [karma](https://github.com/karma-runner/karma/commit/3d94b8cf18c695104ca195334dc75ff054c74eec)
96
- (3 973 193 d/m, fix in [karma-runner/karma#2947](https://github.com/karma-runner/karma/pull/2947)),
97
- * [spdy-transport](https://github.com/spdy-http2/spdy-transport/commit/5375ac33f4a62a4f65bcfc2827447d42a5dbe8b1)
98
- (5 970 727 d/m, fix in [spdy-http2/spdy-transport#53](https://github.com/spdy-http2/spdy-transport/pull/53)).
99
- * And there are a lot more over the ecosystem.
100
-
101
- I filed a PR at
102
- [mysticatea/eslint-plugin-node#110](https://github.com/mysticatea/eslint-plugin-node/pull/110) to
103
- partially fix that (for cases when that lint rule is used), but it is a semver-major change for
104
- linter rules and presets, so it would take significant time for that to reach actual setups.
105
- _It also hasn't been released yet (2018-03-20)._
106
-
107
- Also, `safer-buffer` discourages the usage of `.allocUnsafe()`, which is often done by a mistake.
108
- It still supports it with an explicit concern barier, by placing it under
109
- `require('safer-buffer/dangereous')`.
110
-
111
- ## But isn't throwing bad?
112
-
113
- Not really. It's an error that could be noticed and fixed early, instead of causing havoc later like
114
- unguarded `new Buffer()` calls that end up receiving user input can do.
115
-
116
- This package affects only the files where `var Buffer = require('safer-buffer').Buffer` was done, so
117
- it is really simple to keep track of things and make sure that you don't mix old API usage with that.
118
- Also, CI should hint anything that you might have missed.
119
-
120
- New commits, if tested, won't land new usage of unsafe Buffer API this way.
121
- _Node.js 10.x also deals with that by printing a runtime depecation warning._
122
-
123
- ### Would it affect third-party modules?
124
-
125
- No, unless you explicitly do an awful thing like monkey-patching or overriding the built-in `Buffer`.
126
- Don't do that.
127
-
128
- ### But I don't want throwing…
129
-
130
- That is also fine!
131
-
132
- Also, it could be better in some cases when you don't comprehensive enough test coverage.
133
-
134
- In that case — just don't override `Buffer` and use
135
- `var SaferBuffer = require('safer-buffer').Buffer` instead.
136
-
137
- That way, everything using `Buffer` natively would still work, but there would be two drawbacks:
138
-
139
- * `Buffer.from`/`Buffer.alloc` won't be polyfilled — use `SaferBuffer.from` and
140
- `SaferBuffer.alloc` instead.
141
- * You are still open to accidentally using the insecure deprecated API — use a linter to catch that.
142
-
143
- Note that using a linter to catch accidential `Buffer` constructor usage in this case is strongly
144
- recommended. `Buffer` is not overriden in this usecase, so linters won't get confused.
145
-
146
- ## «Without footguns»?
147
-
148
- Well, it is still possible to do _some_ things with `Buffer` API, e.g. accessing `.buffer` property
149
- on older versions and duping things from there. You shouldn't do that in your code, probabably.
150
-
151
- The intention is to remove the most significant footguns that affect lots of packages in the
152
- ecosystem, and to do it in the proper way.
153
-
154
- Also, this package doesn't protect against security issues affecting some Node.js versions, so for
155
- usage in your own production code, it is still recommended to update to a Node.js version
156
- [supported by upstream](https://github.com/nodejs/release#release-schedule).
@@ -1,58 +0,0 @@
1
- /* eslint-disable node/no-deprecated-api */
2
-
3
- 'use strict'
4
-
5
- var buffer = require('buffer')
6
- var Buffer = buffer.Buffer
7
- var safer = require('./safer.js')
8
- var Safer = safer.Buffer
9
-
10
- var dangerous = {}
11
-
12
- var key
13
-
14
- for (key in safer) {
15
- if (!safer.hasOwnProperty(key)) continue
16
- dangerous[key] = safer[key]
17
- }
18
-
19
- var Dangereous = dangerous.Buffer = {}
20
-
21
- // Copy Safer API
22
- for (key in Safer) {
23
- if (!Safer.hasOwnProperty(key)) continue
24
- Dangereous[key] = Safer[key]
25
- }
26
-
27
- // Copy those missing unsafe methods, if they are present
28
- for (key in Buffer) {
29
- if (!Buffer.hasOwnProperty(key)) continue
30
- if (Dangereous.hasOwnProperty(key)) continue
31
- Dangereous[key] = Buffer[key]
32
- }
33
-
34
- if (!Dangereous.allocUnsafe) {
35
- Dangereous.allocUnsafe = function (size) {
36
- if (typeof size !== 'number') {
37
- throw new TypeError('The "size" argument must be of type number. Received type ' + typeof size)
38
- }
39
- if (size < 0 || size >= 2 * (1 << 30)) {
40
- throw new RangeError('The value "' + size + '" is invalid for option "size"')
41
- }
42
- return Buffer(size)
43
- }
44
- }
45
-
46
- if (!Dangereous.allocUnsafeSlow) {
47
- Dangereous.allocUnsafeSlow = function (size) {
48
- if (typeof size !== 'number') {
49
- throw new TypeError('The "size" argument must be of type number. Received type ' + typeof size)
50
- }
51
- if (size < 0 || size >= 2 * (1 << 30)) {
52
- throw new RangeError('The value "' + size + '" is invalid for option "size"')
53
- }
54
- return buffer.SlowBuffer(size)
55
- }
56
- }
57
-
58
- module.exports = dangerous
@@ -1,34 +0,0 @@
1
- {
2
- "name": "safer-buffer",
3
- "version": "2.1.2",
4
- "description": "Modern Buffer API polyfill without footguns",
5
- "main": "safer.js",
6
- "scripts": {
7
- "browserify-test": "browserify --external tape tests.js > browserify-tests.js && tape browserify-tests.js",
8
- "test": "standard && tape tests.js"
9
- },
10
- "author": {
11
- "name": "Nikita Skovoroda",
12
- "email": "chalkerx@gmail.com",
13
- "url": "https://github.com/ChALkeR"
14
- },
15
- "license": "MIT",
16
- "repository": {
17
- "type": "git",
18
- "url": "git+https://github.com/ChALkeR/safer-buffer.git"
19
- },
20
- "bugs": {
21
- "url": "https://github.com/ChALkeR/safer-buffer/issues"
22
- },
23
- "devDependencies": {
24
- "standard": "^11.0.1",
25
- "tape": "^4.9.0"
26
- },
27
- "files": [
28
- "Porting-Buffer.md",
29
- "Readme.md",
30
- "tests.js",
31
- "dangerous.js",
32
- "safer.js"
33
- ]
34
- }
@@ -1,77 +0,0 @@
1
- /* eslint-disable node/no-deprecated-api */
2
-
3
- 'use strict'
4
-
5
- var buffer = require('buffer')
6
- var Buffer = buffer.Buffer
7
-
8
- var safer = {}
9
-
10
- var key
11
-
12
- for (key in buffer) {
13
- if (!buffer.hasOwnProperty(key)) continue
14
- if (key === 'SlowBuffer' || key === 'Buffer') continue
15
- safer[key] = buffer[key]
16
- }
17
-
18
- var Safer = safer.Buffer = {}
19
- for (key in Buffer) {
20
- if (!Buffer.hasOwnProperty(key)) continue
21
- if (key === 'allocUnsafe' || key === 'allocUnsafeSlow') continue
22
- Safer[key] = Buffer[key]
23
- }
24
-
25
- safer.Buffer.prototype = Buffer.prototype
26
-
27
- if (!Safer.from || Safer.from === Uint8Array.from) {
28
- Safer.from = function (value, encodingOrOffset, length) {
29
- if (typeof value === 'number') {
30
- throw new TypeError('The "value" argument must not be of type number. Received type ' + typeof value)
31
- }
32
- if (value && typeof value.length === 'undefined') {
33
- throw new TypeError('The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type ' + typeof value)
34
- }
35
- return Buffer(value, encodingOrOffset, length)
36
- }
37
- }
38
-
39
- if (!Safer.alloc) {
40
- Safer.alloc = function (size, fill, encoding) {
41
- if (typeof size !== 'number') {
42
- throw new TypeError('The "size" argument must be of type number. Received type ' + typeof size)
43
- }
44
- if (size < 0 || size >= 2 * (1 << 30)) {
45
- throw new RangeError('The value "' + size + '" is invalid for option "size"')
46
- }
47
- var buf = Buffer(size)
48
- if (!fill || fill.length === 0) {
49
- buf.fill(0)
50
- } else if (typeof encoding === 'string') {
51
- buf.fill(fill, encoding)
52
- } else {
53
- buf.fill(fill)
54
- }
55
- return buf
56
- }
57
- }
58
-
59
- if (!safer.kStringMaxLength) {
60
- try {
61
- safer.kStringMaxLength = process.binding('buffer').kStringMaxLength
62
- } catch (e) {
63
- // we can't determine kStringMaxLength in environments where process.binding
64
- // is unsupported, so let's not set it
65
- }
66
- }
67
-
68
- if (!safer.constants) {
69
- safer.constants = {
70
- MAX_LENGTH: safer.kMaxLength
71
- }
72
- if (safer.kStringMaxLength) {
73
- safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength
74
- }
75
- }
76
-
77
- module.exports = safer