create-fluxstack 1.0.0

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 (101) hide show
  1. package/.env +30 -0
  2. package/LICENSE +21 -0
  3. package/README.md +214 -0
  4. package/app/client/README.md +69 -0
  5. package/app/client/frontend-only.ts +12 -0
  6. package/app/client/index.html +13 -0
  7. package/app/client/public/vite.svg +1 -0
  8. package/app/client/src/App.css +883 -0
  9. package/app/client/src/App.tsx +669 -0
  10. package/app/client/src/assets/react.svg +1 -0
  11. package/app/client/src/components/TestPage.tsx +453 -0
  12. package/app/client/src/index.css +51 -0
  13. package/app/client/src/lib/eden-api.ts +110 -0
  14. package/app/client/src/main.tsx +10 -0
  15. package/app/client/src/vite-env.d.ts +1 -0
  16. package/app/client/tsconfig.app.json +43 -0
  17. package/app/client/tsconfig.json +7 -0
  18. package/app/client/tsconfig.node.json +25 -0
  19. package/app/server/app.ts +10 -0
  20. package/app/server/backend-only.ts +15 -0
  21. package/app/server/controllers/users.controller.ts +69 -0
  22. package/app/server/index.ts +104 -0
  23. package/app/server/routes/index.ts +25 -0
  24. package/app/server/routes/users.routes.ts +121 -0
  25. package/app/server/types/index.ts +1 -0
  26. package/app/shared/types/index.ts +18 -0
  27. package/bun.lock +1053 -0
  28. package/core/__tests__/integration.test.ts +227 -0
  29. package/core/build/index.ts +186 -0
  30. package/core/cli/command-registry.ts +334 -0
  31. package/core/cli/index.ts +394 -0
  32. package/core/cli/plugin-discovery.ts +200 -0
  33. package/core/client/standalone.ts +57 -0
  34. package/core/config/__tests__/config-loader.test.ts +591 -0
  35. package/core/config/__tests__/config-merger.test.ts +657 -0
  36. package/core/config/__tests__/env-converter.test.ts +372 -0
  37. package/core/config/__tests__/env-processor.test.ts +431 -0
  38. package/core/config/__tests__/env.test.ts +452 -0
  39. package/core/config/__tests__/integration.test.ts +418 -0
  40. package/core/config/__tests__/loader.test.ts +331 -0
  41. package/core/config/__tests__/schema.test.ts +129 -0
  42. package/core/config/__tests__/validator.test.ts +318 -0
  43. package/core/config/env-dynamic.ts +326 -0
  44. package/core/config/env.ts +597 -0
  45. package/core/config/index.ts +317 -0
  46. package/core/config/loader.ts +546 -0
  47. package/core/config/runtime-config.ts +322 -0
  48. package/core/config/schema.ts +694 -0
  49. package/core/config/validator.ts +540 -0
  50. package/core/framework/__tests__/server.test.ts +233 -0
  51. package/core/framework/client.ts +132 -0
  52. package/core/framework/index.ts +8 -0
  53. package/core/framework/server.ts +501 -0
  54. package/core/framework/types.ts +63 -0
  55. package/core/plugins/__tests__/built-in.test.ts.disabled +366 -0
  56. package/core/plugins/__tests__/manager.test.ts +398 -0
  57. package/core/plugins/__tests__/monitoring.test.ts +401 -0
  58. package/core/plugins/__tests__/registry.test.ts +335 -0
  59. package/core/plugins/built-in/index.ts +142 -0
  60. package/core/plugins/built-in/logger/index.ts +180 -0
  61. package/core/plugins/built-in/monitoring/README.md +193 -0
  62. package/core/plugins/built-in/monitoring/index.ts +912 -0
  63. package/core/plugins/built-in/static/index.ts +289 -0
  64. package/core/plugins/built-in/swagger/index.ts +229 -0
  65. package/core/plugins/built-in/vite/index.ts +316 -0
  66. package/core/plugins/config.ts +348 -0
  67. package/core/plugins/discovery.ts +350 -0
  68. package/core/plugins/executor.ts +351 -0
  69. package/core/plugins/index.ts +195 -0
  70. package/core/plugins/manager.ts +583 -0
  71. package/core/plugins/registry.ts +424 -0
  72. package/core/plugins/types.ts +254 -0
  73. package/core/server/framework.ts +123 -0
  74. package/core/server/index.ts +8 -0
  75. package/core/server/plugins/database.ts +182 -0
  76. package/core/server/plugins/logger.ts +47 -0
  77. package/core/server/plugins/swagger.ts +34 -0
  78. package/core/server/standalone.ts +91 -0
  79. package/core/templates/create-project.ts +455 -0
  80. package/core/types/api.ts +169 -0
  81. package/core/types/build.ts +174 -0
  82. package/core/types/config.ts +68 -0
  83. package/core/types/index.ts +127 -0
  84. package/core/types/plugin.ts +94 -0
  85. package/core/utils/__tests__/errors.test.ts +139 -0
  86. package/core/utils/__tests__/helpers.test.ts +297 -0
  87. package/core/utils/__tests__/logger.test.ts +141 -0
  88. package/core/utils/env-runtime-v2.ts +232 -0
  89. package/core/utils/env-runtime.ts +252 -0
  90. package/core/utils/errors/codes.ts +115 -0
  91. package/core/utils/errors/handlers.ts +63 -0
  92. package/core/utils/errors/index.ts +81 -0
  93. package/core/utils/helpers.ts +180 -0
  94. package/core/utils/index.ts +18 -0
  95. package/core/utils/logger/index.ts +161 -0
  96. package/core/utils/logger.ts +106 -0
  97. package/core/utils/monitoring/index.ts +212 -0
  98. package/create-fluxstack.ts +231 -0
  99. package/package.json +43 -0
  100. package/tsconfig.json +51 -0
  101. package/vite.config.ts +42 -0
