create-fluxstack 1.15.0 → 1.17.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 (142) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/LLMD/INDEX.md +4 -3
  3. package/LLMD/resources/live-binary-delta.md +507 -0
  4. package/LLMD/resources/live-components.md +1 -0
  5. package/LLMD/resources/live-rooms.md +731 -333
  6. package/app/client/src/App.tsx +23 -14
  7. package/app/client/src/components/AppLayout.tsx +4 -4
  8. package/app/client/src/live/AuthDemo.tsx +4 -4
  9. package/app/client/src/live/PingPongDemo.tsx +199 -0
  10. package/app/client/src/live/RoomChatDemo.tsx +187 -22
  11. package/app/client/src/live/SharedCounterDemo.tsx +142 -0
  12. package/app/server/live/LivePingPong.ts +61 -0
  13. package/app/server/live/LiveRoomChat.ts +106 -38
  14. package/app/server/live/LiveSharedCounter.ts +73 -0
  15. package/app/server/live/rooms/ChatRoom.ts +68 -0
  16. package/app/server/live/rooms/CounterRoom.ts +51 -0
  17. package/app/server/live/rooms/DirectoryRoom.ts +42 -0
  18. package/app/server/live/rooms/PingRoom.ts +40 -0
  19. package/core/build/bundler.ts +40 -26
  20. package/core/build/flux-plugins-generator.ts +325 -325
  21. package/core/build/index.ts +92 -21
  22. package/core/cli/command-registry.ts +44 -46
  23. package/core/cli/commands/build.ts +11 -6
  24. package/core/cli/commands/create.ts +7 -5
  25. package/core/cli/commands/dev.ts +6 -5
  26. package/core/cli/commands/help.ts +3 -2
  27. package/core/cli/commands/make-plugin.ts +8 -7
  28. package/core/cli/commands/plugin-add.ts +60 -43
  29. package/core/cli/commands/plugin-deps.ts +73 -57
  30. package/core/cli/commands/plugin-list.ts +44 -41
  31. package/core/cli/commands/plugin-remove.ts +33 -22
  32. package/core/cli/generators/component.ts +770 -769
  33. package/core/cli/generators/controller.ts +9 -8
  34. package/core/cli/generators/index.ts +148 -146
  35. package/core/cli/generators/interactive.ts +228 -227
  36. package/core/cli/generators/plugin.ts +11 -10
  37. package/core/cli/generators/prompts.ts +83 -82
  38. package/core/cli/generators/route.ts +7 -6
  39. package/core/cli/generators/service.ts +10 -9
  40. package/core/cli/generators/template-engine.ts +2 -1
  41. package/core/cli/generators/types.ts +7 -7
  42. package/core/cli/generators/utils.ts +191 -191
  43. package/core/cli/index.ts +9 -8
  44. package/core/cli/plugin-discovery.ts +2 -2
  45. package/core/client/hooks/useAuth.ts +48 -48
  46. package/core/client/index.ts +0 -16
  47. package/core/client/standalone.ts +18 -17
  48. package/core/client/state/createStore.ts +192 -192
  49. package/core/client/state/index.ts +14 -14
  50. package/core/config/index.ts +1 -0
  51. package/core/framework/client.ts +131 -131
  52. package/core/framework/index.ts +7 -7
  53. package/core/framework/server.ts +72 -112
  54. package/core/framework/types.ts +2 -2
  55. package/core/plugins/built-in/live-components/commands/create-live-component.ts +6 -3
  56. package/core/plugins/built-in/monitoring/index.ts +110 -68
  57. package/core/plugins/built-in/static/index.ts +2 -2
  58. package/core/plugins/built-in/swagger/index.ts +9 -9
  59. package/core/plugins/built-in/vite/index.ts +3 -3
  60. package/core/plugins/built-in/vite/vite-dev.ts +3 -3
  61. package/core/plugins/config.ts +50 -47
  62. package/core/plugins/discovery.ts +10 -4
  63. package/core/plugins/executor.ts +2 -2
  64. package/core/plugins/index.ts +206 -203
  65. package/core/plugins/manager.ts +21 -20
  66. package/core/plugins/registry.ts +76 -12
  67. package/core/plugins/types.ts +14 -14
  68. package/core/server/framework.ts +3 -189
  69. package/core/server/live/auto-generated-components.ts +11 -35
  70. package/core/server/live/index.ts +41 -36
  71. package/core/server/live/websocket-plugin.ts +48 -3
  72. package/core/server/middleware/elysia-helpers.ts +16 -15
  73. package/core/server/middleware/errorHandling.ts +14 -14
  74. package/core/server/middleware/index.ts +31 -31
  75. package/core/server/plugins/database.ts +181 -180
  76. package/core/server/plugins/static-files-plugin.ts +4 -3
  77. package/core/server/plugins/swagger.ts +11 -8
  78. package/core/server/rooms/RoomBroadcaster.ts +11 -10
  79. package/core/server/rooms/RoomSystem.ts +14 -11
  80. package/core/server/services/BaseService.ts +7 -7
  81. package/core/server/services/ServiceContainer.ts +5 -5
  82. package/core/server/services/index.ts +8 -8
  83. package/core/templates/create-project.ts +28 -27
  84. package/core/testing/index.ts +9 -9
  85. package/core/testing/setup.ts +73 -73
  86. package/core/types/api.ts +168 -168
  87. package/core/types/config.ts +5 -5
  88. package/core/types/index.ts +1 -1
  89. package/core/types/plugin.ts +2 -2
  90. package/core/types/types.ts +3 -3
  91. package/core/utils/build-logger.ts +324 -324
  92. package/core/utils/config-schema.ts +480 -480
  93. package/core/utils/env.ts +10 -8
  94. package/core/utils/errors/codes.ts +114 -114
  95. package/core/utils/errors/handlers.ts +30 -20
  96. package/core/utils/errors/index.ts +54 -46
  97. package/core/utils/errors/middleware.ts +113 -113
  98. package/core/utils/helpers.ts +19 -16
  99. package/core/utils/logger/colors.ts +114 -114
  100. package/core/utils/logger/config.ts +2 -2
  101. package/core/utils/logger/formatter.ts +82 -82
  102. package/core/utils/logger/group-logger.ts +101 -101
  103. package/core/utils/logger/index.ts +13 -3
  104. package/core/utils/logger/startup-banner.ts +2 -2
  105. package/core/utils/logger/winston-logger.ts +152 -152
  106. package/core/utils/monitoring/index.ts +211 -211
  107. package/core/utils/sync-version.ts +67 -66
  108. package/core/utils/version.ts +1 -1
  109. package/package.json +11 -6
  110. package/playwright-report/index.html +85 -0
  111. package/playwright.config.ts +31 -0
  112. package/plugins/crypto-auth/client/CryptoAuthClient.ts +302 -302
  113. package/plugins/crypto-auth/client/components/index.ts +11 -11
  114. package/plugins/crypto-auth/client/index.ts +11 -11
  115. package/plugins/crypto-auth/package.json +65 -65
  116. package/plugins/crypto-auth/server/CryptoAuthService.ts +185 -185
  117. package/plugins/crypto-auth/server/middlewares/cryptoAuthAdmin.ts +6 -5
  118. package/plugins/crypto-auth/server/middlewares/cryptoAuthPermissions.ts +6 -5
  119. package/plugins/crypto-auth/server/middlewares/cryptoAuthRequired.ts +3 -3
  120. package/plugins/crypto-auth/server/middlewares/index.ts +22 -22
  121. package/plugins/crypto-auth/server/middlewares.ts +19 -19
  122. package/tsconfig.json +4 -1
  123. package/vite.config.ts +13 -0
  124. package/app/client/.live-stubs/LiveAdminPanel.js +0 -5
  125. package/app/client/.live-stubs/LiveChat.js +0 -7
  126. package/app/client/.live-stubs/LiveCounter.js +0 -9
  127. package/app/client/.live-stubs/LiveForm.js +0 -11
  128. package/app/client/.live-stubs/LiveLocalCounter.js +0 -8
  129. package/app/client/.live-stubs/LiveRoomChat.js +0 -10
  130. package/app/client/.live-stubs/LiveTodoList.js +0 -9
  131. package/app/client/.live-stubs/LiveUpload.js +0 -15
  132. package/app/client/src/live/ChatDemo.tsx +0 -107
  133. package/app/client/src/live/LiveDebuggerPanel.tsx +0 -779
  134. package/app/client/src/live/TodoListDemo.tsx +0 -158
  135. package/app/server/live/LiveChat.ts +0 -78
  136. package/app/server/live/LiveTodoList.ts +0 -110
  137. package/app/server/live/register-components.ts +0 -19
  138. package/core/build/live-components-generator.ts +0 -312
  139. package/core/client/components/LiveDebugger.tsx +0 -1324
  140. package/core/live/ComponentRegistry.ts +0 -403
  141. package/core/live/types.ts +0 -241
  142. package/workspace.json +0 -6
