bluera-knowledge 0.13.3 → 0.14.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 (663) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/CHANGELOG.md +14 -0
  3. package/commands/uninstall.md +65 -0
  4. package/dist/{chunk-AOSDVRRH.js → chunk-AIS5S77C.js} +2 -2
  5. package/dist/{chunk-XL2UHMBL.js → chunk-UAWKTJWN.js} +134 -15
  6. package/dist/chunk-UAWKTJWN.js.map +1 -0
  7. package/dist/{chunk-AJI5DCKY.js → chunk-Y24ZJRZP.js} +8 -3
  8. package/dist/{chunk-AJI5DCKY.js.map → chunk-Y24ZJRZP.js.map} +1 -1
  9. package/dist/index.js +3 -3
  10. package/dist/mcp/server.js +2 -2
  11. package/dist/workers/background-worker-cli.js +2 -2
  12. package/hooks/check-dependencies.sh +46 -57
  13. package/package.json +12 -1
  14. package/.claude/commands/code-review.md +0 -15
  15. package/.claude/commands/commit.md +0 -34
  16. package/.claude/council-cache/1a43ed5977b8f29afc79a9bf5c4082ee5ad8338c42ab991a4241a48f80c1e46d.json +0 -7
  17. package/.claude/hooks/post-edit-check.sh +0 -40
  18. package/.claude/rules/code-quality.md +0 -12
  19. package/.claude/rules/git.md +0 -5
  20. package/.claude/rules/versioning.md +0 -7
  21. package/.claude/settings.local.json.example +0 -45
  22. package/.claude/skills/atomic-commits/SKILL.md +0 -61
  23. package/.claude/skills/code-review-repo/skill.md +0 -62
  24. package/.editorconfig +0 -15
  25. package/.env.example +0 -21
  26. package/.github/workflows/auto-release.yml +0 -64
  27. package/.github/workflows/ci.yml +0 -168
  28. package/.github/workflows/release.yml +0 -74
  29. package/.github/workflows/update-marketplace.yml +0 -96
  30. package/.husky/pre-commit +0 -48
  31. package/.husky/pre-push +0 -39
  32. package/.mcp.json +0 -11
  33. package/.prettierrc +0 -9
  34. package/.versionrc.json +0 -24
  35. package/CLAUDE.md +0 -110
  36. package/CONTRIBUTING.md +0 -307
  37. package/NOTICE +0 -47
  38. package/SECURITY.md +0 -65
  39. package/bun.lock +0 -2036
  40. package/dist/chunk-XL2UHMBL.js.map +0 -1
  41. package/docs/claude-code-best-practices.md +0 -458
  42. package/docs/cli.md +0 -170
  43. package/docs/commands.md +0 -392
  44. package/docs/crawler-architecture.md +0 -89
  45. package/docs/mcp-integration.md +0 -130
  46. package/docs/token-efficiency.md +0 -91
  47. package/eslint-rules/require-skip-comment.js +0 -81
  48. package/eslint.config.js +0 -103
  49. package/knip.json +0 -43
  50. package/scripts/test-mcp-dev.js +0 -260
  51. package/scripts/validate-npm-release.sh +0 -314
  52. package/src/analysis/adapter-registry.test.ts +0 -211
  53. package/src/analysis/adapter-registry.ts +0 -155
  54. package/src/analysis/ast-parser.test.ts +0 -470
  55. package/src/analysis/ast-parser.ts +0 -198
  56. package/src/analysis/code-graph.test.ts +0 -718
  57. package/src/analysis/code-graph.ts +0 -249
  58. package/src/analysis/dependency-usage-analyzer.test.ts +0 -619
  59. package/src/analysis/dependency-usage-analyzer.ts +0 -433
  60. package/src/analysis/go-ast-parser.test.ts +0 -531
  61. package/src/analysis/go-ast-parser.ts +0 -471
  62. package/src/analysis/language-adapter.ts +0 -127
  63. package/src/analysis/parser-factory.test.ts +0 -210
  64. package/src/analysis/parser-factory.ts +0 -52
  65. package/src/analysis/python-ast-parser.test.ts +0 -210
  66. package/src/analysis/python-ast-parser.ts +0 -34
  67. package/src/analysis/repo-url-resolver.test.ts +0 -533
  68. package/src/analysis/repo-url-resolver.ts +0 -233
  69. package/src/analysis/rust-ast-parser.test.ts +0 -568
  70. package/src/analysis/rust-ast-parser.ts +0 -467
  71. package/src/analysis/tree-sitter-parser.test.ts +0 -297
  72. package/src/analysis/tree-sitter-parser.ts +0 -217
  73. package/src/analysis/zil/index.ts +0 -34
  74. package/src/analysis/zil/zil-adapter.test.ts +0 -187
  75. package/src/analysis/zil/zil-adapter.ts +0 -121
  76. package/src/analysis/zil/zil-lexer.test.ts +0 -222
  77. package/src/analysis/zil/zil-lexer.ts +0 -239
  78. package/src/analysis/zil/zil-parser.test.ts +0 -210
  79. package/src/analysis/zil/zil-parser.ts +0 -360
  80. package/src/analysis/zil/zil-special-forms.ts +0 -193
  81. package/src/cli/commands/crawl.test.ts +0 -1086
  82. package/src/cli/commands/crawl.ts +0 -220
  83. package/src/cli/commands/index-cmd.test.ts +0 -733
  84. package/src/cli/commands/index-cmd.ts +0 -128
  85. package/src/cli/commands/mcp.test.ts +0 -218
  86. package/src/cli/commands/mcp.ts +0 -18
  87. package/src/cli/commands/plugin-api.test.ts +0 -373
  88. package/src/cli/commands/plugin-api.ts +0 -82
  89. package/src/cli/commands/search.test.ts +0 -1047
  90. package/src/cli/commands/search.ts +0 -197
  91. package/src/cli/commands/serve.test.ts +0 -371
  92. package/src/cli/commands/serve.ts +0 -43
  93. package/src/cli/commands/setup.test.ts +0 -895
  94. package/src/cli/commands/setup.ts +0 -176
  95. package/src/cli/commands/store.test.ts +0 -1370
  96. package/src/cli/commands/store.ts +0 -229
  97. package/src/cli/commands/sync.test.ts +0 -54
  98. package/src/cli/commands/sync.ts +0 -313
  99. package/src/cli/index.ts +0 -8
  100. package/src/cli/program.ts +0 -59
  101. package/src/crawl/article-converter.test.ts +0 -576
  102. package/src/crawl/article-converter.ts +0 -142
  103. package/src/crawl/bridge.test.ts +0 -796
  104. package/src/crawl/bridge.ts +0 -339
  105. package/src/crawl/claude-client.test.ts +0 -902
  106. package/src/crawl/claude-client.ts +0 -261
  107. package/src/crawl/intelligent-crawler.test.ts +0 -1028
  108. package/src/crawl/intelligent-crawler.ts +0 -478
  109. package/src/crawl/markdown-utils.test.ts +0 -703
  110. package/src/crawl/markdown-utils.ts +0 -225
  111. package/src/crawl/schemas.ts +0 -114
  112. package/src/db/embeddings.test.ts +0 -79
  113. package/src/db/embeddings.ts +0 -78
  114. package/src/db/index.ts +0 -2
  115. package/src/db/lance.test.ts +0 -479
  116. package/src/db/lance.ts +0 -190
  117. package/src/defaults/repos.ts +0 -67
  118. package/src/index.ts +0 -124
  119. package/src/logging/index.ts +0 -25
  120. package/src/logging/logger.test.ts +0 -75
  121. package/src/logging/logger.ts +0 -145
  122. package/src/logging/payload.test.ts +0 -152
  123. package/src/logging/payload.ts +0 -119
  124. package/src/mcp/cache.test.ts +0 -202
  125. package/src/mcp/cache.ts +0 -103
  126. package/src/mcp/commands/index.ts +0 -22
  127. package/src/mcp/commands/job.commands.ts +0 -48
  128. package/src/mcp/commands/meta.commands.ts +0 -54
  129. package/src/mcp/commands/registry.ts +0 -180
  130. package/src/mcp/commands/store.commands.ts +0 -75
  131. package/src/mcp/commands/sync.commands.test.ts +0 -371
  132. package/src/mcp/commands/sync.commands.ts +0 -263
  133. package/src/mcp/handlers/execute.handler.test.ts +0 -179
  134. package/src/mcp/handlers/execute.handler.ts +0 -23
  135. package/src/mcp/handlers/index.ts +0 -39
  136. package/src/mcp/handlers/job.handler.test.ts +0 -189
  137. package/src/mcp/handlers/job.handler.ts +0 -118
  138. package/src/mcp/handlers/search.handler.test.ts +0 -324
  139. package/src/mcp/handlers/search.handler.ts +0 -287
  140. package/src/mcp/handlers/store.handler.test.ts +0 -408
  141. package/src/mcp/handlers/store.handler.ts +0 -318
  142. package/src/mcp/plugin-mcp-config.test.ts +0 -71
  143. package/src/mcp/schemas/index.test.ts +0 -356
  144. package/src/mcp/schemas/index.ts +0 -155
  145. package/src/mcp/server.test.ts +0 -91
  146. package/src/mcp/server.ts +0 -235
  147. package/src/mcp/types.ts +0 -41
  148. package/src/plugin/commands.test.ts +0 -925
  149. package/src/plugin/commands.ts +0 -311
  150. package/src/plugin/dependency-analyzer.test.ts +0 -380
  151. package/src/plugin/dependency-analyzer.ts +0 -210
  152. package/src/plugin/git-clone.test.ts +0 -387
  153. package/src/plugin/git-clone.ts +0 -57
  154. package/src/scripts/validate-npm-release.test.ts +0 -70
  155. package/src/server/app.test.ts +0 -752
  156. package/src/server/app.ts +0 -128
  157. package/src/server/index.test.ts +0 -475
  158. package/src/server/index.ts +0 -1
  159. package/src/services/chunking.service.test.ts +0 -363
  160. package/src/services/chunking.service.ts +0 -380
  161. package/src/services/code-graph.service.test.ts +0 -298
  162. package/src/services/code-graph.service.ts +0 -326
  163. package/src/services/code-unit.service.test.ts +0 -693
  164. package/src/services/code-unit.service.ts +0 -234
  165. package/src/services/config.service.test.ts +0 -146
  166. package/src/services/config.service.ts +0 -92
  167. package/src/services/gitignore.service.test.ts +0 -157
  168. package/src/services/gitignore.service.ts +0 -132
  169. package/src/services/index.service.test.ts +0 -2301
  170. package/src/services/index.service.ts +0 -442
  171. package/src/services/index.ts +0 -119
  172. package/src/services/job.service.test.ts +0 -531
  173. package/src/services/job.service.ts +0 -298
  174. package/src/services/project-root.service.test.ts +0 -504
  175. package/src/services/project-root.service.ts +0 -112
  176. package/src/services/search.service.test.ts +0 -2263
  177. package/src/services/search.service.ts +0 -1341
  178. package/src/services/services.test.ts +0 -108
  179. package/src/services/snippet.service.test.ts +0 -213
  180. package/src/services/snippet.service.ts +0 -193
  181. package/src/services/store-definition.service.test.ts +0 -440
  182. package/src/services/store-definition.service.ts +0 -198
  183. package/src/services/store.service.test.ts +0 -843
  184. package/src/services/store.service.ts +0 -363
  185. package/src/services/token.service.test.ts +0 -45
  186. package/src/services/token.service.ts +0 -33
  187. package/src/services/watch.service.test.ts +0 -600
  188. package/src/services/watch.service.ts +0 -84
  189. package/src/types/brands.test.ts +0 -47
  190. package/src/types/brands.ts +0 -32
  191. package/src/types/config.ts +0 -79
  192. package/src/types/document.ts +0 -54
  193. package/src/types/index.ts +0 -73
  194. package/src/types/job.ts +0 -61
  195. package/src/types/progress.ts +0 -9
  196. package/src/types/result.test.ts +0 -54
  197. package/src/types/result.ts +0 -41
  198. package/src/types/search.ts +0 -105
  199. package/src/types/store-definition.test.ts +0 -492
  200. package/src/types/store-definition.ts +0 -129
  201. package/src/types/store.test.ts +0 -69
  202. package/src/types/store.ts +0 -47
  203. package/src/utils/type-guards.test.ts +0 -351
  204. package/src/utils/type-guards.ts +0 -61
  205. package/src/workers/background-worker-cli.test.ts +0 -35
  206. package/src/workers/background-worker-cli.ts +0 -149
  207. package/src/workers/background-worker.test.ts +0 -222
  208. package/src/workers/background-worker.ts +0 -322
  209. package/src/workers/pid-file.test.ts +0 -167
  210. package/src/workers/pid-file.ts +0 -82
  211. package/src/workers/spawn-worker.test.ts +0 -194
  212. package/src/workers/spawn-worker.ts +0 -70
  213. package/tests/analysis/ast-parser.test.ts +0 -98
  214. package/tests/analysis/code-graph.test.ts +0 -60
  215. package/tests/fixtures/README.md +0 -114
  216. package/tests/fixtures/code-snippets/api/error-handling.ts +0 -256
  217. package/tests/fixtures/code-snippets/api/rest-controller.ts +0 -297
  218. package/tests/fixtures/code-snippets/auth/jwt-auth.ts +0 -197
  219. package/tests/fixtures/code-snippets/auth/oauth-flow.ts +0 -245
  220. package/tests/fixtures/code-snippets/database/repository-pattern.ts +0 -280
  221. package/tests/fixtures/corpus/VERSION.md +0 -25
  222. package/tests/fixtures/corpus/articles/jwt-authentication.md +0 -97
  223. package/tests/fixtures/corpus/articles/react-hooks-patterns.md +0 -127
  224. package/tests/fixtures/corpus/articles/typescript-generics.md +0 -111
  225. package/tests/fixtures/corpus/documentation/express-middleware.md +0 -71
  226. package/tests/fixtures/corpus/documentation/express-routing.md +0 -83
  227. package/tests/fixtures/corpus/documentation/node-streams.md +0 -78
  228. package/tests/fixtures/corpus/oss-repos/express/History.md +0 -3871
  229. package/tests/fixtures/corpus/oss-repos/express/LICENSE +0 -24
  230. package/tests/fixtures/corpus/oss-repos/express/README.md +0 -276
  231. package/tests/fixtures/corpus/oss-repos/express/SECURITY.md +0 -56
  232. package/tests/fixtures/corpus/oss-repos/express/benchmarks/Makefile +0 -17
  233. package/tests/fixtures/corpus/oss-repos/express/benchmarks/README.md +0 -34
  234. package/tests/fixtures/corpus/oss-repos/express/benchmarks/middleware.js +0 -20
  235. package/tests/fixtures/corpus/oss-repos/express/benchmarks/run +0 -18
  236. package/tests/fixtures/corpus/oss-repos/express/examples/README.md +0 -29
  237. package/tests/fixtures/corpus/oss-repos/express/examples/auth/index.js +0 -134
  238. package/tests/fixtures/corpus/oss-repos/express/examples/auth/views/foot.ejs +0 -2
  239. package/tests/fixtures/corpus/oss-repos/express/examples/auth/views/head.ejs +0 -20
  240. package/tests/fixtures/corpus/oss-repos/express/examples/auth/views/login.ejs +0 -21
  241. package/tests/fixtures/corpus/oss-repos/express/examples/content-negotiation/db.js +0 -9
  242. package/tests/fixtures/corpus/oss-repos/express/examples/content-negotiation/index.js +0 -46
  243. package/tests/fixtures/corpus/oss-repos/express/examples/content-negotiation/users.js +0 -19
  244. package/tests/fixtures/corpus/oss-repos/express/examples/cookie-sessions/index.js +0 -25
  245. package/tests/fixtures/corpus/oss-repos/express/examples/cookies/index.js +0 -53
  246. package/tests/fixtures/corpus/oss-repos/express/examples/downloads/files/CCTV/345/244/247/350/265/233/344/270/212/346/265/267/345/210/206/350/265/233/345/214/272.txt +0 -2
  247. package/tests/fixtures/corpus/oss-repos/express/examples/downloads/files/amazing.txt +0 -1
  248. package/tests/fixtures/corpus/oss-repos/express/examples/downloads/files/notes/groceries.txt +0 -3
  249. package/tests/fixtures/corpus/oss-repos/express/examples/downloads/index.js +0 -40
  250. package/tests/fixtures/corpus/oss-repos/express/examples/ejs/index.js +0 -57
  251. package/tests/fixtures/corpus/oss-repos/express/examples/ejs/public/stylesheets/style.css +0 -4
  252. package/tests/fixtures/corpus/oss-repos/express/examples/ejs/views/footer.html +0 -2
  253. package/tests/fixtures/corpus/oss-repos/express/examples/ejs/views/header.html +0 -9
  254. package/tests/fixtures/corpus/oss-repos/express/examples/ejs/views/users.html +0 -10
  255. package/tests/fixtures/corpus/oss-repos/express/examples/error/index.js +0 -53
  256. package/tests/fixtures/corpus/oss-repos/express/examples/error-pages/index.js +0 -103
  257. package/tests/fixtures/corpus/oss-repos/express/examples/error-pages/views/404.ejs +0 -3
  258. package/tests/fixtures/corpus/oss-repos/express/examples/error-pages/views/500.ejs +0 -8
  259. package/tests/fixtures/corpus/oss-repos/express/examples/error-pages/views/error_header.ejs +0 -10
  260. package/tests/fixtures/corpus/oss-repos/express/examples/error-pages/views/footer.ejs +0 -2
  261. package/tests/fixtures/corpus/oss-repos/express/examples/error-pages/views/index.ejs +0 -20
  262. package/tests/fixtures/corpus/oss-repos/express/examples/hello-world/index.js +0 -15
  263. package/tests/fixtures/corpus/oss-repos/express/examples/markdown/index.js +0 -44
  264. package/tests/fixtures/corpus/oss-repos/express/examples/markdown/views/index.md +0 -4
  265. package/tests/fixtures/corpus/oss-repos/express/examples/multi-router/controllers/api_v1.js +0 -15
  266. package/tests/fixtures/corpus/oss-repos/express/examples/multi-router/controllers/api_v2.js +0 -15
  267. package/tests/fixtures/corpus/oss-repos/express/examples/multi-router/index.js +0 -18
  268. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/main/index.js +0 -5
  269. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/pet/index.js +0 -31
  270. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/pet/views/edit.ejs +0 -17
  271. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/pet/views/show.ejs +0 -15
  272. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/user/index.js +0 -41
  273. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/user/views/edit.hbs +0 -27
  274. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/user/views/list.hbs +0 -18
  275. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/user/views/show.hbs +0 -31
  276. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/controllers/user-pet/index.js +0 -22
  277. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/db.js +0 -16
  278. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/index.js +0 -95
  279. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/lib/boot.js +0 -83
  280. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/public/style.css +0 -14
  281. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/views/404.ejs +0 -13
  282. package/tests/fixtures/corpus/oss-repos/express/examples/mvc/views/5xx.ejs +0 -13
  283. package/tests/fixtures/corpus/oss-repos/express/examples/online/index.js +0 -61
  284. package/tests/fixtures/corpus/oss-repos/express/examples/params/index.js +0 -74
  285. package/tests/fixtures/corpus/oss-repos/express/examples/resource/index.js +0 -95
  286. package/tests/fixtures/corpus/oss-repos/express/examples/route-map/index.js +0 -75
  287. package/tests/fixtures/corpus/oss-repos/express/examples/route-middleware/index.js +0 -90
  288. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/index.js +0 -55
  289. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/post.js +0 -13
  290. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/public/style.css +0 -24
  291. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/site.js +0 -5
  292. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/user.js +0 -47
  293. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/views/footer.ejs +0 -2
  294. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/views/header.ejs +0 -9
  295. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/views/index.ejs +0 -10
  296. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/views/posts/index.ejs +0 -12
  297. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/views/users/edit.ejs +0 -23
  298. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/views/users/index.ejs +0 -14
  299. package/tests/fixtures/corpus/oss-repos/express/examples/route-separation/views/users/view.ejs +0 -9
  300. package/tests/fixtures/corpus/oss-repos/express/examples/search/index.js +0 -61
  301. package/tests/fixtures/corpus/oss-repos/express/examples/search/public/client.js +0 -15
  302. package/tests/fixtures/corpus/oss-repos/express/examples/search/public/index.html +0 -21
  303. package/tests/fixtures/corpus/oss-repos/express/examples/session/index.js +0 -37
  304. package/tests/fixtures/corpus/oss-repos/express/examples/session/redis.js +0 -39
  305. package/tests/fixtures/corpus/oss-repos/express/examples/static-files/index.js +0 -43
  306. package/tests/fixtures/corpus/oss-repos/express/examples/static-files/public/css/style.css +0 -3
  307. package/tests/fixtures/corpus/oss-repos/express/examples/static-files/public/hello.txt +0 -1
  308. package/tests/fixtures/corpus/oss-repos/express/examples/static-files/public/js/app.js +0 -1
  309. package/tests/fixtures/corpus/oss-repos/express/examples/vhost/index.js +0 -53
  310. package/tests/fixtures/corpus/oss-repos/express/examples/view-constructor/github-view.js +0 -53
  311. package/tests/fixtures/corpus/oss-repos/express/examples/view-constructor/index.js +0 -48
  312. package/tests/fixtures/corpus/oss-repos/express/examples/view-locals/index.js +0 -155
  313. package/tests/fixtures/corpus/oss-repos/express/examples/view-locals/user.js +0 -36
  314. package/tests/fixtures/corpus/oss-repos/express/examples/view-locals/views/index.ejs +0 -20
  315. package/tests/fixtures/corpus/oss-repos/express/examples/web-service/index.js +0 -117
  316. package/tests/fixtures/corpus/oss-repos/express/index.js +0 -11
  317. package/tests/fixtures/corpus/oss-repos/express/lib/application.js +0 -631
  318. package/tests/fixtures/corpus/oss-repos/express/lib/express.js +0 -81
  319. package/tests/fixtures/corpus/oss-repos/express/lib/request.js +0 -514
  320. package/tests/fixtures/corpus/oss-repos/express/lib/response.js +0 -1053
  321. package/tests/fixtures/corpus/oss-repos/express/lib/utils.js +0 -271
  322. package/tests/fixtures/corpus/oss-repos/express/lib/view.js +0 -205
  323. package/tests/fixtures/corpus/oss-repos/express/package.json +0 -99
  324. package/tests/fixtures/corpus/oss-repos/express/test/Route.js +0 -274
  325. package/tests/fixtures/corpus/oss-repos/express/test/Router.js +0 -636
  326. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/auth.js +0 -117
  327. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/content-negotiation.js +0 -49
  328. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/cookie-sessions.js +0 -38
  329. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/cookies.js +0 -71
  330. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/downloads.js +0 -47
  331. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/ejs.js +0 -17
  332. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/error-pages.js +0 -99
  333. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/error.js +0 -29
  334. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/hello-world.js +0 -21
  335. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/markdown.js +0 -21
  336. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/multi-router.js +0 -44
  337. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/mvc.js +0 -132
  338. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/params.js +0 -44
  339. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/resource.js +0 -68
  340. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/route-map.js +0 -45
  341. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/route-separation.js +0 -97
  342. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/vhost.js +0 -46
  343. package/tests/fixtures/corpus/oss-repos/express/test/acceptance/web-service.js +0 -105
  344. package/tests/fixtures/corpus/oss-repos/express/test/app.all.js +0 -38
  345. package/tests/fixtures/corpus/oss-repos/express/test/app.engine.js +0 -83
  346. package/tests/fixtures/corpus/oss-repos/express/test/app.head.js +0 -66
  347. package/tests/fixtures/corpus/oss-repos/express/test/app.js +0 -120
  348. package/tests/fixtures/corpus/oss-repos/express/test/app.listen.js +0 -55
  349. package/tests/fixtures/corpus/oss-repos/express/test/app.locals.js +0 -26
  350. package/tests/fixtures/corpus/oss-repos/express/test/app.options.js +0 -116
  351. package/tests/fixtures/corpus/oss-repos/express/test/app.param.js +0 -323
  352. package/tests/fixtures/corpus/oss-repos/express/test/app.render.js +0 -374
  353. package/tests/fixtures/corpus/oss-repos/express/test/app.request.js +0 -143
  354. package/tests/fixtures/corpus/oss-repos/express/test/app.response.js +0 -143
  355. package/tests/fixtures/corpus/oss-repos/express/test/app.route.js +0 -197
  356. package/tests/fixtures/corpus/oss-repos/express/test/app.router.js +0 -1217
  357. package/tests/fixtures/corpus/oss-repos/express/test/app.routes.error.js +0 -62
  358. package/tests/fixtures/corpus/oss-repos/express/test/app.use.js +0 -542
  359. package/tests/fixtures/corpus/oss-repos/express/test/config.js +0 -207
  360. package/tests/fixtures/corpus/oss-repos/express/test/exports.js +0 -82
  361. package/tests/fixtures/corpus/oss-repos/express/test/express.json.js +0 -755
  362. package/tests/fixtures/corpus/oss-repos/express/test/express.raw.js +0 -513
  363. package/tests/fixtures/corpus/oss-repos/express/test/express.static.js +0 -815
  364. package/tests/fixtures/corpus/oss-repos/express/test/express.text.js +0 -566
  365. package/tests/fixtures/corpus/oss-repos/express/test/express.urlencoded.js +0 -828
  366. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/% of dogs.txt +0 -1
  367. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/.name +0 -1
  368. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/blog/index.html +0 -1
  369. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/blog/post/index.tmpl +0 -1
  370. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/broken.send +0 -0
  371. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/default_layout/name.tmpl +0 -1
  372. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/default_layout/user.tmpl +0 -1
  373. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/email.tmpl +0 -1
  374. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/empty.txt +0 -0
  375. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/local_layout/user.tmpl +0 -1
  376. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/name.tmpl +0 -1
  377. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/name.txt +0 -1
  378. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/nums.txt +0 -1
  379. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/pets/names.txt +0 -1
  380. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/snow /342/230/203/.gitkeep +0 -0
  381. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/todo.html +0 -1
  382. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/todo.txt +0 -1
  383. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/user.html +0 -1
  384. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/user.tmpl +0 -1
  385. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/users/index.html +0 -1
  386. package/tests/fixtures/corpus/oss-repos/express/test/fixtures/users/tobi.txt +0 -1
  387. package/tests/fixtures/corpus/oss-repos/express/test/middleware.basic.js +0 -42
  388. package/tests/fixtures/corpus/oss-repos/express/test/regression.js +0 -20
  389. package/tests/fixtures/corpus/oss-repos/express/test/req.accepts.js +0 -125
  390. package/tests/fixtures/corpus/oss-repos/express/test/req.acceptsCharsets.js +0 -50
  391. package/tests/fixtures/corpus/oss-repos/express/test/req.acceptsEncodings.js +0 -39
  392. package/tests/fixtures/corpus/oss-repos/express/test/req.acceptsLanguages.js +0 -57
  393. package/tests/fixtures/corpus/oss-repos/express/test/req.baseUrl.js +0 -88
  394. package/tests/fixtures/corpus/oss-repos/express/test/req.fresh.js +0 -70
  395. package/tests/fixtures/corpus/oss-repos/express/test/req.get.js +0 -60
  396. package/tests/fixtures/corpus/oss-repos/express/test/req.host.js +0 -156
  397. package/tests/fixtures/corpus/oss-repos/express/test/req.hostname.js +0 -188
  398. package/tests/fixtures/corpus/oss-repos/express/test/req.ip.js +0 -113
  399. package/tests/fixtures/corpus/oss-repos/express/test/req.ips.js +0 -71
  400. package/tests/fixtures/corpus/oss-repos/express/test/req.is.js +0 -169
  401. package/tests/fixtures/corpus/oss-repos/express/test/req.path.js +0 -20
  402. package/tests/fixtures/corpus/oss-repos/express/test/req.protocol.js +0 -113
  403. package/tests/fixtures/corpus/oss-repos/express/test/req.query.js +0 -106
  404. package/tests/fixtures/corpus/oss-repos/express/test/req.range.js +0 -104
  405. package/tests/fixtures/corpus/oss-repos/express/test/req.route.js +0 -28
  406. package/tests/fixtures/corpus/oss-repos/express/test/req.secure.js +0 -101
  407. package/tests/fixtures/corpus/oss-repos/express/test/req.signedCookies.js +0 -37
  408. package/tests/fixtures/corpus/oss-repos/express/test/req.stale.js +0 -50
  409. package/tests/fixtures/corpus/oss-repos/express/test/req.subdomains.js +0 -173
  410. package/tests/fixtures/corpus/oss-repos/express/test/req.xhr.js +0 -42
  411. package/tests/fixtures/corpus/oss-repos/express/test/res.append.js +0 -116
  412. package/tests/fixtures/corpus/oss-repos/express/test/res.attachment.js +0 -79
  413. package/tests/fixtures/corpus/oss-repos/express/test/res.clearCookie.js +0 -62
  414. package/tests/fixtures/corpus/oss-repos/express/test/res.cookie.js +0 -295
  415. package/tests/fixtures/corpus/oss-repos/express/test/res.download.js +0 -487
  416. package/tests/fixtures/corpus/oss-repos/express/test/res.format.js +0 -248
  417. package/tests/fixtures/corpus/oss-repos/express/test/res.get.js +0 -21
  418. package/tests/fixtures/corpus/oss-repos/express/test/res.json.js +0 -186
  419. package/tests/fixtures/corpus/oss-repos/express/test/res.jsonp.js +0 -344
  420. package/tests/fixtures/corpus/oss-repos/express/test/res.links.js +0 -65
  421. package/tests/fixtures/corpus/oss-repos/express/test/res.locals.js +0 -40
  422. package/tests/fixtures/corpus/oss-repos/express/test/res.location.js +0 -316
  423. package/tests/fixtures/corpus/oss-repos/express/test/res.redirect.js +0 -214
  424. package/tests/fixtures/corpus/oss-repos/express/test/res.render.js +0 -367
  425. package/tests/fixtures/corpus/oss-repos/express/test/res.send.js +0 -569
  426. package/tests/fixtures/corpus/oss-repos/express/test/res.sendFile.js +0 -913
  427. package/tests/fixtures/corpus/oss-repos/express/test/res.sendStatus.js +0 -44
  428. package/tests/fixtures/corpus/oss-repos/express/test/res.set.js +0 -124
  429. package/tests/fixtures/corpus/oss-repos/express/test/res.status.js +0 -206
  430. package/tests/fixtures/corpus/oss-repos/express/test/res.type.js +0 -46
  431. package/tests/fixtures/corpus/oss-repos/express/test/res.vary.js +0 -90
  432. package/tests/fixtures/corpus/oss-repos/express/test/support/env.js +0 -3
  433. package/tests/fixtures/corpus/oss-repos/express/test/support/tmpl.js +0 -36
  434. package/tests/fixtures/corpus/oss-repos/express/test/support/utils.js +0 -86
  435. package/tests/fixtures/corpus/oss-repos/express/test/utils.js +0 -83
  436. package/tests/fixtures/corpus/oss-repos/hono/.devcontainer/Dockerfile +0 -11
  437. package/tests/fixtures/corpus/oss-repos/hono/.devcontainer/devcontainer.json +0 -21
  438. package/tests/fixtures/corpus/oss-repos/hono/.devcontainer/docker-compose.yml +0 -18
  439. package/tests/fixtures/corpus/oss-repos/hono/.eslintignore +0 -1
  440. package/tests/fixtures/corpus/oss-repos/hono/.eslintrc.cjs +0 -9
  441. package/tests/fixtures/corpus/oss-repos/hono/.gitpod.yml +0 -9
  442. package/tests/fixtures/corpus/oss-repos/hono/.prettierrc +0 -9
  443. package/tests/fixtures/corpus/oss-repos/hono/.vitest.config/jsx-runtime-default.ts +0 -15
  444. package/tests/fixtures/corpus/oss-repos/hono/.vitest.config/jsx-runtime-dom.ts +0 -15
  445. package/tests/fixtures/corpus/oss-repos/hono/.vitest.config/setup-vitest.ts +0 -47
  446. package/tests/fixtures/corpus/oss-repos/hono/LICENSE +0 -21
  447. package/tests/fixtures/corpus/oss-repos/hono/README.md +0 -91
  448. package/tests/fixtures/corpus/oss-repos/hono/build.ts +0 -80
  449. package/tests/fixtures/corpus/oss-repos/hono/bun.lockb +0 -0
  450. package/tests/fixtures/corpus/oss-repos/hono/bunfig.toml +0 -7
  451. package/tests/fixtures/corpus/oss-repos/hono/codecov.yml +0 -13
  452. package/tests/fixtures/corpus/oss-repos/hono/docs/CODE_OF_CONDUCT.md +0 -128
  453. package/tests/fixtures/corpus/oss-repos/hono/docs/CONTRIBUTING.md +0 -62
  454. package/tests/fixtures/corpus/oss-repos/hono/docs/MIGRATION.md +0 -295
  455. package/tests/fixtures/corpus/oss-repos/hono/docs/images/hono-logo.png +0 -0
  456. package/tests/fixtures/corpus/oss-repos/hono/docs/images/hono-logo.pxm +0 -0
  457. package/tests/fixtures/corpus/oss-repos/hono/docs/images/hono-logo.svg +0 -6
  458. package/tests/fixtures/corpus/oss-repos/hono/docs/images/hono-title.png +0 -0
  459. package/tests/fixtures/corpus/oss-repos/hono/docs/images/hono-title.pxm +0 -0
  460. package/tests/fixtures/corpus/oss-repos/hono/jsr.json +0 -119
  461. package/tests/fixtures/corpus/oss-repos/hono/package.cjs.json +0 -3
  462. package/tests/fixtures/corpus/oss-repos/hono/package.json +0 -650
  463. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/aws-lambda/handler.ts +0 -492
  464. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/aws-lambda/index.ts +0 -13
  465. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/aws-lambda/types.ts +0 -144
  466. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/bun/conninfo.ts +0 -28
  467. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/bun/index.ts +0 -9
  468. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/bun/serve-static.ts +0 -35
  469. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/bun/server.ts +0 -30
  470. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/bun/ssg.ts +0 -27
  471. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/bun/websocket.ts +0 -110
  472. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-pages/handler.ts +0 -120
  473. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-pages/index.ts +0 -7
  474. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-workers/conninfo.ts +0 -7
  475. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-workers/index.ts +0 -8
  476. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-workers/serve-static-module.ts +0 -12
  477. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-workers/serve-static.ts +0 -39
  478. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-workers/utils.ts +0 -50
  479. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/cloudflare-workers/websocket.ts +0 -50
  480. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/deno/conninfo.ts +0 -17
  481. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/deno/deno.d.ts +0 -28
  482. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/deno/index.ts +0 -9
  483. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/deno/serve-static.ts +0 -40
  484. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/deno/ssg.ts +0 -27
  485. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/deno/websocket.ts +0 -51
  486. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/lambda-edge/conninfo.ts +0 -15
  487. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/lambda-edge/handler.ts +0 -189
  488. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/lambda-edge/index.ts +0 -14
  489. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/netlify/handler.ts +0 -10
  490. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/netlify/index.ts +0 -6
  491. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/netlify/mod.ts +0 -1
  492. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/service-worker/handler.ts +0 -34
  493. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/service-worker/index.ts +0 -5
  494. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/service-worker/types.ts +0 -14
  495. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/vercel/conninfo.ts +0 -8
  496. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/vercel/handler.ts +0 -9
  497. package/tests/fixtures/corpus/oss-repos/hono/src/adapter/vercel/index.ts +0 -7
  498. package/tests/fixtures/corpus/oss-repos/hono/src/client/client.ts +0 -214
  499. package/tests/fixtures/corpus/oss-repos/hono/src/client/index.ts +0 -14
  500. package/tests/fixtures/corpus/oss-repos/hono/src/client/types.ts +0 -182
  501. package/tests/fixtures/corpus/oss-repos/hono/src/client/utils.ts +0 -54
  502. package/tests/fixtures/corpus/oss-repos/hono/src/compose.ts +0 -94
  503. package/tests/fixtures/corpus/oss-repos/hono/src/context.ts +0 -917
  504. package/tests/fixtures/corpus/oss-repos/hono/src/helper/accepts/accepts.ts +0 -84
  505. package/tests/fixtures/corpus/oss-repos/hono/src/helper/accepts/index.ts +0 -6
  506. package/tests/fixtures/corpus/oss-repos/hono/src/helper/adapter/index.ts +0 -85
  507. package/tests/fixtures/corpus/oss-repos/hono/src/helper/conninfo/index.ts +0 -6
  508. package/tests/fixtures/corpus/oss-repos/hono/src/helper/conninfo/types.ts +0 -45
  509. package/tests/fixtures/corpus/oss-repos/hono/src/helper/cookie/index.ts +0 -130
  510. package/tests/fixtures/corpus/oss-repos/hono/src/helper/css/common.ts +0 -243
  511. package/tests/fixtures/corpus/oss-repos/hono/src/helper/css/index.ts +0 -220
  512. package/tests/fixtures/corpus/oss-repos/hono/src/helper/dev/index.ts +0 -79
  513. package/tests/fixtures/corpus/oss-repos/hono/src/helper/factory/index.ts +0 -246
  514. package/tests/fixtures/corpus/oss-repos/hono/src/helper/html/index.ts +0 -56
  515. package/tests/fixtures/corpus/oss-repos/hono/src/helper/ssg/index.ts +0 -13
  516. package/tests/fixtures/corpus/oss-repos/hono/src/helper/ssg/middleware.ts +0 -79
  517. package/tests/fixtures/corpus/oss-repos/hono/src/helper/ssg/ssg.ts +0 -388
  518. package/tests/fixtures/corpus/oss-repos/hono/src/helper/ssg/utils.ts +0 -71
  519. package/tests/fixtures/corpus/oss-repos/hono/src/helper/streaming/index.ts +0 -9
  520. package/tests/fixtures/corpus/oss-repos/hono/src/helper/streaming/sse.ts +0 -89
  521. package/tests/fixtures/corpus/oss-repos/hono/src/helper/streaming/stream.ts +0 -36
  522. package/tests/fixtures/corpus/oss-repos/hono/src/helper/streaming/text.ts +0 -15
  523. package/tests/fixtures/corpus/oss-repos/hono/src/helper/testing/index.ts +0 -26
  524. package/tests/fixtures/corpus/oss-repos/hono/src/helper/websocket/index.ts +0 -57
  525. package/tests/fixtures/corpus/oss-repos/hono/src/hono-base.ts +0 -523
  526. package/tests/fixtures/corpus/oss-repos/hono/src/hono.ts +0 -34
  527. package/tests/fixtures/corpus/oss-repos/hono/src/http-exception.ts +0 -78
  528. package/tests/fixtures/corpus/oss-repos/hono/src/index.ts +0 -51
  529. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/base.ts +0 -419
  530. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/children.ts +0 -20
  531. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/components.ts +0 -195
  532. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/constants.ts +0 -5
  533. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/context.ts +0 -50
  534. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/client.ts +0 -89
  535. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/components.ts +0 -39
  536. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/context.ts +0 -52
  537. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/css.ts +0 -246
  538. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/hooks/index.ts +0 -91
  539. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/index.ts +0 -159
  540. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/intrinsic-element/components.ts +0 -398
  541. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/jsx-dev-runtime.ts +0 -22
  542. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/jsx-runtime.ts +0 -7
  543. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/render.ts +0 -772
  544. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/server.ts +0 -70
  545. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/dom/utils.ts +0 -7
  546. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/hooks/index.ts +0 -426
  547. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/index.ts +0 -114
  548. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/intrinsic-element/common.ts +0 -11
  549. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/intrinsic-element/components.ts +0 -196
  550. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/intrinsic-elements.ts +0 -924
  551. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/jsx-dev-runtime.ts +0 -26
  552. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/jsx-runtime.ts +0 -18
  553. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/streaming.ts +0 -184
  554. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/types.ts +0 -41
  555. package/tests/fixtures/corpus/oss-repos/hono/src/jsx/utils.ts +0 -36
  556. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/basic-auth/index.ts +0 -128
  557. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/bearer-auth/index.ts +0 -159
  558. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/body-limit/index.ts +0 -115
  559. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/cache/index.ts +0 -127
  560. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/combine/index.ts +0 -153
  561. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/compress/index.ts +0 -79
  562. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/context-storage/index.ts +0 -55
  563. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/cors/index.ts +0 -141
  564. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/csrf/index.ts +0 -90
  565. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/etag/index.ts +0 -88
  566. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/ip-restriction/index.ts +0 -178
  567. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/jsx-renderer/index.ts +0 -158
  568. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/jwt/index.ts +0 -8
  569. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/jwt/jwt.ts +0 -159
  570. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/logger/index.ts +0 -93
  571. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/method-override/index.ts +0 -146
  572. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/powered-by/index.ts +0 -13
  573. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/pretty-json/index.ts +0 -50
  574. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/request-id/index.ts +0 -8
  575. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/request-id/request-id.ts +0 -59
  576. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/secure-headers/index.ts +0 -8
  577. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/secure-headers/permissions-policy.ts +0 -86
  578. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/secure-headers/secure-headers.ts +0 -319
  579. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/serve-static/index.ts +0 -140
  580. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/timeout/index.ts +0 -58
  581. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/timing/index.ts +0 -7
  582. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/timing/timing.ts +0 -225
  583. package/tests/fixtures/corpus/oss-repos/hono/src/middleware/trailing-slash/index.ts +0 -71
  584. package/tests/fixtures/corpus/oss-repos/hono/src/preset/quick.ts +0 -24
  585. package/tests/fixtures/corpus/oss-repos/hono/src/preset/tiny.ts +0 -20
  586. package/tests/fixtures/corpus/oss-repos/hono/src/request.ts +0 -403
  587. package/tests/fixtures/corpus/oss-repos/hono/src/router/linear-router/index.ts +0 -6
  588. package/tests/fixtures/corpus/oss-repos/hono/src/router/linear-router/router.ts +0 -132
  589. package/tests/fixtures/corpus/oss-repos/hono/src/router/pattern-router/index.ts +0 -6
  590. package/tests/fixtures/corpus/oss-repos/hono/src/router/pattern-router/router.ts +0 -54
  591. package/tests/fixtures/corpus/oss-repos/hono/src/router/reg-exp-router/index.ts +0 -6
  592. package/tests/fixtures/corpus/oss-repos/hono/src/router/reg-exp-router/node.ts +0 -159
  593. package/tests/fixtures/corpus/oss-repos/hono/src/router/reg-exp-router/router.ts +0 -274
  594. package/tests/fixtures/corpus/oss-repos/hono/src/router/reg-exp-router/trie.ts +0 -74
  595. package/tests/fixtures/corpus/oss-repos/hono/src/router/smart-router/index.ts +0 -6
  596. package/tests/fixtures/corpus/oss-repos/hono/src/router/smart-router/router.ts +0 -69
  597. package/tests/fixtures/corpus/oss-repos/hono/src/router/trie-router/index.ts +0 -6
  598. package/tests/fixtures/corpus/oss-repos/hono/src/router/trie-router/node.ts +0 -205
  599. package/tests/fixtures/corpus/oss-repos/hono/src/router/trie-router/router.ts +0 -28
  600. package/tests/fixtures/corpus/oss-repos/hono/src/router.ts +0 -103
  601. package/tests/fixtures/corpus/oss-repos/hono/src/types.ts +0 -2006
  602. package/tests/fixtures/corpus/oss-repos/hono/src/utils/basic-auth.ts +0 -26
  603. package/tests/fixtures/corpus/oss-repos/hono/src/utils/body.ts +0 -225
  604. package/tests/fixtures/corpus/oss-repos/hono/src/utils/buffer.ts +0 -65
  605. package/tests/fixtures/corpus/oss-repos/hono/src/utils/color.ts +0 -26
  606. package/tests/fixtures/corpus/oss-repos/hono/src/utils/concurrent.ts +0 -55
  607. package/tests/fixtures/corpus/oss-repos/hono/src/utils/cookie.ts +0 -230
  608. package/tests/fixtures/corpus/oss-repos/hono/src/utils/crypto.ts +0 -65
  609. package/tests/fixtures/corpus/oss-repos/hono/src/utils/encode.ts +0 -34
  610. package/tests/fixtures/corpus/oss-repos/hono/src/utils/filepath.ts +0 -56
  611. package/tests/fixtures/corpus/oss-repos/hono/src/utils/handler.ts +0 -15
  612. package/tests/fixtures/corpus/oss-repos/hono/src/utils/html.ts +0 -182
  613. package/tests/fixtures/corpus/oss-repos/hono/src/utils/http-status.ts +0 -69
  614. package/tests/fixtures/corpus/oss-repos/hono/src/utils/ipaddr.ts +0 -113
  615. package/tests/fixtures/corpus/oss-repos/hono/src/utils/jwt/index.ts +0 -7
  616. package/tests/fixtures/corpus/oss-repos/hono/src/utils/jwt/jwa.ts +0 -23
  617. package/tests/fixtures/corpus/oss-repos/hono/src/utils/jwt/jws.ts +0 -226
  618. package/tests/fixtures/corpus/oss-repos/hono/src/utils/jwt/jwt.ts +0 -114
  619. package/tests/fixtures/corpus/oss-repos/hono/src/utils/jwt/types.ts +0 -83
  620. package/tests/fixtures/corpus/oss-repos/hono/src/utils/jwt/utf8.ts +0 -7
  621. package/tests/fixtures/corpus/oss-repos/hono/src/utils/mime.ts +0 -142
  622. package/tests/fixtures/corpus/oss-repos/hono/src/utils/stream.ts +0 -96
  623. package/tests/fixtures/corpus/oss-repos/hono/src/utils/types.ts +0 -102
  624. package/tests/fixtures/corpus/oss-repos/hono/src/utils/url.ts +0 -310
  625. package/tests/fixtures/corpus/oss-repos/hono/src/validator/index.ts +0 -7
  626. package/tests/fixtures/corpus/oss-repos/hono/src/validator/validator.ts +0 -151
  627. package/tests/fixtures/corpus/oss-repos/hono/tsconfig.build.json +0 -23
  628. package/tests/fixtures/corpus/oss-repos/hono/tsconfig.json +0 -28
  629. package/tests/fixtures/corpus/oss-repos/hono/vitest.config.ts +0 -34
  630. package/tests/fixtures/corpus/oss-repos/hono/yarn.lock +0 -6232
  631. package/tests/fixtures/documentation/api-reference.md +0 -412
  632. package/tests/fixtures/documentation/architecture.md +0 -214
  633. package/tests/fixtures/documentation/deployment-guide.md +0 -420
  634. package/tests/fixtures/github-readmes/express.md +0 -133
  635. package/tests/fixtures/github-readmes/nextjs.md +0 -106
  636. package/tests/fixtures/github-readmes/react.md +0 -74
  637. package/tests/fixtures/github-readmes/typescript.md +0 -93
  638. package/tests/fixtures/github-readmes/vite.md +0 -79
  639. package/tests/fixtures/queries/core.json +0 -125
  640. package/tests/fixtures/queries/extended.json +0 -427
  641. package/tests/fixtures/queries/generated/.gitkeep +0 -0
  642. package/tests/fixtures/test-server.ts +0 -268
  643. package/tests/helpers/performance-metrics.ts +0 -370
  644. package/tests/helpers/search-relevance.ts +0 -326
  645. package/tests/integration/cli-consistency.test.ts +0 -298
  646. package/tests/integration/cli.test.ts +0 -69
  647. package/tests/integration/e2e-workflow.test.ts +0 -614
  648. package/tests/integration/mcp.test.ts +0 -250
  649. package/tests/integration/python-bridge.test.ts +0 -193
  650. package/tests/integration/search-quality.test.ts +0 -720
  651. package/tests/integration/serve.test.ts +0 -260
  652. package/tests/integration/stress.test.ts +0 -326
  653. package/tests/mcp/server.test.ts +0 -15
  654. package/tests/scripts/schemas/evaluation.json +0 -44
  655. package/tests/scripts/schemas/query-generation.json +0 -21
  656. package/tests/services/code-unit.service.test.ts +0 -95
  657. package/tests/services/job.service.test.ts +0 -124
  658. package/tests/services/search.progressive-context.test.ts +0 -35
  659. package/tsconfig.json +0 -34
  660. package/tsup.config.ts +0 -15
  661. package/turndown-plugin-gfm.d.ts +0 -29
  662. package/vitest.config.ts +0 -90
  663. /package/dist/{chunk-AOSDVRRH.js.map → chunk-AIS5S77C.js.map} +0 -0
