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,772 +0,0 @@
1
- import type { Child, FC, JSXNode, Props } from '../base'
2
- import { toArray } from '../children'
3
- import { DOM_ERROR_HANDLER, DOM_INTERNAL_TAG, DOM_RENDERER, DOM_STASH } from '../constants'
4
- import type { Context as JSXContext } from '../context'
5
- import { globalContexts as globalJSXContexts, useContext } from '../context'
6
- import type { EffectData } from '../hooks'
7
- import { STASH_EFFECT } from '../hooks'
8
- import { normalizeIntrinsicElementKey, styleObjectForEach } from '../utils'
9
- import { createContext } from './context' // import dom-specific versions
10
-
11
- const HONO_PORTAL_ELEMENT = '_hp'
12
-
13
- const eventAliasMap: Record<string, string> = {
14
- Change: 'Input',
15
- DoubleClick: 'DblClick',
16
- } as const
17
-
18
- const nameSpaceMap: Record<string, string> = {
19
- svg: '2000/svg',
20
- math: '1998/Math/MathML',
21
- } as const
22
-
23
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
24
- export type HasRenderToDom = FC<any> & { [DOM_RENDERER]: FC<any> }
25
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
26
- export type ErrorHandler = (error: any, retry: () => void) => Child | undefined
27
-
28
- type Container = HTMLElement | DocumentFragment
29
- type LocalJSXContexts = [JSXContext<unknown>, unknown][] | undefined
30
- type SupportedElement = HTMLElement | SVGElement | MathMLElement
31
- export type PreserveNodeType =
32
- | 1 // preserve only self
33
- | 2 // preserve self and children
34
-
35
- export type NodeObject = {
36
- pP: Props | undefined // previous props
37
- nN: Node | undefined // next node
38
- vC: Node[] // virtual dom children
39
- pC?: Node[] // previous virtual dom children
40
- vR: Node[] // virtual dom children to remove
41
- n?: string // namespace
42
- f?: boolean // force build
43
- s?: boolean // skip build and apply
44
- c: Container | undefined // container
45
- e: SupportedElement | Text | undefined // rendered element
46
- p?: PreserveNodeType // preserve HTMLElement if it will be unmounted
47
- a?: boolean // cancel apply() if true
48
- [DOM_STASH]:
49
- | [
50
- number, // current hook index
51
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
52
- any[][], // stash for hooks
53
- LocalJSXContexts, // context
54
- [Context, Function, NodeObject], // [context, error handler, node] for closest error boundary or suspense
55
- ]
56
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
57
- | [number, any[][]]
58
- } & JSXNode
59
- type NodeString = {
60
- t: string // text content
61
- d: boolean // is dirty
62
- s?: boolean // skip build and apply
63
- } & {
64
- e?: Text
65
- // like a NodeObject
66
- vC: undefined
67
- nN: undefined
68
- p?: true
69
- // from JSXNode
70
- key: undefined
71
- tag: undefined
72
- }
73
- export type Node = NodeString | NodeObject
74
-
75
- export type PendingType =
76
- | 0 // no pending
77
- | 1 // global
78
- | 2 // hook
79
- export type UpdateHook = (
80
- context: Context,
81
- node: Node,
82
- cb: (context: Context) => void
83
- ) => Promise<void>
84
- export type Context =
85
- | [
86
- PendingType, // PendingType
87
- boolean, // got an error
88
- UpdateHook, // update hook
89
- boolean, // is in view transition
90
- boolean, // is in top level render
91
- [Context, Function, NodeObject][], // [context, error handler, node] stack for this context
92
- ]
93
- | [PendingType, boolean, UpdateHook, boolean]
94
- | [PendingType, boolean, UpdateHook]
95
- | [PendingType, boolean]
96
- | [PendingType]
97
- | []
98
-
99
- export const buildDataStack: [Context, Node][] = []
100
-
101
- const refCleanupMap: WeakMap<Element, () => void> = new WeakMap()
102
-
103
- let nameSpaceContext: JSXContext<string> | undefined = undefined
104
- export const getNameSpaceContext = () => nameSpaceContext
105
-
106
- const isNodeString = (node: Node): node is NodeString => 't' in (node as NodeString)
107
-
108
- const eventCache: Record<string, [string, boolean]> = {
109
- // pre-define events that are used very frequently
110
- onClick: ['click', false],
111
- }
112
- const getEventSpec = (key: string): [string, boolean] | undefined => {
113
- if (!key.startsWith('on')) {
114
- return undefined
115
- }
116
- if (eventCache[key]) {
117
- return eventCache[key]
118
- }
119
-
120
- const match = key.match(/^on([A-Z][a-zA-Z]+?(?:PointerCapture)?)(Capture)?$/)
121
- if (match) {
122
- const [, eventName, capture] = match
123
- return (eventCache[key] = [(eventAliasMap[eventName] || eventName).toLowerCase(), !!capture])
124
- }
125
- return undefined
126
- }
127
-
128
- const toAttributeName = (element: SupportedElement, key: string): string =>
129
- nameSpaceContext &&
130
- element instanceof SVGElement &&
131
- /[A-Z]/.test(key) &&
132
- (key in element.style || // Presentation attributes are findable in style object. "clip-path", "font-size", "stroke-width", etc.
133
- key.match(/^(?:o|pai|str|u|ve)/)) // Other un-deprecated kebab-case attributes. "overline-position", "paint-order", "strikethrough-position", etc.
134
- ? key.replace(/([A-Z])/g, '-$1').toLowerCase()
135
- : key
136
-
137
- const applyProps = (
138
- container: SupportedElement,
139
- attributes: Props,
140
- oldAttributes?: Props
141
- ): void => {
142
- attributes ||= {}
143
- for (let key in attributes) {
144
- const value = attributes[key]
145
- if (key !== 'children' && (!oldAttributes || oldAttributes[key] !== value)) {
146
- key = normalizeIntrinsicElementKey(key)
147
- const eventSpec = getEventSpec(key)
148
- if (eventSpec) {
149
- if (oldAttributes?.[key] !== value) {
150
- if (oldAttributes) {
151
- container.removeEventListener(eventSpec[0], oldAttributes[key], eventSpec[1])
152
- }
153
- if (value != null) {
154
- if (typeof value !== 'function') {
155
- throw new Error(`Event handler for "${key}" is not a function`)
156
- }
157
- container.addEventListener(eventSpec[0], value, eventSpec[1])
158
- }
159
- }
160
- } else if (key === 'dangerouslySetInnerHTML' && value) {
161
- container.innerHTML = value.__html
162
- } else if (key === 'ref') {
163
- let cleanup
164
- if (typeof value === 'function') {
165
- cleanup = value(container) || (() => value(null))
166
- } else if (value && 'current' in value) {
167
- value.current = container
168
- cleanup = () => (value.current = null)
169
- }
170
- refCleanupMap.set(container, cleanup)
171
- } else if (key === 'style') {
172
- const style = container.style
173
- if (typeof value === 'string') {
174
- style.cssText = value
175
- } else {
176
- style.cssText = ''
177
- if (value != null) {
178
- styleObjectForEach(value, style.setProperty.bind(style))
179
- }
180
- }
181
- } else {
182
- if (key === 'value') {
183
- const nodeName = container.nodeName
184
- if (nodeName === 'INPUT' || nodeName === 'TEXTAREA' || nodeName === 'SELECT') {
185
- ;(container as unknown as HTMLInputElement).value =
186
- value === null || value === undefined || value === false ? null : value
187
-
188
- if (nodeName === 'TEXTAREA') {
189
- container.textContent = value
190
- continue
191
- } else if (nodeName === 'SELECT') {
192
- if ((container as unknown as HTMLSelectElement).selectedIndex === -1) {
193
- ;(container as unknown as HTMLSelectElement).selectedIndex = 0
194
- }
195
- continue
196
- }
197
- }
198
- } else if (
199
- (key === 'checked' && container.nodeName === 'INPUT') ||
200
- (key === 'selected' && container.nodeName === 'OPTION')
201
- ) {
202
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
203
- ;(container as any)[key] = value
204
- }
205
-
206
- const k = toAttributeName(container, key)
207
-
208
- if (value === null || value === undefined || value === false) {
209
- container.removeAttribute(k)
210
- } else if (value === true) {
211
- container.setAttribute(k, '')
212
- } else if (typeof value === 'string' || typeof value === 'number') {
213
- container.setAttribute(k, value as string)
214
- } else {
215
- container.setAttribute(k, value.toString())
216
- }
217
- }
218
- }
219
- }
220
- if (oldAttributes) {
221
- for (let key in oldAttributes) {
222
- const value = oldAttributes[key]
223
- if (key !== 'children' && !(key in attributes)) {
224
- key = normalizeIntrinsicElementKey(key)
225
- const eventSpec = getEventSpec(key)
226
- if (eventSpec) {
227
- container.removeEventListener(eventSpec[0], value, eventSpec[1])
228
- } else if (key === 'ref') {
229
- refCleanupMap.get(container)?.()
230
- } else {
231
- container.removeAttribute(toAttributeName(container, key))
232
- }
233
- }
234
- }
235
- }
236
- }
237
-
238
- const invokeTag = (context: Context, node: NodeObject): Child[] => {
239
- node[DOM_STASH][0] = 0
240
- buildDataStack.push([context, node])
241
- const func = (node.tag as HasRenderToDom)[DOM_RENDERER] || node.tag
242
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
243
- const props = (func as any).defaultProps
244
- ? {
245
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
246
- ...(func as any).defaultProps,
247
- ...node.props,
248
- }
249
- : node.props
250
- try {
251
- return [func.call(null, props)]
252
- } finally {
253
- buildDataStack.pop()
254
- }
255
- }
256
-
257
- const getNextChildren = (
258
- node: NodeObject,
259
- container: Container,
260
- nextChildren: Node[],
261
- childrenToRemove: Node[],
262
- callbacks: EffectData[]
263
- ): void => {
264
- if (node.vR?.length) {
265
- childrenToRemove.push(...node.vR)
266
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
267
- delete (node as any).vR
268
- }
269
- if (typeof node.tag === 'function') {
270
- node[DOM_STASH][1][STASH_EFFECT]?.forEach((data: EffectData) => callbacks.push(data))
271
- }
272
- node.vC.forEach((child) => {
273
- if (isNodeString(child)) {
274
- nextChildren.push(child)
275
- } else {
276
- if (typeof child.tag === 'function' || child.tag === '') {
277
- child.c = container
278
- const currentNextChildrenIndex = nextChildren.length
279
- getNextChildren(child, container, nextChildren, childrenToRemove, callbacks)
280
- if (child.s) {
281
- for (let i = currentNextChildrenIndex; i < nextChildren.length; i++) {
282
- nextChildren[i].s = true
283
- }
284
- child.s = false
285
- }
286
- } else {
287
- nextChildren.push(child)
288
- if (child.vR?.length) {
289
- childrenToRemove.push(...child.vR)
290
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
291
- delete (child as any).vR
292
- }
293
- }
294
- }
295
- })
296
- }
297
-
298
- const findInsertBefore = (node: Node | undefined): SupportedElement | Text | null => {
299
- for (; ; node = node.tag === HONO_PORTAL_ELEMENT || !node.vC || !node.pP ? node.nN : node.vC[0]) {
300
- if (!node) {
301
- return null
302
- }
303
- if (node.tag !== HONO_PORTAL_ELEMENT && node.e) {
304
- return node.e
305
- }
306
- }
307
- }
308
-
309
- const removeNode = (node: Node): void => {
310
- if (!isNodeString(node)) {
311
- node[DOM_STASH]?.[1][STASH_EFFECT]?.forEach((data: EffectData) => data[2]?.())
312
-
313
- refCleanupMap.get(node.e as Element)?.()
314
- if (node.p === 2) {
315
- node.vC?.forEach((n) => (n.p = 2))
316
- }
317
- node.vC?.forEach(removeNode)
318
- }
319
- if (!node.p) {
320
- node.e?.remove()
321
- delete node.e
322
- }
323
- if (typeof node.tag === 'function') {
324
- updateMap.delete(node)
325
- fallbackUpdateFnArrayMap.delete(node)
326
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
327
- delete (node as any)[DOM_STASH][3] // delete explicitly for avoid circular reference
328
- node.a = true
329
- }
330
- }
331
-
332
- const apply = (node: NodeObject, container: Container, isNew: boolean): void => {
333
- node.c = container
334
- applyNodeObject(node, container, isNew)
335
- }
336
-
337
- const findChildNodeIndex = (
338
- childNodes: NodeListOf<ChildNode>,
339
- child: ChildNode | null | undefined
340
- ): number | undefined => {
341
- if (!child) {
342
- return
343
- }
344
-
345
- for (let i = 0, len = childNodes.length; i < len; i++) {
346
- if (childNodes[i] === child) {
347
- return i
348
- }
349
- }
350
-
351
- return
352
- }
353
-
354
- const cancelBuild: symbol = Symbol()
355
- const applyNodeObject = (node: NodeObject, container: Container, isNew: boolean): void => {
356
- const next: Node[] = []
357
- const remove: Node[] = []
358
- const callbacks: EffectData[] = []
359
- getNextChildren(node, container, next, remove, callbacks)
360
- remove.forEach(removeNode)
361
-
362
- const childNodes = (isNew ? undefined : container.childNodes) as NodeListOf<ChildNode>
363
- let offset: number
364
- if (isNew) {
365
- offset = -1
366
- } else {
367
- offset =
368
- (childNodes.length &&
369
- (findChildNodeIndex(childNodes, findInsertBefore(node.nN)) ??
370
- findChildNodeIndex(
371
- childNodes,
372
- next.find((n) => n.tag !== HONO_PORTAL_ELEMENT && n.e)?.e
373
- ))) ??
374
- -1
375
- if (offset === -1) {
376
- isNew = true
377
- }
378
- }
379
-
380
- for (let i = 0, len = next.length; i < len; i++, offset++) {
381
- const child = next[i]
382
-
383
- let el: SupportedElement | Text
384
- if (child.s && child.e) {
385
- el = child.e
386
- child.s = false
387
- } else {
388
- const isNewLocal = isNew || !child.e
389
- if (isNodeString(child)) {
390
- if (child.e && child.d) {
391
- child.e.textContent = child.t
392
- }
393
- child.d = false
394
- el = child.e ||= document.createTextNode(child.t)
395
- } else {
396
- el = child.e ||= child.n
397
- ? (document.createElementNS(child.n, child.tag as string) as SVGElement | MathMLElement)
398
- : document.createElement(child.tag as string)
399
- applyProps(el as HTMLElement, child.props, child.pP)
400
- applyNodeObject(child, el as HTMLElement, isNewLocal)
401
- }
402
- }
403
- if (child.tag === HONO_PORTAL_ELEMENT) {
404
- offset--
405
- } else if (isNew) {
406
- if (!el.parentNode) {
407
- container.appendChild(el)
408
- }
409
- } else if (childNodes[offset] !== el && childNodes[offset - 1] !== el) {
410
- if (childNodes[offset + 1] === el) {
411
- // Move extra elements to the back of the container. This is to be done efficiently when elements are swapped.
412
- container.appendChild(childNodes[offset])
413
- } else {
414
- container.insertBefore(el, childNodes[offset] || null)
415
- }
416
- }
417
- }
418
- if (node.pP) {
419
- delete node.pP
420
- }
421
- if (callbacks.length) {
422
- const useLayoutEffectCbs: Array<() => void> = []
423
- const useEffectCbs: Array<() => void> = []
424
- callbacks.forEach(([, useLayoutEffectCb, , useEffectCb, useInsertionEffectCb]) => {
425
- if (useLayoutEffectCb) {
426
- useLayoutEffectCbs.push(useLayoutEffectCb)
427
- }
428
- if (useEffectCb) {
429
- useEffectCbs.push(useEffectCb)
430
- }
431
- useInsertionEffectCb?.() // invoke useInsertionEffect callbacks
432
- })
433
- useLayoutEffectCbs.forEach((cb) => cb()) // invoke useLayoutEffect callbacks
434
- if (useEffectCbs.length) {
435
- requestAnimationFrame(() => {
436
- useEffectCbs.forEach((cb) => cb()) // invoke useEffect callbacks
437
- })
438
- }
439
- }
440
- }
441
-
442
- const fallbackUpdateFnArrayMap: WeakMap<
443
- NodeObject,
444
- Array<() => Promise<NodeObject | undefined>>
445
- > = new WeakMap<NodeObject, Array<() => Promise<NodeObject | undefined>>>()
446
- export const build = (context: Context, node: NodeObject, children?: Child[]): void => {
447
- const buildWithPreviousChildren = !children && node.pC
448
- if (children) {
449
- node.pC ||= node.vC
450
- }
451
-
452
- let foundErrorHandler: ErrorHandler | undefined
453
- try {
454
- children ||=
455
- typeof node.tag == 'function' ? invokeTag(context, node) : toArray(node.props.children)
456
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
457
- if ((children[0] as JSXNode)?.tag === '' && (children[0] as any)[DOM_ERROR_HANDLER]) {
458
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
459
- foundErrorHandler = (children[0] as any)[DOM_ERROR_HANDLER] as ErrorHandler
460
- context[5]!.push([context, foundErrorHandler, node])
461
- }
462
- const oldVChildren: Node[] | undefined = buildWithPreviousChildren
463
- ? [...(node.pC as Node[])]
464
- : node.vC
465
- ? [...node.vC]
466
- : undefined
467
- const vChildren: Node[] = []
468
- let prevNode: Node | undefined
469
- for (let i = 0; i < children.length; i++) {
470
- if (Array.isArray(children[i])) {
471
- children.splice(i, 1, ...(children[i] as Child[]).flat())
472
- }
473
- let child = buildNode(children[i])
474
- if (child) {
475
- if (
476
- typeof child.tag === 'function' &&
477
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
478
- !(child.tag as any)[DOM_INTERNAL_TAG]
479
- ) {
480
- if (globalJSXContexts.length > 0) {
481
- child[DOM_STASH][2] = globalJSXContexts.map((c) => [c, c.values.at(-1)])
482
- }
483
- if (context[5]?.length) {
484
- child[DOM_STASH][3] = context[5].at(-1) as [Context, ErrorHandler, NodeObject]
485
- }
486
- }
487
-
488
- let oldChild: NodeObject | undefined
489
- if (oldVChildren && oldVChildren.length) {
490
- const i = oldVChildren.findIndex(
491
- isNodeString(child)
492
- ? (c) => isNodeString(c)
493
- : child.key !== undefined
494
- ? (c) => c.key === (child as Node).key && c.tag === (child as Node).tag
495
- : (c) => c.tag === (child as Node).tag
496
- )
497
-
498
- if (i !== -1) {
499
- oldChild = oldVChildren[i] as NodeObject
500
- oldVChildren.splice(i, 1)
501
- }
502
- }
503
-
504
- if (oldChild) {
505
- if (isNodeString(child)) {
506
- if ((oldChild as unknown as NodeString).t !== child.t) {
507
- ;(oldChild as unknown as NodeString).t = child.t // update text content
508
- ;(oldChild as unknown as NodeString).d = true
509
- }
510
- child = oldChild
511
- } else {
512
- const pP = (oldChild.pP = oldChild.props)
513
- oldChild.props = child.props
514
- oldChild.f ||= child.f || node.f
515
- if (typeof child.tag === 'function') {
516
- oldChild[DOM_STASH][2] = child[DOM_STASH][2] || []
517
- oldChild[DOM_STASH][3] = child[DOM_STASH][3]
518
-
519
- if (!oldChild.f) {
520
- const prevPropsKeys = Object.keys(pP)
521
- const currentProps = oldChild.props
522
- if (
523
- prevPropsKeys.length === Object.keys(currentProps).length &&
524
- prevPropsKeys.every((k) => k in currentProps && currentProps[k] === pP[k])
525
- ) {
526
- oldChild.s = true
527
- }
528
- }
529
- }
530
- child = oldChild
531
- }
532
- } else if (!isNodeString(child) && nameSpaceContext) {
533
- const ns = useContext(nameSpaceContext)
534
- if (ns) {
535
- child.n = ns
536
- }
537
- }
538
-
539
- if (!isNodeString(child) && !child.s) {
540
- build(context, child)
541
- delete child.f
542
- }
543
- vChildren.push(child)
544
-
545
- if (prevNode && !prevNode.s && !child.s) {
546
- for (let p = prevNode; p && !isNodeString(p); p = p.vC?.at(-1) as NodeObject) {
547
- p.nN = child
548
- }
549
- }
550
- prevNode = child
551
- }
552
- }
553
- node.vR = buildWithPreviousChildren ? [...node.vC, ...(oldVChildren || [])] : oldVChildren || []
554
- node.vC = vChildren
555
- if (buildWithPreviousChildren) {
556
- delete node.pC
557
- }
558
- } catch (e) {
559
- node.f = true
560
- if (e === cancelBuild) {
561
- if (foundErrorHandler) {
562
- return
563
- } else {
564
- throw e
565
- }
566
- }
567
-
568
- const [errorHandlerContext, errorHandler, errorHandlerNode] =
569
- node[DOM_STASH]?.[3] || ([] as unknown as [undefined, undefined])
570
-
571
- if (errorHandler) {
572
- const fallbackUpdateFn = () =>
573
- update([0, false, context[2] as UpdateHook], errorHandlerNode as NodeObject)
574
- const fallbackUpdateFnArray =
575
- fallbackUpdateFnArrayMap.get(errorHandlerNode as NodeObject) || []
576
- fallbackUpdateFnArray.push(fallbackUpdateFn)
577
- fallbackUpdateFnArrayMap.set(errorHandlerNode as NodeObject, fallbackUpdateFnArray)
578
- const fallback = errorHandler(e, () => {
579
- const fnArray = fallbackUpdateFnArrayMap.get(errorHandlerNode as NodeObject)
580
- if (fnArray) {
581
- const i = fnArray.indexOf(fallbackUpdateFn)
582
- if (i !== -1) {
583
- fnArray.splice(i, 1)
584
- return fallbackUpdateFn()
585
- }
586
- }
587
- })
588
- if (fallback) {
589
- if (context[0] === 1) {
590
- // low priority render
591
- context[1] = true
592
- } else {
593
- build(context, errorHandlerNode, [fallback])
594
- if (
595
- (errorHandler.length === 1 || context !== errorHandlerContext) &&
596
- errorHandlerNode.c
597
- ) {
598
- // render error boundary immediately
599
- apply(errorHandlerNode, errorHandlerNode.c as Container, false)
600
- return
601
- }
602
- }
603
- throw cancelBuild
604
- }
605
- }
606
-
607
- throw e
608
- } finally {
609
- if (foundErrorHandler) {
610
- context[5]!.pop()
611
- }
612
- }
613
- }
614
-
615
- export const buildNode = (node: Child): Node | undefined => {
616
- if (node === undefined || node === null || typeof node === 'boolean') {
617
- return undefined
618
- } else if (typeof node === 'string' || typeof node === 'number') {
619
- return { t: node.toString(), d: true } as NodeString
620
- } else {
621
- if ('vR' in node) {
622
- node = {
623
- tag: (node as NodeObject).tag,
624
- props: (node as NodeObject).props,
625
- key: (node as NodeObject).key,
626
- f: (node as NodeObject).f,
627
- type: (node as NodeObject).tag,
628
- ref: (node as NodeObject).props.ref,
629
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
630
- } as any
631
- }
632
- if (typeof (node as JSXNode).tag === 'function') {
633
- ;(node as NodeObject)[DOM_STASH] = [0, []]
634
- } else {
635
- const ns = nameSpaceMap[(node as JSXNode).tag as string]
636
- if (ns) {
637
- nameSpaceContext ||= createContext('')
638
- ;(node as JSXNode).props.children = [
639
- {
640
- tag: nameSpaceContext,
641
- props: {
642
- value: ((node as NodeObject).n = `http://www.w3.org/${ns}`),
643
- children: (node as JSXNode).props.children,
644
- },
645
- },
646
- ]
647
- }
648
- }
649
- return node as NodeObject
650
- }
651
- }
652
-
653
- const replaceContainer = (node: NodeObject, from: DocumentFragment, to: Container): void => {
654
- if (node.c === from) {
655
- node.c = to
656
- node.vC.forEach((child) => replaceContainer(child as NodeObject, from, to))
657
- }
658
- }
659
-
660
- const updateSync = (context: Context, node: NodeObject): void => {
661
- node[DOM_STASH][2]?.forEach(([c, v]) => {
662
- c.values.push(v)
663
- })
664
- try {
665
- build(context, node, undefined)
666
- } catch (e) {
667
- return
668
- }
669
- if (node.a) {
670
- delete node.a
671
- return
672
- }
673
- node[DOM_STASH][2]?.forEach(([c]) => {
674
- c.values.pop()
675
- })
676
- if (context[0] !== 1 || !context[1]) {
677
- apply(node, node.c as Container, false)
678
- }
679
- }
680
-
681
- type UpdateMapResolve = (node: NodeObject | undefined) => void
682
- const updateMap: WeakMap<NodeObject, [UpdateMapResolve, Function]> = new WeakMap<
683
- NodeObject,
684
- [UpdateMapResolve, Function]
685
- >()
686
- const currentUpdateSets: Set<NodeObject>[] = []
687
- export const update = async (
688
- context: Context,
689
- node: NodeObject
690
- ): Promise<NodeObject | undefined> => {
691
- context[5] ||= []
692
-
693
- const existing = updateMap.get(node)
694
- if (existing) {
695
- // execute only the last update() call, so the previous update will be canceled.
696
- existing[0](undefined)
697
- }
698
-
699
- let resolve: UpdateMapResolve | undefined
700
- const promise = new Promise<NodeObject | undefined>((r) => (resolve = r))
701
- updateMap.set(node, [
702
- resolve as UpdateMapResolve,
703
- () => {
704
- if (context[2]) {
705
- context[2](context, node, (context) => {
706
- updateSync(context, node)
707
- }).then(() => (resolve as UpdateMapResolve)(node))
708
- } else {
709
- updateSync(context, node)
710
- ;(resolve as UpdateMapResolve)(node)
711
- }
712
- },
713
- ])
714
-
715
- if (currentUpdateSets.length) {
716
- ;(currentUpdateSets.at(-1) as Set<NodeObject>).add(node)
717
- } else {
718
- await Promise.resolve()
719
-
720
- const latest = updateMap.get(node)
721
- if (latest) {
722
- updateMap.delete(node)
723
- latest[1]()
724
- }
725
- }
726
-
727
- return promise
728
- }
729
-
730
- export const renderNode = (node: NodeObject, container: Container): void => {
731
- const context: Context = []
732
- ;(context as Context)[5] = [] // error handler stack
733
- ;(context as Context)[4] = true // start top level render
734
- build(context, node, undefined)
735
- ;(context as Context)[4] = false // finish top level render
736
-
737
- const fragment = document.createDocumentFragment()
738
- apply(node, fragment, true)
739
- replaceContainer(node, fragment, container)
740
- container.replaceChildren(fragment)
741
- }
742
-
743
- export const render = (jsxNode: Child, container: Container): void => {
744
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
745
- renderNode(buildNode({ tag: '', props: { children: jsxNode } } as any) as NodeObject, container)
746
- }
747
-
748
- export const flushSync = (callback: () => void): void => {
749
- const set = new Set<NodeObject>()
750
- currentUpdateSets.push(set)
751
- callback()
752
- set.forEach((node) => {
753
- const latest = updateMap.get(node)
754
- if (latest) {
755
- updateMap.delete(node)
756
- latest[1]()
757
- }
758
- })
759
- currentUpdateSets.pop()
760
- }
761
-
762
- export const createPortal = (children: Child, container: HTMLElement, key?: string): Child =>
763
- ({
764
- tag: HONO_PORTAL_ELEMENT,
765
- props: {
766
- children,
767
- },
768
- key,
769
- e: container,
770
- p: 1,
771
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
772
- }) as any