create-fluxstack 1.0.2 → 1.0.4

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 (561) hide show
  1. package/.claude/settings.local.json +65 -0
  2. package/.dockerignore +50 -0
  3. package/.env.example +53 -0
  4. package/.gitattributes +2 -0
  5. package/.github/workflows/ci-build-tests.yml +480 -0
  6. package/.github/workflows/dependency-management.yml +324 -0
  7. package/.github/workflows/release-validation.yml +355 -0
  8. package/.kiro/specs/fluxstack-architecture-optimization/design.md +700 -0
  9. package/.kiro/specs/fluxstack-architecture-optimization/requirements.md +127 -0
  10. package/.kiro/specs/fluxstack-architecture-optimization/tasks.md +330 -0
  11. package/CLAUDE.md +200 -0
  12. package/Dockerfile +58 -0
  13. package/Dockerfile.backend +52 -0
  14. package/Dockerfile.frontend +54 -0
  15. package/ENV_TESTING_REPORT.md +292 -0
  16. package/FRAMEWORK_ROADMAP.md +183 -0
  17. package/FRONTEND_TESTS_README.md +287 -0
  18. package/LICENSE +21 -0
  19. package/README-Docker.md +85 -0
  20. package/TEST_RESULTS.md +130 -0
  21. package/ai-context/00-QUICK-START.md +86 -0
  22. package/ai-context/README.md +88 -0
  23. package/ai-context/development/eden-treaty-guide.md +362 -0
  24. package/ai-context/development/patterns.md +382 -0
  25. package/ai-context/examples/crud-complete.md +626 -0
  26. package/ai-context/project/architecture.md +399 -0
  27. package/ai-context/project/overview.md +213 -0
  28. package/ai-context/recent-changes/eden-treaty-refactor.md +281 -0
  29. package/ai-context/recent-changes/type-inference-fix.md +223 -0
  30. package/ai-context/reference/environment-vars.md +384 -0
  31. package/ai-context/reference/troubleshooting.md +407 -0
  32. package/app/client/README.md +69 -0
  33. package/app/client/frontend-only.ts +12 -0
  34. package/app/client/index.html +13 -0
  35. package/app/client/public/vite.svg +1 -0
  36. package/app/client/src/App.css +883 -0
  37. package/app/client/src/App.tsx +669 -0
  38. package/app/client/src/assets/react.svg +1 -0
  39. package/app/client/src/components/TestPage.tsx +453 -0
  40. package/app/client/src/index.css +51 -0
  41. package/app/client/src/lib/eden-api.ts +110 -0
  42. package/app/client/src/main.tsx +10 -0
  43. package/app/client/src/vite-env.d.ts +1 -0
  44. package/app/client/tsconfig.app.json +43 -0
  45. package/app/client/tsconfig.json +7 -0
  46. package/app/client/tsconfig.node.json +25 -0
  47. package/app/server/app.ts +10 -0
  48. package/app/server/backend-only.ts +15 -0
  49. package/app/server/controllers/users.controller.ts +69 -0
  50. package/app/server/index.ts +104 -0
  51. package/app/server/routes/index.ts +25 -0
  52. package/app/server/routes/users.routes.ts +121 -0
  53. package/app/server/types/index.ts +1 -0
  54. package/app/shared/types/index.ts +18 -0
  55. package/bun.lock +1063 -0
  56. package/bunfig.toml +16 -0
  57. package/config/fluxstack.config.ts +48 -0
  58. package/core/__tests__/integration.test.ts +227 -0
  59. package/core/build/index.ts +186 -0
  60. package/core/cli/command-registry.ts +334 -0
  61. package/core/cli/index.ts +394 -0
  62. package/core/cli/plugin-discovery.ts +200 -0
  63. package/core/client/standalone.ts +57 -0
  64. package/core/config/__tests__/config-loader.test.ts +591 -0
  65. package/core/config/__tests__/config-merger.test.ts +657 -0
  66. package/core/config/__tests__/env-converter.test.ts +372 -0
  67. package/core/config/__tests__/env-processor.test.ts +431 -0
  68. package/core/config/__tests__/env.test.ts +452 -0
  69. package/core/config/__tests__/integration.test.ts +418 -0
  70. package/core/config/__tests__/loader.test.ts +331 -0
  71. package/core/config/__tests__/schema.test.ts +129 -0
  72. package/core/config/__tests__/validator.test.ts +318 -0
  73. package/core/config/env-dynamic.ts +326 -0
  74. package/core/config/env.ts +597 -0
  75. package/core/config/index.ts +317 -0
  76. package/core/config/loader.ts +546 -0
  77. package/core/config/runtime-config.ts +322 -0
  78. package/core/config/schema.ts +694 -0
  79. package/core/config/validator.ts +540 -0
  80. package/core/framework/__tests__/server.test.ts +233 -0
  81. package/core/framework/client.ts +132 -0
  82. package/core/framework/index.ts +8 -0
  83. package/core/framework/server.ts +501 -0
  84. package/core/framework/types.ts +63 -0
  85. package/core/plugins/__tests__/built-in.test.ts.disabled +366 -0
  86. package/core/plugins/__tests__/manager.test.ts +398 -0
  87. package/core/plugins/__tests__/monitoring.test.ts +401 -0
  88. package/core/plugins/__tests__/registry.test.ts +335 -0
  89. package/core/plugins/built-in/index.ts +142 -0
  90. package/core/plugins/built-in/logger/index.ts +180 -0
  91. package/core/plugins/built-in/monitoring/README.md +193 -0
  92. package/core/plugins/built-in/monitoring/index.ts +912 -0
  93. package/core/plugins/built-in/static/index.ts +289 -0
  94. package/core/plugins/built-in/swagger/index.ts +229 -0
  95. package/core/plugins/built-in/vite/index.ts +316 -0
  96. package/core/plugins/config.ts +348 -0
  97. package/core/plugins/discovery.ts +350 -0
  98. package/core/plugins/executor.ts +351 -0
  99. package/core/plugins/index.ts +195 -0
  100. package/core/plugins/manager.ts +583 -0
  101. package/core/plugins/registry.ts +424 -0
  102. package/core/plugins/types.ts +254 -0
  103. package/core/server/framework.ts +123 -0
  104. package/core/server/index.ts +8 -0
  105. package/core/server/plugins/database.ts +182 -0
  106. package/core/server/plugins/logger.ts +47 -0
  107. package/core/server/plugins/swagger.ts +34 -0
  108. package/core/server/standalone.ts +91 -0
  109. package/core/templates/create-project.ts +455 -0
  110. package/core/types/api.ts +169 -0
  111. package/core/types/build.ts +174 -0
  112. package/core/types/config.ts +68 -0
  113. package/core/types/index.ts +127 -0
  114. package/core/types/plugin.ts +94 -0
  115. package/core/utils/__tests__/errors.test.ts +139 -0
  116. package/core/utils/__tests__/helpers.test.ts +297 -0
  117. package/core/utils/__tests__/logger.test.ts +141 -0
  118. package/core/utils/env-runtime-v2.ts +232 -0
  119. package/core/utils/env-runtime.ts +252 -0
  120. package/core/utils/errors/codes.ts +115 -0
  121. package/core/utils/errors/handlers.ts +63 -0
  122. package/core/utils/errors/index.ts +81 -0
  123. package/core/utils/helpers.ts +180 -0
  124. package/core/utils/index.ts +18 -0
  125. package/core/utils/logger/index.ts +161 -0
  126. package/core/utils/logger.ts +106 -0
  127. package/core/utils/monitoring/index.ts +212 -0
  128. package/create-fluxstack.ts +1 -1
  129. package/create-test-app.ts +156 -0
  130. package/docker-compose.microservices.yml +75 -0
  131. package/docker-compose.simple.yml +57 -0
  132. package/docker-compose.yml +71 -0
  133. package/docs/dynamic-environment-variables.md +380 -0
  134. package/eslint.config.js +23 -0
  135. package/examples/dynamic-env-usage.ts +283 -0
  136. package/examples/hybrid-env-strategy.ts +212 -0
  137. package/examples/simplified-env-usage.ts +251 -0
  138. package/flux-cli.ts +214 -0
  139. package/fluxstack.config.ts +318 -0
  140. package/meu-app-teste/README.md +44 -0
  141. package/meu-app-teste/app/client/README.md +69 -0
  142. package/meu-app-teste/app/client/frontend-only.ts +12 -0
  143. package/meu-app-teste/app/client/index.html +13 -0
  144. package/meu-app-teste/app/client/public/vite.svg +1 -0
  145. package/meu-app-teste/app/client/src/App.css +883 -0
  146. package/meu-app-teste/app/client/src/App.tsx +669 -0
  147. package/meu-app-teste/app/client/src/assets/react.svg +1 -0
  148. package/meu-app-teste/app/client/src/components/TestPage.tsx +453 -0
  149. package/meu-app-teste/app/client/src/index.css +51 -0
  150. package/meu-app-teste/app/client/src/lib/eden-api.ts +110 -0
  151. package/meu-app-teste/app/client/src/main.tsx +10 -0
  152. package/meu-app-teste/app/client/src/vite-env.d.ts +1 -0
  153. package/meu-app-teste/app/client/tsconfig.app.json +43 -0
  154. package/meu-app-teste/app/client/tsconfig.json +7 -0
  155. package/meu-app-teste/app/client/tsconfig.node.json +25 -0
  156. package/meu-app-teste/app/server/app.ts +10 -0
  157. package/meu-app-teste/app/server/backend-only.ts +15 -0
  158. package/meu-app-teste/app/server/controllers/users.controller.ts +69 -0
  159. package/meu-app-teste/app/server/index.ts +104 -0
  160. package/meu-app-teste/app/server/routes/index.ts +25 -0
  161. package/meu-app-teste/app/server/routes/users.routes.ts +121 -0
  162. package/meu-app-teste/app/server/types/index.ts +1 -0
  163. package/meu-app-teste/app/shared/types/index.ts +18 -0
  164. package/meu-app-teste/bun.lock +1053 -0
  165. package/meu-app-teste/core/__tests__/integration.test.ts +227 -0
  166. package/meu-app-teste/core/build/index.ts +186 -0
  167. package/meu-app-teste/core/cli/command-registry.ts +334 -0
  168. package/meu-app-teste/core/cli/index.ts +394 -0
  169. package/meu-app-teste/core/cli/plugin-discovery.ts +200 -0
  170. package/meu-app-teste/core/client/standalone.ts +57 -0
  171. package/meu-app-teste/core/config/__tests__/config-loader.test.ts +591 -0
  172. package/meu-app-teste/core/config/__tests__/config-merger.test.ts +657 -0
  173. package/meu-app-teste/core/config/__tests__/env-converter.test.ts +372 -0
  174. package/meu-app-teste/core/config/__tests__/env-processor.test.ts +431 -0
  175. package/meu-app-teste/core/config/__tests__/env.test.ts +452 -0
  176. package/meu-app-teste/core/config/__tests__/integration.test.ts +418 -0
  177. package/meu-app-teste/core/config/__tests__/loader.test.ts +331 -0
  178. package/meu-app-teste/core/config/__tests__/schema.test.ts +129 -0
  179. package/meu-app-teste/core/config/__tests__/validator.test.ts +318 -0
  180. package/meu-app-teste/core/config/env-dynamic.ts +326 -0
  181. package/meu-app-teste/core/config/env.ts +597 -0
  182. package/meu-app-teste/core/config/index.ts +317 -0
  183. package/meu-app-teste/core/config/loader.ts +546 -0
  184. package/meu-app-teste/core/config/runtime-config.ts +322 -0
  185. package/meu-app-teste/core/config/schema.ts +694 -0
  186. package/meu-app-teste/core/config/validator.ts +540 -0
  187. package/meu-app-teste/core/framework/__tests__/server.test.ts +233 -0
  188. package/meu-app-teste/core/framework/client.ts +132 -0
  189. package/meu-app-teste/core/framework/index.ts +8 -0
  190. package/meu-app-teste/core/framework/server.ts +501 -0
  191. package/meu-app-teste/core/framework/types.ts +63 -0
  192. package/meu-app-teste/core/plugins/__tests__/built-in.test.ts.disabled +366 -0
  193. package/meu-app-teste/core/plugins/__tests__/manager.test.ts +398 -0
  194. package/meu-app-teste/core/plugins/__tests__/monitoring.test.ts +401 -0
  195. package/meu-app-teste/core/plugins/__tests__/registry.test.ts +335 -0
  196. package/meu-app-teste/core/plugins/built-in/index.ts +142 -0
  197. package/meu-app-teste/core/plugins/built-in/logger/index.ts +180 -0
  198. package/meu-app-teste/core/plugins/built-in/monitoring/README.md +193 -0
  199. package/meu-app-teste/core/plugins/built-in/monitoring/index.ts +912 -0
  200. package/meu-app-teste/core/plugins/built-in/static/index.ts +289 -0
  201. package/meu-app-teste/core/plugins/built-in/swagger/index.ts +229 -0
  202. package/meu-app-teste/core/plugins/built-in/vite/index.ts +316 -0
  203. package/meu-app-teste/core/plugins/config.ts +348 -0
  204. package/meu-app-teste/core/plugins/discovery.ts +350 -0
  205. package/meu-app-teste/core/plugins/executor.ts +351 -0
  206. package/meu-app-teste/core/plugins/index.ts +195 -0
  207. package/meu-app-teste/core/plugins/manager.ts +583 -0
  208. package/meu-app-teste/core/plugins/registry.ts +424 -0
  209. package/meu-app-teste/core/plugins/types.ts +254 -0
  210. package/meu-app-teste/core/server/framework.ts +123 -0
  211. package/meu-app-teste/core/server/index.ts +8 -0
  212. package/meu-app-teste/core/server/plugins/database.ts +182 -0
  213. package/meu-app-teste/core/server/plugins/logger.ts +47 -0
  214. package/meu-app-teste/core/server/plugins/swagger.ts +34 -0
  215. package/meu-app-teste/core/server/standalone.ts +91 -0
  216. package/meu-app-teste/core/templates/create-project.ts +455 -0
  217. package/meu-app-teste/core/types/api.ts +169 -0
  218. package/meu-app-teste/core/types/build.ts +174 -0
  219. package/meu-app-teste/core/types/config.ts +68 -0
  220. package/meu-app-teste/core/types/index.ts +127 -0
  221. package/meu-app-teste/core/types/plugin.ts +94 -0
  222. package/meu-app-teste/core/utils/__tests__/errors.test.ts +139 -0
  223. package/meu-app-teste/core/utils/__tests__/helpers.test.ts +297 -0
  224. package/meu-app-teste/core/utils/__tests__/logger.test.ts +141 -0
  225. package/meu-app-teste/core/utils/env-runtime-v2.ts +232 -0
  226. package/meu-app-teste/core/utils/env-runtime.ts +252 -0
  227. package/meu-app-teste/core/utils/errors/codes.ts +115 -0
  228. package/meu-app-teste/core/utils/errors/handlers.ts +63 -0
  229. package/meu-app-teste/core/utils/errors/index.ts +81 -0
  230. package/meu-app-teste/core/utils/helpers.ts +180 -0
  231. package/meu-app-teste/core/utils/index.ts +18 -0
  232. package/meu-app-teste/core/utils/logger/index.ts +161 -0
  233. package/meu-app-teste/core/utils/logger.ts +106 -0
  234. package/meu-app-teste/core/utils/monitoring/index.ts +212 -0
  235. package/meu-app-teste/package.json +92 -0
  236. package/meu-app-teste/tsconfig.json +51 -0
  237. package/meu-app-teste/vite.config.ts +42 -0
  238. package/my-final-test/README.md +44 -0
  239. package/my-final-test/app/client/README.md +69 -0
  240. package/my-final-test/app/client/frontend-only.ts +12 -0
  241. package/my-final-test/app/client/index.html +13 -0
  242. package/my-final-test/app/client/public/vite.svg +1 -0
  243. package/my-final-test/app/client/src/App.css +883 -0
  244. package/my-final-test/app/client/src/App.tsx +669 -0
  245. package/my-final-test/app/client/src/assets/react.svg +1 -0
  246. package/my-final-test/app/client/src/components/TestPage.tsx +453 -0
  247. package/my-final-test/app/client/src/index.css +51 -0
  248. package/my-final-test/app/client/src/lib/eden-api.ts +110 -0
  249. package/my-final-test/app/client/src/main.tsx +10 -0
  250. package/my-final-test/app/client/src/vite-env.d.ts +1 -0
  251. package/my-final-test/app/client/tsconfig.app.json +43 -0
  252. package/my-final-test/app/client/tsconfig.json +7 -0
  253. package/my-final-test/app/client/tsconfig.node.json +25 -0
  254. package/my-final-test/app/server/app.ts +10 -0
  255. package/my-final-test/app/server/backend-only.ts +15 -0
  256. package/my-final-test/app/server/controllers/users.controller.ts +69 -0
  257. package/my-final-test/app/server/index.ts +104 -0
  258. package/my-final-test/app/server/routes/index.ts +25 -0
  259. package/my-final-test/app/server/routes/users.routes.ts +121 -0
  260. package/my-final-test/app/server/types/index.ts +1 -0
  261. package/my-final-test/app/shared/types/index.ts +18 -0
  262. package/my-final-test/bun.lock +993 -0
  263. package/my-final-test/core/__tests__/integration.test.ts +227 -0
  264. package/my-final-test/core/build/index.ts +186 -0
  265. package/my-final-test/core/cli/command-registry.ts +334 -0
  266. package/my-final-test/core/cli/index.ts +394 -0
  267. package/my-final-test/core/cli/plugin-discovery.ts +200 -0
  268. package/my-final-test/core/client/standalone.ts +57 -0
  269. package/my-final-test/core/config/__tests__/config-loader.test.ts +591 -0
  270. package/my-final-test/core/config/__tests__/config-merger.test.ts +657 -0
  271. package/my-final-test/core/config/__tests__/env-converter.test.ts +372 -0
  272. package/my-final-test/core/config/__tests__/env-processor.test.ts +431 -0
  273. package/my-final-test/core/config/__tests__/env.test.ts +452 -0
  274. package/my-final-test/core/config/__tests__/integration.test.ts +418 -0
  275. package/my-final-test/core/config/__tests__/loader.test.ts +331 -0
  276. package/my-final-test/core/config/__tests__/schema.test.ts +129 -0
  277. package/my-final-test/core/config/__tests__/validator.test.ts +318 -0
  278. package/my-final-test/core/config/env-dynamic.ts +326 -0
  279. package/my-final-test/core/config/env.ts +597 -0
  280. package/my-final-test/core/config/index.ts +317 -0
  281. package/my-final-test/core/config/loader.ts +546 -0
  282. package/my-final-test/core/config/runtime-config.ts +322 -0
  283. package/my-final-test/core/config/schema.ts +694 -0
  284. package/my-final-test/core/config/validator.ts +540 -0
  285. package/my-final-test/core/framework/__tests__/server.test.ts +233 -0
  286. package/my-final-test/core/framework/client.ts +132 -0
  287. package/my-final-test/core/framework/index.ts +8 -0
  288. package/my-final-test/core/framework/server.ts +501 -0
  289. package/my-final-test/core/framework/types.ts +63 -0
  290. package/my-final-test/core/plugins/__tests__/built-in.test.ts.disabled +366 -0
  291. package/my-final-test/core/plugins/__tests__/manager.test.ts +398 -0
  292. package/my-final-test/core/plugins/__tests__/monitoring.test.ts +401 -0
  293. package/my-final-test/core/plugins/__tests__/registry.test.ts +335 -0
  294. package/my-final-test/core/plugins/built-in/index.ts +142 -0
  295. package/my-final-test/core/plugins/built-in/logger/index.ts +180 -0
  296. package/my-final-test/core/plugins/built-in/monitoring/README.md +193 -0
  297. package/my-final-test/core/plugins/built-in/monitoring/index.ts +912 -0
  298. package/my-final-test/core/plugins/built-in/static/index.ts +289 -0
  299. package/my-final-test/core/plugins/built-in/swagger/index.ts +229 -0
  300. package/my-final-test/core/plugins/built-in/vite/index.ts +316 -0
  301. package/my-final-test/core/plugins/config.ts +348 -0
  302. package/my-final-test/core/plugins/discovery.ts +350 -0
  303. package/my-final-test/core/plugins/executor.ts +351 -0
  304. package/my-final-test/core/plugins/index.ts +195 -0
  305. package/my-final-test/core/plugins/manager.ts +583 -0
  306. package/my-final-test/core/plugins/registry.ts +424 -0
  307. package/my-final-test/core/plugins/types.ts +254 -0
  308. package/my-final-test/core/server/framework.ts +123 -0
  309. package/my-final-test/core/server/index.ts +8 -0
  310. package/my-final-test/core/server/plugins/database.ts +182 -0
  311. package/my-final-test/core/server/plugins/logger.ts +47 -0
  312. package/my-final-test/core/server/plugins/swagger.ts +34 -0
  313. package/my-final-test/core/server/standalone.ts +91 -0
  314. package/my-final-test/core/templates/create-project.ts +455 -0
  315. package/my-final-test/core/types/api.ts +169 -0
  316. package/my-final-test/core/types/build.ts +174 -0
  317. package/my-final-test/core/types/config.ts +68 -0
  318. package/my-final-test/core/types/index.ts +127 -0
  319. package/my-final-test/core/types/plugin.ts +94 -0
  320. package/my-final-test/core/utils/__tests__/errors.test.ts +139 -0
  321. package/my-final-test/core/utils/__tests__/helpers.test.ts +297 -0
  322. package/my-final-test/core/utils/__tests__/logger.test.ts +141 -0
  323. package/my-final-test/core/utils/env-runtime-v2.ts +232 -0
  324. package/my-final-test/core/utils/env-runtime.ts +252 -0
  325. package/my-final-test/core/utils/errors/codes.ts +115 -0
  326. package/my-final-test/core/utils/errors/handlers.ts +63 -0
  327. package/my-final-test/core/utils/errors/index.ts +81 -0
  328. package/my-final-test/core/utils/helpers.ts +180 -0
  329. package/my-final-test/core/utils/index.ts +18 -0
  330. package/my-final-test/core/utils/logger/index.ts +161 -0
  331. package/my-final-test/core/utils/logger.ts +106 -0
  332. package/my-final-test/core/utils/monitoring/index.ts +212 -0
  333. package/my-final-test/package.json +68 -0
  334. package/my-final-test/tsconfig.json +51 -0
  335. package/my-final-test/vite.config.ts +42 -0
  336. package/nginx-lb.conf +37 -0
  337. package/package-template.json +32 -15
  338. package/package.json +71 -30
  339. package/publish-setup.md +111 -0
  340. package/publish.sh +63 -0
  341. package/run-clean.ts +26 -0
  342. package/run-env-tests.ts +313 -0
  343. package/tailwind.config.js +34 -0
  344. package/teste-corrigido/README.md +44 -0
  345. package/teste-corrigido/app/client/README.md +69 -0
  346. package/teste-corrigido/app/client/frontend-only.ts +12 -0
  347. package/teste-corrigido/app/client/index.html +13 -0
  348. package/teste-corrigido/app/client/public/vite.svg +1 -0
  349. package/teste-corrigido/app/client/src/App.css +883 -0
  350. package/teste-corrigido/app/client/src/App.tsx +669 -0
  351. package/teste-corrigido/app/client/src/assets/react.svg +1 -0
  352. package/teste-corrigido/app/client/src/components/TestPage.tsx +453 -0
  353. package/teste-corrigido/app/client/src/index.css +51 -0
  354. package/teste-corrigido/app/client/src/lib/eden-api.ts +110 -0
  355. package/teste-corrigido/app/client/src/main.tsx +10 -0
  356. package/teste-corrigido/app/client/src/vite-env.d.ts +1 -0
  357. package/teste-corrigido/app/client/tsconfig.app.json +43 -0
  358. package/teste-corrigido/app/client/tsconfig.json +7 -0
  359. package/teste-corrigido/app/client/tsconfig.node.json +25 -0
  360. package/teste-corrigido/app/server/app.ts +10 -0
  361. package/teste-corrigido/app/server/backend-only.ts +15 -0
  362. package/teste-corrigido/app/server/controllers/users.controller.ts +69 -0
  363. package/teste-corrigido/app/server/index.ts +104 -0
  364. package/teste-corrigido/app/server/routes/index.ts +25 -0
  365. package/teste-corrigido/app/server/routes/users.routes.ts +121 -0
  366. package/teste-corrigido/app/server/types/index.ts +1 -0
  367. package/teste-corrigido/app/shared/types/index.ts +18 -0
  368. package/teste-corrigido/bun.lock +1053 -0
  369. package/teste-corrigido/core/__tests__/integration.test.ts +227 -0
  370. package/teste-corrigido/core/build/index.ts +186 -0
  371. package/teste-corrigido/core/cli/command-registry.ts +334 -0
  372. package/teste-corrigido/core/cli/index.ts +394 -0
  373. package/teste-corrigido/core/cli/plugin-discovery.ts +200 -0
  374. package/teste-corrigido/core/client/standalone.ts +57 -0
  375. package/teste-corrigido/core/config/__tests__/config-loader.test.ts +591 -0
  376. package/teste-corrigido/core/config/__tests__/config-merger.test.ts +657 -0
  377. package/teste-corrigido/core/config/__tests__/env-converter.test.ts +372 -0
  378. package/teste-corrigido/core/config/__tests__/env-processor.test.ts +431 -0
  379. package/teste-corrigido/core/config/__tests__/env.test.ts +452 -0
  380. package/teste-corrigido/core/config/__tests__/integration.test.ts +418 -0
  381. package/teste-corrigido/core/config/__tests__/loader.test.ts +331 -0
  382. package/teste-corrigido/core/config/__tests__/schema.test.ts +129 -0
  383. package/teste-corrigido/core/config/__tests__/validator.test.ts +318 -0
  384. package/teste-corrigido/core/config/env-dynamic.ts +326 -0
  385. package/teste-corrigido/core/config/env.ts +597 -0
  386. package/teste-corrigido/core/config/index.ts +317 -0
  387. package/teste-corrigido/core/config/loader.ts +546 -0
  388. package/teste-corrigido/core/config/runtime-config.ts +322 -0
  389. package/teste-corrigido/core/config/schema.ts +694 -0
  390. package/teste-corrigido/core/config/validator.ts +540 -0
  391. package/teste-corrigido/core/framework/__tests__/server.test.ts +233 -0
  392. package/teste-corrigido/core/framework/client.ts +132 -0
  393. package/teste-corrigido/core/framework/index.ts +8 -0
  394. package/teste-corrigido/core/framework/server.ts +501 -0
  395. package/teste-corrigido/core/framework/types.ts +63 -0
  396. package/teste-corrigido/core/plugins/__tests__/built-in.test.ts.disabled +366 -0
  397. package/teste-corrigido/core/plugins/__tests__/manager.test.ts +398 -0
  398. package/teste-corrigido/core/plugins/__tests__/monitoring.test.ts +401 -0
  399. package/teste-corrigido/core/plugins/__tests__/registry.test.ts +335 -0
  400. package/teste-corrigido/core/plugins/built-in/index.ts +142 -0
  401. package/teste-corrigido/core/plugins/built-in/logger/index.ts +180 -0
  402. package/teste-corrigido/core/plugins/built-in/monitoring/README.md +193 -0
  403. package/teste-corrigido/core/plugins/built-in/monitoring/index.ts +912 -0
  404. package/teste-corrigido/core/plugins/built-in/static/index.ts +289 -0
  405. package/teste-corrigido/core/plugins/built-in/swagger/index.ts +229 -0
  406. package/teste-corrigido/core/plugins/built-in/vite/index.ts +316 -0
  407. package/teste-corrigido/core/plugins/config.ts +348 -0
  408. package/teste-corrigido/core/plugins/discovery.ts +350 -0
  409. package/teste-corrigido/core/plugins/executor.ts +351 -0
  410. package/teste-corrigido/core/plugins/index.ts +195 -0
  411. package/teste-corrigido/core/plugins/manager.ts +583 -0
  412. package/teste-corrigido/core/plugins/registry.ts +424 -0
  413. package/teste-corrigido/core/plugins/types.ts +254 -0
  414. package/teste-corrigido/core/server/framework.ts +123 -0
  415. package/teste-corrigido/core/server/index.ts +8 -0
  416. package/teste-corrigido/core/server/plugins/database.ts +182 -0
  417. package/teste-corrigido/core/server/plugins/logger.ts +47 -0
  418. package/teste-corrigido/core/server/plugins/swagger.ts +34 -0
  419. package/teste-corrigido/core/server/standalone.ts +91 -0
  420. package/teste-corrigido/core/templates/create-project.ts +455 -0
  421. package/teste-corrigido/core/types/api.ts +169 -0
  422. package/teste-corrigido/core/types/build.ts +174 -0
  423. package/teste-corrigido/core/types/config.ts +68 -0
  424. package/teste-corrigido/core/types/index.ts +127 -0
  425. package/teste-corrigido/core/types/plugin.ts +94 -0
  426. package/teste-corrigido/core/utils/__tests__/errors.test.ts +139 -0
  427. package/teste-corrigido/core/utils/__tests__/helpers.test.ts +297 -0
  428. package/teste-corrigido/core/utils/__tests__/logger.test.ts +141 -0
  429. package/teste-corrigido/core/utils/env-runtime-v2.ts +232 -0
  430. package/teste-corrigido/core/utils/env-runtime.ts +252 -0
  431. package/teste-corrigido/core/utils/errors/codes.ts +115 -0
  432. package/teste-corrigido/core/utils/errors/handlers.ts +63 -0
  433. package/teste-corrigido/core/utils/errors/index.ts +81 -0
  434. package/teste-corrigido/core/utils/helpers.ts +180 -0
  435. package/teste-corrigido/core/utils/index.ts +18 -0
  436. package/teste-corrigido/core/utils/logger/index.ts +161 -0
  437. package/teste-corrigido/core/utils/logger.ts +106 -0
  438. package/teste-corrigido/core/utils/monitoring/index.ts +212 -0
  439. package/teste-corrigido/package-template.json +51 -0
  440. package/teste-corrigido/package.json +51 -0
  441. package/teste-corrigido/tsconfig.json +51 -0
  442. package/teste-corrigido/vite.config.ts +42 -0
  443. package/teste-final-npm/README.md +44 -0
  444. package/teste-final-npm/app/client/README.md +69 -0
  445. package/teste-final-npm/app/client/frontend-only.ts +12 -0
  446. package/teste-final-npm/app/client/index.html +13 -0
  447. package/teste-final-npm/app/client/public/vite.svg +1 -0
  448. package/teste-final-npm/app/client/src/App.css +883 -0
  449. package/teste-final-npm/app/client/src/App.tsx +669 -0
  450. package/teste-final-npm/app/client/src/assets/react.svg +1 -0
  451. package/teste-final-npm/app/client/src/components/TestPage.tsx +453 -0
  452. package/teste-final-npm/app/client/src/index.css +51 -0
  453. package/teste-final-npm/app/client/src/lib/eden-api.ts +110 -0
  454. package/teste-final-npm/app/client/src/main.tsx +10 -0
  455. package/teste-final-npm/app/client/src/vite-env.d.ts +1 -0
  456. package/teste-final-npm/app/client/tsconfig.app.json +43 -0
  457. package/teste-final-npm/app/client/tsconfig.json +7 -0
  458. package/teste-final-npm/app/client/tsconfig.node.json +25 -0
  459. package/teste-final-npm/app/server/app.ts +10 -0
  460. package/teste-final-npm/app/server/backend-only.ts +15 -0
  461. package/teste-final-npm/app/server/controllers/users.controller.ts +69 -0
  462. package/teste-final-npm/app/server/index.ts +104 -0
  463. package/teste-final-npm/app/server/routes/index.ts +25 -0
  464. package/teste-final-npm/app/server/routes/users.routes.ts +121 -0
  465. package/teste-final-npm/app/server/types/index.ts +1 -0
  466. package/teste-final-npm/app/shared/types/index.ts +18 -0
  467. package/teste-final-npm/bun.lock +1053 -0
  468. package/teste-final-npm/core/__tests__/integration.test.ts +227 -0
  469. package/teste-final-npm/core/build/index.ts +186 -0
  470. package/teste-final-npm/core/cli/command-registry.ts +334 -0
  471. package/teste-final-npm/core/cli/index.ts +394 -0
  472. package/teste-final-npm/core/cli/plugin-discovery.ts +200 -0
  473. package/teste-final-npm/core/client/standalone.ts +57 -0
  474. package/teste-final-npm/core/config/__tests__/config-loader.test.ts +591 -0
  475. package/teste-final-npm/core/config/__tests__/config-merger.test.ts +657 -0
  476. package/teste-final-npm/core/config/__tests__/env-converter.test.ts +372 -0
  477. package/teste-final-npm/core/config/__tests__/env-processor.test.ts +431 -0
  478. package/teste-final-npm/core/config/__tests__/env.test.ts +452 -0
  479. package/teste-final-npm/core/config/__tests__/integration.test.ts +418 -0
  480. package/teste-final-npm/core/config/__tests__/loader.test.ts +331 -0
  481. package/teste-final-npm/core/config/__tests__/schema.test.ts +129 -0
  482. package/teste-final-npm/core/config/__tests__/validator.test.ts +318 -0
  483. package/teste-final-npm/core/config/env-dynamic.ts +326 -0
  484. package/teste-final-npm/core/config/env.ts +597 -0
  485. package/teste-final-npm/core/config/index.ts +317 -0
  486. package/teste-final-npm/core/config/loader.ts +546 -0
  487. package/teste-final-npm/core/config/runtime-config.ts +322 -0
  488. package/teste-final-npm/core/config/schema.ts +694 -0
  489. package/teste-final-npm/core/config/validator.ts +540 -0
  490. package/teste-final-npm/core/framework/__tests__/server.test.ts +233 -0
  491. package/teste-final-npm/core/framework/client.ts +132 -0
  492. package/teste-final-npm/core/framework/index.ts +8 -0
  493. package/teste-final-npm/core/framework/server.ts +501 -0
  494. package/teste-final-npm/core/framework/types.ts +63 -0
  495. package/teste-final-npm/core/plugins/__tests__/built-in.test.ts.disabled +366 -0
  496. package/teste-final-npm/core/plugins/__tests__/manager.test.ts +398 -0
  497. package/teste-final-npm/core/plugins/__tests__/monitoring.test.ts +401 -0
  498. package/teste-final-npm/core/plugins/__tests__/registry.test.ts +335 -0
  499. package/teste-final-npm/core/plugins/built-in/index.ts +142 -0
  500. package/teste-final-npm/core/plugins/built-in/logger/index.ts +180 -0
  501. package/teste-final-npm/core/plugins/built-in/monitoring/README.md +193 -0
  502. package/teste-final-npm/core/plugins/built-in/monitoring/index.ts +912 -0
  503. package/teste-final-npm/core/plugins/built-in/static/index.ts +289 -0
  504. package/teste-final-npm/core/plugins/built-in/swagger/index.ts +229 -0
  505. package/teste-final-npm/core/plugins/built-in/vite/index.ts +316 -0
  506. package/teste-final-npm/core/plugins/config.ts +348 -0
  507. package/teste-final-npm/core/plugins/discovery.ts +350 -0
  508. package/teste-final-npm/core/plugins/executor.ts +351 -0
  509. package/teste-final-npm/core/plugins/index.ts +195 -0
  510. package/teste-final-npm/core/plugins/manager.ts +583 -0
  511. package/teste-final-npm/core/plugins/registry.ts +424 -0
  512. package/teste-final-npm/core/plugins/types.ts +254 -0
  513. package/teste-final-npm/core/server/framework.ts +123 -0
  514. package/teste-final-npm/core/server/index.ts +8 -0
  515. package/teste-final-npm/core/server/plugins/database.ts +182 -0
  516. package/teste-final-npm/core/server/plugins/logger.ts +47 -0
  517. package/teste-final-npm/core/server/plugins/swagger.ts +34 -0
  518. package/teste-final-npm/core/server/standalone.ts +91 -0
  519. package/teste-final-npm/core/templates/create-project.ts +455 -0
  520. package/teste-final-npm/core/types/api.ts +169 -0
  521. package/teste-final-npm/core/types/build.ts +174 -0
  522. package/teste-final-npm/core/types/config.ts +68 -0
  523. package/teste-final-npm/core/types/index.ts +127 -0
  524. package/teste-final-npm/core/types/plugin.ts +94 -0
  525. package/teste-final-npm/core/utils/__tests__/errors.test.ts +139 -0
  526. package/teste-final-npm/core/utils/__tests__/helpers.test.ts +297 -0
  527. package/teste-final-npm/core/utils/__tests__/logger.test.ts +141 -0
  528. package/teste-final-npm/core/utils/env-runtime-v2.ts +232 -0
  529. package/teste-final-npm/core/utils/env-runtime.ts +252 -0
  530. package/teste-final-npm/core/utils/errors/codes.ts +115 -0
  531. package/teste-final-npm/core/utils/errors/handlers.ts +63 -0
  532. package/teste-final-npm/core/utils/errors/index.ts +81 -0
  533. package/teste-final-npm/core/utils/helpers.ts +180 -0
  534. package/teste-final-npm/core/utils/index.ts +18 -0
  535. package/teste-final-npm/core/utils/logger/index.ts +161 -0
  536. package/teste-final-npm/core/utils/logger.ts +106 -0
  537. package/teste-final-npm/core/utils/monitoring/index.ts +212 -0
  538. package/teste-final-npm/package-template.json +51 -0
  539. package/teste-final-npm/package.json +51 -0
  540. package/teste-final-npm/tsconfig.json +51 -0
  541. package/teste-final-npm/vite.config.ts +42 -0
  542. package/tests/__mocks__/api.ts +56 -0
  543. package/tests/fixtures/users.ts +69 -0
  544. package/tests/integration/api/users.routes.test.ts +221 -0
  545. package/tests/setup.ts +29 -0
  546. package/tests/unit/app/client/App-simple.test.tsx +56 -0
  547. package/tests/unit/app/client/App.test.tsx.skip +237 -0
  548. package/tests/unit/app/client/eden-api.test.ts +186 -0
  549. package/tests/unit/app/client/simple.test.tsx +23 -0
  550. package/tests/unit/app/controllers/users.controller.test.ts +150 -0
  551. package/tests/unit/core/create-project.test.ts.skip +95 -0
  552. package/tests/unit/core/framework.test.ts +144 -0
  553. package/tests/unit/core/plugins/logger.test.ts.skip +268 -0
  554. package/tests/unit/core/plugins/vite.test.ts.disabled +188 -0
  555. package/tests/utils/test-helpers.ts +61 -0
  556. package/tsconfig.json +51 -0
  557. package/types/global.d.ts +30 -0
  558. package/types/vitest.d.ts +9 -0
  559. package/vite.config.ts +42 -0
  560. package/vitest.config.ts +50 -0
  561. package/workspace.json +6 -0
