create-fluxstack 1.10.1 → 1.12.1
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.
- package/.dockerignore +1 -2
- package/Dockerfile +8 -8
- package/LLMD/INDEX.md +64 -0
- package/LLMD/MAINTENANCE.md +197 -0
- package/LLMD/MIGRATION.md +156 -0
- package/LLMD/config/.gitkeep +1 -0
- package/LLMD/config/declarative-system.md +268 -0
- package/LLMD/config/environment-vars.md +327 -0
- package/LLMD/config/runtime-reload.md +401 -0
- package/LLMD/core/.gitkeep +1 -0
- package/LLMD/core/build-system.md +599 -0
- package/LLMD/core/framework-lifecycle.md +229 -0
- package/LLMD/core/plugin-system.md +451 -0
- package/LLMD/patterns/.gitkeep +1 -0
- package/LLMD/patterns/anti-patterns.md +297 -0
- package/LLMD/patterns/project-structure.md +264 -0
- package/LLMD/patterns/type-safety.md +440 -0
- package/LLMD/reference/.gitkeep +1 -0
- package/LLMD/reference/cli-commands.md +250 -0
- package/LLMD/reference/plugin-hooks.md +357 -0
- package/LLMD/reference/routing.md +39 -0
- package/LLMD/reference/troubleshooting.md +364 -0
- package/LLMD/resources/.gitkeep +1 -0
- package/LLMD/resources/controllers.md +465 -0
- package/LLMD/resources/live-components.md +703 -0
- package/LLMD/resources/live-rooms.md +482 -0
- package/LLMD/resources/live-upload.md +130 -0
- package/LLMD/resources/plugins-external.md +617 -0
- package/LLMD/resources/routes-eden.md +254 -0
- package/README.md +37 -17
- package/app/client/index.html +0 -1
- package/app/client/src/App.tsx +107 -150
- package/app/client/src/components/AppLayout.tsx +68 -0
- package/app/client/src/components/BackButton.tsx +13 -0
- package/app/client/src/components/DemoPage.tsx +20 -0
- package/app/client/src/components/LiveUploadWidget.tsx +204 -0
- package/app/client/src/lib/eden-api.ts +85 -60
- package/app/client/src/live/ChatDemo.tsx +107 -0
- package/app/client/src/live/CounterDemo.tsx +206 -0
- package/app/client/src/live/FormDemo.tsx +119 -0
- package/app/client/src/live/RoomChatDemo.tsx +161 -0
- package/app/client/src/live/UploadDemo.tsx +21 -0
- package/app/client/src/main.tsx +4 -1
- package/app/client/src/pages/ApiTestPage.tsx +108 -0
- package/app/client/src/pages/HomePage.tsx +76 -0
- package/app/server/app.ts +1 -4
- package/app/server/controllers/users.controller.ts +36 -44
- package/app/server/index.ts +25 -35
- package/app/server/live/LiveChat.ts +77 -0
- package/app/server/live/LiveCounter.ts +67 -0
- package/app/server/live/LiveForm.ts +63 -0
- package/app/server/live/LiveLocalCounter.ts +32 -0
- package/app/server/live/LiveRoomChat.ts +127 -0
- package/app/server/live/LiveUpload.ts +81 -0
- package/app/server/routes/index.ts +3 -1
- package/app/server/routes/room.routes.ts +117 -0
- package/app/server/routes/users.routes.ts +35 -27
- package/app/shared/types/index.ts +14 -2
- package/config/app.config.ts +2 -62
- package/config/client.config.ts +2 -95
- package/config/database.config.ts +2 -99
- package/config/fluxstack.config.ts +25 -45
- package/config/index.ts +57 -38
- package/config/monitoring.config.ts +2 -114
- package/config/plugins.config.ts +2 -80
- package/config/server.config.ts +2 -68
- package/config/services.config.ts +2 -130
- package/config/system/app.config.ts +29 -0
- package/config/system/build.config.ts +49 -0
- package/config/system/client.config.ts +68 -0
- package/config/system/database.config.ts +17 -0
- package/config/system/fluxstack.config.ts +114 -0
- package/config/{logger.config.ts → system/logger.config.ts} +3 -1
- package/config/system/monitoring.config.ts +114 -0
- package/config/system/plugins.config.ts +84 -0
- package/config/{runtime.config.ts → system/runtime.config.ts} +1 -1
- package/config/system/server.config.ts +68 -0
- package/config/system/services.config.ts +46 -0
- package/config/{system.config.ts → system/system.config.ts} +1 -1
- package/core/build/flux-plugins-generator.ts +325 -325
- package/core/build/index.ts +39 -27
- package/core/build/live-components-generator.ts +3 -3
- package/core/build/optimizer.ts +235 -235
- package/core/cli/command-registry.ts +6 -4
- package/core/cli/commands/build.ts +79 -0
- package/core/cli/commands/create.ts +54 -0
- package/core/cli/commands/dev.ts +101 -0
- package/core/cli/commands/help.ts +34 -0
- package/core/cli/commands/index.ts +34 -0
- package/core/cli/commands/make-plugin.ts +90 -0
- package/core/cli/commands/plugin-add.ts +197 -0
- package/core/cli/commands/plugin-deps.ts +2 -2
- package/core/cli/commands/plugin-list.ts +208 -0
- package/core/cli/commands/plugin-remove.ts +170 -0
- package/core/cli/generators/component.ts +769 -769
- package/core/cli/generators/controller.ts +1 -1
- package/core/cli/generators/index.ts +146 -146
- package/core/cli/generators/interactive.ts +227 -227
- package/core/cli/generators/plugin.ts +2 -2
- package/core/cli/generators/prompts.ts +82 -82
- package/core/cli/generators/route.ts +6 -6
- package/core/cli/generators/service.ts +2 -2
- package/core/cli/generators/template-engine.ts +4 -3
- package/core/cli/generators/types.ts +2 -2
- package/core/cli/generators/utils.ts +191 -191
- package/core/cli/index.ts +115 -686
- package/core/cli/plugin-discovery.ts +2 -2
- package/core/client/LiveComponentsProvider.tsx +60 -8
- package/core/client/api/eden.ts +183 -0
- package/core/client/api/index.ts +11 -0
- package/core/client/components/Live.tsx +104 -0
- package/core/client/fluxstack.ts +1 -9
- package/core/client/hooks/AdaptiveChunkSizer.ts +215 -215
- package/core/client/hooks/state-validator.ts +1 -1
- package/core/client/hooks/useAuth.ts +48 -48
- package/core/client/hooks/useChunkedUpload.ts +85 -35
- package/core/client/hooks/useLiveChunkedUpload.ts +87 -0
- package/core/client/hooks/useLiveComponent.ts +800 -0
- package/core/client/hooks/useLiveUpload.ts +71 -0
- package/core/client/hooks/useRoom.ts +409 -0
- package/core/client/hooks/useRoomProxy.ts +382 -0
- package/core/client/index.ts +17 -68
- package/core/client/standalone-entry.ts +8 -0
- package/core/client/standalone.ts +74 -53
- package/core/client/state/createStore.ts +192 -192
- package/core/client/state/index.ts +14 -14
- package/core/config/index.ts +70 -291
- package/core/config/schema.ts +42 -723
- package/core/framework/client.ts +131 -131
- package/core/framework/index.ts +7 -7
- package/core/framework/server.ts +47 -40
- package/core/framework/types.ts +2 -2
- package/core/index.ts +23 -4
- package/core/live/ComponentRegistry.ts +3 -3
- package/core/live/types.ts +77 -0
- package/core/plugins/built-in/index.ts +134 -134
- package/core/plugins/built-in/live-components/commands/create-live-component.ts +242 -1066
- package/core/plugins/built-in/live-components/index.ts +1 -1
- package/core/plugins/built-in/monitoring/index.ts +111 -47
- package/core/plugins/built-in/static/index.ts +1 -1
- package/core/plugins/built-in/swagger/index.ts +68 -265
- package/core/plugins/built-in/vite/index.ts +85 -185
- package/core/plugins/built-in/vite/vite-dev.ts +10 -16
- package/core/plugins/config.ts +9 -7
- package/core/plugins/dependency-manager.ts +31 -1
- package/core/plugins/discovery.ts +19 -7
- package/core/plugins/executor.ts +2 -2
- package/core/plugins/index.ts +203 -203
- package/core/plugins/manager.ts +27 -39
- package/core/plugins/module-resolver.ts +19 -8
- package/core/plugins/registry.ts +255 -19
- package/core/plugins/types.ts +20 -53
- package/core/server/framework.ts +66 -43
- package/core/server/index.ts +15 -15
- package/core/server/live/ComponentRegistry.ts +78 -71
- package/core/server/live/FileUploadManager.ts +23 -10
- package/core/server/live/LiveComponentPerformanceMonitor.ts +1 -1
- package/core/server/live/LiveRoomManager.ts +261 -0
- package/core/server/live/RoomEventBus.ts +234 -0
- package/core/server/live/RoomStateManager.ts +172 -0
- package/core/server/live/StateSignature.ts +643 -643
- package/core/server/live/WebSocketConnectionManager.ts +30 -19
- package/core/server/live/auto-generated-components.ts +21 -9
- package/core/server/live/index.ts +14 -0
- package/core/server/live/websocket-plugin.ts +214 -67
- package/core/server/middleware/elysia-helpers.ts +7 -2
- package/core/server/middleware/errorHandling.ts +1 -1
- package/core/server/middleware/index.ts +31 -31
- package/core/server/plugins/database.ts +180 -180
- package/core/server/plugins/static-files-plugin.ts +69 -69
- package/core/server/plugins/swagger.ts +1 -1
- package/core/server/rooms/RoomBroadcaster.ts +357 -0
- package/core/server/rooms/RoomSystem.ts +463 -0
- package/core/server/rooms/index.ts +13 -0
- package/core/server/services/BaseService.ts +1 -1
- package/core/server/services/ServiceContainer.ts +1 -1
- package/core/server/services/index.ts +8 -8
- package/core/templates/create-project.ts +12 -12
- package/core/testing/index.ts +9 -9
- package/core/testing/setup.ts +73 -73
- package/core/types/api.ts +168 -168
- package/core/types/build.ts +219 -219
- package/core/types/config.ts +56 -26
- package/core/types/index.ts +4 -4
- package/core/types/plugin.ts +107 -107
- package/core/types/types.ts +353 -14
- package/core/utils/build-logger.ts +324 -324
- package/core/utils/config-schema.ts +480 -480
- package/core/utils/env.ts +2 -8
- package/core/utils/errors/codes.ts +114 -114
- package/core/utils/errors/handlers.ts +36 -1
- package/core/utils/errors/index.ts +49 -5
- package/core/utils/errors/middleware.ts +113 -113
- package/core/utils/helpers.ts +6 -16
- package/core/utils/index.ts +17 -17
- package/core/utils/logger/colors.ts +114 -114
- package/core/utils/logger/config.ts +13 -9
- package/core/utils/logger/formatter.ts +82 -82
- package/core/utils/logger/group-logger.ts +101 -101
- package/core/utils/logger/index.ts +6 -1
- package/core/utils/logger/stack-trace.ts +3 -1
- package/core/utils/logger/startup-banner.ts +82 -82
- package/core/utils/logger/winston-logger.ts +152 -152
- package/core/utils/monitoring/index.ts +211 -211
- package/core/utils/sync-version.ts +66 -66
- package/core/utils/version.ts +1 -1
- package/create-fluxstack.ts +8 -7
- package/package.json +12 -13
- package/plugins/crypto-auth/cli/make-protected-route.command.ts +1 -1
- package/plugins/crypto-auth/client/CryptoAuthClient.ts +302 -302
- package/plugins/crypto-auth/client/components/index.ts +11 -11
- package/plugins/crypto-auth/client/index.ts +11 -11
- package/plugins/crypto-auth/config/index.ts +1 -1
- package/plugins/crypto-auth/index.ts +4 -4
- package/plugins/crypto-auth/package.json +65 -65
- package/plugins/crypto-auth/server/AuthMiddleware.ts +1 -1
- package/plugins/crypto-auth/server/CryptoAuthService.ts +185 -185
- package/plugins/crypto-auth/server/index.ts +21 -21
- package/plugins/crypto-auth/server/middlewares/cryptoAuthAdmin.ts +3 -3
- package/plugins/crypto-auth/server/middlewares/cryptoAuthOptional.ts +1 -1
- package/plugins/crypto-auth/server/middlewares/cryptoAuthPermissions.ts +2 -2
- package/plugins/crypto-auth/server/middlewares/cryptoAuthRequired.ts +2 -2
- package/plugins/crypto-auth/server/middlewares/helpers.ts +1 -1
- package/plugins/crypto-auth/server/middlewares/index.ts +22 -22
- package/tsconfig.api-strict.json +16 -0
- package/tsconfig.json +48 -52
- package/{app/client/tsconfig.node.json → tsconfig.node.json} +25 -25
- package/types/global.d.ts +29 -29
- package/types/vitest.d.ts +8 -8
- package/vite.config.ts +38 -62
- package/vitest.config.live.ts +10 -9
- package/vitest.config.ts +29 -17
- package/app/client/README.md +0 -69
- package/app/client/SIMPLIFICATION.md +0 -140
- package/app/client/frontend-only.ts +0 -12
- package/app/client/src/live/FileUploadExample.tsx +0 -359
- package/app/client/src/live/MinimalLiveClock.tsx +0 -47
- package/app/client/src/live/QuickUploadTest.tsx +0 -193
- package/app/client/tsconfig.app.json +0 -45
- package/app/client/tsconfig.json +0 -7
- package/app/client/zustand-setup.md +0 -65
- package/app/server/backend-only.ts +0 -18
- package/app/server/live/LiveClockComponent.ts +0 -215
- package/app/server/live/LiveFileUploadComponent.ts +0 -77
- package/app/server/routes/env-test.ts +0 -110
- package/core/client/hooks/index.ts +0 -7
- package/core/client/hooks/useHybridLiveComponent.ts +0 -685
- package/core/client/hooks/useTypedLiveComponent.ts +0 -133
- package/core/client/hooks/useWebSocket.ts +0 -361
- package/core/config/env.ts +0 -546
- package/core/config/loader.ts +0 -522
- package/core/config/runtime-config.ts +0 -327
- package/core/config/validator.ts +0 -540
- package/core/server/backend-entry.ts +0 -51
- package/core/server/standalone.ts +0 -106
- package/core/utils/regenerate-files.ts +0 -69
- package/fluxstack.config.ts +0 -354
|
@@ -1,135 +1,135 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Built-in Plugins for FluxStack
|
|
3
|
-
* Core plugins that provide essential functionality
|
|
4
|
-
*
|
|
5
|
-
* Note: Logger is NOT a plugin - it's core infrastructure used by plugins
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
// Import all built-in plugins
|
|
9
|
-
import { swaggerPlugin } from './swagger'
|
|
10
|
-
import { vitePlugin } from './vite'
|
|
11
|
-
import { monitoringPlugin } from './monitoring'
|
|
12
|
-
|
|
13
|
-
// Export individual plugins
|
|
14
|
-
export { swaggerPlugin } from './swagger'
|
|
15
|
-
export { vitePlugin } from './vite'
|
|
16
|
-
export { monitoringPlugin } from './monitoring'
|
|
17
|
-
|
|
18
|
-
// Deprecated: staticPlugin is now merged into vitePlugin (auto-detects dev/prod)
|
|
19
|
-
/** @deprecated Use vitePlugin instead - it now handles both dev and prod */
|
|
20
|
-
export const staticPlugin = vitePlugin
|
|
21
|
-
|
|
22
|
-
// Export as a collection
|
|
23
|
-
export const builtInPlugins = {
|
|
24
|
-
swagger: swaggerPlugin,
|
|
25
|
-
vite: vitePlugin,
|
|
26
|
-
static: staticPlugin,
|
|
27
|
-
monitoring: monitoringPlugin
|
|
28
|
-
} as const
|
|
29
|
-
|
|
30
|
-
// Export as an array for easy registration
|
|
31
|
-
export const builtInPluginsList = [
|
|
32
|
-
swaggerPlugin,
|
|
33
|
-
vitePlugin,
|
|
34
|
-
staticPlugin,
|
|
35
|
-
monitoringPlugin
|
|
36
|
-
] as const
|
|
37
|
-
|
|
38
|
-
// Plugin categories
|
|
39
|
-
export const pluginCategories = {
|
|
40
|
-
core: [vitePlugin], // vitePlugin now handles both dev (Vite) and prod (static)
|
|
41
|
-
development: [vitePlugin],
|
|
42
|
-
documentation: [swaggerPlugin],
|
|
43
|
-
monitoring: [monitoringPlugin]
|
|
44
|
-
} as const
|
|
45
|
-
|
|
46
|
-
// Default plugin configuration
|
|
47
|
-
export const defaultPluginConfig = {
|
|
48
|
-
swagger: {
|
|
49
|
-
enabled: true,
|
|
50
|
-
path: '/swagger',
|
|
51
|
-
title: 'FluxStack API',
|
|
52
|
-
description: 'Modern full-stack TypeScript framework with type-safe API endpoints'
|
|
53
|
-
},
|
|
54
|
-
vite: {
|
|
55
|
-
enabled: true,
|
|
56
|
-
port: 5173,
|
|
57
|
-
host: 'localhost',
|
|
58
|
-
checkInterval: 2000,
|
|
59
|
-
maxRetries: 10,
|
|
60
|
-
timeout: 5000
|
|
61
|
-
},
|
|
62
|
-
static: {
|
|
63
|
-
enabled: true,
|
|
64
|
-
publicDir: 'public',
|
|
65
|
-
distDir: 'dist/client',
|
|
66
|
-
indexFile: 'index.html',
|
|
67
|
-
spa: {
|
|
68
|
-
enabled: true,
|
|
69
|
-
fallback: 'index.html'
|
|
70
|
-
}
|
|
71
|
-
},
|
|
72
|
-
monitoring: {
|
|
73
|
-
enabled: false, // Disabled by default to avoid overhead
|
|
74
|
-
httpMetrics: true,
|
|
75
|
-
systemMetrics: true,
|
|
76
|
-
customMetrics: true,
|
|
77
|
-
collectInterval: 5000,
|
|
78
|
-
retentionPeriod: 300000,
|
|
79
|
-
exporters: [
|
|
80
|
-
{
|
|
81
|
-
type: 'console',
|
|
82
|
-
interval: 30000,
|
|
83
|
-
enabled: false
|
|
84
|
-
}
|
|
85
|
-
],
|
|
86
|
-
thresholds: {
|
|
87
|
-
responseTime: 1000,
|
|
88
|
-
errorRate: 0.05,
|
|
89
|
-
memoryUsage: 0.8,
|
|
90
|
-
cpuUsage: 0.8
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
} as const
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Get default plugins for a specific environment
|
|
97
|
-
*/
|
|
98
|
-
export function getDefaultPlugins(environment: 'development' | 'production' | 'test' = 'development') {
|
|
99
|
-
// vitePlugin now auto-detects dev/prod and serves appropriately
|
|
100
|
-
const basePlugins = [vitePlugin]
|
|
101
|
-
|
|
102
|
-
switch (environment) {
|
|
103
|
-
case 'development':
|
|
104
|
-
return [...basePlugins, swaggerPlugin, monitoringPlugin]
|
|
105
|
-
case 'production':
|
|
106
|
-
return [...basePlugins, monitoringPlugin]
|
|
107
|
-
case 'test':
|
|
108
|
-
return [] // Minimal plugins for testing
|
|
109
|
-
default:
|
|
110
|
-
return basePlugins
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Get plugin by name
|
|
116
|
-
*/
|
|
117
|
-
export function getBuiltInPlugin(name: string) {
|
|
118
|
-
return builtInPlugins[name as keyof typeof builtInPlugins]
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* Check if a plugin is built-in
|
|
123
|
-
*/
|
|
124
|
-
export function isBuiltInPlugin(name: string): boolean {
|
|
125
|
-
return name in builtInPlugins
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
* Get plugins by category
|
|
130
|
-
*/
|
|
131
|
-
export function getPluginsByCategory(category: keyof typeof pluginCategories) {
|
|
132
|
-
return pluginCategories[category] || []
|
|
133
|
-
}
|
|
134
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Built-in Plugins for FluxStack
|
|
3
|
+
* Core plugins that provide essential functionality
|
|
4
|
+
*
|
|
5
|
+
* Note: Logger is NOT a plugin - it's core infrastructure used by plugins
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
// Import all built-in plugins
|
|
9
|
+
import { swaggerPlugin } from './swagger'
|
|
10
|
+
import { vitePlugin } from './vite'
|
|
11
|
+
import { monitoringPlugin } from './monitoring'
|
|
12
|
+
|
|
13
|
+
// Export individual plugins
|
|
14
|
+
export { swaggerPlugin } from './swagger'
|
|
15
|
+
export { vitePlugin } from './vite'
|
|
16
|
+
export { monitoringPlugin } from './monitoring'
|
|
17
|
+
|
|
18
|
+
// Deprecated: staticPlugin is now merged into vitePlugin (auto-detects dev/prod)
|
|
19
|
+
/** @deprecated Use vitePlugin instead - it now handles both dev and prod */
|
|
20
|
+
export const staticPlugin = vitePlugin
|
|
21
|
+
|
|
22
|
+
// Export as a collection
|
|
23
|
+
export const builtInPlugins = {
|
|
24
|
+
swagger: swaggerPlugin,
|
|
25
|
+
vite: vitePlugin,
|
|
26
|
+
static: staticPlugin,
|
|
27
|
+
monitoring: monitoringPlugin
|
|
28
|
+
} as const
|
|
29
|
+
|
|
30
|
+
// Export as an array for easy registration
|
|
31
|
+
export const builtInPluginsList = [
|
|
32
|
+
swaggerPlugin,
|
|
33
|
+
vitePlugin,
|
|
34
|
+
staticPlugin,
|
|
35
|
+
monitoringPlugin
|
|
36
|
+
] as const
|
|
37
|
+
|
|
38
|
+
// Plugin categories
|
|
39
|
+
export const pluginCategories = {
|
|
40
|
+
core: [vitePlugin], // vitePlugin now handles both dev (Vite) and prod (static)
|
|
41
|
+
development: [vitePlugin],
|
|
42
|
+
documentation: [swaggerPlugin],
|
|
43
|
+
monitoring: [monitoringPlugin]
|
|
44
|
+
} as const
|
|
45
|
+
|
|
46
|
+
// Default plugin configuration
|
|
47
|
+
export const defaultPluginConfig = {
|
|
48
|
+
swagger: {
|
|
49
|
+
enabled: true,
|
|
50
|
+
path: '/swagger',
|
|
51
|
+
title: 'FluxStack API',
|
|
52
|
+
description: 'Modern full-stack TypeScript framework with type-safe API endpoints'
|
|
53
|
+
},
|
|
54
|
+
vite: {
|
|
55
|
+
enabled: true,
|
|
56
|
+
port: 5173,
|
|
57
|
+
host: 'localhost',
|
|
58
|
+
checkInterval: 2000,
|
|
59
|
+
maxRetries: 10,
|
|
60
|
+
timeout: 5000
|
|
61
|
+
},
|
|
62
|
+
static: {
|
|
63
|
+
enabled: true,
|
|
64
|
+
publicDir: 'public',
|
|
65
|
+
distDir: 'dist/client',
|
|
66
|
+
indexFile: 'index.html',
|
|
67
|
+
spa: {
|
|
68
|
+
enabled: true,
|
|
69
|
+
fallback: 'index.html'
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
monitoring: {
|
|
73
|
+
enabled: false, // Disabled by default to avoid overhead
|
|
74
|
+
httpMetrics: true,
|
|
75
|
+
systemMetrics: true,
|
|
76
|
+
customMetrics: true,
|
|
77
|
+
collectInterval: 5000,
|
|
78
|
+
retentionPeriod: 300000,
|
|
79
|
+
exporters: [
|
|
80
|
+
{
|
|
81
|
+
type: 'console',
|
|
82
|
+
interval: 30000,
|
|
83
|
+
enabled: false
|
|
84
|
+
}
|
|
85
|
+
],
|
|
86
|
+
thresholds: {
|
|
87
|
+
responseTime: 1000,
|
|
88
|
+
errorRate: 0.05,
|
|
89
|
+
memoryUsage: 0.8,
|
|
90
|
+
cpuUsage: 0.8
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
} as const
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Get default plugins for a specific environment
|
|
97
|
+
*/
|
|
98
|
+
export function getDefaultPlugins(environment: 'development' | 'production' | 'test' = 'development') {
|
|
99
|
+
// vitePlugin now auto-detects dev/prod and serves appropriately
|
|
100
|
+
const basePlugins = [vitePlugin]
|
|
101
|
+
|
|
102
|
+
switch (environment) {
|
|
103
|
+
case 'development':
|
|
104
|
+
return [...basePlugins, swaggerPlugin, monitoringPlugin]
|
|
105
|
+
case 'production':
|
|
106
|
+
return [...basePlugins, monitoringPlugin]
|
|
107
|
+
case 'test':
|
|
108
|
+
return [] // Minimal plugins for testing
|
|
109
|
+
default:
|
|
110
|
+
return basePlugins
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Get plugin by name
|
|
116
|
+
*/
|
|
117
|
+
export function getBuiltInPlugin(name: string) {
|
|
118
|
+
return builtInPlugins[name as keyof typeof builtInPlugins]
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Check if a plugin is built-in
|
|
123
|
+
*/
|
|
124
|
+
export function isBuiltInPlugin(name: string): boolean {
|
|
125
|
+
return name in builtInPlugins
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Get plugins by category
|
|
130
|
+
*/
|
|
131
|
+
export function getPluginsByCategory(category: keyof typeof pluginCategories) {
|
|
132
|
+
return pluginCategories[category] || []
|
|
133
|
+
}
|
|
134
|
+
|
|
135
135
|
export default builtInPlugins
|