create-fluxstack 1.0.1 → 1.0.3

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 (466) hide show
  1. package/.claude/settings.local.json +63 -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/README-Docker.md +85 -0
  19. package/TEST_RESULTS.md +130 -0
  20. package/ai-context/00-QUICK-START.md +86 -0
  21. package/ai-context/README.md +88 -0
  22. package/ai-context/development/eden-treaty-guide.md +362 -0
  23. package/ai-context/development/patterns.md +382 -0
  24. package/ai-context/examples/crud-complete.md +626 -0
  25. package/ai-context/project/architecture.md +399 -0
  26. package/ai-context/project/overview.md +213 -0
  27. package/ai-context/recent-changes/eden-treaty-refactor.md +281 -0
  28. package/ai-context/recent-changes/type-inference-fix.md +223 -0
  29. package/ai-context/reference/environment-vars.md +384 -0
  30. package/ai-context/reference/troubleshooting.md +407 -0
  31. package/bun.lock +21 -11
  32. package/bunfig.toml +16 -0
  33. package/config/fluxstack.config.ts +48 -0
  34. package/create-fluxstack.ts +2 -3
  35. package/create-test-app.ts +156 -0
  36. package/docker-compose.microservices.yml +75 -0
  37. package/docker-compose.simple.yml +57 -0
  38. package/docker-compose.yml +71 -0
  39. package/docs/dynamic-environment-variables.md +380 -0
  40. package/eslint.config.js +23 -0
  41. package/examples/dynamic-env-usage.ts +283 -0
  42. package/examples/hybrid-env-strategy.ts +212 -0
  43. package/examples/simplified-env-usage.ts +251 -0
  44. package/flux-cli.ts +214 -0
  45. package/fluxstack.config.ts +318 -0
  46. package/meu-app-teste/README.md +44 -0
  47. package/meu-app-teste/app/client/README.md +69 -0
  48. package/meu-app-teste/app/client/frontend-only.ts +12 -0
  49. package/meu-app-teste/app/client/index.html +13 -0
  50. package/meu-app-teste/app/client/public/vite.svg +1 -0
  51. package/meu-app-teste/app/client/src/App.css +883 -0
  52. package/meu-app-teste/app/client/src/App.tsx +669 -0
  53. package/meu-app-teste/app/client/src/assets/react.svg +1 -0
  54. package/meu-app-teste/app/client/src/components/TestPage.tsx +453 -0
  55. package/meu-app-teste/app/client/src/index.css +51 -0
  56. package/meu-app-teste/app/client/src/lib/eden-api.ts +110 -0
  57. package/meu-app-teste/app/client/src/main.tsx +10 -0
  58. package/meu-app-teste/app/client/src/vite-env.d.ts +1 -0
  59. package/meu-app-teste/app/client/tsconfig.app.json +43 -0
  60. package/meu-app-teste/app/client/tsconfig.json +7 -0
  61. package/meu-app-teste/app/client/tsconfig.node.json +25 -0
  62. package/meu-app-teste/app/server/app.ts +10 -0
  63. package/meu-app-teste/app/server/backend-only.ts +15 -0
  64. package/meu-app-teste/app/server/controllers/users.controller.ts +69 -0
  65. package/meu-app-teste/app/server/index.ts +104 -0
  66. package/meu-app-teste/app/server/routes/index.ts +25 -0
  67. package/meu-app-teste/app/server/routes/users.routes.ts +121 -0
  68. package/meu-app-teste/app/server/types/index.ts +1 -0
  69. package/meu-app-teste/app/shared/types/index.ts +18 -0
  70. package/meu-app-teste/bun.lock +1053 -0
  71. package/meu-app-teste/core/__tests__/integration.test.ts +227 -0
  72. package/meu-app-teste/core/build/index.ts +186 -0
  73. package/meu-app-teste/core/cli/command-registry.ts +334 -0
  74. package/meu-app-teste/core/cli/index.ts +394 -0
  75. package/meu-app-teste/core/cli/plugin-discovery.ts +200 -0
  76. package/meu-app-teste/core/client/standalone.ts +57 -0
  77. package/meu-app-teste/core/config/__tests__/config-loader.test.ts +591 -0
  78. package/meu-app-teste/core/config/__tests__/config-merger.test.ts +657 -0
  79. package/meu-app-teste/core/config/__tests__/env-converter.test.ts +372 -0
  80. package/meu-app-teste/core/config/__tests__/env-processor.test.ts +431 -0
  81. package/meu-app-teste/core/config/__tests__/env.test.ts +452 -0
  82. package/meu-app-teste/core/config/__tests__/integration.test.ts +418 -0
  83. package/meu-app-teste/core/config/__tests__/loader.test.ts +331 -0
  84. package/meu-app-teste/core/config/__tests__/schema.test.ts +129 -0
  85. package/meu-app-teste/core/config/__tests__/validator.test.ts +318 -0
  86. package/meu-app-teste/core/config/env-dynamic.ts +326 -0
  87. package/meu-app-teste/core/config/env.ts +597 -0
  88. package/meu-app-teste/core/config/index.ts +317 -0
  89. package/meu-app-teste/core/config/loader.ts +546 -0
  90. package/meu-app-teste/core/config/runtime-config.ts +322 -0
  91. package/meu-app-teste/core/config/schema.ts +694 -0
  92. package/meu-app-teste/core/config/validator.ts +540 -0
  93. package/meu-app-teste/core/framework/__tests__/server.test.ts +233 -0
  94. package/meu-app-teste/core/framework/client.ts +132 -0
  95. package/meu-app-teste/core/framework/index.ts +8 -0
  96. package/meu-app-teste/core/framework/server.ts +501 -0
  97. package/meu-app-teste/core/framework/types.ts +63 -0
  98. package/meu-app-teste/core/plugins/__tests__/built-in.test.ts.disabled +366 -0
  99. package/meu-app-teste/core/plugins/__tests__/manager.test.ts +398 -0
  100. package/meu-app-teste/core/plugins/__tests__/monitoring.test.ts +401 -0
  101. package/meu-app-teste/core/plugins/__tests__/registry.test.ts +335 -0
  102. package/meu-app-teste/core/plugins/built-in/index.ts +142 -0
  103. package/meu-app-teste/core/plugins/built-in/logger/index.ts +180 -0
  104. package/meu-app-teste/core/plugins/built-in/monitoring/README.md +193 -0
  105. package/meu-app-teste/core/plugins/built-in/monitoring/index.ts +912 -0
  106. package/meu-app-teste/core/plugins/built-in/static/index.ts +289 -0
  107. package/meu-app-teste/core/plugins/built-in/swagger/index.ts +229 -0
  108. package/meu-app-teste/core/plugins/built-in/vite/index.ts +316 -0
  109. package/meu-app-teste/core/plugins/config.ts +348 -0
  110. package/meu-app-teste/core/plugins/discovery.ts +350 -0
  111. package/meu-app-teste/core/plugins/executor.ts +351 -0
  112. package/meu-app-teste/core/plugins/index.ts +195 -0
  113. package/meu-app-teste/core/plugins/manager.ts +583 -0
  114. package/meu-app-teste/core/plugins/registry.ts +424 -0
  115. package/meu-app-teste/core/plugins/types.ts +254 -0
  116. package/meu-app-teste/core/server/framework.ts +123 -0
  117. package/meu-app-teste/core/server/index.ts +8 -0
  118. package/meu-app-teste/core/server/plugins/database.ts +182 -0
  119. package/meu-app-teste/core/server/plugins/logger.ts +47 -0
  120. package/meu-app-teste/core/server/plugins/swagger.ts +34 -0
  121. package/meu-app-teste/core/server/standalone.ts +91 -0
  122. package/meu-app-teste/core/templates/create-project.ts +455 -0
  123. package/meu-app-teste/core/types/api.ts +169 -0
  124. package/meu-app-teste/core/types/build.ts +174 -0
  125. package/meu-app-teste/core/types/config.ts +68 -0
  126. package/meu-app-teste/core/types/index.ts +127 -0
  127. package/meu-app-teste/core/types/plugin.ts +94 -0
  128. package/meu-app-teste/core/utils/__tests__/errors.test.ts +139 -0
  129. package/meu-app-teste/core/utils/__tests__/helpers.test.ts +297 -0
  130. package/meu-app-teste/core/utils/__tests__/logger.test.ts +141 -0
  131. package/meu-app-teste/core/utils/env-runtime-v2.ts +232 -0
  132. package/meu-app-teste/core/utils/env-runtime.ts +252 -0
  133. package/meu-app-teste/core/utils/errors/codes.ts +115 -0
  134. package/meu-app-teste/core/utils/errors/handlers.ts +63 -0
  135. package/meu-app-teste/core/utils/errors/index.ts +81 -0
  136. package/meu-app-teste/core/utils/helpers.ts +180 -0
  137. package/meu-app-teste/core/utils/index.ts +18 -0
  138. package/meu-app-teste/core/utils/logger/index.ts +161 -0
  139. package/meu-app-teste/core/utils/logger.ts +106 -0
  140. package/meu-app-teste/core/utils/monitoring/index.ts +212 -0
  141. package/meu-app-teste/package.json +92 -0
  142. package/meu-app-teste/tsconfig.json +51 -0
  143. package/meu-app-teste/vite.config.ts +42 -0
  144. package/my-final-test/README.md +44 -0
  145. package/my-final-test/app/client/README.md +69 -0
  146. package/my-final-test/app/client/frontend-only.ts +12 -0
  147. package/my-final-test/app/client/index.html +13 -0
  148. package/my-final-test/app/client/public/vite.svg +1 -0
  149. package/my-final-test/app/client/src/App.css +883 -0
  150. package/my-final-test/app/client/src/App.tsx +669 -0
  151. package/my-final-test/app/client/src/assets/react.svg +1 -0
  152. package/my-final-test/app/client/src/components/TestPage.tsx +453 -0
  153. package/my-final-test/app/client/src/index.css +51 -0
  154. package/my-final-test/app/client/src/lib/eden-api.ts +110 -0
  155. package/my-final-test/app/client/src/main.tsx +10 -0
  156. package/my-final-test/app/client/src/vite-env.d.ts +1 -0
  157. package/my-final-test/app/client/tsconfig.app.json +43 -0
  158. package/my-final-test/app/client/tsconfig.json +7 -0
  159. package/my-final-test/app/client/tsconfig.node.json +25 -0
  160. package/my-final-test/app/server/app.ts +10 -0
  161. package/my-final-test/app/server/backend-only.ts +15 -0
  162. package/my-final-test/app/server/controllers/users.controller.ts +69 -0
  163. package/my-final-test/app/server/index.ts +104 -0
  164. package/my-final-test/app/server/routes/index.ts +25 -0
  165. package/my-final-test/app/server/routes/users.routes.ts +121 -0
  166. package/my-final-test/app/server/types/index.ts +1 -0
  167. package/my-final-test/app/shared/types/index.ts +18 -0
  168. package/my-final-test/bun.lock +993 -0
  169. package/my-final-test/core/__tests__/integration.test.ts +227 -0
  170. package/my-final-test/core/build/index.ts +186 -0
  171. package/my-final-test/core/cli/command-registry.ts +334 -0
  172. package/my-final-test/core/cli/index.ts +394 -0
  173. package/my-final-test/core/cli/plugin-discovery.ts +200 -0
  174. package/my-final-test/core/client/standalone.ts +57 -0
  175. package/my-final-test/core/config/__tests__/config-loader.test.ts +591 -0
  176. package/my-final-test/core/config/__tests__/config-merger.test.ts +657 -0
  177. package/my-final-test/core/config/__tests__/env-converter.test.ts +372 -0
  178. package/my-final-test/core/config/__tests__/env-processor.test.ts +431 -0
  179. package/my-final-test/core/config/__tests__/env.test.ts +452 -0
  180. package/my-final-test/core/config/__tests__/integration.test.ts +418 -0
  181. package/my-final-test/core/config/__tests__/loader.test.ts +331 -0
  182. package/my-final-test/core/config/__tests__/schema.test.ts +129 -0
  183. package/my-final-test/core/config/__tests__/validator.test.ts +318 -0
  184. package/my-final-test/core/config/env-dynamic.ts +326 -0
  185. package/my-final-test/core/config/env.ts +597 -0
  186. package/my-final-test/core/config/index.ts +317 -0
  187. package/my-final-test/core/config/loader.ts +546 -0
  188. package/my-final-test/core/config/runtime-config.ts +322 -0
  189. package/my-final-test/core/config/schema.ts +694 -0
  190. package/my-final-test/core/config/validator.ts +540 -0
  191. package/my-final-test/core/framework/__tests__/server.test.ts +233 -0
  192. package/my-final-test/core/framework/client.ts +132 -0
  193. package/my-final-test/core/framework/index.ts +8 -0
  194. package/my-final-test/core/framework/server.ts +501 -0
  195. package/my-final-test/core/framework/types.ts +63 -0
  196. package/my-final-test/core/plugins/__tests__/built-in.test.ts.disabled +366 -0
  197. package/my-final-test/core/plugins/__tests__/manager.test.ts +398 -0
  198. package/my-final-test/core/plugins/__tests__/monitoring.test.ts +401 -0
  199. package/my-final-test/core/plugins/__tests__/registry.test.ts +335 -0
  200. package/my-final-test/core/plugins/built-in/index.ts +142 -0
  201. package/my-final-test/core/plugins/built-in/logger/index.ts +180 -0
  202. package/my-final-test/core/plugins/built-in/monitoring/README.md +193 -0
  203. package/my-final-test/core/plugins/built-in/monitoring/index.ts +912 -0
  204. package/my-final-test/core/plugins/built-in/static/index.ts +289 -0
  205. package/my-final-test/core/plugins/built-in/swagger/index.ts +229 -0
  206. package/my-final-test/core/plugins/built-in/vite/index.ts +316 -0
  207. package/my-final-test/core/plugins/config.ts +348 -0
  208. package/my-final-test/core/plugins/discovery.ts +350 -0
  209. package/my-final-test/core/plugins/executor.ts +351 -0
  210. package/my-final-test/core/plugins/index.ts +195 -0
  211. package/my-final-test/core/plugins/manager.ts +583 -0
  212. package/my-final-test/core/plugins/registry.ts +424 -0
  213. package/my-final-test/core/plugins/types.ts +254 -0
  214. package/my-final-test/core/server/framework.ts +123 -0
  215. package/my-final-test/core/server/index.ts +8 -0
  216. package/my-final-test/core/server/plugins/database.ts +182 -0
  217. package/my-final-test/core/server/plugins/logger.ts +47 -0
  218. package/my-final-test/core/server/plugins/swagger.ts +34 -0
  219. package/my-final-test/core/server/standalone.ts +91 -0
  220. package/my-final-test/core/templates/create-project.ts +455 -0
  221. package/my-final-test/core/types/api.ts +169 -0
  222. package/my-final-test/core/types/build.ts +174 -0
  223. package/my-final-test/core/types/config.ts +68 -0
  224. package/my-final-test/core/types/index.ts +127 -0
  225. package/my-final-test/core/types/plugin.ts +94 -0
  226. package/my-final-test/core/utils/__tests__/errors.test.ts +139 -0
  227. package/my-final-test/core/utils/__tests__/helpers.test.ts +297 -0
  228. package/my-final-test/core/utils/__tests__/logger.test.ts +141 -0
  229. package/my-final-test/core/utils/env-runtime-v2.ts +232 -0
  230. package/my-final-test/core/utils/env-runtime.ts +252 -0
  231. package/my-final-test/core/utils/errors/codes.ts +115 -0
  232. package/my-final-test/core/utils/errors/handlers.ts +63 -0
  233. package/my-final-test/core/utils/errors/index.ts +81 -0
  234. package/my-final-test/core/utils/helpers.ts +180 -0
  235. package/my-final-test/core/utils/index.ts +18 -0
  236. package/my-final-test/core/utils/logger/index.ts +161 -0
  237. package/my-final-test/core/utils/logger.ts +106 -0
  238. package/my-final-test/core/utils/monitoring/index.ts +212 -0
  239. package/my-final-test/package.json +68 -0
  240. package/my-final-test/tsconfig.json +51 -0
  241. package/my-final-test/vite.config.ts +42 -0
  242. package/nginx-lb.conf +37 -0
  243. package/package-template.json +32 -15
  244. package/package.json +71 -30
  245. package/publish-setup.md +111 -0
  246. package/publish.sh +63 -0
  247. package/run-clean.ts +26 -0
  248. package/run-env-tests.ts +313 -0
  249. package/tailwind.config.js +34 -0
  250. package/teste-corrigido/README.md +44 -0
  251. package/teste-corrigido/app/client/README.md +69 -0
  252. package/teste-corrigido/app/client/frontend-only.ts +12 -0
  253. package/teste-corrigido/app/client/index.html +13 -0
  254. package/teste-corrigido/app/client/public/vite.svg +1 -0
  255. package/teste-corrigido/app/client/src/App.css +883 -0
  256. package/teste-corrigido/app/client/src/App.tsx +669 -0
  257. package/teste-corrigido/app/client/src/assets/react.svg +1 -0
  258. package/teste-corrigido/app/client/src/components/TestPage.tsx +453 -0
  259. package/teste-corrigido/app/client/src/index.css +51 -0
  260. package/teste-corrigido/app/client/src/lib/eden-api.ts +110 -0
  261. package/teste-corrigido/app/client/src/main.tsx +10 -0
  262. package/teste-corrigido/app/client/src/vite-env.d.ts +1 -0
  263. package/teste-corrigido/app/client/tsconfig.app.json +43 -0
  264. package/teste-corrigido/app/client/tsconfig.json +7 -0
  265. package/teste-corrigido/app/client/tsconfig.node.json +25 -0
  266. package/teste-corrigido/app/server/app.ts +10 -0
  267. package/teste-corrigido/app/server/backend-only.ts +15 -0
  268. package/teste-corrigido/app/server/controllers/users.controller.ts +69 -0
  269. package/teste-corrigido/app/server/index.ts +104 -0
  270. package/teste-corrigido/app/server/routes/index.ts +25 -0
  271. package/teste-corrigido/app/server/routes/users.routes.ts +121 -0
  272. package/teste-corrigido/app/server/types/index.ts +1 -0
  273. package/teste-corrigido/app/shared/types/index.ts +18 -0
  274. package/teste-corrigido/bun.lock +1053 -0
  275. package/teste-corrigido/core/__tests__/integration.test.ts +227 -0
  276. package/teste-corrigido/core/build/index.ts +186 -0
  277. package/teste-corrigido/core/cli/command-registry.ts +334 -0
  278. package/teste-corrigido/core/cli/index.ts +394 -0
  279. package/teste-corrigido/core/cli/plugin-discovery.ts +200 -0
  280. package/teste-corrigido/core/client/standalone.ts +57 -0
  281. package/teste-corrigido/core/config/__tests__/config-loader.test.ts +591 -0
  282. package/teste-corrigido/core/config/__tests__/config-merger.test.ts +657 -0
  283. package/teste-corrigido/core/config/__tests__/env-converter.test.ts +372 -0
  284. package/teste-corrigido/core/config/__tests__/env-processor.test.ts +431 -0
  285. package/teste-corrigido/core/config/__tests__/env.test.ts +452 -0
  286. package/teste-corrigido/core/config/__tests__/integration.test.ts +418 -0
  287. package/teste-corrigido/core/config/__tests__/loader.test.ts +331 -0
  288. package/teste-corrigido/core/config/__tests__/schema.test.ts +129 -0
  289. package/teste-corrigido/core/config/__tests__/validator.test.ts +318 -0
  290. package/teste-corrigido/core/config/env-dynamic.ts +326 -0
  291. package/teste-corrigido/core/config/env.ts +597 -0
  292. package/teste-corrigido/core/config/index.ts +317 -0
  293. package/teste-corrigido/core/config/loader.ts +546 -0
  294. package/teste-corrigido/core/config/runtime-config.ts +322 -0
  295. package/teste-corrigido/core/config/schema.ts +694 -0
  296. package/teste-corrigido/core/config/validator.ts +540 -0
  297. package/teste-corrigido/core/framework/__tests__/server.test.ts +233 -0
  298. package/teste-corrigido/core/framework/client.ts +132 -0
  299. package/teste-corrigido/core/framework/index.ts +8 -0
  300. package/teste-corrigido/core/framework/server.ts +501 -0
  301. package/teste-corrigido/core/framework/types.ts +63 -0
  302. package/teste-corrigido/core/plugins/__tests__/built-in.test.ts.disabled +366 -0
  303. package/teste-corrigido/core/plugins/__tests__/manager.test.ts +398 -0
  304. package/teste-corrigido/core/plugins/__tests__/monitoring.test.ts +401 -0
  305. package/teste-corrigido/core/plugins/__tests__/registry.test.ts +335 -0
  306. package/teste-corrigido/core/plugins/built-in/index.ts +142 -0
  307. package/teste-corrigido/core/plugins/built-in/logger/index.ts +180 -0
  308. package/teste-corrigido/core/plugins/built-in/monitoring/README.md +193 -0
  309. package/teste-corrigido/core/plugins/built-in/monitoring/index.ts +912 -0
  310. package/teste-corrigido/core/plugins/built-in/static/index.ts +289 -0
  311. package/teste-corrigido/core/plugins/built-in/swagger/index.ts +229 -0
  312. package/teste-corrigido/core/plugins/built-in/vite/index.ts +316 -0
  313. package/teste-corrigido/core/plugins/config.ts +348 -0
  314. package/teste-corrigido/core/plugins/discovery.ts +350 -0
  315. package/teste-corrigido/core/plugins/executor.ts +351 -0
  316. package/teste-corrigido/core/plugins/index.ts +195 -0
  317. package/teste-corrigido/core/plugins/manager.ts +583 -0
  318. package/teste-corrigido/core/plugins/registry.ts +424 -0
  319. package/teste-corrigido/core/plugins/types.ts +254 -0
  320. package/teste-corrigido/core/server/framework.ts +123 -0
  321. package/teste-corrigido/core/server/index.ts +8 -0
  322. package/teste-corrigido/core/server/plugins/database.ts +182 -0
  323. package/teste-corrigido/core/server/plugins/logger.ts +47 -0
  324. package/teste-corrigido/core/server/plugins/swagger.ts +34 -0
  325. package/teste-corrigido/core/server/standalone.ts +91 -0
  326. package/teste-corrigido/core/templates/create-project.ts +455 -0
  327. package/teste-corrigido/core/types/api.ts +169 -0
  328. package/teste-corrigido/core/types/build.ts +174 -0
  329. package/teste-corrigido/core/types/config.ts +68 -0
  330. package/teste-corrigido/core/types/index.ts +127 -0
  331. package/teste-corrigido/core/types/plugin.ts +94 -0
  332. package/teste-corrigido/core/utils/__tests__/errors.test.ts +139 -0
  333. package/teste-corrigido/core/utils/__tests__/helpers.test.ts +297 -0
  334. package/teste-corrigido/core/utils/__tests__/logger.test.ts +141 -0
  335. package/teste-corrigido/core/utils/env-runtime-v2.ts +232 -0
  336. package/teste-corrigido/core/utils/env-runtime.ts +252 -0
  337. package/teste-corrigido/core/utils/errors/codes.ts +115 -0
  338. package/teste-corrigido/core/utils/errors/handlers.ts +63 -0
  339. package/teste-corrigido/core/utils/errors/index.ts +81 -0
  340. package/teste-corrigido/core/utils/helpers.ts +180 -0
  341. package/teste-corrigido/core/utils/index.ts +18 -0
  342. package/teste-corrigido/core/utils/logger/index.ts +161 -0
  343. package/teste-corrigido/core/utils/logger.ts +106 -0
  344. package/teste-corrigido/core/utils/monitoring/index.ts +212 -0
  345. package/teste-corrigido/package-template.json +51 -0
  346. package/teste-corrigido/package.json +51 -0
  347. package/teste-corrigido/tsconfig.json +51 -0
  348. package/teste-corrigido/vite.config.ts +42 -0
  349. package/teste-final-npm/README.md +44 -0
  350. package/teste-final-npm/app/client/README.md +69 -0
  351. package/teste-final-npm/app/client/frontend-only.ts +12 -0
  352. package/teste-final-npm/app/client/index.html +13 -0
  353. package/teste-final-npm/app/client/public/vite.svg +1 -0
  354. package/teste-final-npm/app/client/src/App.css +883 -0
  355. package/teste-final-npm/app/client/src/App.tsx +669 -0
  356. package/teste-final-npm/app/client/src/assets/react.svg +1 -0
  357. package/teste-final-npm/app/client/src/components/TestPage.tsx +453 -0
  358. package/teste-final-npm/app/client/src/index.css +51 -0
  359. package/teste-final-npm/app/client/src/lib/eden-api.ts +110 -0
  360. package/teste-final-npm/app/client/src/main.tsx +10 -0
  361. package/teste-final-npm/app/client/src/vite-env.d.ts +1 -0
  362. package/teste-final-npm/app/client/tsconfig.app.json +43 -0
  363. package/teste-final-npm/app/client/tsconfig.json +7 -0
  364. package/teste-final-npm/app/client/tsconfig.node.json +25 -0
  365. package/teste-final-npm/app/server/app.ts +10 -0
  366. package/teste-final-npm/app/server/backend-only.ts +15 -0
  367. package/teste-final-npm/app/server/controllers/users.controller.ts +69 -0
  368. package/teste-final-npm/app/server/index.ts +104 -0
  369. package/teste-final-npm/app/server/routes/index.ts +25 -0
  370. package/teste-final-npm/app/server/routes/users.routes.ts +121 -0
  371. package/teste-final-npm/app/server/types/index.ts +1 -0
  372. package/teste-final-npm/app/shared/types/index.ts +18 -0
  373. package/teste-final-npm/bun.lock +1053 -0
  374. package/teste-final-npm/core/__tests__/integration.test.ts +227 -0
  375. package/teste-final-npm/core/build/index.ts +186 -0
  376. package/teste-final-npm/core/cli/command-registry.ts +334 -0
  377. package/teste-final-npm/core/cli/index.ts +394 -0
  378. package/teste-final-npm/core/cli/plugin-discovery.ts +200 -0
  379. package/teste-final-npm/core/client/standalone.ts +57 -0
  380. package/teste-final-npm/core/config/__tests__/config-loader.test.ts +591 -0
  381. package/teste-final-npm/core/config/__tests__/config-merger.test.ts +657 -0
  382. package/teste-final-npm/core/config/__tests__/env-converter.test.ts +372 -0
  383. package/teste-final-npm/core/config/__tests__/env-processor.test.ts +431 -0
  384. package/teste-final-npm/core/config/__tests__/env.test.ts +452 -0
  385. package/teste-final-npm/core/config/__tests__/integration.test.ts +418 -0
  386. package/teste-final-npm/core/config/__tests__/loader.test.ts +331 -0
  387. package/teste-final-npm/core/config/__tests__/schema.test.ts +129 -0
  388. package/teste-final-npm/core/config/__tests__/validator.test.ts +318 -0
  389. package/teste-final-npm/core/config/env-dynamic.ts +326 -0
  390. package/teste-final-npm/core/config/env.ts +597 -0
  391. package/teste-final-npm/core/config/index.ts +317 -0
  392. package/teste-final-npm/core/config/loader.ts +546 -0
  393. package/teste-final-npm/core/config/runtime-config.ts +322 -0
  394. package/teste-final-npm/core/config/schema.ts +694 -0
  395. package/teste-final-npm/core/config/validator.ts +540 -0
  396. package/teste-final-npm/core/framework/__tests__/server.test.ts +233 -0
  397. package/teste-final-npm/core/framework/client.ts +132 -0
  398. package/teste-final-npm/core/framework/index.ts +8 -0
  399. package/teste-final-npm/core/framework/server.ts +501 -0
  400. package/teste-final-npm/core/framework/types.ts +63 -0
  401. package/teste-final-npm/core/plugins/__tests__/built-in.test.ts.disabled +366 -0
  402. package/teste-final-npm/core/plugins/__tests__/manager.test.ts +398 -0
  403. package/teste-final-npm/core/plugins/__tests__/monitoring.test.ts +401 -0
  404. package/teste-final-npm/core/plugins/__tests__/registry.test.ts +335 -0
  405. package/teste-final-npm/core/plugins/built-in/index.ts +142 -0
  406. package/teste-final-npm/core/plugins/built-in/logger/index.ts +180 -0
  407. package/teste-final-npm/core/plugins/built-in/monitoring/README.md +193 -0
  408. package/teste-final-npm/core/plugins/built-in/monitoring/index.ts +912 -0
  409. package/teste-final-npm/core/plugins/built-in/static/index.ts +289 -0
  410. package/teste-final-npm/core/plugins/built-in/swagger/index.ts +229 -0
  411. package/teste-final-npm/core/plugins/built-in/vite/index.ts +316 -0
  412. package/teste-final-npm/core/plugins/config.ts +348 -0
  413. package/teste-final-npm/core/plugins/discovery.ts +350 -0
  414. package/teste-final-npm/core/plugins/executor.ts +351 -0
  415. package/teste-final-npm/core/plugins/index.ts +195 -0
  416. package/teste-final-npm/core/plugins/manager.ts +583 -0
  417. package/teste-final-npm/core/plugins/registry.ts +424 -0
  418. package/teste-final-npm/core/plugins/types.ts +254 -0
  419. package/teste-final-npm/core/server/framework.ts +123 -0
  420. package/teste-final-npm/core/server/index.ts +8 -0
  421. package/teste-final-npm/core/server/plugins/database.ts +182 -0
  422. package/teste-final-npm/core/server/plugins/logger.ts +47 -0
  423. package/teste-final-npm/core/server/plugins/swagger.ts +34 -0
  424. package/teste-final-npm/core/server/standalone.ts +91 -0
  425. package/teste-final-npm/core/templates/create-project.ts +455 -0
  426. package/teste-final-npm/core/types/api.ts +169 -0
  427. package/teste-final-npm/core/types/build.ts +174 -0
  428. package/teste-final-npm/core/types/config.ts +68 -0
  429. package/teste-final-npm/core/types/index.ts +127 -0
  430. package/teste-final-npm/core/types/plugin.ts +94 -0
  431. package/teste-final-npm/core/utils/__tests__/errors.test.ts +139 -0
  432. package/teste-final-npm/core/utils/__tests__/helpers.test.ts +297 -0
  433. package/teste-final-npm/core/utils/__tests__/logger.test.ts +141 -0
  434. package/teste-final-npm/core/utils/env-runtime-v2.ts +232 -0
  435. package/teste-final-npm/core/utils/env-runtime.ts +252 -0
  436. package/teste-final-npm/core/utils/errors/codes.ts +115 -0
  437. package/teste-final-npm/core/utils/errors/handlers.ts +63 -0
  438. package/teste-final-npm/core/utils/errors/index.ts +81 -0
  439. package/teste-final-npm/core/utils/helpers.ts +180 -0
  440. package/teste-final-npm/core/utils/index.ts +18 -0
  441. package/teste-final-npm/core/utils/logger/index.ts +161 -0
  442. package/teste-final-npm/core/utils/logger.ts +106 -0
  443. package/teste-final-npm/core/utils/monitoring/index.ts +212 -0
  444. package/teste-final-npm/package-template.json +51 -0
  445. package/teste-final-npm/package.json +51 -0
  446. package/teste-final-npm/tsconfig.json +51 -0
  447. package/teste-final-npm/vite.config.ts +42 -0
  448. package/tests/__mocks__/api.ts +56 -0
  449. package/tests/fixtures/users.ts +69 -0
  450. package/tests/integration/api/users.routes.test.ts +221 -0
  451. package/tests/setup.ts +29 -0
  452. package/tests/unit/app/client/App-simple.test.tsx +56 -0
  453. package/tests/unit/app/client/App.test.tsx.skip +237 -0
  454. package/tests/unit/app/client/eden-api.test.ts +186 -0
  455. package/tests/unit/app/client/simple.test.tsx +23 -0
  456. package/tests/unit/app/controllers/users.controller.test.ts +150 -0
  457. package/tests/unit/core/create-project.test.ts.skip +95 -0
  458. package/tests/unit/core/framework.test.ts +144 -0
  459. package/tests/unit/core/plugins/logger.test.ts.skip +268 -0
  460. package/tests/unit/core/plugins/vite.test.ts.disabled +188 -0
  461. package/tests/utils/test-helpers.ts +61 -0
  462. package/types/global.d.ts +30 -0
  463. package/types/vitest.d.ts +9 -0
  464. package/vitest.config.ts +50 -0
  465. package/workspace.json +6 -0
  466. package/.env +0 -30