@@ -7,7 +7,7 @@ import { Command } from 'commander'
7
7
  import { readFileSync, writeFileSync, existsSync } from 'fs'
8
8
  import { join } from 'path'
9
9
  import { $ } from 'bun'
10
- import chalk from 'chalk'
10
+ import { buildLogger } from '@core/utils/build-logger'
11
11
 
12
12
  interface PluginRemoveOptions {
13
13
  skipConfirmation?: boolean
@@ -21,13 +21,15 @@ export function createPluginRemoveCommand(): Command {
21
21
  .option('--skip-confirmation', 'Skip confirmation prompt')
22
22
  .option('--keep-installed', 'Keep plugin installed, only remove from whitelist')
23
23
  .action(async (pluginName: string, options: PluginRemoveOptions) => {
24
- console.log(chalk.blue('\nšŸ”Œ FluxStack Plugin Remover\n'))
24
+ buildLogger.info('')
25
+ buildLogger.info('šŸ”Œ FluxStack Plugin Remover')
26
+ buildLogger.info('')
25
27
 
26
28
  try {
27
29
  // 1. Check if plugin is installed
28
30
  const packageJsonPath = join(process.cwd(), 'package.json')
29
31
  if (!existsSync(packageJsonPath)) {
30
- console.error(chalk.red('āŒ package.json not found'))
32
+ buildLogger.error('āŒ package.json not found')
31
33
  process.exit(1)
32
34
  }
33
35
 
@@ -37,8 +39,9 @@ export function createPluginRemoveCommand(): Command {
37
39
  packageJson.devDependencies?.[pluginName]
38
40
 
39
41
  if (!isInstalled && !options.keepInstalled) {
40
- console.log(chalk.yellow(`āš ļø Plugin ${pluginName} is not installed`))
41
- console.log(chalk.yellow(' Will only remove from whitelist\n'))
42
+ buildLogger.warn(`āš ļø Plugin ${pluginName} is not installed`)
43
+ buildLogger.warn(' Will only remove from whitelist')
44
+ buildLogger.info('')
42
45
  }
43
46
 
44
47
  // 2. Confirmation prompt (unless skipped)
@@ -47,48 +50,56 @@ export function createPluginRemoveCommand(): Command {
47
50
  ? 'remove from whitelist'
48
51
  : 'uninstall and remove from whitelist'
49
52
 
50
- const answer = prompt(chalk.yellow(`Remove ${pluginName}? This will ${action}. (yes/no): `))
53
+ const answer = prompt(`Remove ${pluginName}? This will ${action}. (yes/no): `)
51
54
  if (answer?.toLowerCase() !== 'yes' && answer?.toLowerCase() !== 'y') {
52
- console.log(chalk.red('āŒ Removal cancelled'))
55
+ buildLogger.error('āŒ Removal cancelled')
53
56
  process.exit(0)
54
57
  }
55
58
  }
56
59
 
57
60
  // 3. Remove from whitelist
58
- console.log(chalk.blue('\nšŸ”§ Updating configuration...\n'))
61
+ buildLogger.info('')
62
+ buildLogger.info('šŸ”§ Updating configuration...')
63
+ buildLogger.info('')
59
64
  const removed = removeFromWhitelist(pluginName)
60
65
 
61
66
  if (!removed) {
62
- console.log(chalk.yellow(`āš ļø Plugin ${pluginName} was not in whitelist`))
67
+ buildLogger.warn(`āš ļø Plugin ${pluginName} was not in whitelist`)
63
68
  } else {
64
- console.log(chalk.gray(` • Removed ${pluginName} from PLUGINS_ALLOWED`))
69
+ buildLogger.info(` • Removed ${pluginName} from PLUGINS_ALLOWED`)
65
70
  }
66
71
 
67
72
  // 4. Uninstall plugin (unless --keep-installed)
68
73
  if (!options.keepInstalled && isInstalled) {
69
- console.log(chalk.blue(`\nšŸ“¦ Uninstalling ${pluginName}...\n`))
74
+ buildLogger.info('')
75
+ buildLogger.info(`šŸ“¦ Uninstalling ${pluginName}...`)
76
+ buildLogger.info('')
70
77
  await $`bun remove ${pluginName}`.quiet()
71
- console.log(chalk.green(`āœ… Plugin uninstalled successfully`))
78
+ buildLogger.success('āœ… Plugin uninstalled successfully')
72
79
  }
73
80
 
74
81
  // 5. Check if should disable NPM discovery
75
82
  checkAndDisableNpmDiscovery()
76
83
 
77
84
  // 6. Success message
78
- console.log(chalk.green('\nāœ… Plugin removal complete!\n'))
79
- console.log(chalk.blue('šŸ“‹ What was done:'))
80
- console.log(chalk.gray(` • Removed ${pluginName} from whitelist (PLUGINS_ALLOWED)`))
85
+ buildLogger.success('')
86
+ buildLogger.success('āœ… Plugin removal complete!')
87
+ buildLogger.info('')
88
+ buildLogger.info('šŸ“‹ What was done:')
89
+ buildLogger.info(` • Removed ${pluginName} from whitelist (PLUGINS_ALLOWED)`)
81
90
  if (!options.keepInstalled && isInstalled) {
82
- console.log(chalk.gray(` • Uninstalled ${pluginName}`))
91
+ buildLogger.info(` • Uninstalled ${pluginName}`)
83
92
  }
84
93
 
85
- console.log(chalk.blue('\nšŸš€ Next steps:'))
86
- console.log(chalk.gray(' 1. Restart your dev server: bun run dev'))
87
- console.log(chalk.gray(' 2. Plugin will no longer be loaded'))
94
+ buildLogger.info('')
95
+ buildLogger.info('šŸš€ Next steps:')
96
+ buildLogger.info(' 1. Restart your dev server: bun run dev')
97
+ buildLogger.info(' 2. Plugin will no longer be loaded')
88
98
 
89
99
  } catch (error) {
90
- console.error(chalk.red('\nāŒ Failed to remove plugin:'))
91
- console.error(chalk.red(error instanceof Error ? error.message : String(error)))
100
+ buildLogger.error('')
101
+ buildLogger.error('āŒ Failed to remove plugin:')
102
+ buildLogger.error(error instanceof Error ? error.message : String(error))
92
103
  process.exit(1)
93
104
  }
94
105
  })
@@ -164,7 +175,7 @@ function checkAndDisableNpmDiscovery(): void {
164
175
  'PLUGINS_DISCOVER_NPM=false'
165
176
  )
166
177
  writeFileSync(envPath, envContent, 'utf-8')
167
- console.log(chalk.gray(' • Disabled NPM plugin discovery (whitelist empty)'))
178
+ buildLogger.info(' • Disabled NPM plugin discovery (whitelist empty)')
168
179
  }
169
180
  }
170
181
  }