@buenojs/bueno 0.8.10 → 0.8.11

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 (699) hide show
  1. package/dist/cache/index.d.ts +187 -0
  2. package/dist/cache/index.d.ts.map +1 -0
  3. package/dist/cache/index.js +595 -0
  4. package/dist/cache/index.js.map +1 -0
  5. package/dist/cli/bin.d.ts +8 -0
  6. package/dist/cli/bin.d.ts.map +1 -0
  7. package/dist/cli/bin.js +9 -9
  8. package/dist/cli/bin.js.map +1 -0
  9. package/dist/cli/commands/add-frontend.d.ts +7 -0
  10. package/dist/cli/commands/add-frontend.d.ts.map +1 -0
  11. package/dist/cli/commands/add-frontend.js +376 -0
  12. package/dist/cli/commands/add-frontend.js.map +1 -0
  13. package/dist/cli/commands/build.d.ts +7 -0
  14. package/dist/cli/commands/build.d.ts.map +1 -0
  15. package/dist/cli/commands/build.js +347 -0
  16. package/dist/cli/commands/build.js.map +1 -0
  17. package/dist/cli/commands/dev.d.ts +7 -0
  18. package/dist/cli/commands/dev.d.ts.map +1 -0
  19. package/dist/cli/commands/dev.js +205 -0
  20. package/dist/cli/commands/dev.js.map +1 -0
  21. package/dist/cli/commands/generate.d.ts +7 -0
  22. package/dist/cli/commands/generate.d.ts.map +1 -0
  23. package/dist/cli/commands/generate.js +491 -0
  24. package/dist/cli/commands/generate.js.map +1 -0
  25. package/dist/cli/commands/help.d.ts +7 -0
  26. package/dist/cli/commands/help.d.ts.map +1 -0
  27. package/dist/cli/commands/help.js +51 -0
  28. package/dist/cli/commands/help.js.map +1 -0
  29. package/dist/cli/commands/index.d.ts +59 -0
  30. package/dist/cli/commands/index.d.ts.map +1 -0
  31. package/dist/cli/commands/index.js +77 -0
  32. package/dist/cli/commands/index.js.map +1 -0
  33. package/dist/cli/commands/migration.d.ts +7 -0
  34. package/dist/cli/commands/migration.d.ts.map +1 -0
  35. package/dist/cli/commands/migration.js +295 -0
  36. package/dist/cli/commands/migration.js.map +1 -0
  37. package/dist/cli/commands/new.d.ts +7 -0
  38. package/dist/cli/commands/new.d.ts.map +1 -0
  39. package/dist/cli/commands/new.js +641 -0
  40. package/dist/cli/commands/new.js.map +1 -0
  41. package/dist/cli/commands/start.d.ts +7 -0
  42. package/dist/cli/commands/start.d.ts.map +1 -0
  43. package/dist/cli/commands/start.js +171 -0
  44. package/dist/cli/commands/start.js.map +1 -0
  45. package/dist/cli/core/args.d.ts +61 -0
  46. package/dist/cli/core/args.d.ts.map +1 -0
  47. package/dist/cli/core/args.js +224 -0
  48. package/dist/cli/core/args.js.map +1 -0
  49. package/dist/cli/core/console.d.ts +135 -0
  50. package/dist/cli/core/console.d.ts.map +1 -0
  51. package/dist/cli/core/console.js +268 -0
  52. package/dist/cli/core/console.js.map +1 -0
  53. package/dist/cli/core/index.d.ts +10 -0
  54. package/dist/cli/core/index.d.ts.map +1 -0
  55. package/dist/cli/core/index.js +10 -0
  56. package/dist/cli/core/index.js.map +1 -0
  57. package/dist/cli/core/prompt.d.ts +63 -0
  58. package/dist/cli/core/prompt.d.ts.map +1 -0
  59. package/dist/cli/core/prompt.js +338 -0
  60. package/dist/cli/core/prompt.js.map +1 -0
  61. package/dist/cli/core/spinner.d.ts +111 -0
  62. package/dist/cli/core/spinner.d.ts.map +1 -0
  63. package/dist/cli/core/spinner.js +208 -0
  64. package/dist/cli/core/spinner.js.map +1 -0
  65. package/dist/cli/index.d.ts +47 -0
  66. package/dist/cli/index.d.ts.map +1 -0
  67. package/dist/cli/index.js +127 -0
  68. package/dist/cli/index.js.map +1 -0
  69. package/dist/cli/templates/database/index.d.ts +24 -0
  70. package/dist/cli/templates/database/index.d.ts.map +1 -0
  71. package/dist/cli/templates/database/index.js +49 -0
  72. package/dist/cli/templates/database/index.js.map +1 -0
  73. package/dist/cli/templates/database/mysql.d.ts +6 -0
  74. package/dist/cli/templates/database/mysql.d.ts.map +1 -0
  75. package/dist/cli/templates/database/mysql.js +12 -0
  76. package/dist/cli/templates/database/mysql.js.map +1 -0
  77. package/dist/cli/templates/database/none.d.ts +8 -0
  78. package/dist/cli/templates/database/none.d.ts.map +1 -0
  79. package/dist/cli/templates/database/none.js +14 -0
  80. package/dist/cli/templates/database/none.js.map +1 -0
  81. package/dist/cli/templates/database/postgresql.d.ts +6 -0
  82. package/dist/cli/templates/database/postgresql.d.ts.map +1 -0
  83. package/dist/cli/templates/database/postgresql.js +12 -0
  84. package/dist/cli/templates/database/postgresql.js.map +1 -0
  85. package/dist/cli/templates/database/sqlite.d.ts +6 -0
  86. package/dist/cli/templates/database/sqlite.d.ts.map +1 -0
  87. package/dist/cli/templates/database/sqlite.js +12 -0
  88. package/dist/cli/templates/database/sqlite.js.map +1 -0
  89. package/dist/cli/templates/deploy.d.ts +41 -0
  90. package/dist/cli/templates/deploy.d.ts.map +1 -0
  91. package/dist/cli/templates/deploy.js +278 -0
  92. package/dist/cli/templates/deploy.js.map +1 -0
  93. package/dist/cli/templates/docker.d.ts +30 -0
  94. package/dist/cli/templates/docker.d.ts.map +1 -0
  95. package/dist/cli/templates/docker.js +298 -0
  96. package/dist/cli/templates/docker.js.map +1 -0
  97. package/dist/cli/templates/frontend/index.d.ts +25 -0
  98. package/dist/cli/templates/frontend/index.d.ts.map +1 -0
  99. package/dist/cli/templates/frontend/index.js +40 -0
  100. package/dist/cli/templates/frontend/index.js.map +1 -0
  101. package/dist/cli/templates/frontend/none.d.ts +8 -0
  102. package/dist/cli/templates/frontend/none.d.ts.map +1 -0
  103. package/dist/cli/templates/frontend/none.js +15 -0
  104. package/dist/cli/templates/frontend/none.js.map +1 -0
  105. package/dist/cli/templates/frontend/react.d.ts +6 -0
  106. package/dist/cli/templates/frontend/react.d.ts.map +1 -0
  107. package/dist/cli/templates/frontend/react.js +139 -0
  108. package/dist/cli/templates/frontend/react.js.map +1 -0
  109. package/dist/cli/templates/frontend/solid.d.ts +6 -0
  110. package/dist/cli/templates/frontend/solid.d.ts.map +1 -0
  111. package/dist/cli/templates/frontend/solid.js +133 -0
  112. package/dist/cli/templates/frontend/solid.js.map +1 -0
  113. package/dist/cli/templates/frontend/svelte.d.ts +6 -0
  114. package/dist/cli/templates/frontend/svelte.d.ts.map +1 -0
  115. package/dist/cli/templates/frontend/svelte.js +130 -0
  116. package/dist/cli/templates/frontend/svelte.js.map +1 -0
  117. package/dist/cli/templates/frontend/vue.d.ts +6 -0
  118. package/dist/cli/templates/frontend/vue.d.ts.map +1 -0
  119. package/dist/cli/templates/frontend/vue.js +129 -0
  120. package/dist/cli/templates/frontend/vue.js.map +1 -0
  121. package/dist/cli/templates/generators/index.d.ts +29 -0
  122. package/dist/cli/templates/generators/index.d.ts.map +1 -0
  123. package/dist/cli/templates/generators/index.js +308 -0
  124. package/dist/cli/templates/generators/index.js.map +1 -0
  125. package/dist/cli/templates/generators/types.d.ts +32 -0
  126. package/dist/cli/templates/generators/types.d.ts.map +1 -0
  127. package/dist/cli/templates/generators/types.js +21 -0
  128. package/dist/cli/templates/generators/types.js.map +1 -0
  129. package/dist/cli/templates/index.d.ts +12 -0
  130. package/dist/cli/templates/index.d.ts.map +1 -0
  131. package/dist/cli/templates/index.js +18 -0
  132. package/dist/cli/templates/index.js.map +1 -0
  133. package/dist/cli/templates/project/api.d.ts +6 -0
  134. package/dist/cli/templates/project/api.d.ts.map +1 -0
  135. package/dist/cli/templates/project/api.js +79 -0
  136. package/dist/cli/templates/project/api.js.map +1 -0
  137. package/dist/cli/templates/project/default.d.ts +6 -0
  138. package/dist/cli/templates/project/default.d.ts.map +1 -0
  139. package/dist/cli/templates/project/default.js +136 -0
  140. package/dist/cli/templates/project/default.js.map +1 -0
  141. package/dist/cli/templates/project/fullstack.d.ts +14 -0
  142. package/dist/cli/templates/project/fullstack.d.ts.map +1 -0
  143. package/dist/cli/templates/project/fullstack.js +19 -0
  144. package/dist/cli/templates/project/fullstack.js.map +1 -0
  145. package/dist/cli/templates/project/index.d.ts +26 -0
  146. package/dist/cli/templates/project/index.d.ts.map +1 -0
  147. package/dist/cli/templates/project/index.js +60 -0
  148. package/dist/cli/templates/project/index.js.map +1 -0
  149. package/dist/cli/templates/project/minimal.d.ts +6 -0
  150. package/dist/cli/templates/project/minimal.d.ts.map +1 -0
  151. package/dist/cli/templates/project/minimal.js +43 -0
  152. package/dist/cli/templates/project/minimal.js.map +1 -0
  153. package/dist/cli/templates/project/types.d.ts +80 -0
  154. package/dist/cli/templates/project/types.d.ts.map +1 -0
  155. package/dist/cli/templates/project/types.js +7 -0
  156. package/dist/cli/templates/project/types.js.map +1 -0
  157. package/dist/cli/templates/project/website.d.ts +8 -0
  158. package/dist/cli/templates/project/website.d.ts.map +1 -0
  159. package/dist/cli/templates/project/website.js +312 -0
  160. package/dist/cli/templates/project/website.js.map +1 -0
  161. package/dist/cli/utils/fs.d.ts +137 -0
  162. package/dist/cli/utils/fs.d.ts.map +1 -0
  163. package/dist/cli/utils/fs.js +350 -0
  164. package/dist/cli/utils/fs.js.map +1 -0
  165. package/dist/cli/utils/index.d.ts +9 -0
  166. package/dist/cli/utils/index.d.ts.map +1 -0
  167. package/dist/cli/utils/index.js +9 -0
  168. package/dist/cli/utils/index.js.map +1 -0
  169. package/dist/cli/utils/strings.d.ts +86 -0
  170. package/dist/cli/utils/strings.d.ts.map +1 -0
  171. package/dist/cli/utils/strings.js +190 -0
  172. package/dist/cli/utils/strings.js.map +1 -0
  173. package/dist/cli/utils/version.d.ts +15 -0
  174. package/dist/cli/utils/version.d.ts.map +1 -0
  175. package/dist/cli/utils/version.js +38 -0
  176. package/dist/cli/utils/version.js.map +1 -0
  177. package/dist/config/env-validation.d.ts +49 -0
  178. package/dist/config/env-validation.d.ts.map +1 -0
  179. package/dist/config/env-validation.js +77 -0
  180. package/dist/config/env-validation.js.map +1 -0
  181. package/dist/config/env.d.ts +167 -0
  182. package/dist/config/env.d.ts.map +1 -0
  183. package/dist/config/env.js +392 -0
  184. package/dist/config/env.js.map +1 -0
  185. package/dist/config/index.d.ts +168 -0
  186. package/dist/config/index.d.ts.map +1 -0
  187. package/dist/config/index.js +329 -0
  188. package/dist/config/index.js.map +1 -0
  189. package/dist/config/loader.d.ts +81 -0
  190. package/dist/config/loader.d.ts.map +1 -0
  191. package/dist/config/loader.js +242 -0
  192. package/dist/config/loader.js.map +1 -0
  193. package/dist/config/merge.d.ts +66 -0
  194. package/dist/config/merge.d.ts.map +1 -0
  195. package/dist/config/merge.js +226 -0
  196. package/dist/config/merge.js.map +1 -0
  197. package/dist/config/types.d.ts +322 -0
  198. package/dist/config/types.d.ts.map +1 -0
  199. package/dist/config/types.js +443 -0
  200. package/dist/config/types.js.map +1 -0
  201. package/dist/config/validation.d.ts +100 -0
  202. package/dist/config/validation.d.ts.map +1 -0
  203. package/dist/config/validation.js +548 -0
  204. package/dist/config/validation.js.map +1 -0
  205. package/dist/container/forward-ref.d.ts +116 -0
  206. package/dist/container/forward-ref.d.ts.map +1 -0
  207. package/dist/container/forward-ref.js +105 -0
  208. package/dist/container/forward-ref.js.map +1 -0
  209. package/dist/container/index.d.ts +95 -0
  210. package/dist/container/index.d.ts.map +1 -0
  211. package/dist/container/index.js.map +1 -0
  212. package/dist/context/index.d.ts +143 -0
  213. package/dist/context/index.d.ts.map +1 -0
  214. package/dist/context/index.js.map +1 -0
  215. package/dist/database/index.d.ts +219 -0
  216. package/dist/database/index.d.ts.map +1 -0
  217. package/dist/database/index.js.map +1 -0
  218. package/dist/database/migrations/index.d.ts +151 -0
  219. package/dist/database/migrations/index.d.ts.map +1 -0
  220. package/dist/database/migrations/index.js +258 -0
  221. package/dist/database/migrations/index.js.map +1 -0
  222. package/dist/database/orm/builder.d.ts +122 -0
  223. package/dist/database/orm/builder.d.ts.map +1 -0
  224. package/dist/database/orm/builder.js +355 -0
  225. package/dist/database/orm/builder.js.map +1 -0
  226. package/dist/database/orm/casts/index.d.ts +16 -0
  227. package/dist/database/orm/casts/index.d.ts.map +1 -0
  228. package/dist/database/orm/casts/index.js +131 -0
  229. package/dist/database/orm/casts/index.js.map +1 -0
  230. package/dist/database/orm/casts/types.d.ts +16 -0
  231. package/dist/database/orm/casts/types.d.ts.map +1 -0
  232. package/dist/database/orm/casts/types.js +5 -0
  233. package/dist/database/orm/casts/types.js.map +1 -0
  234. package/dist/database/orm/compiler.d.ts +90 -0
  235. package/dist/database/orm/compiler.d.ts.map +1 -0
  236. package/dist/database/orm/compiler.js +218 -0
  237. package/dist/database/orm/compiler.js.map +1 -0
  238. package/dist/database/orm/hooks/index.d.ts +53 -0
  239. package/dist/database/orm/hooks/index.d.ts.map +1 -0
  240. package/dist/database/orm/hooks/index.js +81 -0
  241. package/dist/database/orm/hooks/index.js.map +1 -0
  242. package/dist/database/orm/index.d.ts +21 -0
  243. package/dist/database/orm/index.d.ts.map +1 -0
  244. package/dist/database/orm/index.js +23 -0
  245. package/dist/database/orm/index.js.map +1 -0
  246. package/dist/database/orm/model-registry.d.ts +33 -0
  247. package/dist/database/orm/model-registry.d.ts.map +1 -0
  248. package/dist/database/orm/model-registry.js +49 -0
  249. package/dist/database/orm/model-registry.js.map +1 -0
  250. package/dist/database/orm/model.d.ts +245 -0
  251. package/dist/database/orm/model.d.ts.map +1 -0
  252. package/dist/database/orm/model.js +599 -0
  253. package/dist/database/orm/model.js.map +1 -0
  254. package/dist/database/orm/relationships/base.d.ts +69 -0
  255. package/dist/database/orm/relationships/base.d.ts.map +1 -0
  256. package/dist/database/orm/relationships/base.js +84 -0
  257. package/dist/database/orm/relationships/base.js.map +1 -0
  258. package/dist/database/orm/relationships/belongs-to-many.d.ts +47 -0
  259. package/dist/database/orm/relationships/belongs-to-many.d.ts.map +1 -0
  260. package/dist/database/orm/relationships/belongs-to-many.js +136 -0
  261. package/dist/database/orm/relationships/belongs-to-many.js.map +1 -0
  262. package/dist/database/orm/relationships/belongs-to.d.ts +17 -0
  263. package/dist/database/orm/relationships/belongs-to.d.ts.map +1 -0
  264. package/dist/database/orm/relationships/belongs-to.js +38 -0
  265. package/dist/database/orm/relationships/belongs-to.js.map +1 -0
  266. package/dist/database/orm/relationships/has-many.d.ts +14 -0
  267. package/dist/database/orm/relationships/has-many.d.ts.map +1 -0
  268. package/dist/database/orm/relationships/has-many.js +35 -0
  269. package/dist/database/orm/relationships/has-many.js.map +1 -0
  270. package/dist/database/orm/relationships/has-one.d.ts +14 -0
  271. package/dist/database/orm/relationships/has-one.d.ts.map +1 -0
  272. package/dist/database/orm/relationships/has-one.js +32 -0
  273. package/dist/database/orm/relationships/has-one.js.map +1 -0
  274. package/dist/database/orm/relationships/index.d.ts +10 -0
  275. package/dist/database/orm/relationships/index.d.ts.map +1 -0
  276. package/dist/database/orm/relationships/index.js +9 -0
  277. package/dist/database/orm/relationships/index.js.map +1 -0
  278. package/dist/database/orm/scopes/index.d.ts +36 -0
  279. package/dist/database/orm/scopes/index.d.ts.map +1 -0
  280. package/dist/database/orm/scopes/index.js +47 -0
  281. package/dist/database/orm/scopes/index.js.map +1 -0
  282. package/dist/database/schema/index.d.ts +155 -0
  283. package/dist/database/schema/index.d.ts.map +1 -0
  284. package/dist/database/schema/index.js +401 -0
  285. package/dist/database/schema/index.js.map +1 -0
  286. package/dist/frontend/api-routes.d.ts +189 -0
  287. package/dist/frontend/api-routes.d.ts.map +1 -0
  288. package/dist/frontend/api-routes.js +548 -0
  289. package/dist/frontend/api-routes.js.map +1 -0
  290. package/dist/frontend/bundler.d.ts +99 -0
  291. package/dist/frontend/bundler.d.ts.map +1 -0
  292. package/dist/frontend/bundler.js +555 -0
  293. package/dist/frontend/bundler.js.map +1 -0
  294. package/dist/frontend/console-client.d.ts +11 -0
  295. package/dist/frontend/console-client.d.ts.map +1 -0
  296. package/dist/frontend/console-client.js +414 -0
  297. package/dist/frontend/console-client.js.map +1 -0
  298. package/dist/frontend/console-stream.d.ts +138 -0
  299. package/dist/frontend/console-stream.d.ts.map +1 -0
  300. package/dist/frontend/console-stream.js +535 -0
  301. package/dist/frontend/console-stream.js.map +1 -0
  302. package/dist/frontend/dev-server.d.ts +174 -0
  303. package/dist/frontend/dev-server.d.ts.map +1 -0
  304. package/dist/frontend/dev-server.js +735 -0
  305. package/dist/frontend/dev-server.js.map +1 -0
  306. package/dist/frontend/file-router.d.ts +170 -0
  307. package/dist/frontend/file-router.d.ts.map +1 -0
  308. package/dist/frontend/file-router.js +531 -0
  309. package/dist/frontend/file-router.js.map +1 -0
  310. package/dist/frontend/frameworks/index.d.ts +41 -0
  311. package/dist/frontend/frameworks/index.d.ts.map +1 -0
  312. package/dist/frontend/frameworks/index.js +87 -0
  313. package/dist/frontend/frameworks/index.js.map +1 -0
  314. package/dist/frontend/frameworks/react.d.ts +32 -0
  315. package/dist/frontend/frameworks/react.d.ts.map +1 -0
  316. package/dist/frontend/frameworks/react.js +66 -0
  317. package/dist/frontend/frameworks/react.js.map +1 -0
  318. package/dist/frontend/frameworks/solid.d.ts +42 -0
  319. package/dist/frontend/frameworks/solid.d.ts.map +1 -0
  320. package/dist/frontend/frameworks/solid.js +84 -0
  321. package/dist/frontend/frameworks/solid.js.map +1 -0
  322. package/dist/frontend/frameworks/svelte.d.ts +57 -0
  323. package/dist/frontend/frameworks/svelte.d.ts.map +1 -0
  324. package/dist/frontend/frameworks/svelte.js +90 -0
  325. package/dist/frontend/frameworks/svelte.js.map +1 -0
  326. package/dist/frontend/frameworks/vue.d.ts +36 -0
  327. package/dist/frontend/frameworks/vue.d.ts.map +1 -0
  328. package/dist/frontend/frameworks/vue.js +72 -0
  329. package/dist/frontend/frameworks/vue.js.map +1 -0
  330. package/dist/frontend/hmr-client.d.ts +22 -0
  331. package/dist/frontend/hmr-client.d.ts.map +1 -0
  332. package/dist/frontend/hmr-client.js +654 -0
  333. package/dist/frontend/hmr-client.js.map +1 -0
  334. package/dist/frontend/hmr.d.ts +185 -0
  335. package/dist/frontend/hmr.d.ts.map +1 -0
  336. package/dist/frontend/hmr.js +619 -0
  337. package/dist/frontend/hmr.js.map +1 -0
  338. package/dist/frontend/index.d.ts +34 -0
  339. package/dist/frontend/index.d.ts.map +1 -0
  340. package/dist/frontend/index.js.map +1 -0
  341. package/dist/frontend/islands.d.ts +135 -0
  342. package/dist/frontend/islands.d.ts.map +1 -0
  343. package/dist/frontend/islands.js +455 -0
  344. package/dist/frontend/islands.js.map +1 -0
  345. package/dist/frontend/isr.d.ts +143 -0
  346. package/dist/frontend/isr.d.ts.map +1 -0
  347. package/dist/frontend/isr.js +440 -0
  348. package/dist/frontend/isr.js.map +1 -0
  349. package/dist/frontend/layout.d.ts +140 -0
  350. package/dist/frontend/layout.d.ts.map +1 -0
  351. package/dist/frontend/layout.js +392 -0
  352. package/dist/frontend/layout.js.map +1 -0
  353. package/dist/frontend/ssr/react.d.ts +118 -0
  354. package/dist/frontend/ssr/react.d.ts.map +1 -0
  355. package/dist/frontend/ssr/react.js +373 -0
  356. package/dist/frontend/ssr/react.js.map +1 -0
  357. package/dist/frontend/ssr/solid.d.ts +141 -0
  358. package/dist/frontend/ssr/solid.d.ts.map +1 -0
  359. package/dist/frontend/ssr/solid.js +440 -0
  360. package/dist/frontend/ssr/solid.js.map +1 -0
  361. package/dist/frontend/ssr/svelte.d.ts +158 -0
  362. package/dist/frontend/ssr/svelte.d.ts.map +1 -0
  363. package/dist/frontend/ssr/svelte.js +439 -0
  364. package/dist/frontend/ssr/svelte.js.map +1 -0
  365. package/dist/frontend/ssr/vue.d.ts +161 -0
  366. package/dist/frontend/ssr/vue.d.ts.map +1 -0
  367. package/dist/frontend/ssr/vue.js +385 -0
  368. package/dist/frontend/ssr/vue.js.map +1 -0
  369. package/dist/frontend/ssr.d.ts +147 -0
  370. package/dist/frontend/ssr.d.ts.map +1 -0
  371. package/dist/frontend/ssr.js +609 -0
  372. package/dist/frontend/ssr.js.map +1 -0
  373. package/dist/frontend/types.d.ts +1902 -0
  374. package/dist/frontend/types.d.ts.map +1 -0
  375. package/dist/frontend/types.js +8 -0
  376. package/dist/frontend/types.js.map +1 -0
  377. package/dist/graphql/built-in-engine.d.ts +36 -0
  378. package/dist/graphql/built-in-engine.d.ts.map +1 -0
  379. package/dist/graphql/built-in-engine.js +443 -0
  380. package/dist/graphql/built-in-engine.js.map +1 -0
  381. package/dist/graphql/context-builder.d.ts +44 -0
  382. package/dist/graphql/context-builder.d.ts.map +1 -0
  383. package/dist/graphql/context-builder.js +91 -0
  384. package/dist/graphql/context-builder.js.map +1 -0
  385. package/dist/graphql/decorators.d.ts +162 -0
  386. package/dist/graphql/decorators.d.ts.map +1 -0
  387. package/dist/graphql/decorators.js +291 -0
  388. package/dist/graphql/decorators.js.map +1 -0
  389. package/dist/graphql/execution-pipeline.d.ts +67 -0
  390. package/dist/graphql/execution-pipeline.d.ts.map +1 -0
  391. package/dist/graphql/execution-pipeline.js +127 -0
  392. package/dist/graphql/execution-pipeline.js.map +1 -0
  393. package/dist/graphql/graphql-module.d.ts +70 -0
  394. package/dist/graphql/graphql-module.d.ts.map +1 -0
  395. package/dist/graphql/graphql-module.js +442 -0
  396. package/dist/graphql/graphql-module.js.map +1 -0
  397. package/dist/graphql/index.d.ts +48 -0
  398. package/dist/graphql/index.d.ts.map +1 -0
  399. package/dist/graphql/index.js.map +1 -0
  400. package/dist/graphql/metadata.d.ts +37 -0
  401. package/dist/graphql/metadata.d.ts.map +1 -0
  402. package/dist/graphql/metadata.js +130 -0
  403. package/dist/graphql/metadata.js.map +1 -0
  404. package/dist/graphql/schema-builder.d.ts +34 -0
  405. package/dist/graphql/schema-builder.d.ts.map +1 -0
  406. package/dist/graphql/schema-builder.js +251 -0
  407. package/dist/graphql/schema-builder.js.map +1 -0
  408. package/dist/graphql/subscription-handler.d.ts +47 -0
  409. package/dist/graphql/subscription-handler.d.ts.map +1 -0
  410. package/dist/graphql/subscription-handler.js +201 -0
  411. package/dist/graphql/subscription-handler.js.map +1 -0
  412. package/dist/graphql/types.d.ts +252 -0
  413. package/dist/graphql/types.d.ts.map +1 -0
  414. package/dist/graphql/types.js +28 -0
  415. package/dist/graphql/types.js.map +1 -0
  416. package/dist/health/index.d.ts +176 -0
  417. package/dist/health/index.d.ts.map +1 -0
  418. package/dist/health/index.js.map +1 -0
  419. package/dist/i18n/engine.d.ts +105 -0
  420. package/dist/i18n/engine.d.ts.map +1 -0
  421. package/dist/i18n/engine.js +248 -0
  422. package/dist/i18n/engine.js.map +1 -0
  423. package/dist/i18n/index.d.ts +13 -0
  424. package/dist/i18n/index.d.ts.map +1 -0
  425. package/dist/i18n/index.js.map +1 -0
  426. package/dist/i18n/loader.d.ts +79 -0
  427. package/dist/i18n/loader.d.ts.map +1 -0
  428. package/dist/i18n/loader.js +192 -0
  429. package/dist/i18n/loader.js.map +1 -0
  430. package/dist/i18n/middleware.d.ts +96 -0
  431. package/dist/i18n/middleware.d.ts.map +1 -0
  432. package/dist/i18n/middleware.js +126 -0
  433. package/dist/i18n/middleware.js.map +1 -0
  434. package/dist/i18n/negotiator.d.ts +84 -0
  435. package/dist/i18n/negotiator.d.ts.map +1 -0
  436. package/dist/i18n/negotiator.js +139 -0
  437. package/dist/i18n/negotiator.js.map +1 -0
  438. package/dist/i18n/types.d.ts +129 -0
  439. package/dist/i18n/types.d.ts.map +1 -0
  440. package/dist/i18n/types.js +8 -0
  441. package/dist/i18n/types.js.map +1 -0
  442. package/dist/index.d.ts +48 -0
  443. package/dist/index.d.ts.map +1 -0
  444. package/dist/index.js.map +1 -0
  445. package/dist/jobs/drivers/memory.d.ts +38 -0
  446. package/dist/jobs/drivers/memory.d.ts.map +1 -0
  447. package/dist/jobs/drivers/memory.js +246 -0
  448. package/dist/jobs/drivers/memory.js.map +1 -0
  449. package/dist/jobs/drivers/redis.d.ts +34 -0
  450. package/dist/jobs/drivers/redis.d.ts.map +1 -0
  451. package/dist/jobs/drivers/redis.js +355 -0
  452. package/dist/jobs/drivers/redis.js.map +1 -0
  453. package/dist/jobs/index.d.ts +12 -0
  454. package/dist/jobs/index.d.ts.map +1 -0
  455. package/dist/jobs/index.js.map +1 -0
  456. package/dist/jobs/queue.d.ts +93 -0
  457. package/dist/jobs/queue.d.ts.map +1 -0
  458. package/dist/jobs/queue.js +233 -0
  459. package/dist/jobs/queue.js.map +1 -0
  460. package/dist/jobs/types.d.ts +193 -0
  461. package/dist/jobs/types.d.ts.map +1 -0
  462. package/dist/jobs/types.js +8 -0
  463. package/dist/jobs/types.js.map +1 -0
  464. package/dist/jobs/worker.d.ts +91 -0
  465. package/dist/jobs/worker.d.ts.map +1 -0
  466. package/dist/jobs/worker.js +300 -0
  467. package/dist/jobs/worker.js.map +1 -0
  468. package/dist/lock/index.d.ts +141 -0
  469. package/dist/lock/index.d.ts.map +1 -0
  470. package/dist/lock/index.js.map +1 -0
  471. package/dist/logger/index.d.ts +156 -0
  472. package/dist/logger/index.d.ts.map +1 -0
  473. package/dist/logger/index.js.map +1 -0
  474. package/dist/logger/transports/index.d.ts +371 -0
  475. package/dist/logger/transports/index.d.ts.map +1 -0
  476. package/dist/logger/transports/index.js +740 -0
  477. package/dist/logger/transports/index.js.map +1 -0
  478. package/dist/metrics/index.d.ts +163 -0
  479. package/dist/metrics/index.d.ts.map +1 -0
  480. package/dist/metrics/index.js.map +1 -0
  481. package/dist/middleware/built-in.d.ts +50 -0
  482. package/dist/middleware/built-in.d.ts.map +1 -0
  483. package/dist/middleware/built-in.js +220 -0
  484. package/dist/middleware/built-in.js.map +1 -0
  485. package/dist/middleware/index.d.ts +40 -0
  486. package/dist/middleware/index.d.ts.map +1 -0
  487. package/dist/middleware/index.js.map +1 -0
  488. package/dist/migrations/index.d.ts +48 -0
  489. package/dist/migrations/index.d.ts.map +1 -0
  490. package/dist/migrations/index.js +3 -0
  491. package/dist/migrations/index.js.map +1 -0
  492. package/dist/modules/filters.d.ts +150 -0
  493. package/dist/modules/filters.d.ts.map +1 -0
  494. package/dist/modules/filters.js +338 -0
  495. package/dist/modules/filters.js.map +1 -0
  496. package/dist/modules/guards.d.ts +188 -0
  497. package/dist/modules/guards.d.ts.map +1 -0
  498. package/dist/modules/guards.js +278 -0
  499. package/dist/modules/guards.js.map +1 -0
  500. package/dist/modules/index.d.ts +266 -0
  501. package/dist/modules/index.d.ts.map +1 -0
  502. package/dist/modules/index.js.map +1 -0
  503. package/dist/modules/interceptors.d.ts +242 -0
  504. package/dist/modules/interceptors.d.ts.map +1 -0
  505. package/dist/modules/interceptors.js +407 -0
  506. package/dist/modules/interceptors.js.map +1 -0
  507. package/dist/modules/lazy.d.ts +187 -0
  508. package/dist/modules/lazy.d.ts.map +1 -0
  509. package/dist/modules/lazy.js +305 -0
  510. package/dist/modules/lazy.js.map +1 -0
  511. package/dist/modules/lifecycle.d.ts +221 -0
  512. package/dist/modules/lifecycle.d.ts.map +1 -0
  513. package/dist/modules/lifecycle.js +314 -0
  514. package/dist/modules/lifecycle.js.map +1 -0
  515. package/dist/modules/metadata.d.ts +32 -0
  516. package/dist/modules/metadata.d.ts.map +1 -0
  517. package/dist/modules/metadata.js +59 -0
  518. package/dist/modules/metadata.js.map +1 -0
  519. package/dist/modules/pipes.d.ts +287 -0
  520. package/dist/modules/pipes.d.ts.map +1 -0
  521. package/dist/modules/pipes.js +443 -0
  522. package/dist/modules/pipes.js.map +1 -0
  523. package/dist/notification/channels/base.d.ts +32 -0
  524. package/dist/notification/channels/base.d.ts.map +1 -0
  525. package/dist/notification/channels/base.js +37 -0
  526. package/dist/notification/channels/base.js.map +1 -0
  527. package/dist/notification/channels/email.d.ts +37 -0
  528. package/dist/notification/channels/email.d.ts.map +1 -0
  529. package/dist/notification/channels/email.js +85 -0
  530. package/dist/notification/channels/email.js.map +1 -0
  531. package/dist/notification/channels/push.d.ts +37 -0
  532. package/dist/notification/channels/push.d.ts.map +1 -0
  533. package/dist/notification/channels/push.js +84 -0
  534. package/dist/notification/channels/push.js.map +1 -0
  535. package/dist/notification/channels/sms.d.ts +37 -0
  536. package/dist/notification/channels/sms.d.ts.map +1 -0
  537. package/dist/notification/channels/sms.js +83 -0
  538. package/dist/notification/channels/sms.js.map +1 -0
  539. package/dist/notification/channels/whatsapp.d.ts +37 -0
  540. package/dist/notification/channels/whatsapp.d.ts.map +1 -0
  541. package/dist/notification/channels/whatsapp.js +81 -0
  542. package/dist/notification/channels/whatsapp.js.map +1 -0
  543. package/dist/notification/index.d.ts +15 -0
  544. package/dist/notification/index.d.ts.map +1 -0
  545. package/dist/notification/index.js.map +1 -0
  546. package/dist/notification/service.d.ts +100 -0
  547. package/dist/notification/service.d.ts.map +1 -0
  548. package/dist/notification/service.js +279 -0
  549. package/dist/notification/service.js.map +1 -0
  550. package/dist/notification/types.d.ts +253 -0
  551. package/dist/notification/types.d.ts.map +1 -0
  552. package/dist/notification/types.js +14 -0
  553. package/dist/notification/types.js.map +1 -0
  554. package/dist/observability/__tests__/observability.test.d.ts +2 -0
  555. package/dist/observability/__tests__/observability.test.d.ts.map +1 -0
  556. package/dist/observability/__tests__/observability.test.js +404 -0
  557. package/dist/observability/__tests__/observability.test.js.map +1 -0
  558. package/dist/observability/breadcrumbs.d.ts +48 -0
  559. package/dist/observability/breadcrumbs.d.ts.map +1 -0
  560. package/dist/observability/breadcrumbs.js +97 -0
  561. package/dist/observability/breadcrumbs.js.map +1 -0
  562. package/dist/observability/index.d.ts +95 -0
  563. package/dist/observability/index.d.ts.map +1 -0
  564. package/dist/observability/index.js.map +1 -0
  565. package/dist/observability/interceptor.d.ts +19 -0
  566. package/dist/observability/interceptor.d.ts.map +1 -0
  567. package/dist/observability/interceptor.js +67 -0
  568. package/dist/observability/interceptor.js.map +1 -0
  569. package/dist/observability/service.d.ts +101 -0
  570. package/dist/observability/service.d.ts.map +1 -0
  571. package/dist/observability/service.js +249 -0
  572. package/dist/observability/service.js.map +1 -0
  573. package/dist/observability/trace.d.ts +21 -0
  574. package/dist/observability/trace.d.ts.map +1 -0
  575. package/dist/observability/trace.js +35 -0
  576. package/dist/observability/trace.js.map +1 -0
  577. package/dist/observability/types.d.ts +172 -0
  578. package/dist/observability/types.d.ts.map +1 -0
  579. package/dist/observability/types.js +8 -0
  580. package/dist/observability/types.js.map +1 -0
  581. package/dist/openapi/decorators.d.ts +173 -0
  582. package/dist/openapi/decorators.d.ts.map +1 -0
  583. package/dist/openapi/decorators.js +276 -0
  584. package/dist/openapi/decorators.js.map +1 -0
  585. package/dist/openapi/document-builder.d.ts +82 -0
  586. package/dist/openapi/document-builder.d.ts.map +1 -0
  587. package/dist/openapi/document-builder.js +228 -0
  588. package/dist/openapi/document-builder.js.map +1 -0
  589. package/dist/openapi/index.d.ts +48 -0
  590. package/dist/openapi/index.d.ts.map +1 -0
  591. package/dist/openapi/index.js.map +1 -0
  592. package/dist/openapi/metadata.d.ts +36 -0
  593. package/dist/openapi/metadata.d.ts.map +1 -0
  594. package/dist/openapi/metadata.js +78 -0
  595. package/dist/openapi/metadata.js.map +1 -0
  596. package/dist/openapi/route-scanner.d.ts +34 -0
  597. package/dist/openapi/route-scanner.d.ts.map +1 -0
  598. package/dist/openapi/route-scanner.js +174 -0
  599. package/dist/openapi/route-scanner.js.map +1 -0
  600. package/dist/openapi/schema-generator.d.ts +53 -0
  601. package/dist/openapi/schema-generator.d.ts.map +1 -0
  602. package/dist/openapi/schema-generator.js +236 -0
  603. package/dist/openapi/schema-generator.js.map +1 -0
  604. package/dist/openapi/swagger-module.d.ts +57 -0
  605. package/dist/openapi/swagger-module.d.ts.map +1 -0
  606. package/dist/openapi/swagger-module.js +143 -0
  607. package/dist/openapi/swagger-module.js.map +1 -0
  608. package/dist/openapi/types.d.ts +344 -0
  609. package/dist/openapi/types.d.ts.map +1 -0
  610. package/dist/openapi/types.js +7 -0
  611. package/dist/openapi/types.js.map +1 -0
  612. package/dist/orm/index.d.ts +10 -0
  613. package/dist/orm/index.d.ts.map +1 -0
  614. package/dist/orm/index.js.map +1 -0
  615. package/dist/router/index.d.ts +73 -0
  616. package/dist/router/index.d.ts.map +1 -0
  617. package/dist/router/index.js.map +1 -0
  618. package/dist/router/linear.d.ts +54 -0
  619. package/dist/router/linear.d.ts.map +1 -0
  620. package/dist/router/linear.js +261 -0
  621. package/dist/router/linear.js.map +1 -0
  622. package/dist/router/regex.d.ts +49 -0
  623. package/dist/router/regex.d.ts.map +1 -0
  624. package/dist/router/regex.js +201 -0
  625. package/dist/router/regex.js.map +1 -0
  626. package/dist/router/tree.d.ts +112 -0
  627. package/dist/router/tree.d.ts.map +1 -0
  628. package/dist/router/tree.js +360 -0
  629. package/dist/router/tree.js.map +1 -0
  630. package/dist/rpc/index.d.ts +321 -0
  631. package/dist/rpc/index.d.ts.map +1 -0
  632. package/dist/rpc/index.js.map +1 -0
  633. package/dist/schema/index.d.ts +10 -0
  634. package/dist/schema/index.d.ts.map +1 -0
  635. package/dist/schema/index.js.map +1 -0
  636. package/dist/security/index.d.ts +126 -0
  637. package/dist/security/index.d.ts.map +1 -0
  638. package/dist/security/index.js +309 -0
  639. package/dist/security/index.js.map +1 -0
  640. package/dist/ssg/index.d.ts +73 -0
  641. package/dist/ssg/index.d.ts.map +1 -0
  642. package/dist/ssg/index.js +464 -0
  643. package/dist/ssg/index.js.map +1 -0
  644. package/dist/storage/index.d.ts +99 -0
  645. package/dist/storage/index.d.ts.map +1 -0
  646. package/dist/storage/index.js +338 -0
  647. package/dist/storage/index.js.map +1 -0
  648. package/dist/telemetry/index.d.ts +376 -0
  649. package/dist/telemetry/index.d.ts.map +1 -0
  650. package/dist/telemetry/index.js.map +1 -0
  651. package/dist/template/index.d.ts +7 -0
  652. package/dist/template/index.d.ts.map +1 -0
  653. package/dist/template/index.js.map +1 -0
  654. package/dist/templates/engine.d.ts +60 -0
  655. package/dist/templates/engine.d.ts.map +1 -0
  656. package/dist/templates/engine.js +177 -0
  657. package/dist/templates/engine.js.map +1 -0
  658. package/dist/templates/index.d.ts +9 -0
  659. package/dist/templates/index.d.ts.map +1 -0
  660. package/dist/templates/index.js.map +1 -0
  661. package/dist/templates/loader.d.ts +45 -0
  662. package/dist/templates/loader.d.ts.map +1 -0
  663. package/dist/templates/loader.js +274 -0
  664. package/dist/templates/loader.js.map +1 -0
  665. package/dist/templates/renderers/markdown.d.ts +46 -0
  666. package/dist/templates/renderers/markdown.d.ts.map +1 -0
  667. package/dist/templates/renderers/markdown.js +181 -0
  668. package/dist/templates/renderers/markdown.js.map +1 -0
  669. package/dist/templates/renderers/simple.d.ts +35 -0
  670. package/dist/templates/renderers/simple.d.ts.map +1 -0
  671. package/dist/templates/renderers/simple.js +245 -0
  672. package/dist/templates/renderers/simple.js.map +1 -0
  673. package/dist/templates/types.d.ts +138 -0
  674. package/dist/templates/types.d.ts.map +1 -0
  675. package/dist/templates/types.js +8 -0
  676. package/dist/templates/types.js.map +1 -0
  677. package/dist/testing/index.d.ts +539 -0
  678. package/dist/testing/index.d.ts.map +1 -0
  679. package/dist/testing/index.js.map +1 -0
  680. package/dist/types/index.d.ts +116 -0
  681. package/dist/types/index.d.ts.map +1 -0
  682. package/dist/types/index.js.map +1 -0
  683. package/dist/validation/index.d.ts +89 -0
  684. package/dist/validation/index.d.ts.map +1 -0
  685. package/dist/validation/index.js +276 -0
  686. package/dist/validation/index.js.map +1 -0
  687. package/dist/validation/schemas.d.ts +283 -0
  688. package/dist/validation/schemas.d.ts.map +1 -0
  689. package/dist/validation/schemas.js +407 -0
  690. package/dist/validation/schemas.js.map +1 -0
  691. package/dist/websocket/index.d.ts +252 -0
  692. package/dist/websocket/index.d.ts.map +1 -0
  693. package/dist/websocket/index.js +749 -0
  694. package/dist/websocket/index.js.map +1 -0
  695. package/package.json +3 -3
  696. package/src/database/migrations/index.ts +8 -0
  697. package/src/migrations/index.ts +40 -1
  698. package/src/types/index.ts +1 -1
  699. package/tsconfig.json +2 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/frontend/frameworks/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,mDAAmD;AACnD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE/D,qCAAqC;AACrC,OAAO,EACN,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EACN,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,GAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EACN,oBAAoB,EACpB,iBAAiB,EACjB,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,GACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EACN,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,GAClB,MAAM,YAAY,CAAC;AAapB;;GAEG;AACH,MAAM,UAAU,kBAAkB,CACjC,SAA4B;IAE5B,QAAQ,SAAS,EAAE,CAAC;QACnB,KAAK,OAAO;YACX,OAAO,mBAAmB,EAAE,CAAC;QAC9B,KAAK,KAAK;YACT,OAAO,iBAAiB,EAAE,CAAC;QAC5B,KAAK,QAAQ;YACZ,OAAO,oBAAoB,EAAE,CAAC;QAC/B,KAAK,OAAO;YACX,OAAO,mBAAmB,EAAE,CAAC;QAC9B;YACC,iCAAiC;YACjC,OAAO,mBAAmB,EAAE,CAAC;IAC/B,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAA4B;IAC5D,QAAQ,SAAS,EAAE,CAAC;QACnB,KAAK,OAAO;YACX,OAAO,kBAAkB,CAAC;QAC3B,KAAK,KAAK;YACT,OAAO,gBAAgB,CAAC;QACzB,KAAK,QAAQ;YACZ,OAAO,mBAAmB,CAAC;QAC5B,KAAK,OAAO;YACX,OAAO,kBAAkB,CAAC;QAC3B;YACC,OAAO,kBAAkB,CAAC;IAC5B,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAC3C,QAAgB;IAEhB,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,uEAAuE;IACvE,iCAAiC;IACjC,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB;IACxC,OAAO;QACN,GAAG,kBAAkB,CAAC,cAAc;QACpC,GAAG,gBAAgB,CAAC,cAAc;QAClC,GAAG,mBAAmB,CAAC,cAAc;QACrC,GAAG,kBAAkB,CAAC,cAAc;KACpC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACpD,MAAM,UAAU,GAAG,yBAAyB,EAAE,CAAC;IAC/C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AACzD,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * React Framework Build Configuration