package/package.json ADDED
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "create-fluxstack",
3
+ "version": "1.0.0",
4
+ "description": "⚡ Create FluxStack apps with zero configuration - powered by Bun",
5
+ "keywords": ["fluxstack", "create-app", "bun", "typescript", "full-stack", "framework", "elysia", "react", "vite"],
6
+ "author": "Marcos",
7
+ "license": "MIT",
8
+ "homepage": "https://github.com/fluxstack/create-fluxstack",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/fluxstack/create-fluxstack.git"
12
+ },
13
+ "type": "module",
14
+ "bin": {
15
+ "create-fluxstack": "./create-fluxstack.ts"
16
+ },
17
+ "files": [
18
+ "create-fluxstack.ts",
19
+ "core/**/*",
20
+ "app/**/*",
21
+ "README.md",
22
+ "package.json",
23
+ "tsconfig.json",
24
+ "vite.config.ts",
25
+ ".env",
26
+ "bun.lock"
27
+ ],
28
+ "scripts": {
29
+ "build": "echo 'No build needed - Bun runtime script'",
30
+ "test": "./create-fluxstack.ts test-app",
31
+ "prepublishOnly": "echo 'Publishing create-fluxstack CLI...'"
32
+ },
33
+ "dependencies": {
34
+ "chalk": "^5.6.2",
35
+ "commander": "^14.0.1",
36
+ "ora": "^9.0.0"
37
+ },
38
+ "engines": {
39
+ "bun": ">=1.0.0",
40
+ "node": ">=18.0.0"
41
+ },
42
+ "preferredPackageManager": "bun"
43
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,51 @@
1
+ {
2
+ "compilerOptions": {
3
+ // Enable latest features
4
+ "lib": ["ESNext", "DOM", "DOM.Iterable"],
5
+ "target": "ES2022",
6
+ "module": "ES2022",
7
+ "moduleDetection": "force",
8
+ "jsx": "react-jsx",
9
+ "allowJs": true,
10
+ "types": ["node"],
11
+ "typeRoots": ["./types", "./node_modules/@types"],
12
+
13
+ // Bundler mode
14
+ "moduleResolution": "bundler",
15
+ "allowImportingTsExtensions": true,
16
+ "verbatimModuleSyntax": true,
17
+ "noEmit": true,
18
+ "downlevelIteration": true,
19
+
20
+ // Path mapping (alias support)
21
+ "baseUrl": ".",
22
+ "paths": {
23
+ "@/*": ["./*"],
24
+ "@/core/*": ["./core/*"],
25
+ "@/app/*": ["./app/*"],
26
+ "@/config/*": ["./config/*"],
27
+ "@/shared/*": ["./app/shared/*"]
28
+ },
29
+
30
+ // Best practices
31
+ "strict": false,
32
+ "skipLibCheck": true,
33
+ "noFallthroughCasesInSwitch": true,
34
+ "noImplicitAny": false,
35
+ "strictNullChecks": false,
36
+ "strictFunctionTypes": false,
37
+ "noImplicitReturns": false,
38
+ "noImplicitThis": false,
39
+
40
+ // Some stricter flags (disabled by default)
41
+ "noUnusedLocals": false,
42
+ "noUnusedParameters": false,
43
+ "noPropertyAccessFromIndexSignature": false
44
+ },
45
+ "exclude": [
46
+ "examples/**/*",
47
+ "**/*.test.ts",
48
+ "**/__tests__/**/*",
49
+ "run-env-tests.ts"
50
+ ]
51
+ }
package/vite.config.ts ADDED
@@ -0,0 +1,42 @@
1
+ import { defineConfig } from 'vite'
2
+ import react from '@vitejs/plugin-react'
3
+ import tailwindcss from '@tailwindcss/vite'
4
+ import { resolve } from 'path'
5
+ import { fileURLToPath, URL } from 'node:url'
6
+
7
+ const __dirname = fileURLToPath(new URL('.', import.meta.url))
8
+
9
+ // https://vite.dev/config/
10
+ export default defineConfig({
11
+ plugins: [react(), tailwindcss()],
12
+ root: 'app/client',
13
+ server: {
14
+ port: 5173,
15
+ host: true,
16
+ proxy: {
17
+ '/api': {
18
+ target: 'http://localhost:3000',
19
+ changeOrigin: true,
20
+ secure: false,
21
+ }
22
+ }
23
+ },
24
+ build: {
25
+ outDir: '../../dist/client'
26
+ },
27
+ resolve: {
28
+ alias: {
29
+ '@': resolve(__dirname, './app/client/src'),
30
+ '@/core': resolve(__dirname, './core'),
31
+ '@/app': resolve(__dirname, './app'),
32
+ '@/config': resolve(__dirname, './config'),
33
+ '@/shared': resolve(__dirname, './app/shared'),
34
+ '@/components': resolve(__dirname, './app/client/src/components'),
35
+ '@/utils': resolve(__dirname, './app/client/src/utils'),
36
+ '@/hooks': resolve(__dirname, './app/client/src/hooks'),
37
+ '@/assets': resolve(__dirname, './app/client/src/assets'),
38
+ '@/lib': resolve(__dirname, './app/client/src/lib'),
39
+ '@/types': resolve(__dirname, './app/client/src/types')
40
+ }
41
+ }
42
+ })