@@ -0,0 +1,366 @@
1
+ /**
2
+ * Tests for Built-in Plugins
3
+ */
4
+
5
+ import { describe, it, expect, beforeEach, vi } from 'vitest'
6
+ import {
7
+ loggerPlugin,
8
+ swaggerPlugin,
9
+ vitePlugin,
10
+ staticPlugin,
11
+ monitoringPlugin,
12
+ builtInPlugins,
13
+ builtInPluginsList,
14
+ getDefaultPlugins,
15
+ getBuiltInPlugin,
16
+ isBuiltInPlugin
17
+ } from '../built-in'
18
+ import type { PluginContext, RequestContext, ResponseContext, ErrorContext } from '../types'
19
+ import type { Logger } from '../../utils/logger/index'
20
+ import type { FluxStackConfig } from '../../config/schema'
21
+
22
+ // Mock logger
23
+ const mockLogger: Logger = {
24
+ debug: vi.fn(),
25
+ info: vi.fn(),
26
+ warn: vi.fn(),
27
+ error: vi.fn(),
28
+ child: vi.fn(() => mockLogger),
29
+ time: vi.fn(),
30
+ timeEnd: vi.fn(),
31
+ request: vi.fn()
32
+ }
33
+
34
+ // Mock app
35
+ const mockApp = {
36
+ use: vi.fn(),
37
+ get: vi.fn(),
38
+ post: vi.fn(),
39
+ put: vi.fn(),
40
+ delete: vi.fn()
41
+ }
42
+
43
+ // Mock config
44
+ const mockConfig: FluxStackConfig = {
45
+ app: { name: 'test-app', version: '1.0.0' },
46
+ server: {
47
+ port: 3000,
48
+ host: 'localhost',
49
+ apiPrefix: '/api',
50
+ cors: {
51
+ origins: ['*'],
52
+ methods: ['GET', 'POST'],
53
+ headers: ['Content-Type']
54
+ },
55
+ middleware: []
56
+ },
57
+ client: {
58
+ port: 5173,
59
+ proxy: { target: 'http://localhost:3000' },
60
+ build: {
61
+ sourceMaps: true,
62
+ minify: false,
63
+ target: 'esnext',
64
+ outDir: 'dist/client'
65
+ }
66
+ },
67
+ build: {
68
+ target: 'bun',
69
+ outDir: 'dist',
70
+ optimization: {
71
+ minify: false,
72
+ treeshake: false,
73
+ compress: false,
74
+ splitChunks: false,
75
+ bundleAnalyzer: false
76
+ },
77
+ sourceMaps: true,
78
+ clean: true
79
+ },
80
+ plugins: {
81
+ enabled: [],
82
+ disabled: [],
83
+ config: {}
84
+ },
85
+ logging: {
86
+ level: 'info',
87
+ format: 'pretty',
88
+ transports: []
89
+ },
90
+ monitoring: {
91
+ enabled: false,
92
+ metrics: {
93
+ enabled: false,
94
+ collectInterval: 5000,
95
+ httpMetrics: false,
96
+ systemMetrics: false,
97
+ customMetrics: false
98
+ },
99
+ profiling: {
100
+ enabled: false,
101
+ sampleRate: 0.1,
102
+ memoryProfiling: false,
103
+ cpuProfiling: false
104
+ },
105
+ exporters: []
106
+ }
107
+ }
108
+
109
+ // Mock utils
110
+ const mockUtils = {
111
+ createTimer: vi.fn(() => ({ end: vi.fn(() => 100) })),
112
+ formatBytes: vi.fn((bytes: number) => `${bytes} bytes`),
113
+ isProduction: vi.fn(() => false),
114
+ isDevelopment: vi.fn(() => true),
115
+ getEnvironment: vi.fn(() => 'development'),
116
+ createHash: vi.fn(() => 'hash123'),
117
+ deepMerge: vi.fn((a, b) => ({ ...a, ...b })),
118
+ validateSchema: vi.fn(() => ({ valid: true, errors: [] }))
119
+ }
120
+
121
+ describe.skip('Built-in Plugins', () => {
122
+ let context: PluginContext
123
+
124
+ beforeEach(() => {
125
+ context = {
126
+ config: mockConfig,
127
+ logger: mockLogger,
128
+ app: mockApp,
129
+ utils: mockUtils
130
+ }
131
+ vi.clearAllMocks()
132
+ })
133
+
134
+ describe('Plugin Structure', () => {
135
+ it('should export all built-in plugins', () => {
136
+ expect(builtInPlugins).toBeDefined()
137
+ expect(builtInPlugins.logger).toBe(loggerPlugin)
138
+ expect(builtInPlugins.swagger).toBe(swaggerPlugin)
139
+ expect(builtInPlugins.vite).toBe(vitePlugin)
140
+ expect(builtInPlugins.static).toBe(staticPlugin)
141
+ expect(builtInPlugins.monitoring).toBe(monitoringPlugin)
142
+ })
143
+
144
+ it('should export plugins as array', () => {
145
+ expect(builtInPluginsList).toHaveLength(5)
146
+ expect(builtInPluginsList).toContain(loggerPlugin)
147
+ expect(builtInPluginsList).toContain(swaggerPlugin)
148
+ expect(builtInPluginsList).toContain(vitePlugin)
149
+ expect(builtInPluginsList).toContain(staticPlugin)
150
+ expect(builtInPluginsList).toContain(monitoringPlugin)
151
+ })
152
+
153
+ it('should have valid plugin structure', () => {
154
+ for (const plugin of builtInPluginsList) {
155
+ expect(plugin.name).toBeDefined()
156
+ expect(typeof plugin.name).toBe('string')
157
+ expect(plugin.version).toBeDefined()
158
+ expect(plugin.description).toBeDefined()
159
+ expect(plugin.author).toBeDefined()
160
+ expect(plugin.setup).toBeDefined()
161
+ expect(typeof plugin.setup).toBe('function')
162
+ }
163
+ })
164
+ })
165
+
166
+ describe('Logger Plugin', () => {
167
+ it('should have correct metadata', () => {
168
+ expect(loggerPlugin.name).toBe('logger')
169
+ expect(loggerPlugin.priority).toBe('highest')
170
+ expect(loggerPlugin.category).toBe('core')
171
+ expect(loggerPlugin.configSchema).toBeDefined()
172
+ expect(loggerPlugin.defaultConfig).toBeDefined()
173
+ })
174
+
175
+ it('should setup successfully', async () => {
176
+ await loggerPlugin.setup!(context)
177
+ expect(mockLogger.info).toHaveBeenCalledWith(
178
+ 'Enhanced logger plugin initialized',
179
+ expect.any(Object)
180
+ )
181
+ })
182
+
183
+ it('should handle server start', async () => {
184
+ await loggerPlugin.onServerStart!(context)
185
+ expect(mockLogger.info).toHaveBeenCalledWith(
186
+ 'Logger plugin: Server started',
187
+ expect.any(Object)
188
+ )
189
+ })
190
+
191
+ it('should handle server stop', async () => {
192
+ await loggerPlugin.onServerStop!(context)
193
+ expect(mockLogger.info).toHaveBeenCalledWith('Logger plugin: Server stopped')
194
+ })
195
+
196
+ it('should handle request logging', async () => {
197
+ const requestContext: RequestContext = {
198
+ request: new Request('http://localhost:3000/test'),
199
+ path: '/test',
200
+ method: 'GET',
201
+ headers: { 'user-agent': 'test' },
202
+ query: {},
203
+ params: {},
204
+ startTime: Date.now()
205
+ }
206
+
207
+ await loggerPlugin.onRequest!(requestContext)
208
+ // Logger function would be called if available in context
209
+ })
210
+
211
+ it('should handle response logging', async () => {
212
+ const responseContext: ResponseContext = {
213
+ request: new Request('http://localhost:3000/test'),
214
+ path: '/test',
215
+ method: 'GET',
216
+ headers: {},
217
+ query: {},
218
+ params: {},
219
+ startTime: Date.now(),
220
+ response: new Response('OK'),
221
+ statusCode: 200,
222
+ duration: 100
223
+ }
224
+
225
+ await loggerPlugin.onResponse!(responseContext)
226
+ // Logger function would be called if available in context
227
+ })
228
+
229
+ it('should handle error logging', async () => {
230
+ const errorContext: ErrorContext = {
231
+ request: new Request('http://localhost:3000/test'),
232
+ path: '/test',
233
+ method: 'GET',
234
+ headers: {},
235
+ query: {},
236
+ params: {},
237
+ startTime: Date.now(),
238
+ error: new Error('Test error'),
239
+ duration: 100,
240
+ handled: false
241
+ }
242
+
243
+ await loggerPlugin.onError!(errorContext)
244
+ // Logger function would be called if available in context
245
+ })
246
+ })
247
+
248
+ describe('Swagger Plugin', () => {
249
+ it('should have correct metadata', () => {
250
+ expect(swaggerPlugin.name).toBe('swagger')
251
+ expect(swaggerPlugin.priority).toBe('normal')
252
+ expect(swaggerPlugin.category).toBe('documentation')
253
+ expect(swaggerPlugin.configSchema).toBeDefined()
254
+ expect(swaggerPlugin.defaultConfig).toBeDefined()
255
+ })
256
+
257
+ it('should setup successfully', async () => {
258
+ await swaggerPlugin.setup!(context)
259
+ expect(mockApp.use).toHaveBeenCalled()
260
+ expect(mockLogger.info).toHaveBeenCalledWith(
261
+ expect.stringContaining('Swagger documentation enabled'),
262
+ expect.any(Object)
263
+ )
264
+ })
265
+
266
+ it('should handle server start', async () => {
267
+ await swaggerPlugin.onServerStart!(context)
268
+ expect(mockLogger.info).toHaveBeenCalledWith(
269
+ expect.stringContaining('Swagger documentation available')
270
+ )
271
+ })
272
+ })
273
+
274
+ describe('Vite Plugin', () => {
275
+ it('should have correct metadata', () => {
276
+ expect(vitePlugin.name).toBe('vite')
277
+ expect(vitePlugin.priority).toBe('high')
278
+ expect(vitePlugin.category).toBe('development')
279
+ expect(vitePlugin.configSchema).toBeDefined()
280
+ expect(vitePlugin.defaultConfig).toBeDefined()
281
+ })
282
+
283
+ it('should setup successfully', async () => {
284
+ await vitePlugin.setup!(context)
285
+ expect(mockLogger.info).toHaveBeenCalledWith(
286
+ expect.stringContaining('Setting up Vite integration')
287
+ )
288
+ })
289
+
290
+ it('should handle server start', async () => {
291
+ // Setup first to initialize vite config
292
+ await vitePlugin.setup!(context)
293
+ await vitePlugin.onServerStart!(context)
294
+ expect(mockLogger.info).toHaveBeenCalledWith(
295
+ expect.stringContaining('Vite integration active')
296
+ )
297
+ })
298
+ })
299
+
300
+ describe('Static Plugin', () => {
301
+ it('should have correct metadata', () => {
302
+ expect(staticPlugin.name).toBe('static')
303
+ expect(staticPlugin.priority).toBe('low')
304
+ expect(staticPlugin.category).toBe('core')
305
+ expect(staticPlugin.configSchema).toBeDefined()
306
+ expect(staticPlugin.defaultConfig).toBeDefined()
307
+ })
308
+
309
+ it('should setup successfully', async () => {
310
+ await staticPlugin.setup!(context)
311
+ expect(mockApp.get).toHaveBeenCalledWith('/*', expect.any(Function))
312
+ expect(mockLogger.info).toHaveBeenCalledWith(
313
+ 'Enhanced static files plugin activated',
314
+ expect.any(Object)
315
+ )
316
+ })
317
+
318
+ it('should handle server start', async () => {
319
+ await staticPlugin.onServerStart!(context)
320
+ expect(mockLogger.info).toHaveBeenCalledWith(
321
+ expect.stringContaining('Static files plugin ready'),
322
+ expect.any(Object)
323
+ )
324
+ })
325
+ })
326
+
327
+ describe('Plugin Utilities', () => {
328
+ it('should get default plugins for development', () => {
329
+ const plugins = getDefaultPlugins('development')
330
+ expect(plugins).toHaveLength(5)
331
+ expect(plugins).toContain(loggerPlugin)
332
+ expect(plugins).toContain(staticPlugin)
333
+ expect(plugins).toContain(vitePlugin)
334
+ expect(plugins).toContain(swaggerPlugin)
335
+ expect(plugins).toContain(monitoringPlugin)
336
+ })
337
+
338
+ it('should get default plugins for production', () => {
339
+ const plugins = getDefaultPlugins('production')
340
+ expect(plugins).toHaveLength(3)
341
+ expect(plugins).toContain(loggerPlugin)
342
+ expect(plugins).toContain(staticPlugin)
343
+ expect(plugins).toContain(monitoringPlugin)
344
+ })
345
+
346
+ it('should get default plugins for test', () => {
347
+ const plugins = getDefaultPlugins('test')
348
+ expect(plugins).toHaveLength(1)
349
+ expect(plugins).toContain(loggerPlugin)
350
+ })
351
+
352
+ it('should get plugin by name', () => {
353
+ expect(getBuiltInPlugin('logger')).toBe(loggerPlugin)
354
+ expect(getBuiltInPlugin('swagger')).toBe(swaggerPlugin)
355
+ expect(getBuiltInPlugin('monitoring')).toBe(monitoringPlugin)
356
+ expect(getBuiltInPlugin('nonexistent')).toBeUndefined()
357
+ })
358
+
359
+ it('should check if plugin is built-in', () => {
360
+ expect(isBuiltInPlugin('logger')).toBe(true)
361
+ expect(isBuiltInPlugin('swagger')).toBe(true)
362
+ expect(isBuiltInPlugin('monitoring')).toBe(true)
363
+ expect(isBuiltInPlugin('custom-plugin')).toBe(false)
364
+ })
365
+ })
366
+ })