3
+ *
4
+ * Provides build configuration specific to React applications,
5
+ * including JSX runtime, automatic import handling, and React-specific defines.
6
+ */
7
+ import type { FrameworkBuildConfig } from "../types.js";
8
+ /**
9
+ * Get React framework build configuration
10
+ */
11
+ export declare function getReactBuildConfig(): FrameworkBuildConfig;
12
+ /**
13
+ * Check if a file is a React component
14
+ */
15
+ export declare function isReactComponent(filePath: string): boolean;
16
+ /**
17
+ * Get React refresh preamble for development
18
+ */
19
+ export declare function getReactRefreshPreamble(): string;
20
+ /**
21
+ * React framework metadata
22
+ */
23
+ export declare const reactFrameworkMeta: {
24
+ name: "react";
25
+ displayName: string;
26
+ fileExtensions: string[];
27
+ componentExtensions: string[];
28
+ needsRefreshRuntime: boolean;
29
+ supportsHMR: boolean;
30
+ supportsSSR: boolean;
31
+ };
32
+ //# sourceMappingURL=react.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../../src/frontend/frameworks/react.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAe,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAOrE;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,oBAAoB,CA6B1D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAOhD;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CASrB,CAAC"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * React Framework Build Configuration
3
+ *
4
+ * Provides build configuration specific to React applications,
5
+ * including JSX runtime, automatic import handling, and React-specific defines.
6
+ */
7
+ /**
8
+ * React-specific build plugins
9
+ */
10
+ const reactPlugins = [];
11
+ /**
12
+ * Get React framework build configuration
13
+ */
14
+ export function getReactBuildConfig() {
15
+ return {
16
+ // React 17+ automatic JSX runtime
17
+ jsxRuntime: "automatic",
18
+ jsxImportSource: "react",
19
+ // React-specific file extensions
20
+ extensions: [".jsx", ".tsx", ".js", ".ts"],
21
+ // React-specific plugins
22
+ plugins: reactPlugins,
23
+ // React-specific global defines
24
+ define: {
25
+ // Enable React production mode in production builds
26
+ "process.env.NODE_ENV": JSON.stringify(process.env.NODE_ENV || "development"),
27
+ },
28
+ // External dependencies (should not be bundled in library mode)
29
+ external: [],
30
+ // Loader configurations for React files
31
+ loaders: {
32
+ ".jsx": "jsx",
33
+ ".tsx": "tsx",
34
+ },
35
+ };
36
+ }
37
+ /**
38
+ * Check if a file is a React component
39
+ */
40
+ export function isReactComponent(filePath) {
41
+ return /\.(jsx|tsx)$/.test(filePath);
42
+ }
43
+ /**
44
+ * Get React refresh preamble for development
45
+ */
46
+ export function getReactRefreshPreamble() {
47
+ return `
48
+ import RefreshRuntime from 'react-refresh/runtime';
49
+ RefreshRuntime.injectIntoGlobalHook(window);
50
+ window.$RefreshReg$ = () => {};
51
+ window.$RefreshSig$ = () => (type) => type;
52
+ `;
53
+ }
54
+ /**
55
+ * React framework metadata
56
+ */
57
+ export const reactFrameworkMeta = {
58
+ name: "react",
59
+ displayName: "React",
60
+ fileExtensions: [".jsx", ".tsx"],
61
+ componentExtensions: [".jsx", ".tsx"],
62
+ needsRefreshRuntime: true,
63
+ supportsHMR: true,
64
+ supportsSSR: true,
65
+ };
66
+ //# sourceMappingURL=react.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../../../src/frontend/frameworks/react.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,MAAM,YAAY,GAAkB,EAAE,CAAC;AAEvC;;GAEG;AACH,MAAM,UAAU,mBAAmB;IAClC,OAAO;QACN,kCAAkC;QAClC,UAAU,EAAE,WAAW;QACvB,eAAe,EAAE,OAAO;QAExB,iCAAiC;QACjC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;QAE1C,yBAAyB;QACzB,OAAO,EAAE,YAAY;QAErB,gCAAgC;QAChC,MAAM,EAAE;YACP,oDAAoD;YACpD,sBAAsB,EAAE,IAAI,CAAC,SAAS,CACrC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CACrC;SACD;QAED,gEAAgE;QAChE,QAAQ,EAAE,EAAE;QAEZ,wCAAwC;QACxC,OAAO,EAAE;YACR,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,KAAK;SACb;KACD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAChD,OAAO,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACtC,OAAO;;;;;CAKP,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAQ3B;IACH,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,OAAO;IACpB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IAChC,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IACrC,mBAAmB,EAAE,IAAI;IACzB,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;CACjB,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Solid Framework Build Configuration
3
+ *
4
+ * Provides build configuration specific to Solid applications,
5
+ * including Solid JSX transforms and Solid-specific optimizations.
6
+ */
7
+ import type { FrameworkBuildConfig } from "../types.js";
8
+ /**
9
+ * Get Solid framework build configuration
10
+ */
11
+ export declare function getSolidBuildConfig(): FrameworkBuildConfig;
12
+ /**
13
+ * Check if a file is a Solid component
14
+ */
15
+ export declare function isSolidComponent(filePath: string): boolean;
16
+ /**
17
+ * Get Solid refresh preamble for development
18
+ * Solid uses a different HMR mechanism than React
19
+ */
20
+ export declare function getSolidRefreshPreamble(): string;
21
+ /**
22
+ * Solid babel-like transform options
23
+ * For use with custom build configurations
24
+ */
25
+ export declare function getSolidTransformOptions(): {
26
+ generate: "dom";
27
+ hydratable: boolean;
28
+ runtime: "solid-js/web";
29
+ };
30
+ /**
31
+ * Solid framework metadata
32
+ */
33
+ export declare const solidFrameworkMeta: {
34
+ name: "solid";
35
+ displayName: string;
36
+ fileExtensions: string[];
37
+ componentExtensions: string[];
38
+ needsRefreshRuntime: boolean;
39
+ supportsHMR: boolean;
40
+ supportsSSR: boolean;
41
+ };
42
+ //# sourceMappingURL=solid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solid.d.ts","sourceRoot":"","sources":["../../../src/frontend/frameworks/solid.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAe,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAOrE;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,oBAAoB,CA+B1D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAQhD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB;;;;EASvC;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CASrB,CAAC"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Solid Framework Build Configuration
3
+ *
4
+ * Provides build configuration specific to Solid applications,
5
+ * including Solid JSX transforms and Solid-specific optimizations.
6
+ */
7
+ /**
8
+ * Solid-specific build plugins
9
+ */
10
+ const solidPlugins = [];
11
+ /**
12
+ * Get Solid framework build configuration
13
+ */
14
+ export function getSolidBuildConfig() {
15
+ return {
16
+ // Solid uses automatic JSX runtime with solid-js
17
+ jsxRuntime: "automatic",
18
+ jsxImportSource: "solid-js",
19
+ // Solid-specific file extensions
20
+ extensions: [".jsx", ".tsx", ".js", ".ts"],
21
+ // Solid-specific plugins
22
+ plugins: solidPlugins,
23
+ // Solid-specific global defines
24
+ define: {
25
+ // Solid production mode
26
+ "process.env.NODE_ENV": JSON.stringify(process.env.NODE_ENV || "development"),
27
+ // Solid-specific flags
28
+ DEV: JSON.stringify(process.env.NODE_ENV !== "production"),
29
+ },
30
+ // External dependencies
31
+ external: [],
32
+ // Loader configurations for Solid files
33
+ loaders: {
34
+ ".jsx": "jsx",
35
+ ".tsx": "tsx",
36
+ },
37
+ };
38
+ }
39
+ /**
40
+ * Check if a file is a Solid component
41
+ */
42
+ export function isSolidComponent(filePath) {
43
+ return /\.(jsx|tsx)$/.test(filePath);
44
+ }
45
+ /**
46
+ * Get Solid refresh preamble for development
47
+ * Solid uses a different HMR mechanism than React
48
+ */
49
+ export function getSolidRefreshPreamble() {
50
+ return `
51
+ // Solid HMR is handled by solid-refresh
52
+ import { setHmr as setSolidHmr } from 'solid-js/web';
53
+ if (import.meta.hot) {
54
+ setSolidHmr(true);
55
+ }
56
+ `;
57
+ }
58
+ /**
59
+ * Solid babel-like transform options
60
+ * For use with custom build configurations
61
+ */
62
+ export function getSolidTransformOptions() {
63
+ return {
64
+ // Solid generates DOM elements
65
+ generate: "dom",
66
+ // Enable hydration
67
+ hydratable: true,
68
+ // Compile time solid-js imports
69
+ runtime: "solid-js/web",
70
+ };
71
+ }
72
+ /**
73
+ * Solid framework metadata
74
+ */
75
+ export const solidFrameworkMeta = {
76
+ name: "solid",
77
+ displayName: "Solid",
78
+ fileExtensions: [".jsx", ".tsx"],
79
+ componentExtensions: [".jsx", ".tsx"],
80
+ needsRefreshRuntime: true,
81
+ supportsHMR: true,
82
+ supportsSSR: true,
83
+ };
84
+ //# sourceMappingURL=solid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solid.js","sourceRoot":"","sources":["../../../src/frontend/frameworks/solid.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,MAAM,YAAY,GAAkB,EAAE,CAAC;AAEvC;;GAEG;AACH,MAAM,UAAU,mBAAmB;IAClC,OAAO;QACN,iDAAiD;QACjD,UAAU,EAAE,WAAW;QACvB,eAAe,EAAE,UAAU;QAE3B,iCAAiC;QACjC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;QAE1C,yBAAyB;QACzB,OAAO,EAAE,YAAY;QAErB,gCAAgC;QAChC,MAAM,EAAE;YACP,wBAAwB;YACxB,sBAAsB,EAAE,IAAI,CAAC,SAAS,CACrC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CACrC;YACD,uBAAuB;YACvB,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;SAC1D;QAED,wBAAwB;QACxB,QAAQ,EAAE,EAAE;QAEZ,wCAAwC;QACxC,OAAO,EAAE;YACR,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,KAAK;SACb;KACD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAChD,OAAO,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB;IACtC,OAAO;;;;;;CAMP,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB;IACvC,OAAO;QACN,+BAA+B;QAC/B,QAAQ,EAAE,KAAc;QACxB,mBAAmB;QACnB,UAAU,EAAE,IAAI;QAChB,gCAAgC;QAChC,OAAO,EAAE,cAAuB;KAChC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAQ3B;IACH,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,OAAO;IACpB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IAChC,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IACrC,mBAAmB,EAAE,IAAI;IACzB,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;CACjB,CAAC"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Svelte Framework Build Configuration
3
+ *
4
+ * Provides build configuration specific to Svelte applications,
5
+ * including Svelte SFC support and Svelte-specific preprocessing.
6
+ */
7
+ import type { FrameworkBuildConfig } from "../types.js";
8
+ /**
9
+ * Get Svelte framework build configuration
10
+ */
11
+ export declare function getSvelteBuildConfig(): FrameworkBuildConfig;
12
+ /**
13
+ * Check if a file is a Svelte component
14
+ */
15
+ export declare function isSvelteComponent(filePath: string): boolean;
16
+ /**
17
+ * Get Svelte preprocessor configuration
18
+ * Returns configuration for svelte-preprocess
19
+ */
20
+ export declare function getSveltePreprocessConfig(): {
21
+ typescript: {
22
+ compilerOptions: {
23
+ allowJs: boolean;
24
+ checkJs: boolean;
25
+ };
26
+ };
27
+ postcss: boolean;
28
+ scss: {
29
+ prependData: string;
30
+ };
31
+ };
32
+ /**
33
+ * Svelte compiler options
34
+ */
35
+ export declare function getSvelteCompilerOptions(): {
36
+ cssHash: ({ hash, css, name, }: {
37
+ hash: (s: string) => string;
38
+ css: string;
39
+ name: string;
40
+ }) => string;
41
+ generate: "dom";
42
+ hydratable: boolean;
43
+ preserveWhitespace: boolean;
44
+ };
45
+ /**
46
+ * Svelte framework metadata
47
+ */
48
+ export declare const svelteFrameworkMeta: {
49
+ name: "svelte";
50
+ displayName: string;
51
+ fileExtensions: string[];
52
+ componentExtensions: string[];
53
+ needsRefreshRuntime: boolean;
54
+ supportsHMR: boolean;
55
+ supportsSSR: boolean;
56
+ };
57
+ //# sourceMappingURL=svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svelte.d.ts","sourceRoot":"","sources":["../../../src/frontend/frameworks/svelte.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAe,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAQrE;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,oBAAoB,CA2B3D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;;GAGG;AACH,wBAAgB,yBAAyB;;;;;;;;;;;EAcxC;AAED;;GAEG;AACH,wBAAgB,wBAAwB;oCAOnC;QAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;;;;EAU9D;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE;IACjC,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CASrB,CAAC"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Svelte Framework Build Configuration
3
+ *
4
+ * Provides build configuration specific to Svelte applications,
5
+ * including Svelte SFC support and Svelte-specific preprocessing.
6
+ */
7
+ /**
8
+ * Svelte-specific build plugins
9
+ * Note: Svelte compilation requires svelte-preprocess
10
+ */
11
+ const sveltePlugins = [];
12
+ /**
13
+ * Get Svelte framework build configuration
14
+ */
15
+ export function getSvelteBuildConfig() {
16
+ return {
17
+ // Svelte doesn't use JSX runtime in the traditional sense
18
+ jsxRuntime: "classic",
19
+ // Svelte-specific file extensions
20
+ extensions: [".svelte", ".js", ".ts"],
21
+ // Svelte-specific plugins
22
+ plugins: sveltePlugins,
23
+ // Svelte-specific global defines
24
+ define: {
25
+ // Svelte production mode
26
+ "process.env.NODE_ENV": JSON.stringify(process.env.NODE_ENV || "development"),
27
+ },
28
+ // External dependencies
29
+ external: [],
30
+ // Loader configurations for Svelte files
31
+ loaders: {
32
+ ".svelte": "js", // Svelte SFCs are compiled to JS
33
+ },
34
+ };
35
+ }
36
+ /**
37
+ * Check if a file is a Svelte component
38
+ */
39
+ export function isSvelteComponent(filePath) {
40
+ return /\.svelte$/.test(filePath);
41
+ }
42
+ /**
43
+ * Get Svelte preprocessor configuration
44
+ * Returns configuration for svelte-preprocess
45
+ */
46
+ export function getSveltePreprocessConfig() {
47
+ return {
48
+ typescript: {
49
+ compilerOptions: {
50
+ // Enable TypeScript in Svelte files
51
+ allowJs: true,
52
+ checkJs: false,
53
+ },
54
+ },
55
+ postcss: true,
56
+ scss: {
57
+ prependData: "",
58
+ },
59
+ };
60
+ }
61
+ /**
62
+ * Svelte compiler options
63
+ */
64
+ export function getSvelteCompilerOptions() {
65
+ return {
66
+ // Enable CSS hashing for scoped styles
67
+ cssHash: ({ hash, css, name, }) => {
68
+ return `svelte-${hash(css)}-${name}`;
69
+ },
70
+ // Generate SSR-friendly code
71
+ generate: "dom",
72
+ // Enable hydration
73
+ hydratable: true,
74
+ // Preserve whitespace in development
75
+ preserveWhitespace: process.env.NODE_ENV !== "production",
76
+ };
77
+ }
78
+ /**
79
+ * Svelte framework metadata
80
+ */
81
+ export const svelteFrameworkMeta = {
82
+ name: "svelte",
83
+ displayName: "Svelte",
84
+ fileExtensions: [".svelte"],
85
+ componentExtensions: [".svelte"],
86
+ needsRefreshRuntime: false, // Svelte has built-in HMR
87
+ supportsHMR: true,
88
+ supportsSSR: true,
89
+ };
90
+ //# sourceMappingURL=svelte.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svelte.js","sourceRoot":"","sources":["../../../src/frontend/frameworks/svelte.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;GAGG;AACH,MAAM,aAAa,GAAkB,EAAE,CAAC;AAExC;;GAEG;AACH,MAAM,UAAU,oBAAoB;IACnC,OAAO;QACN,0DAA0D;QAC1D,UAAU,EAAE,SAAS;QAErB,kCAAkC;QAClC,UAAU,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC;QAErC,0BAA0B;QAC1B,OAAO,EAAE,aAAa;QAEtB,iCAAiC;QACjC,MAAM,EAAE;YACP,yBAAyB;YACzB,sBAAsB,EAAE,IAAI,CAAC,SAAS,CACrC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CACrC;SACD;QAED,wBAAwB;QACxB,QAAQ,EAAE,EAAE;QAEZ,yCAAyC;QACzC,OAAO,EAAE;YACR,SAAS,EAAE,IAAI,EAAE,iCAAiC;SAClD;KACD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IACjD,OAAO,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB;IACxC,OAAO;QACN,UAAU,EAAE;YACX,eAAe,EAAE;gBAChB,oCAAoC;gBACpC,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,KAAK;aACd;SACD;QACD,OAAO,EAAE,IAAI;QACb,IAAI,EAAE;YACL,WAAW,EAAE,EAAE;SACf;KACD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB;IACvC,OAAO;QACN,uCAAuC;QACvC,OAAO,EAAE,CAAC,EACT,IAAI,EACJ,GAAG,EACH,IAAI,GACwD,EAAE,EAAE;YAChE,OAAO,UAAU,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACtC,CAAC;QACD,6BAA6B;QAC7B,QAAQ,EAAE,KAAc;QACxB,mBAAmB;QACnB,UAAU,EAAE,IAAI;QAChB,qCAAqC;QACrC,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;KACzD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAQ5B;IACH,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,QAAQ;IACrB,cAAc,EAAE,CAAC,SAAS,CAAC;IAC3B,mBAAmB,EAAE,CAAC,SAAS,CAAC;IAChC,mBAAmB,EAAE,KAAK,EAAE,0BAA0B;IACtD,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;CACjB,CAAC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Vue Framework Build Configuration
3
+ *
4
+ * Provides build configuration specific to Vue applications,
5
+ * including Vue SFC support, JSX configuration, and Vue-specific defines.
6
+ */
7
+ import type { FrameworkBuildConfig } from "../types.js";
8
+ /**
9
+ * Get Vue framework build configuration
10
+ */
11
+ export declare function getVueBuildConfig(): FrameworkBuildConfig;
12
+ /**
13
+ * Check if a file is a Vue component
14
+ */
15
+ export declare function isVueComponent(filePath: string): boolean;
16
+ /**
17
+ * Check if a file uses Vue JSX
18
+ */
19
+ export declare function isVueJsx(filePath: string): boolean;
20
+ /**
21
+ * Get Vue SFC block types
22
+ */
23
+ export declare function getVueBlockTypes(): string[];
24
+ /**
25
+ * Vue framework metadata
26
+ */
27
+ export declare const vueFrameworkMeta: {
28
+ name: "vue";
29
+ displayName: string;
30
+ fileExtensions: string[];
31
+ componentExtensions: string[];
32
+ needsRefreshRuntime: boolean;
33
+ supportsHMR: boolean;
34
+ supportsSSR: boolean;
35
+ };
36
+ //# sourceMappingURL=vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vue.d.ts","sourceRoot":"","sources":["../../../src/frontend/frameworks/vue.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAe,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAQrE;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,oBAAoB,CAiCxD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAE3C;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE;IAC9B,IAAI,EAAE,KAAK,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CASrB,CAAC"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Vue Framework Build Configuration
3
+ *
4
+ * Provides build configuration specific to Vue applications,
5
+ * including Vue SFC support, JSX configuration, and Vue-specific defines.
6
+ */
7
+ /**
8
+ * Vue-specific build plugins
9
+ * Note: Vue SFC compilation is handled by Bun's built-in support
10
+ */
11
+ const vuePlugins = [];
12
+ /**
13
+ * Get Vue framework build configuration
14
+ */
15
+ export function getVueBuildConfig() {
16
+ return {
17
+ // Vue uses classic JSX runtime
18
+ jsxRuntime: "classic",
19
+ // Vue-specific file extensions
20
+ extensions: [".vue", ".jsx", ".tsx", ".js", ".ts"],
21
+ // Vue-specific plugins
22
+ plugins: vuePlugins,
23
+ // Vue-specific global defines
24
+ define: {
25
+ // Vue production mode flag
26
+ "process.env.NODE_ENV": JSON.stringify(process.env.NODE_ENV || "development"),
27
+ // Vue 3 specific features
28
+ __VUE_OPTIONS_API__: "true",
29
+ __VUE_PROD_DEVTOOLS__: "false",
30
+ __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: "false",
31
+ },
32
+ // External dependencies
33
+ external: [],
34
+ // Loader configurations for Vue files
35
+ loaders: {
36
+ ".vue": "js", // Vue SFCs are compiled to JS
37
+ ".jsx": "jsx",
38
+ ".tsx": "tsx",
39
+ },
40
+ };
41
+ }
42
+ /**
43
+ * Check if a file is a Vue component
44
+ */
45
+ export function isVueComponent(filePath) {
46
+ return /\.vue$/.test(filePath);
47
+ }
48
+ /**
49
+ * Check if a file uses Vue JSX
50
+ */
51
+ export function isVueJsx(filePath) {
52
+ return /\.(j|t)sx$/.test(filePath);
53
+ }
54
+ /**
55
+ * Get Vue SFC block types
56
+ */
57
+ export function getVueBlockTypes() {
58
+ return ["template", "script", "style", "customBlocks"];
59
+ }
60
+ /**
61
+ * Vue framework metadata
62
+ */
63
+ export const vueFrameworkMeta = {
64
+ name: "vue",
65
+ displayName: "Vue",
66
+ fileExtensions: [".vue", ".jsx", ".tsx"],
67
+ componentExtensions: [".vue"],
68
+ needsRefreshRuntime: false, // Vue has built-in HMR
69
+ supportsHMR: true,
70
+ supportsSSR: true,
71
+ };
72
+ //# sourceMappingURL=vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vue.js","sourceRoot":"","sources":["../../../src/frontend/frameworks/vue.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;GAGG;AACH,MAAM,UAAU,GAAkB,EAAE,CAAC;AAErC;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAChC,OAAO;QACN,+BAA+B;QAC/B,UAAU,EAAE,SAAS;QAErB,+BAA+B;QAC/B,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;QAElD,uBAAuB;QACvB,OAAO,EAAE,UAAU;QAEnB,8BAA8B;QAC9B,MAAM,EAAE;YACP,2BAA2B;YAC3B,sBAAsB,EAAE,IAAI,CAAC,SAAS,CACrC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,aAAa,CACrC;YACD,0BAA0B;YAC1B,mBAAmB,EAAE,MAAM;YAC3B,qBAAqB,EAAE,OAAO;YAC9B,uCAAuC,EAAE,OAAO;SAChD;QAED,wBAAwB;QACxB,QAAQ,EAAE,EAAE;QAEZ,sCAAsC;QACtC,OAAO,EAAE;YACR,MAAM,EAAE,IAAI,EAAE,8BAA8B;YAC5C,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,KAAK;SACb;KACD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC9C,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,QAAgB;IACxC,OAAO,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC/B,OAAO,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAQzB;IACH,IAAI,EAAE,KAAK;IACX,WAAW,EAAE,KAAK;IAClB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IACxC,mBAAmB,EAAE,CAAC,MAAM,CAAC;IAC7B,mBAAmB,EAAE,KAAK,EAAE,uBAAuB;IACnD,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;CACjB,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * HMR Client Script
3
+ *
4
+ * This script is injected into HTML pages to enable Hot Module Replacement.
5
+ * It handles WebSocket communication, module updates, and framework-specific HMR.
6
+ *
7
+ * The script is kept minimal (< 5KB) for fast injection.
8
+ *
9
+ * @module frontend/hmr-client
10
+ */
11
+ export declare const HMR_CLIENT_SCRIPT = "\n(function() {\n\t'use strict';\n\n\t// ============= Configuration =============\n\tconst HMR_CONFIG = {\n\t\treconnectInterval: 1000,\n\t\tmaxReconnectAttempts: 10,\n\t\theartbeatInterval: 30000,\n\t};\n\n\t// ============= State =============\n\tlet ws = null;\n\tlet clientId = null;\n\tlet reconnectAttempts = 0;\n\tlet reconnectTimer = null;\n\tlet heartbeatTimer = null;\n\tlet subscribedFiles = new Set();\n\tlet moduleCache = new Map();\n\tlet isConnecting = false;\n\n\t// ============= Framework Detection =============\n\tconst framework = detectFramework();\n\n\tfunction detectFramework() {\n\t\tif (typeof window === 'undefined') return 'unknown';\n\t\t\n\t\t// Check for React\n\t\tif (window.React || document.querySelector('[data-reactroot]') || \n\t\t\tdocument.querySelector('[data-reactid]')) {\n\t\t\treturn 'react';\n\t\t}\n\t\t\n\t\t// Check for Vue\n\t\tif (window.Vue || document.querySelector('[data-v-]') ||\n\t\t\tdocument.querySelector('[data-vue-app]')) {\n\t\t\treturn 'vue';\n\t\t}\n\t\t\n\t\t// Check for Svelte\n\t\tif (window.__SVELTE_HMR__ || document.querySelector('[data-svelte]')) {\n\t\t\treturn 'svelte';\n\t\t}\n\t\t\n\t\t// Check for Solid\n\t\tif (window.Solid$$ || document.querySelector('[data-solid]')) {\n\t\t\treturn 'solid';\n\t\t}\n\t\t\n\t\treturn 'unknown';\n\t}\n\n\t// ============= WebSocket Connection =============\n\tfunction connect() {\n\t\tif (isConnecting || (ws && ws.readyState === WebSocket.OPEN)) {\n\t\t\treturn;\n\t\t}\n\t\t\n\t\tisConnecting = true;\n\t\t\n\t\t// Build WebSocket URL\n\t\tconst protocol = window.location.protocol === 'https:' ? 'wss:' : 'ws:';\n\t\tconst host = window.location.hostname;\n\t\tconst port = getHMRPort();\n\t\tconst url = protocol + '//' + host + ':' + port + '/_hmr';\n\t\t\n\t\ttry {\n\t\t\tws = new WebSocket(url);\n\t\t\t\n\t\t\tws.onopen = handleOpen;\n\t\t\tws.onclose = handleClose;\n\t\t\tws.onerror = handleError;\n\t\t\tws.onmessage = handleMessage;\n\t\t} catch (e) {\n\t\t\tconsole.error('[HMR] Failed to create WebSocket:', e);\n\t\t\tisConnecting = false;\n\t\t\tscheduleReconnect();\n\t\t}\n\t}\n\n\tfunction getHMRPort() {\n\t\t// Try to get port from script tag or default to dev server port + 1\n\t\tconst scripts = document.querySelectorAll('script[data-hmr-port]');\n\t\tif (scripts.length > 0) {\n\t\t\treturn parseInt(scripts[0].getAttribute('data-hmr-port'), 10);\n\t\t}\n\t\treturn parseInt(window.location.port || '3000', 10) + 1;\n\t}\n\n\tfunction handleOpen() {\n\t\tisConnecting = false;\n\t\treconnectAttempts = 0;\n\t\tconsole.log('[HMR] Connected');\n\t\t\n\t\t// Start heartbeat\n\t\tstartHeartbeat();\n\t\t\n\t\t// Re-subscribe to files\n\t\tsubscribedFiles.forEach(function(fileId) {\n\t\t\tsendMessage({ type: 'subscribe', fileId: fileId });\n\t\t});\n\t}\n\n\tfunction handleClose(event) {\n\t\tisConnecting = false;\n\t\tstopHeartbeat();\n\t\t\n\t\tif (event.code !== 1000) {\n\t\t\tconsole.log('[HMR] Connection closed, attempting to reconnect...');\n\t\t\tscheduleReconnect();\n\t\t}\n\t}\n\n\tfunction handleError(error) {\n\t\tisConnecting = false;\n\t\tconsole.error('[HMR] WebSocket error:', error);\n\t}\n\n\tfunction scheduleReconnect() {\n\t\tif (reconnectTimer) {\n\t\t\tclearTimeout(reconnectTimer);\n\t\t}\n\t\t\n\t\tif (reconnectAttempts >= HMR_CONFIG.maxReconnectAttempts) {\n\t\t\tconsole.error('[HMR] Max reconnect attempts reached. Please refresh the page.');\n\t\t\tshowOverlay({\n\t\t\t\tmessage: 'HMR connection lost. Please refresh the page.',\n\t\t\t\ttype: 'error'\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\t\n\t\treconnectAttempts++;\n\t\tvar delay = HMR_CONFIG.reconnectInterval * reconnectAttempts;\n\t\t\n\t\treconnectTimer = setTimeout(function() {\n\t\t\tconsole.log('[HMR] Reconnecting... (attempt ' + reconnectAttempts + ')');\n\t\t\tconnect();\n\t\t}, delay);\n\t}\n\n\t// ============= Heartbeat =============\n\tfunction startHeartbeat() {\n\t\tstopHeartbeat();\n\t\theartbeatTimer = setInterval(function() {\n\t\t\tif (ws && ws.readyState === WebSocket.OPEN) {\n\t\t\t\tsendMessage({ type: 'ping' });\n\t\t\t}\n\t\t}, HMR_CONFIG.heartbeatInterval);\n\t}\n\n\tfunction stopHeartbeat() {\n\t\tif (heartbeatTimer) {\n\t\t\tclearInterval(heartbeatTimer);\n\t\t\theartbeatTimer = null;\n\t\t}\n\t}\n\n\t// ============= Message Handling =============\n\tfunction sendMessage(message) {\n\t\tif (ws && ws.readyState === WebSocket.OPEN) {\n\t\t\tws.send(JSON.stringify(message));\n\t\t}\n\t}\n\n\tfunction handleMessage(event) {\n\t\ttry {\n\t\t\tvar message = JSON.parse(event.data);\n\t\t\t\n\t\t\tswitch (message.type) {\n\t\t\t\tcase 'connected':\n\t\t\t\t\tclientId = message.clientId;\n\t\t\t\t\tconsole.log('[HMR] Client ID:', clientId);\n\t\t\t\t\tbreak;\n\t\t\t\t\t\n\t\t\t\tcase 'pong':\n\t\t\t\t\t// Heartbeat response\n\t\t\t\t\tbreak;\n\t\t\t\t\t\n\t\t\t\tcase 'update':\n\t\t\t\t\thandleUpdate(message);\n\t\t\t\t\tbreak;\n\t\t\t\t\t\n\t\t\t\tcase 'reload':\n\t\t\t\t\thandleReload(message);\n\t\t\t\t\tbreak;\n\t\t\t\t\t\n\t\t\t\tcase 'error':\n\t\t\t\t\thandleError(message);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tconsole.error('[HMR] Failed to parse message:', e);\n\t\t}\n\t}\n\n\t// ============= Update Handling =============\n\tfunction handleUpdate(message) {\n\t\tconsole.log('[HMR] Update received:', message.fileId);\n\t\t\n\t\t// Hide any existing error overlay\n\t\thideOverlay();\n\t\t\n\t\tvar changes = message.changes || [];\n\t\tvar hasCSSUpdate = changes.some(function(file) {\n\t\t\treturn file.endsWith('.css') || file.endsWith('.scss') || \n\t\t\t\t file.endsWith('.sass') || file.endsWith('.less');\n\t\t});\n\t\t\n\t\tif (hasCSSUpdate) {\n\t\t\t// Handle CSS updates without flash\n\t\t\tupdateCSS(changes);\n\t\t}\n\t\t\n\t\t// Check if we can do hot update\n\t\tif (canHotUpdate(changes)) {\n\t\t\tperformHotUpdate(message);\n\t\t} else {\n\t\t\t// Fall back to full reload\n\t\t\tconsole.log('[HMR] Cannot hot update, reloading page...');\n\t\t\twindow.location.reload();\n\t\t}\n\t}\n\n\tfunction handleReload(message) {\n\t\tconsole.log('[HMR] Full reload requested');\n\t\thideOverlay();\n\t\twindow.location.reload();\n\t}\n\n\tfunction handleError(message) {\n\t\tconsole.error('[HMR] Error:', message.error);\n\t\tshowOverlay({\n\t\t\tmessage: message.error.message,\n\t\t\tstack: message.error.stack,\n\t\t\tfile: message.error.file,\n\t\t\tline: message.error.line,\n\t\t\tcolumn: message.error.column,\n\t\t\ttype: 'error'\n\t\t});\n\t}\n\n\t// ============= CSS Hot Update =============\n\tfunction updateCSS(changedFiles) {\n\t\tvar links = document.querySelectorAll('link[rel=\"stylesheet\"]');\n\t\t\n\t\tlinks.forEach(function(link) {\n\t\t\tvar href = link.getAttribute('href');\n\t\t\tif (!href) return;\n\t\t\t\n\t\t\t// Check if this stylesheet is affected\n\t\t\tvar isAffected = changedFiles.some(function(file) {\n\t\t\t\treturn href.includes(file.replace(/^.*\\//, '')) ||\n\t\t\t\t\t file.includes(href.replace(/^.*\\//, ''));\n\t\t\t});\n\t\t\t\n\t\t\tif (isAffected) {\n\t\t\t\t// Add timestamp to force reload\n\t\t\t\tvar newHref = href.split('?')[0] + '?v=' + Date.now();\n\t\t\t\t\n\t\t\t\t// Create new link and swap\n\t\t\t\tvar newLink = document.createElement('link');\n\t\t\t\tnewLink.rel = 'stylesheet';\n\t\t\t\tnewLink.href = newHref;\n\t\t\t\t\n\t\t\t\tnewLink.onload = function() {\n\t\t\t\t\tlink.remove();\n\t\t\t\t};\n\t\t\t\t\n\t\t\t\tnewLink.onerror = function() {\n\t\t\t\t\tconsole.error('[HMR] Failed to reload CSS:', newHref);\n\t\t\t\t\tlink.remove();\n\t\t\t\t};\n\t\t\t\t\n\t\t\t\tlink.parentNode.insertBefore(newLink, link);\n\t\t\t}\n\t\t});\n\t}\n\n\t// ============= Hot Update Logic =============\n\tfunction canHotUpdate(changes) {\n\t\t// Check if all changed files can be hot updated\n\t\treturn changes.every(function(file) {\n\t\t\tvar ext = file.split('.').pop().toLowerCase();\n\t\t\t\n\t\t\t// CSS files can always be hot updated\n\t\t\tif (ext === 'css' || ext === 'scss' || ext === 'sass' || ext === 'less') {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\t\n\t\t\t// JS/TS files need HMR boundary\n\t\t\tif (ext === 'js' || ext === 'jsx' || ext === 'ts' || ext === 'tsx') {\n\t\t\t\treturn hasHMRBoundary(file);\n\t\t\t}\n\t\t\t\n\t\t\t// Framework-specific files\n\t\t\tif (ext === 'vue' || ext === 'svelte') {\n\t\t\t\treturn true; // Vue and Svelte have built-in HMR\n\t\t\t}\n\t\t\t\n\t\t\treturn false;\n\t\t});\n\t}\n\n\tfunction hasHMRBoundary(file) {\n\t\t// Check if the module accepts hot updates\n\t\t// This is a simplified check - in production, we'd track this from the server\n\t\treturn true; // For now, assume all modules can be hot updated\n\t}\n\n\tfunction performHotUpdate(message) {\n\t\tvar changes = message.changes || [];\n\t\t\n\t\t// Framework-specific update handling\n\t\tswitch (framework) {\n\t\t\tcase 'react':\n\t\t\t\tperformReactUpdate(message);\n\t\t\t\tbreak;\n\t\t\tcase 'vue':\n\t\t\t\tperformVueUpdate(message);\n\t\t\t\tbreak;\n\t\t\tcase 'svelte':\n\t\t\t\tperformSvelteUpdate(message);\n\t\t\t\tbreak;\n\t\t\tcase 'solid':\n\t\t\t\tperformSolidUpdate(message);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t// Generic update - reload scripts\n\t\t\t\tperformGenericUpdate(message);\n\t\t}\n\t}\n\n\t// ============= React Fast Refresh =============\n\tfunction performReactUpdate(message) {\n\t\tif (!window.__HMR_REACT_REFRESH__) {\n\t\t\t// React Refresh not available, fall back to reload\n\t\t\twindow.location.reload();\n\t\t\treturn;\n\t\t}\n\t\t\n\t\tconsole.log('[HMR] Applying React Fast Refresh...');\n\t\t\n\t\t// Signal to React Refresh that an update is coming\n\t\tif (window.__REACT_REFRESH__) {\n\t\t\ttry {\n\t\t\t\tchanges.forEach(function(file) {\n\t\t\t\t\t// Invalidate the module\n\t\t\t\t\tinvalidateModule(file);\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\t// Trigger React Refresh\n\t\t\t\twindow.__REACT_REFRESH__.performReactRefresh();\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error('[HMR] React Fast Refresh failed:', e);\n\t\t\t\twindow.location.reload();\n\t\t\t}\n\t\t} else {\n\t\t\t// Fallback: reload the page\n\t\t\twindow.location.reload();\n\t\t}\n\t}\n\n\t// ============= Vue HMR =============\n\tfunction performVueUpdate(message) {\n\t\tconsole.log('[HMR] Applying Vue HMR...');\n\t\t\n\t\t// Vue's HMR is handled by vue-loader and vue-hot-reload-api\n\t\tif (window.__VUE_HMR__) {\n\t\t\ttry {\n\t\t\t\tmessage.changes.forEach(function(file) {\n\t\t\t\t\tif (file.endsWith('.vue')) {\n\t\t\t\t\t\twindow.__VUE_HMR__.rerender(file);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error('[HMR] Vue HMR failed:', e);\n\t\t\t\twindow.location.reload();\n\t\t\t}\n\t\t} else {\n\t\t\twindow.location.reload();\n\t\t}\n\t}\n\n\t// ============= Svelte HMR =============\n\tfunction performSvelteUpdate(message) {\n\t\tconsole.log('[HMR] Applying Svelte HMR...');\n\t\t\n\t\tif (window.__SVELTE_HMR__) {\n\t\t\ttry {\n\t\t\t\tmessage.changes.forEach(function(file) {\n\t\t\t\t\tif (file.endsWith('.svelte')) {\n\t\t\t\t\t\t// Svelte HMR preserves component state\n\t\t\t\t\t\twindow.__SVELTE_HMR__.update(file);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error('[HMR] Svelte HMR failed:', e);\n\t\t\t\twindow.location.reload();\n\t\t\t}\n\t\t} else {\n\t\t\twindow.location.reload();\n\t\t}\n\t}\n\n\t// ============= Solid HMR =============\n\tfunction performSolidUpdate(message) {\n\t\tconsole.log('[HMR] Applying Solid HMR...');\n\t\t\n\t\tif (window.__SOLID_HMR__) {\n\t\t\ttry {\n\t\t\t\tmessage.changes.forEach(function(file) {\n\t\t\t\t\tinvalidateModule(file);\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\twindow.__SOLID_HMR__.update();\n\t\t\t} catch (e) {\n\t\t\t\tconsole.error('[HMR] Solid HMR failed:', e);\n\t\t\t\twindow.location.reload();\n\t\t\t}\n\t\t} else {\n\t\t\twindow.location.reload();\n\t\t}\n\t}\n\n\t// ============= Generic Update =============\n\tfunction performGenericUpdate(message) {\n\t\tconsole.log('[HMR] Performing generic update...');\n\t\t\n\t\t// For unknown frameworks, reload scripts\n\t\tmessage.changes.forEach(function(file) {\n\t\t\tinvalidateModule(file);\n\t\t});\n\t\t\n\t\t// Reload the page as a fallback\n\t\twindow.location.reload();\n\t}\n\n\t// ============= Module Management =============\n\tfunction invalidateModule(fileId) {\n\t\tmoduleCache.delete(fileId);\n\t\t\n\t\t// Find and reload script tags\n\t\tvar scripts = document.querySelectorAll('script[src]');\n\t\tscripts.forEach(function(script) {\n\t\t\tvar src = script.getAttribute('src');\n\t\t\tif (src && src.includes(fileId)) {\n\t\t\t\treloadScript(script);\n\t\t\t}\n\t\t});\n\t}\n\n\tfunction reloadScript(oldScript) {\n\t\tvar src = oldScript.getAttribute('src');\n\t\tvar newSrc = src.split('?')[0] + '?v=' + Date.now();\n\t\t\n\t\tvar newScript = document.createElement('script');\n\t\tnewScript.src = newSrc;\n\t\tnewScript.type = oldScript.type || 'text/javascript';\n\t\tnewScript.async = false;\n\t\t\n\t\t// Copy attributes\n\t\tArray.from(oldScript.attributes).forEach(function(attr) {\n\t\t\tif (attr.name !== 'src') {\n\t\t\t\tnewScript.setAttribute(attr.name, attr.value);\n\t\t\t}\n\t\t});\n\t\t\n\t\toldScript.parentNode.replaceChild(newScript, oldScript);\n\t}\n\n\t// ============= Error Overlay =============\n\tfunction showOverlay(options) {\n\t\t// Remove existing overlay\n\t\thideOverlay();\n\t\t\n\t\tvar overlay = document.createElement('div');\n\t\toverlay.id = '__hmr-overlay__';\n\t\toverlay.style.cssText = [\n\t\t\t'position: fixed',\n\t\t\t'top: 0',\n\t\t\t'left: 0',\n\t\t\t'right: 0',\n\t\t\t'bottom: 0',\n\t\t\t'background: rgba(0, 0, 0, 0.85)',\n\t\t\t'z-index: 99999',\n\t\t\t'display: flex',\n\t\t\t'align-items: center',\n\t\t\t'justify-content: center',\n\t\t\t'font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif',\n\t\t\t'color: white',\n\t\t\t'padding: 20px'\n\t\t].join(';');\n\t\t\n\t\tvar content = document.createElement('div');\n\t\tcontent.style.cssText = [\n\t\t\t'max-width: 800px',\n\t\t\t'max-height: 80vh',\n\t\t\t'overflow: auto',\n\t\t\t'background: #1a1a1a',\n\t\t\t'border-radius: 8px',\n\t\t\t'padding: 20px',\n\t\t\t'box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5)'\n\t\t].join(';');\n\t\t\n\t\tvar title = document.createElement('h2');\n\t\ttitle.style.cssText = 'color: #ff5555; margin: 0 0 15px 0; font-size: 18px;';\n\t\ttitle.textContent = 'HMR Error';\n\t\t\n\t\tvar message = document.createElement('pre');\n\t\tmessage.style.cssText = [\n\t\t\t'background: #282828',\n\t\t\t'padding: 15px',\n\t\t\t'border-radius: 4px',\n\t\t\t'overflow-x: auto',\n\t\t\t'font-size: 13px',\n\t\t\t'line-height: 1.5',\n\t\t\t'white-space: pre-wrap',\n\t\t\t'word-break: break-word'\n\t\t].join(';');\n\t\tmessage.textContent = options.message;\n\t\t\n\t\tcontent.appendChild(title);\n\t\tcontent.appendChild(message);\n\t\t\n\t\tif (options.stack) {\n\t\t\tvar stack = document.createElement('pre');\n\t\t\tstack.style.cssText = [\n\t\t\t\t'background: #282828',\n\t\t\t\t'padding: 15px',\n\t\t\t\t'border-radius: 4px',\n\t\t\t\t'margin-top: 10px',\n\t\t\t\t'font-size: 12px',\n\t\t\t\t'color: #888',\n\t\t\t\t'overflow-x: auto'\n\t\t\t].join(';');\n\t\t\tstack.textContent = options.stack;\n\t\t\tcontent.appendChild(stack);\n\t\t}\n\t\t\n\t\tif (options.file) {\n\t\t\tvar file = document.createElement('div');\n\t\t\tfile.style.cssText = 'margin-top: 15px; color: #888; font-size: 12px;';\n\t\t\tfile.textContent = 'File: ' + options.file + \n\t\t\t\t(options.line ? ':' + options.line + (options.column ? ':' + options.column : '') : '');\n\t\t\tcontent.appendChild(file);\n\t\t}\n\t\t\n\t\tvar closeBtn = document.createElement('button');\n\t\tcloseBtn.style.cssText = [\n\t\t\t'position: absolute',\n\t\t\t'top: 10px',\n\t\t\t'right: 10px',\n\t\t\t'background: transparent',\n\t\t\t'border: none',\n\t\t\t'color: #888',\n\t\t\t'font-size: 20px',\n\t\t\t'cursor: pointer',\n\t\t\t'padding: 5px'\n\t\t].join(';');\n\t\tcloseBtn.textContent = '\u00D7';\n\t\tcloseBtn.onclick = hideOverlay;\n\t\t\n\t\toverlay.style.position = 'relative';\n\t\toverlay.appendChild(closeBtn);\n\t\toverlay.appendChild(content);\n\t\t\n\t\tdocument.body.appendChild(overlay);\n\t}\n\n\tfunction hideOverlay() {\n\t\tvar overlay = document.getElementById('__hmr-overlay__');\n\t\tif (overlay) {\n\t\t\toverlay.remove();\n\t\t}\n\t}\n\n\t// ============= Subscription Management =============\n\tfunction subscribe(fileId) {\n\t\tsubscribedFiles.add(fileId);\n\t\tsendMessage({ type: 'subscribe', fileId: fileId });\n\t}\n\n\tfunction unsubscribe(fileId) {\n\t\tsubscribedFiles.delete(fileId);\n\t\tsendMessage({ type: 'unsubscribe', fileId: fileId });\n\t}\n\n\t// ============= Initialization =============\n\tfunction init() {\n\t\t// Connect to HMR server\n\t\tconnect();\n\t\t\n\t\t// Subscribe to current page\n\t\tvar currentFile = window.location.pathname;\n\t\tsubscribe(currentFile);\n\t\t\n\t\t// Expose HMR API\n\t\twindow.__HMR__ = {\n\t\t\tsubscribe: subscribe,\n\t\t\tunsubscribe: unsubscribe,\n\t\t\tconnect: connect,\n\t\t\tclientId: function() { return clientId; },\n\t\t\tframework: framework\n\t\t};\n\t\t\n\t\tconsole.log('[HMR] Client initialized (framework: ' + framework + ')');\n\t}\n\n\t// Start when DOM is ready\n\tif (document.readyState === 'complete') {\n\t\tinit();\n\t} else {\n\t\tdocument.addEventListener('DOMContentLoaded', init);\n\t}\n})();\n";
12
+ /**
13
+ * Get the HMR client script with optional configuration
14
+ */
15
+ export declare function getHMRClientScript(options?: {
16
+ port?: number;
17
+ }): string;
18
+ /**
19
+ * Inject HMR client script into HTML content
20
+ */
21
+ export declare function injectHMRScript(html: string, port?: number): string;
22
+ //# sourceMappingURL=hmr-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hmr-client.d.ts","sourceRoot":"","sources":["../../src/frontend/hmr-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,eAAO,MAAM,iBAAiB,m7hBAwmB7B,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,MAAM,CAQT;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAgBnE"}