@@ -0,0 +1,65 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/claude-code-settings.json",
3
+ "permissions": {
4
+ "allow": [
5
+ "Bash(bun init:*)",
6
+ "Bash(mkdir:*)",
7
+ "Bash(bun create:*)",
8
+ "Bash(bun install:*)",
9
+ "Bash(bun run:*)",
10
+ "Bash(bun add:*)",
11
+ "Bash(NODE_ENV=production bun run start)",
12
+ "Bash(NODE_ENV=production bun run dist/index.js)",
13
+ "Bash(cp:*)",
14
+ "Bash(mv:*)",
15
+ "Bash(git add:*)",
16
+ "Bash(git commit:*)",
17
+ "Bash(git config:*)",
18
+ "Bash(diff:*)",
19
+ "Bash(find:*)",
20
+ "Bash(ls:*)",
21
+ "Bash(rm:*)",
22
+ "Bash(grep:*)",
23
+ "Bash(timeout:*)",
24
+ "Bash(docker:*)",
25
+ "Bash(curl:*)",
26
+ "Bash(npm run dev:*)",
27
+ "Bash(bun core/cli/index.ts dev)",
28
+ "Bash(npm run build:*)",
29
+ "Bash(npx tsc:*)",
30
+ "Bash(bun:*)",
31
+ "Bash(vite build:*)",
32
+ "Bash(tsc --noEmit)",
33
+ "WebSearch",
34
+ "WebFetch(domain:elysiajs.com)",
35
+ "Bash(tree:*)",
36
+ "Bash(git checkout:*)",
37
+ "Bash(npx tailwindcss init:*)",
38
+ "Bash(pkill:*)",
39
+ "Bash(taskkill:*)",
40
+ "Bash(npx eslint:*)",
41
+ "Bash(export NODE_ENV=production)",
42
+ "WebFetch(domain:vite.dev)",
43
+ "Bash(git restore:*)",
44
+ "Bash(NODE_ENV=production bun run app/server/index.ts)",
45
+ "Bash(NODE_ENV=production bun dist/index.js)",
46
+ "Bash(NODE_ENV=production bun run build)",
47
+ "Bash(chmod:*)",
48
+ "Bash(./flux-cli.ts:*)",
49
+ "Bash(./create-fluxstack.ts divine-app)",
50
+ "Bash(./create-fluxstack.ts divine-app-fixed)",
51
+ "Bash(NODE_ENV=development bun run dev)",
52
+ "Bash(./create-fluxstack.ts meu-app-teste)",
53
+ "Bash(npm whoami:*)",
54
+ "Bash(npm publish:*)",
55
+ "Read(/C:\\Users\\Marcos\\Documents\\GitHub\\aviso-projeto/**)",
56
+ "Bash(cat:*)",
57
+ "Bash(./create-fluxstack.ts teste-corrigido)",
58
+ "Bash(./create-fluxstack.ts teste-v103)",
59
+ "Bash(./create-fluxstack.ts my-final-test)",
60
+ "Read(/C:\\Users\\Marcos\\Documents\\GitHub\\aviso-projeto\\test-npm-global/**)",
61
+ "Read(/C:\\Users\\Marcos\\Documents\\GitHub\\aviso-projeto\\test-npm-global/**)"
62
+ ],
63
+ "deny": []
64
+ }
65
+ }
package/.dockerignore ADDED
@@ -0,0 +1,50 @@
1
+ # Dependencies
2
+ node_modules/
3
+ */node_modules/
4
+
5
+ # Build outputs (will be generated in container)
6
+ dist/
7
+ build/
8
+ .next/
9
+
10
+ # Development files
11
+ .env.local
12
+ .env.development
13
+
14
+ # IDE files
15
+ .vscode/
16
+ .idea/
17
+ *.swp
18
+ *.swo
19
+
20
+ # OS files
21
+ .DS_Store
22
+ Thumbs.db
23
+
24
+ # Logs
25
+ *.log
26
+ logs/
27
+
28
+ # Runtime
29
+ .tmp/
30
+ .cache/
31
+
32
+ # Git
33
+ .git/
34
+ .gitignore
35
+
36
+ # Testing
37
+ coverage/
38
+ .nyc_output
39
+
40
+ # Context AI (not needed in production)
41
+ context_ai/
42
+
43
+ # Tests (not needed in production)
44
+ tests/
45
+ *.test.*
46
+ *.spec.*
47
+
48
+ # Documentation
49
+ *.md
50
+ !README.md
package/.env.example ADDED
@@ -0,0 +1,53 @@
1
+ # FluxStack Environment Variables
2
+
3
+ # Development Mode
4
+ NODE_ENV=development
5
+
6
+ # Server Configuration
7
+ PORT=3000
8
+ HOST=localhost
9
+
10
+ # Frontend Configuration
11
+ FRONTEND_PORT=5173
12
+ VITE_API_URL=http://localhost:3000
13
+
14
+ # Backend Configuration
15
+ BACKEND_PORT=3001
16
+
17
+ # Database (example - configure based on your needs)
18
+ # DATABASE_URL=postgresql://user:password@localhost:5432/fluxstack
19
+ # DATABASE_HOST=localhost
20
+ # DATABASE_PORT=5432
21
+ # DATABASE_NAME=fluxstack
22
+ # DATABASE_USER=user
23
+ # DATABASE_PASSWORD=password
24
+
25
+ # Authentication (example)
26
+ # JWT_SECRET=your-super-secret-jwt-key
27
+ # JWT_EXPIRES_IN=24h
28
+
29
+ # External APIs (example)
30
+ # STRIPE_SECRET_KEY=sk_test_...
31
+ # STRIPE_PUBLISHABLE_KEY=pk_test_...
32
+
33
+ # Email Service (example)
34
+ # SMTP_HOST=smtp.gmail.com
35
+ # SMTP_PORT=587
36
+ # SMTP_USER=your-email@gmail.com
37
+ # SMTP_PASS=your-app-password
38
+
39
+ # File Upload (example)
40
+ # UPLOAD_PATH=uploads
41
+ # MAX_FILE_SIZE=10485760
42
+
43
+ # CORS Configuration
44
+ CORS_ORIGINS=http://localhost:3000,http://localhost:5173
45
+ CORS_METHODS=GET,POST,PUT,DELETE,OPTIONS
46
+ CORS_HEADERS=Content-Type,Authorization
47
+
48
+ # Logging
49
+ LOG_LEVEL=info
50
+
51
+ # Build Configuration
52
+ BUILD_TARGET=bun
53
+ BUILD_OUTDIR=dist
package/.gitattributes ADDED
@@ -0,0 +1,2 @@
1
+ # Auto detect text files and perform LF normalization
2
+ * text=auto
@@ -0,0 +1,480 @@
1
+ name: 🚀 FluxStack v1.4.0 - Complete Build & Test Suite
2
+
3
+ on:
4
+ push:
5
+ branches: [ main, develop ]
6
+ pull_request:
7
+ branches: [ main, develop ]
8
+ workflow_dispatch: # Allow manual triggering
9
+
10
+ env:
11
+ BUN_VERSION: '1.1.34'
12
+ NODE_VERSION: '20'
13
+
14
+ jobs:
15
+ # 📦 Test unified dependency installation
16
+ installation-test:
17
+ name: 📦 Monorepo Installation Test
18
+ runs-on: ubuntu-latest
19
+ steps:
20
+ - name: 📥 Checkout repository
21
+ uses: actions/checkout@v4
22
+
23
+ - name: 🚀 Setup Bun
24
+ uses: oven-sh/setup-bun@v1
25
+ with:
26
+ bun-version: ${{ env.BUN_VERSION }}
27
+
28
+ - name: 📊 Test installation performance
29
+ run: |
30
+ echo "⏱️ Testing monorepo unified installation..."
31
+ time_start=$(date +%s)
32
+ bun install
33
+ time_end=$(date +%s)
34
+ duration=$((time_end - time_start))
35
+ echo "✅ Installation completed in ${duration}s"
36
+
37
+ # Verify single node_modules
38
+ if [ -d "node_modules" ] && [ ! -d "app/client/node_modules" ]; then
39
+ echo "✅ Unified node_modules structure confirmed"
40
+ else
41
+ echo "❌ Monorepo structure validation failed"
42
+ exit 1
43
+ fi
44
+
45
+ - name: 📋 Verify dependencies availability
46
+ run: |
47
+ echo "🔍 Checking if libraries are available for both frontend and backend..."
48
+
49
+ # Check React (frontend)
50
+ if bun pm ls | grep -q "react@"; then
51
+ echo "✅ React available for frontend"
52
+ else
53
+ echo "❌ React missing"
54
+ exit 1
55
+ fi
56
+
57
+ # Check Elysia (backend)
58
+ if bun pm ls | grep -q "elysia@"; then
59
+ echo "✅ Elysia available for backend"
60
+ else
61
+ echo "❌ Elysia missing"
62
+ exit 1
63
+ fi
64
+
65
+ # Check shared dependencies
66
+ if bun pm ls | grep -q "typescript@"; then
67
+ echo "✅ TypeScript available for both"
68
+ else
69
+ echo "❌ TypeScript missing"
70
+ exit 1
71
+ fi
72
+
73
+ # 🧪 Run all 30 tests
74
+ test-suite:
75
+ name: 🧪 Complete Test Suite (30 Tests)
76
+ runs-on: ubuntu-latest
77
+ needs: installation-test
78
+ steps:
79
+ - name: 📥 Checkout repository
80
+ uses: actions/checkout@v4
81
+
82
+ - name: 🚀 Setup Bun
83
+ uses: oven-sh/setup-bun@v1
84
+ with:
85
+ bun-version: ${{ env.BUN_VERSION }}
86
+
87
+ - name: 📦 Install dependencies
88
+ run: bun install
89
+
90
+ - name: 🧪 Run all tests
91
+ run: |
92
+ echo "🔬 Running complete test suite..."
93
+ bun run test:run
94
+
95
+ - name: 📊 Generate test coverage
96
+ run: |
97
+ echo "📈 Generating test coverage report..."
98
+ bun run test:coverage
99
+
100
+ - name: 📋 Upload coverage reports
101
+ uses: codecov/codecov-action@v3
102
+ with:
103
+ fail_ci_if_error: false
104
+
105
+ # 🎨 Frontend build isolation test
106
+ frontend-build-test:
107
+ name: 🎨 Frontend Build Isolation
108
+ runs-on: ubuntu-latest
109
+ needs: installation-test
110
+ steps:
111
+ - name: 📥 Checkout repository
112
+ uses: actions/checkout@v4
113
+
114
+ - name: 🚀 Setup Bun
115
+ uses: oven-sh/setup-bun@v1
116
+ with:
117
+ bun-version: ${{ env.BUN_VERSION }}
118
+
119
+ - name: 📦 Install dependencies
120
+ run: bun install
121
+
122
+ - name: 🎨 Build frontend only
123
+ run: |
124
+ echo "🏗️ Testing isolated frontend build..."
125
+ bun run build:frontend
126
+
127
+ - name: ✅ Verify frontend build artifacts
128
+ run: |
129
+ echo "🔍 Checking frontend build output..."
130
+
131
+ if [ -d "dist/client" ]; then
132
+ echo "✅ Frontend dist directory created"
133
+ else
134
+ echo "❌ Frontend dist directory missing"
135
+ exit 1
136
+ fi
137
+
138
+ if [ -f "dist/client/index.html" ]; then
139
+ echo "✅ Frontend index.html generated"
140
+ else
141
+ echo "❌ Frontend index.html missing"
142
+ exit 1
143
+ fi
144
+
145
+ if [ -d "dist/client/assets" ]; then
146
+ echo "✅ Frontend assets directory created"
147
+ echo "📋 Assets found:"
148
+ ls -la dist/client/assets/
149
+ else
150
+ echo "❌ Frontend assets directory missing"
151
+ exit 1
152
+ fi
153
+
154
+ - name: 📏 Check bundle size
155
+ run: |
156
+ echo "📊 Frontend bundle analysis:"
157
+ du -sh dist/client/
158
+ echo "📋 Asset breakdown:"
159
+ find dist/client/assets -name "*.js" -exec ls -lh {} \;
160
+ find dist/client/assets -name "*.css" -exec ls -lh {} \;
161
+
162
+ # ⚡ Backend build isolation test
163
+ backend-build-test:
164
+ name: ⚡ Backend Build Isolation
165
+ runs-on: ubuntu-latest
166
+ needs: installation-test
167
+ steps:
168
+ - name: 📥 Checkout repository
169
+ uses: actions/checkout@v4
170
+
171
+ - name: 🚀 Setup Bun
172
+ uses: oven-sh/setup-bun@v1
173
+ with:
174
+ bun-version: ${{ env.BUN_VERSION }}
175
+
176
+ - name: 📦 Install dependencies
177
+ run: bun install
178
+
179
+ - name: ⚡ Build backend only
180
+ run: |
181
+ echo "🏗️ Testing isolated backend build..."
182
+ bun run build:backend
183
+
184
+ - name: ✅ Verify backend build artifacts
185
+ run: |
186
+ echo "🔍 Checking backend build output..."
187
+
188
+ if [ -f "dist/index.js" ]; then
189
+ echo "✅ Backend bundle created"
190
+ ls -lh dist/index.js
191
+ else
192
+ echo "❌ Backend bundle missing"
193
+ exit 1
194
+ fi
195
+
196
+ - name: 🧪 Test backend bundle execution
197
+ run: |
198
+ echo "🚀 Testing backend bundle execution..."
199
+ timeout 10s bun dist/index.js || true
200
+ echo "✅ Backend bundle executable"
201
+
202
+ # 🚀 Full-stack unified build test
203
+ fullstack-build-test:
204
+ name: 🚀 Full-Stack Unified Build
205
+ runs-on: ubuntu-latest
206
+ needs: installation-test
207
+ steps:
208
+ - name: 📥 Checkout repository
209
+ uses: actions/checkout@v4
210
+
211
+ - name: 🚀 Setup Bun
212
+ uses: oven-sh/setup-bun@v1
213
+ with:
214
+ bun-version: ${{ env.BUN_VERSION }}
215
+
216
+ - name: 📦 Install dependencies
217
+ run: bun install
218
+
219
+ - name: 🏗️ Full unified build
220
+ run: |
221
+ echo "🔧 Testing unified full-stack build..."
222
+ bun run build
223
+
224
+ - name: ✅ Verify complete build artifacts
225
+ run: |
226
+ echo "🔍 Checking complete build output..."
227
+
228
+ # Check frontend artifacts
229
+ if [ -d "dist/client" ] && [ -f "dist/client/index.html" ]; then
230
+ echo "✅ Frontend build completed"
231
+ else
232
+ echo "❌ Frontend build incomplete"
233
+ exit 1
234
+ fi
235
+
236
+ # Check backend artifacts
237
+ if [ -f "dist/index.js" ]; then
238
+ echo "✅ Backend build completed"
239
+ else
240
+ echo "❌ Backend build incomplete"
241
+ exit 1
242
+ fi
243
+
244
+ echo "📊 Complete build size:"
245
+ du -sh dist/
246
+
247
+ - name: 🚀 Test production server simulation
248
+ run: |
249
+ echo "🌐 Testing production server startup..."
250
+ timeout 15s bun run start &
251
+ sleep 5
252
+
253
+ # Test API endpoint
254
+ if curl -f http://localhost:3000/api/health; then
255
+ echo "✅ Production server API responding"
256
+ else
257
+ echo "❌ Production server API not responding"
258
+ exit 1
259
+ fi
260
+
261
+ # 🔧 Development mode tests
262
+ development-mode-test:
263
+ name: 🔧 Development Modes Test
264
+ runs-on: ubuntu-latest
265
+ needs: installation-test
266
+ strategy:
267
+ matrix:
268
+ mode: [frontend, backend]
269
+ steps:
270
+ - name: 📥 Checkout repository
271
+ uses: actions/checkout@v4
272
+
273
+ - name: 🚀 Setup Bun
274
+ uses: oven-sh/setup-bun@v1
275
+ with:
276
+ bun-version: ${{ env.BUN_VERSION }}
277
+
278
+ - name: 📦 Install dependencies
279
+ run: bun install
280
+
281
+ - name: 🔧 Test ${{ matrix.mode }} development mode
282
+ run: |
283
+ echo "🚀 Testing ${{ matrix.mode }} development mode..."
284
+
285
+ if [ "${{ matrix.mode }}" == "frontend" ]; then
286
+ timeout 30s bun run dev:frontend &
287
+ sleep 10
288
+ if curl -f http://localhost:5173; then
289
+ echo "✅ Frontend dev server responding"
290
+ else
291
+ echo "❌ Frontend dev server not responding"
292
+ exit 1
293
+ fi
294
+ fi
295
+
296
+ if [ "${{ matrix.mode }}" == "backend" ]; then
297
+ timeout 30s bun run dev:backend &
298
+ sleep 10
299
+ if curl -f http://localhost:3001/api/health; then
300
+ echo "✅ Backend dev server responding"
301
+ else
302
+ echo "❌ Backend dev server not responding"
303
+ exit 1
304
+ fi
305
+ fi
306
+
307
+ # 🐳 Docker build tests
308
+ docker-build-test:
309
+ name: 🐳 Docker Build Test
310
+ runs-on: ubuntu-latest
311
+ needs: [frontend-build-test, backend-build-test]
312
+ steps:
313
+ - name: 📥 Checkout repository
314
+ uses: actions/checkout@v4
315
+
316
+ - name: 🐳 Set up Docker Buildx
317
+ uses: docker/setup-buildx-action@v3
318
+
319
+ - name: 🏗️ Build Docker image
320
+ run: |
321
+ echo "🐳 Building FluxStack Docker image..."
322
+ docker build -t fluxstack:test .
323
+
324
+ - name: 🧪 Test Docker container
325
+ run: |
326
+ echo "🚀 Testing Docker container..."
327
+ docker run -d -p 3000:3000 --name fluxstack-test fluxstack:test
328
+ sleep 10
329
+
330
+ if curl -f http://localhost:3000/api/health; then
331
+ echo "✅ Docker container API responding"
332
+ else
333
+ echo "❌ Docker container API not responding"
334
+ exit 1
335
+ fi
336
+
337
+ docker stop fluxstack-test
338
+
339
+ # 🔄 Hot reload simulation test
340
+ hot-reload-test:
341
+ name: 🔄 Hot Reload Independence Test
342
+ runs-on: ubuntu-latest
343
+ needs: installation-test
344
+ steps:
345
+ - name: 📥 Checkout repository
346
+ uses: actions/checkout@v4
347
+
348
+ - name: 🚀 Setup Bun
349
+ uses: oven-sh/setup-bun@v1
350
+ with:
351
+ bun-version: ${{ env.BUN_VERSION }}
352
+
353
+ - name: 📦 Install dependencies
354
+ run: bun install
355
+
356
+ - name: 🔥 Test hot reload independence
357
+ run: |
358
+ echo "🔄 Testing hot reload independence..."
359
+
360
+ # Start full-stack dev mode
361
+ timeout 60s bun run dev &
362
+ DEV_PID=$!
363
+ sleep 15
364
+
365
+ # Verify both servers are running
366
+ if curl -f http://localhost:3000/api/health && curl -f http://localhost:5173; then
367
+ echo "✅ Both frontend and backend started successfully"
368
+ else
369
+ echo "❌ Development servers failed to start"
370
+ kill $DEV_PID 2>/dev/null || true
371
+ exit 1
372
+ fi
373
+
374
+ kill $DEV_PID 2>/dev/null || true
375
+
376
+ # 📊 Performance benchmarks
377
+ performance-test:
378
+ name: 📊 Performance Benchmarks
379
+ runs-on: ubuntu-latest
380
+ needs: installation-test
381
+ steps:
382
+ - name: 📥 Checkout repository
383
+ uses: actions/checkout@v4
384
+
385
+ - name: 🚀 Setup Bun
386
+ uses: oven-sh/setup-bun@v1
387
+ with:
388
+ bun-version: ${{ env.BUN_VERSION }}
389
+
390
+ - name: ⏱️ Benchmark installation speed
391
+ run: |
392
+ echo "⚡ Benchmarking installation performance..."
393
+ rm -rf node_modules bun.lockb
394
+
395
+ time_start=$(date +%s%3N)
396
+ bun install
397
+ time_end=$(date +%s%3N)
398
+ duration=$((time_end - time_start))
399
+
400
+ echo "📊 Installation completed in ${duration}ms"
401
+ echo "🎯 Target: <15000ms (15s)"
402
+
403
+ if [ $duration -lt 15000 ]; then
404
+ echo "✅ Installation performance acceptable"
405
+ else
406
+ echo "⚠️ Installation slower than expected"
407
+ fi
408
+
409
+ - name: ⏱️ Benchmark build performance
410
+ run: |
411
+ echo "🏗️ Benchmarking build performance..."
412
+
413
+ # Frontend build benchmark
414
+ time_start=$(date +%s%3N)
415
+ bun run build:frontend
416
+ time_end=$(date +%s%3N)
417
+ frontend_duration=$((time_end - time_start))
418
+ echo "🎨 Frontend build: ${frontend_duration}ms"
419
+
420
+ # Backend build benchmark
421
+ time_start=$(date +%s%3N)
422
+ bun run build:backend
423
+ time_end=$(date +%s%3N)
424
+ backend_duration=$((time_end - time_start))
425
+ echo "⚡ Backend build: ${backend_duration}ms"
426
+
427
+ # Total unified build
428
+ time_start=$(date +%s%3N)
429
+ bun run build
430
+ time_end=$(date +%s%3N)
431
+ total_duration=$((time_end - time_start))
432
+ echo "🚀 Total build: ${total_duration}ms"
433
+
434
+ # ✅ Summary job
435
+ build-summary:
436
+ name: ✅ Build Test Summary
437
+ runs-on: ubuntu-latest
438
+ needs: [
439
+ installation-test,
440
+ test-suite,
441
+ frontend-build-test,
442
+ backend-build-test,
443
+ fullstack-build-test,
444
+ development-mode-test,
445
+ docker-build-test,
446
+ hot-reload-test,
447
+ performance-test
448
+ ]
449
+ if: always()
450
+ steps:
451
+ - name: 📋 Build Summary
452
+ run: |
453
+ echo "🎉 FluxStack v1.4.0 Build Test Summary"
454
+ echo "=================================="
455
+ echo "✅ Monorepo installation: ${{ needs.installation-test.result }}"
456
+ echo "✅ Complete test suite (30 tests): ${{ needs.test-suite.result }}"
457
+ echo "✅ Frontend build isolation: ${{ needs.frontend-build-test.result }}"
458
+ echo "✅ Backend build isolation: ${{ needs.backend-build-test.result }}"
459
+ echo "✅ Full-stack unified build: ${{ needs.fullstack-build-test.result }}"
460
+ echo "✅ Development modes: ${{ needs.development-mode-test.result }}"
461
+ echo "✅ Docker containerization: ${{ needs.docker-build-test.result }}"
462
+ echo "✅ Hot reload independence: ${{ needs.hot-reload-test.result }}"
463
+ echo "✅ Performance benchmarks: ${{ needs.performance-test.result }}"
464
+ echo ""
465
+ echo "🚀 FluxStack v1.4.0 monorepo architecture validated!"
466
+
467
+ - name: ❌ Fail if any test failed
468
+ if: |
469
+ needs.installation-test.result == 'failure' ||
470
+ needs.test-suite.result == 'failure' ||
471
+ needs.frontend-build-test.result == 'failure' ||
472
+ needs.backend-build-test.result == 'failure' ||
473
+ needs.fullstack-build-test.result == 'failure' ||
474
+ needs.development-mode-test.result == 'failure' ||
475
+ needs.docker-build-test.result == 'failure' ||
476
+ needs.hot-reload-test.result == 'failure' ||
477
+ needs.performance-test.result == 'failure'
478
+ run: |
479
+ echo "❌ Some tests failed - check individual job results"
480
+ exit 1