@@ -1,1053 +0,0 @@
1
- /*!
2
- * express
3
- * Copyright(c) 2009-2013 TJ Holowaychuk
4
- * Copyright(c) 2014-2015 Douglas Christopher Wilson
5
- * MIT Licensed
6
- */
7
-
8
- 'use strict';
9
-
10
- /**
11
- * Module dependencies.
12
- * @private
13
- */
14
-
15
- var contentDisposition = require('content-disposition');
16
- var createError = require('http-errors')
17
- var deprecate = require('depd')('express');
18
- var encodeUrl = require('encodeurl');
19
- var escapeHtml = require('escape-html');
20
- var http = require('node:http');
21
- var onFinished = require('on-finished');
22
- var mime = require('mime-types')
23
- var path = require('node:path');
24
- var pathIsAbsolute = require('node:path').isAbsolute;
25
- var statuses = require('statuses')
26
- var sign = require('cookie-signature').sign;
27
- var normalizeType = require('./utils').normalizeType;
28
- var normalizeTypes = require('./utils').normalizeTypes;
29
- var setCharset = require('./utils').setCharset;
30
- var cookie = require('cookie');
31
- var send = require('send');
32
- var extname = path.extname;
33
- var resolve = path.resolve;
34
- var vary = require('vary');
35
- const { Buffer } = require('node:buffer');
36
-
37
- /**
38
- * Response prototype.
39
- * @public
40
- */
41
-
42
- var res = Object.create(http.ServerResponse.prototype)
43
-
44
- /**
45
- * Module exports.
46
- * @public
47
- */
48
-
49
- module.exports = res
50
-
51
- /**
52
- * Set the HTTP status code for the response.
53
- *
54
- * Expects an integer value between 100 and 999 inclusive.
55
- * Throws an error if the provided status code is not an integer or if it's outside the allowable range.
56
- *
57
- * @param {number} code - The HTTP status code to set.
58
- * @return {ServerResponse} - Returns itself for chaining methods.
59
- * @throws {TypeError} If `code` is not an integer.
60
- * @throws {RangeError} If `code` is outside the range 100 to 999.
61
- * @public
62
- */
63
-
64
- res.status = function status(code) {
65
- // Check if the status code is not an integer
66
- if (!Number.isInteger(code)) {
67
- throw new TypeError(`Invalid status code: ${JSON.stringify(code)}. Status code must be an integer.`);
68
- }
69
- // Check if the status code is outside of Node's valid range
70
- if (code < 100 || code > 999) {
71
- throw new RangeError(`Invalid status code: ${JSON.stringify(code)}. Status code must be greater than 99 and less than 1000.`);
72
- }
73
-
74
- this.statusCode = code;
75
- return this;
76
- };
77
-
78
- /**
79
- * Set Link header field with the given `links`.
80
- *
81
- * Examples:
82
- *
83
- * res.links({
84
- * next: 'http://api.example.com/users?page=2',
85
- * last: 'http://api.example.com/users?page=5',
86
- * pages: [
87
- * 'http://api.example.com/users?page=1',
88
- * 'http://api.example.com/users?page=2'
89
- * ]
90
- * });
91
- *
92
- * @param {Object} links
93
- * @return {ServerResponse}
94
- * @public
95
- */
96
-
97
- res.links = function(links) {
98
- var link = this.get('Link') || '';
99
- if (link) link += ', ';
100
- return this.set('Link', link + Object.keys(links).map(function(rel) {
101
- // Allow multiple links if links[rel] is an array
102
- if (Array.isArray(links[rel])) {
103
- return links[rel].map(function (singleLink) {
104
- return `<${singleLink}>; rel="${rel}"`;
105
- }).join(', ');
106
- } else {
107
- return `<${links[rel]}>; rel="${rel}"`;
108
- }
109
- }).join(', '));
110
- };
111
-
112
- /**
113
- * Send a response.
114
- *
115
- * Examples:
116
- *
117
- * res.send(Buffer.from('wahoo'));
118
- * res.send({ some: 'json' });
119
- * res.send('<p>some html</p>');
120
- *
121
- * @param {string|number|boolean|object|Buffer} body
122
- * @public
123
- */
124
-
125
- res.send = function send(body) {
126
- var chunk = body;
127
- var encoding;
128
- var req = this.req;
129
- var type;
130
-
131
- // settings
132
- var app = this.app;
133
-
134
- switch (typeof chunk) {
135
- // string defaulting to html
136
- case 'string':
137
- if (!this.get('Content-Type')) {
138
- this.type('html');
139
- }
140
- break;
141
- case 'boolean':
142
- case 'number':
143
- case 'object':
144
- if (chunk === null) {
145
- chunk = '';
146
- } else if (ArrayBuffer.isView(chunk)) {
147
- if (!this.get('Content-Type')) {
148
- this.type('bin');
149
- }
150
- } else {
151
- return this.json(chunk);
152
- }
153
- break;
154
- }
155
-
156
- // write strings in utf-8
157
- if (typeof chunk === 'string') {
158
- encoding = 'utf8';
159
- type = this.get('Content-Type');
160
-
161
- // reflect this in content-type
162
- if (typeof type === 'string') {
163
- this.set('Content-Type', setCharset(type, 'utf-8'));
164
- }
165
- }
166
-
167
- // determine if ETag should be generated
168
- var etagFn = app.get('etag fn')
169
- var generateETag = !this.get('ETag') && typeof etagFn === 'function'
170
-
171
- // populate Content-Length
172
- var len
173
- if (chunk !== undefined) {
174
- if (Buffer.isBuffer(chunk)) {
175
- // get length of Buffer
176
- len = chunk.length
177
- } else if (!generateETag && chunk.length < 1000) {
178
- // just calculate length when no ETag + small chunk
179
- len = Buffer.byteLength(chunk, encoding)
180
- } else {
181
- // convert chunk to Buffer and calculate
182
- chunk = Buffer.from(chunk, encoding)
183
- encoding = undefined;
184
- len = chunk.length
185
- }
186
-
187
- this.set('Content-Length', len);
188
- }
189
-
190
- // populate ETag
191
- var etag;
192
- if (generateETag && len !== undefined) {
193
- if ((etag = etagFn(chunk, encoding))) {
194
- this.set('ETag', etag);
195
- }
196
- }
197
-
198
- // freshness
199
- if (req.fresh) this.status(304);
200
-
201
- // strip irrelevant headers
202
- if (204 === this.statusCode || 304 === this.statusCode) {
203
- this.removeHeader('Content-Type');
204
- this.removeHeader('Content-Length');
205
- this.removeHeader('Transfer-Encoding');
206
- chunk = '';
207
- }
208
-
209
- // alter headers for 205
210
- if (this.statusCode === 205) {
211
- this.set('Content-Length', '0')
212
- this.removeHeader('Transfer-Encoding')
213
- chunk = ''
214
- }
215
-
216
- if (req.method === 'HEAD') {
217
- // skip body for HEAD
218
- this.end();
219
- } else {
220
- // respond
221
- this.end(chunk, encoding);
222
- }
223
-
224
- return this;
225
- };
226
-
227
- /**
228
- * Send JSON response.
229
- *
230
- * Examples:
231
- *
232
- * res.json(null);
233
- * res.json({ user: 'tj' });
234
- *
235
- * @param {string|number|boolean|object} obj
236
- * @public
237
- */
238
-
239
- res.json = function json(obj) {
240
- // settings
241
- var app = this.app;
242
- var escape = app.get('json escape')
243
- var replacer = app.get('json replacer');
244
- var spaces = app.get('json spaces');
245
- var body = stringify(obj, replacer, spaces, escape)
246
-
247
- // content-type
248
- if (!this.get('Content-Type')) {
249
- this.set('Content-Type', 'application/json');
250
- }
251
-
252
- return this.send(body);
253
- };
254
-
255
- /**
256
- * Send JSON response with JSONP callback support.
257
- *
258
- * Examples:
259
- *
260
- * res.jsonp(null);
261
- * res.jsonp({ user: 'tj' });
262
- *
263
- * @param {string|number|boolean|object} obj
264
- * @public
265
- */
266
-
267
- res.jsonp = function jsonp(obj) {
268
- // settings
269
- var app = this.app;
270
- var escape = app.get('json escape')
271
- var replacer = app.get('json replacer');
272
- var spaces = app.get('json spaces');
273
- var body = stringify(obj, replacer, spaces, escape)
274
- var callback = this.req.query[app.get('jsonp callback name')];
275
-
276
- // content-type
277
- if (!this.get('Content-Type')) {
278
- this.set('X-Content-Type-Options', 'nosniff');
279
- this.set('Content-Type', 'application/json');
280
- }
281
-
282
- // fixup callback
283
- if (Array.isArray(callback)) {
284
- callback = callback[0];
285
- }
286
-
287
- // jsonp
288
- if (typeof callback === 'string' && callback.length !== 0) {
289
- this.set('X-Content-Type-Options', 'nosniff');
290
- this.set('Content-Type', 'text/javascript');
291
-
292
- // restrict callback charset
293
- callback = callback.replace(/[^\[\]\w$.]/g, '');
294
-
295
- if (body === undefined) {
296
- // empty argument
297
- body = ''
298
- } else if (typeof body === 'string') {
299
- // replace chars not allowed in JavaScript that are in JSON
300
- body = body
301
- .replace(/\u2028/g, '\\u2028')
302
- .replace(/\u2029/g, '\\u2029')
303
- }
304
-
305
- // the /**/ is a specific security mitigation for "Rosetta Flash JSONP abuse"
306
- // the typeof check is just to reduce client error noise
307
- body = '/**/ typeof ' + callback + ' === \'function\' && ' + callback + '(' + body + ');';
308
- }
309
-
310
- return this.send(body);
311
- };
312
-
313
- /**
314
- * Send given HTTP status code.
315
- *
316
- * Sets the response status to `statusCode` and the body of the
317
- * response to the standard description from node's http.STATUS_CODES
318
- * or the statusCode number if no description.
319
- *
320
- * Examples:
321
- *
322
- * res.sendStatus(200);
323
- *
324
- * @param {number} statusCode
325
- * @public
326
- */
327
-
328
- res.sendStatus = function sendStatus(statusCode) {
329
- var body = statuses.message[statusCode] || String(statusCode)
330
-
331
- this.status(statusCode);
332
- this.type('txt');
333
-
334
- return this.send(body);
335
- };
336
-
337
- /**
338
- * Transfer the file at the given `path`.
339
- *
340
- * Automatically sets the _Content-Type_ response header field.
341
- * The callback `callback(err)` is invoked when the transfer is complete
342
- * or when an error occurs. Be sure to check `res.headersSent`
343
- * if you wish to attempt responding, as the header and some data
344
- * may have already been transferred.
345
- *
346
- * Options:
347
- *
348
- * - `maxAge` defaulting to 0 (can be string converted by `ms`)
349
- * - `root` root directory for relative filenames
350
- * - `headers` object of headers to serve with file
351
- * - `dotfiles` serve dotfiles, defaulting to false; can be `"allow"` to send them
352
- *
353
- * Other options are passed along to `send`.
354
- *
355
- * Examples:
356
- *
357
- * The following example illustrates how `res.sendFile()` may
358
- * be used as an alternative for the `static()` middleware for
359
- * dynamic situations. The code backing `res.sendFile()` is actually
360
- * the same code, so HTTP cache support etc is identical.
361
- *
362
- * app.get('/user/:uid/photos/:file', function(req, res){
363
- * var uid = req.params.uid
364
- * , file = req.params.file;
365
- *
366
- * req.user.mayViewFilesFrom(uid, function(yes){
367
- * if (yes) {
368
- * res.sendFile('/uploads/' + uid + '/' + file);
369
- * } else {
370
- * res.send(403, 'Sorry! you cant see that.');
371
- * }
372
- * });
373
- * });
374
- *
375
- * @public
376
- */
377
-
378
- res.sendFile = function sendFile(path, options, callback) {
379
- var done = callback;
380
- var req = this.req;
381
- var res = this;
382
- var next = req.next;
383
- var opts = options || {};
384
-
385
- if (!path) {
386
- throw new TypeError('path argument is required to res.sendFile');
387
- }
388
-
389
- if (typeof path !== 'string') {
390
- throw new TypeError('path must be a string to res.sendFile')
391
- }
392
-
393
- // support function as second arg
394
- if (typeof options === 'function') {
395
- done = options;
396
- opts = {};
397
- }
398
-
399
- if (!opts.root && !pathIsAbsolute(path)) {
400
- throw new TypeError('path must be absolute or specify root to res.sendFile');
401
- }
402
-
403
- // create file stream
404
- var pathname = encodeURI(path);
405
-
406
- // wire application etag option to send
407
- opts.etag = this.app.enabled('etag');
408
- var file = send(req, pathname, opts);
409
-
410
- // transfer
411
- sendfile(res, file, opts, function (err) {
412
- if (done) return done(err);
413
- if (err && err.code === 'EISDIR') return next();
414
-
415
- // next() all but write errors
416
- if (err && err.code !== 'ECONNABORTED' && err.syscall !== 'write') {
417
- next(err);
418
- }
419
- });
420
- };
421
-
422
- /**
423
- * Transfer the file at the given `path` as an attachment.
424
- *
425
- * Optionally providing an alternate attachment `filename`,
426
- * and optional callback `callback(err)`. The callback is invoked
427
- * when the data transfer is complete, or when an error has
428
- * occurred. Be sure to check `res.headersSent` if you plan to respond.
429
- *
430
- * Optionally providing an `options` object to use with `res.sendFile()`.
431
- * This function will set the `Content-Disposition` header, overriding
432
- * any `Content-Disposition` header passed as header options in order
433
- * to set the attachment and filename.
434
- *
435
- * This method uses `res.sendFile()`.
436
- *
437
- * @public
438
- */
439
-
440
- res.download = function download (path, filename, options, callback) {
441
- var done = callback;
442
- var name = filename;
443
- var opts = options || null
444
-
445
- // support function as second or third arg
446
- if (typeof filename === 'function') {
447
- done = filename;
448
- name = null;
449
- opts = null
450
- } else if (typeof options === 'function') {
451
- done = options
452
- opts = null
453
- }
454
-
455
- // support optional filename, where options may be in it's place
456
- if (typeof filename === 'object' &&
457
- (typeof options === 'function' || options === undefined)) {
458
- name = null
459
- opts = filename
460
- }
461
-
462
- // set Content-Disposition when file is sent
463
- var headers = {
464
- 'Content-Disposition': contentDisposition(name || path)
465
- };
466
-
467
- // merge user-provided headers
468
- if (opts && opts.headers) {
469
- var keys = Object.keys(opts.headers)
470
- for (var i = 0; i < keys.length; i++) {
471
- var key = keys[i]
472
- if (key.toLowerCase() !== 'content-disposition') {
473
- headers[key] = opts.headers[key]
474
- }
475
- }
476
- }
477
-
478
- // merge user-provided options
479
- opts = Object.create(opts)
480
- opts.headers = headers
481
-
482
- // Resolve the full path for sendFile
483
- var fullPath = !opts.root
484
- ? resolve(path)
485
- : path
486
-
487
- // send file
488
- return this.sendFile(fullPath, opts, done)
489
- };
490
-
491
- /**
492
- * Set _Content-Type_ response header with `type` through `mime.contentType()`
493
- * when it does not contain "/", or set the Content-Type to `type` otherwise.
494
- * When no mapping is found though `mime.contentType()`, the type is set to
495
- * "application/octet-stream".
496
- *
497
- * Examples:
498
- *
499
- * res.type('.html');
500
- * res.type('html');
501
- * res.type('json');
502
- * res.type('application/json');
503
- * res.type('png');
504
- *
505
- * @param {String} type
506
- * @return {ServerResponse} for chaining
507
- * @public
508
- */
509
-
510
- res.contentType =
511
- res.type = function contentType(type) {
512
- var ct = type.indexOf('/') === -1
513
- ? (mime.contentType(type) || 'application/octet-stream')
514
- : type;
515
-
516
- return this.set('Content-Type', ct);
517
- };
518
-
519
- /**
520
- * Respond to the Acceptable formats using an `obj`
521
- * of mime-type callbacks.
522
- *
523
- * This method uses `req.accepted`, an array of
524
- * acceptable types ordered by their quality values.
525
- * When "Accept" is not present the _first_ callback
526
- * is invoked, otherwise the first match is used. When
527
- * no match is performed the server responds with
528
- * 406 "Not Acceptable".
529
- *
530
- * Content-Type is set for you, however if you choose
531
- * you may alter this within the callback using `res.type()`
532
- * or `res.set('Content-Type', ...)`.
533
- *
534
- * res.format({
535
- * 'text/plain': function(){
536
- * res.send('hey');
537
- * },
538
- *
539
- * 'text/html': function(){
540
- * res.send('<p>hey</p>');
541
- * },
542
- *
543
- * 'application/json': function () {
544
- * res.send({ message: 'hey' });
545
- * }
546
- * });
547
- *
548
- * In addition to canonicalized MIME types you may
549
- * also use extnames mapped to these types:
550
- *
551
- * res.format({
552
- * text: function(){
553
- * res.send('hey');
554
- * },
555
- *
556
- * html: function(){
557
- * res.send('<p>hey</p>');
558
- * },
559
- *
560
- * json: function(){
561
- * res.send({ message: 'hey' });
562
- * }
563
- * });
564
- *
565
- * By default Express passes an `Error`
566
- * with a `.status` of 406 to `next(err)`
567
- * if a match is not made. If you provide
568
- * a `.default` callback it will be invoked
569
- * instead.
570
- *
571
- * @param {Object} obj
572
- * @return {ServerResponse} for chaining
573
- * @public
574
- */
575
-
576
- res.format = function(obj){
577
- var req = this.req;
578
- var next = req.next;
579
-
580
- var keys = Object.keys(obj)
581
- .filter(function (v) { return v !== 'default' })
582
-
583
- var key = keys.length > 0
584
- ? req.accepts(keys)
585
- : false;
586
-
587
- this.vary("Accept");
588
-
589
- if (key) {
590
- this.set('Content-Type', normalizeType(key).value);
591
- obj[key](req, this, next);
592
- } else if (obj.default) {
593
- obj.default(req, this, next)
594
- } else {
595
- next(createError(406, {
596
- types: normalizeTypes(keys).map(function (o) { return o.value })
597
- }))
598
- }
599
-
600
- return this;
601
- };
602
-
603
- /**
604
- * Set _Content-Disposition_ header to _attachment_ with optional `filename`.
605
- *
606
- * @param {String} filename
607
- * @return {ServerResponse}
608
- * @public
609
- */
610
-
611
- res.attachment = function attachment(filename) {
612
- if (filename) {
613
- this.type(extname(filename));
614
- }
615
-
616
- this.set('Content-Disposition', contentDisposition(filename));
617
-
618
- return this;
619
- };
620
-
621
- /**
622
- * Append additional header `field` with value `val`.
623
- *
624
- * Example:
625
- *
626
- * res.append('Link', ['<http://localhost/>', '<http://localhost:3000/>']);
627
- * res.append('Set-Cookie', 'foo=bar; Path=/; HttpOnly');
628
- * res.append('Warning', '199 Miscellaneous warning');
629
- *
630
- * @param {String} field
631
- * @param {String|Array} val
632
- * @return {ServerResponse} for chaining
633
- * @public
634
- */
635
-
636
- res.append = function append(field, val) {
637
- var prev = this.get(field);
638
- var value = val;
639
-
640
- if (prev) {
641
- // concat the new and prev vals
642
- value = Array.isArray(prev) ? prev.concat(val)
643
- : Array.isArray(val) ? [prev].concat(val)
644
- : [prev, val]
645
- }
646
-
647
- return this.set(field, value);
648
- };
649
-
650
- /**
651
- * Set header `field` to `val`, or pass
652
- * an object of header fields.
653
- *
654
- * Examples:
655
- *
656
- * res.set('Foo', ['bar', 'baz']);
657
- * res.set('Accept', 'application/json');
658
- * res.set({ Accept: 'text/plain', 'X-API-Key': 'tobi' });
659
- *
660
- * Aliased as `res.header()`.
661
- *
662
- * When the set header is "Content-Type", the type is expanded to include
663
- * the charset if not present using `mime.contentType()`.
664
- *
665
- * @param {String|Object} field
666
- * @param {String|Array} val
667
- * @return {ServerResponse} for chaining
668
- * @public
669
- */
670
-
671
- res.set =
672
- res.header = function header(field, val) {
673
- if (arguments.length === 2) {
674
- var value = Array.isArray(val)
675
- ? val.map(String)
676
- : String(val);
677
-
678
- // add charset to content-type
679
- if (field.toLowerCase() === 'content-type') {
680
- if (Array.isArray(value)) {
681
- throw new TypeError('Content-Type cannot be set to an Array');
682
- }
683
- value = mime.contentType(value)
684
- }
685
-
686
- this.setHeader(field, value);
687
- } else {
688
- for (var key in field) {
689
- this.set(key, field[key]);
690
- }
691
- }
692
- return this;
693
- };
694
-
695
- /**
696
- * Get value for header `field`.
697
- *
698
- * @param {String} field
699
- * @return {String}
700
- * @public
701
- */
702
-
703
- res.get = function(field){
704
- return this.getHeader(field);
705
- };
706
-
707
- /**
708
- * Clear cookie `name`.
709
- *
710
- * @param {String} name
711
- * @param {Object} [options]
712
- * @return {ServerResponse} for chaining
713
- * @public
714
- */
715
-
716
- res.clearCookie = function clearCookie(name, options) {
717
- // Force cookie expiration by setting expires to the past
718
- const opts = { path: '/', ...options, expires: new Date(1)};
719
- // ensure maxAge is not passed
720
- delete opts.maxAge
721
-
722
- return this.cookie(name, '', opts);
723
- };
724
-
725
- /**
726
- * Set cookie `name` to `value`, with the given `options`.
727
- *
728
- * Options:
729
- *
730
- * - `maxAge` max-age in milliseconds, converted to `expires`
731
- * - `signed` sign the cookie
732
- * - `path` defaults to "/"
733
- *
734
- * Examples:
735
- *
736
- * // "Remember Me" for 15 minutes
737
- * res.cookie('rememberme', '1', { expires: new Date(Date.now() + 900000), httpOnly: true });
738
- *
739
- * // same as above
740
- * res.cookie('rememberme', '1', { maxAge: 900000, httpOnly: true })
741
- *
742
- * @param {String} name
743
- * @param {String|Object} value
744
- * @param {Object} [options]
745
- * @return {ServerResponse} for chaining
746
- * @public
747
- */
748
-
749
- res.cookie = function (name, value, options) {
750
- var opts = { ...options };
751
- var secret = this.req.secret;
752
- var signed = opts.signed;
753
-
754
- if (signed && !secret) {
755
- throw new Error('cookieParser("secret") required for signed cookies');
756
- }
757
-
758
- var val = typeof value === 'object'
759
- ? 'j:' + JSON.stringify(value)
760
- : String(value);
761
-
762
- if (signed) {
763
- val = 's:' + sign(val, secret);
764
- }
765
-
766
- if (opts.maxAge != null) {
767
- var maxAge = opts.maxAge - 0
768
-
769
- if (!isNaN(maxAge)) {
770
- opts.expires = new Date(Date.now() + maxAge)
771
- opts.maxAge = Math.floor(maxAge / 1000)
772
- }
773
- }
774
-
775
- if (opts.path == null) {
776
- opts.path = '/';
777
- }
778
-
779
- this.append('Set-Cookie', cookie.serialize(name, String(val), opts));
780
-
781
- return this;
782
- };
783
-
784
- /**
785
- * Set the location header to `url`.
786
- *
787
- * The given `url` can also be "back", which redirects
788
- * to the _Referrer_ or _Referer_ headers or "/".
789
- *
790
- * Examples:
791
- *
792
- * res.location('/foo/bar').;
793
- * res.location('http://example.com');
794
- * res.location('../login');
795
- *
796
- * @param {String} url
797
- * @return {ServerResponse} for chaining
798
- * @public
799
- */
800
-
801
- res.location = function location(url) {
802
- return this.set('Location', encodeUrl(url));
803
- };
804
-
805
- /**
806
- * Redirect to the given `url` with optional response `status`
807
- * defaulting to 302.
808
- *
809
- * Examples:
810
- *
811
- * res.redirect('/foo/bar');
812
- * res.redirect('http://example.com');
813
- * res.redirect(301, 'http://example.com');
814
- * res.redirect('../login'); // /blog/post/1 -> /blog/login
815
- *
816
- * @public
817
- */
818
-
819
- res.redirect = function redirect(url) {
820
- var address = url;
821
- var body;
822
- var status = 302;
823
-
824
- // allow status / url
825
- if (arguments.length === 2) {
826
- status = arguments[0]
827
- address = arguments[1]
828
- }
829
-
830
- if (!address) {
831
- deprecate('Provide a url argument');
832
- }
833
-
834
- if (typeof address !== 'string') {
835
- deprecate('Url must be a string');
836
- }
837
-
838
- if (typeof status !== 'number') {
839
- deprecate('Status must be a number');
840
- }
841
-
842
- // Set location header
843
- address = this.location(address).get('Location');
844
-
845
- // Support text/{plain,html} by default
846
- this.format({
847
- text: function(){
848
- body = statuses.message[status] + '. Redirecting to ' + address
849
- },
850
-
851
- html: function(){
852
- var u = escapeHtml(address);
853
- body = '<p>' + statuses.message[status] + '. Redirecting to ' + u + '</p>'
854
- },
855
-
856
- default: function(){
857
- body = '';
858
- }
859
- });
860
-
861
- // Respond
862
- this.status(status);
863
- this.set('Content-Length', Buffer.byteLength(body));
864
-
865
- if (this.req.method === 'HEAD') {
866
- this.end();
867
- } else {
868
- this.end(body);
869
- }
870
- };
871
-
872
- /**
873
- * Add `field` to Vary. If already present in the Vary set, then
874
- * this call is simply ignored.
875
- *
876
- * @param {Array|String} field
877
- * @return {ServerResponse} for chaining
878
- * @public
879
- */
880
-
881
- res.vary = function(field){
882
- vary(this, field);
883
-
884
- return this;
885
- };
886
-
887
- /**
888
- * Render `view` with the given `options` and optional callback `fn`.
889
- * When a callback function is given a response will _not_ be made
890
- * automatically, otherwise a response of _200_ and _text/html_ is given.
891
- *
892
- * Options:
893
- *
894
- * - `cache` boolean hinting to the engine it should cache
895
- * - `filename` filename of the view being rendered
896
- *
897
- * @public
898
- */
899
-
900
- res.render = function render(view, options, callback) {
901
- var app = this.req.app;
902
- var done = callback;
903
- var opts = options || {};
904
- var req = this.req;
905
- var self = this;
906
-
907
- // support callback function as second arg
908
- if (typeof options === 'function') {
909
- done = options;
910
- opts = {};
911
- }
912
-
913
- // merge res.locals
914
- opts._locals = self.locals;
915
-
916
- // default callback to respond
917
- done = done || function (err, str) {
918
- if (err) return req.next(err);
919
- self.send(str);
920
- };
921
-
922
- // render
923
- app.render(view, opts, done);
924
- };
925
-
926
- // pipe the send file stream
927
- function sendfile(res, file, options, callback) {
928
- var done = false;
929
- var streaming;
930
-
931
- // request aborted
932
- function onaborted() {
933
- if (done) return;
934
- done = true;
935
-
936
- var err = new Error('Request aborted');
937
- err.code = 'ECONNABORTED';
938
- callback(err);
939
- }
940
-
941
- // directory
942
- function ondirectory() {
943
- if (done) return;
944
- done = true;
945
-
946
- var err = new Error('EISDIR, read');
947
- err.code = 'EISDIR';
948
- callback(err);
949
- }
950
-
951
- // errors
952
- function onerror(err) {
953
- if (done) return;
954
- done = true;
955
- callback(err);
956
- }
957
-
958
- // ended
959
- function onend() {
960
- if (done) return;
961
- done = true;
962
- callback();
963
- }
964
-
965
- // file
966
- function onfile() {
967
- streaming = false;
968
- }
969
-
970
- // finished
971
- function onfinish(err) {
972
- if (err && err.code === 'ECONNRESET') return onaborted();
973
- if (err) return onerror(err);
974
- if (done) return;
975
-
976
- setImmediate(function () {
977
- if (streaming !== false && !done) {
978
- onaborted();
979
- return;
980
- }
981
-
982
- if (done) return;
983
- done = true;
984
- callback();
985
- });
986
- }
987
-
988
- // streaming
989
- function onstream() {
990
- streaming = true;
991
- }
992
-
993
- file.on('directory', ondirectory);
994
- file.on('end', onend);
995
- file.on('error', onerror);
996
- file.on('file', onfile);
997
- file.on('stream', onstream);
998
- onFinished(res, onfinish);
999
-
1000
- if (options.headers) {
1001
- // set headers on successful transfer
1002
- file.on('headers', function headers(res) {
1003
- var obj = options.headers;
1004
- var keys = Object.keys(obj);
1005
-
1006
- for (var i = 0; i < keys.length; i++) {
1007
- var k = keys[i];
1008
- res.setHeader(k, obj[k]);
1009
- }
1010
- });
1011
- }
1012
-
1013
- // pipe
1014
- file.pipe(res);
1015
- }
1016
-
1017
- /**
1018
- * Stringify JSON, like JSON.stringify, but v8 optimized, with the
1019
- * ability to escape characters that can trigger HTML sniffing.
1020
- *
1021
- * @param {*} value
1022
- * @param {function} replacer
1023
- * @param {number} spaces
1024
- * @param {boolean} escape
1025
- * @returns {string}
1026
- * @private
1027
- */
1028
-
1029
- function stringify (value, replacer, spaces, escape) {
1030
- // v8 checks arguments.length for optimizing simple call
1031
- // https://bugs.chromium.org/p/v8/issues/detail?id=4730
1032
- var json = replacer || spaces
1033
- ? JSON.stringify(value, replacer, spaces)
1034
- : JSON.stringify(value);
1035
-
1036
- if (escape && typeof json === 'string') {
1037
- json = json.replace(/[<>&]/g, function (c) {
1038
- switch (c.charCodeAt(0)) {
1039
- case 0x3c:
1040
- return '\\u003c'
1041
- case 0x3e:
1042
- return '\\u003e'
1043
- case 0x26:
1044
- return '\\u0026'
1045
- /* istanbul ignore next: unreachable default */
1046
- default:
1047
- return c
1048
- }
1049
- })
1050
- }
1051
-
1052
- return json
1053
- }