wexts 2.0.7 → 2.0.8

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 (110) hide show
  1. package/dist/chunk-63MTCWU2.mjs +361 -0
  2. package/dist/chunk-63MTCWU2.mjs.map +1 -0
  3. package/dist/chunk-67IJ6H4J.mjs +44 -0
  4. package/dist/chunk-67IJ6H4J.mjs.map +1 -0
  5. package/dist/chunk-7NSRDJ5C.mjs +1 -0
  6. package/dist/chunk-7NSRDJ5C.mjs.map +1 -0
  7. package/dist/chunk-ASDXAK6G.js +44 -0
  8. package/dist/chunk-ASDXAK6G.js.map +1 -0
  9. package/dist/chunk-CKZ4VSCB.mjs +18 -0
  10. package/dist/chunk-CKZ4VSCB.mjs.map +1 -0
  11. package/dist/chunk-DW6GOKMF.js +57 -0
  12. package/dist/chunk-DW6GOKMF.js.map +1 -0
  13. package/dist/chunk-GKVPGKAH.js +66 -0
  14. package/dist/chunk-GKVPGKAH.js.map +1 -0
  15. package/dist/chunk-HSFLZUJN.mjs +57 -0
  16. package/dist/chunk-HSFLZUJN.mjs.map +1 -0
  17. package/dist/chunk-HU63F22V.js +361 -0
  18. package/dist/chunk-HU63F22V.js.map +1 -0
  19. package/dist/chunk-JMBD6DOP.js +225 -0
  20. package/dist/chunk-JMBD6DOP.js.map +1 -0
  21. package/dist/chunk-K7EIJSYQ.js +1 -0
  22. package/dist/chunk-K7EIJSYQ.js.map +1 -0
  23. package/dist/chunk-OTBYRUBE.mjs +225 -0
  24. package/dist/chunk-OTBYRUBE.mjs.map +1 -0
  25. package/dist/chunk-WMHVXEYQ.mjs +66 -0
  26. package/dist/chunk-WMHVXEYQ.mjs.map +1 -0
  27. package/dist/cli/index.js +146 -25
  28. package/dist/cli/index.js.map +1 -1
  29. package/dist/cli/index.mjs +130 -7
  30. package/dist/cli/index.mjs.map +1 -1
  31. package/dist/client/index.js +2 -2
  32. package/dist/client/index.mjs +2 -2
  33. package/dist/codegen/index.d.mts +1 -0
  34. package/dist/codegen/index.d.ts +1 -0
  35. package/dist/codegen/index.js +13 -0
  36. package/dist/codegen/index.js.map +1 -0
  37. package/dist/codegen/index.mjs +13 -0
  38. package/dist/codegen/index.mjs.map +1 -0
  39. package/dist/dev-server/index.d.mts +1 -0
  40. package/dist/dev-server/index.d.ts +1 -0
  41. package/dist/dev-server/index.js +13 -0
  42. package/dist/dev-server/index.js.map +1 -0
  43. package/dist/dev-server/index.mjs +13 -0
  44. package/dist/dev-server/index.mjs.map +1 -0
  45. package/dist/index-SjUaHgFr.d.mts +75 -0
  46. package/dist/index-SjUaHgFr.d.ts +75 -0
  47. package/dist/index-tFGPFVfQ.d.mts +67 -0
  48. package/dist/index-tFGPFVfQ.d.ts +67 -0
  49. package/dist/index.d.mts +83 -164
  50. package/dist/index.d.ts +83 -164
  51. package/dist/index.js +89 -22
  52. package/dist/index.js.map +1 -1
  53. package/dist/index.mjs +76 -9
  54. package/dist/index.mjs.map +1 -1
  55. package/dist/nest/index.js +2 -2
  56. package/dist/nest/index.mjs +2 -2
  57. package/dist/next/index.d.mts +61 -3
  58. package/dist/next/index.d.ts +61 -3
  59. package/dist/next/index.js +140 -7
  60. package/dist/next/index.js.map +1 -1
  61. package/dist/next/index.mjs +102 -7
  62. package/dist/next/index.mjs.map +1 -1
  63. package/dist/types/index.js +1 -1
  64. package/dist/types/index.mjs +2 -1
  65. package/package.json +1 -1
  66. package/templates/nestjs-api/package-lock.json +5623 -0
  67. package/templates/nestjs-api/package.json +21 -19
  68. package/templates/nestjs-api/prisma/migrations/20251123205437_init/migration.sql +24 -0
  69. package/templates/nestjs-api/prisma/migrations/migration_lock.toml +3 -0
  70. package/templates/nestjs-api/src/auth/auth.controller.ts +5 -5
  71. package/templates/nestjs-api/src/main.ts +1 -1
  72. package/templates/nestjs-api/src/todos/todos.controller.ts +7 -7
  73. package/templates/nestjs-api/src/users/users.controller.ts +3 -3
  74. package/templates/nestjs-api/tsconfig.json +20 -1
  75. package/templates/nextjs-web/app/actions/auth.ts +79 -0
  76. package/templates/nextjs-web/app/dashboard/error.tsx +39 -0
  77. package/templates/nextjs-web/app/dashboard/loading.tsx +14 -0
  78. package/templates/nextjs-web/app/dashboard/page.tsx +2 -172
  79. package/templates/nextjs-web/app/globals.css +80 -15
  80. package/templates/nextjs-web/app/layout.tsx +7 -5
  81. package/templates/nextjs-web/app/login/page.tsx +2 -104
  82. package/templates/nextjs-web/app/page.tsx +1 -1
  83. package/templates/nextjs-web/app/register/page.tsx +2 -127
  84. package/templates/nextjs-web/components/ui/button.tsx +56 -0
  85. package/templates/nextjs-web/components/ui/card.tsx +79 -0
  86. package/templates/nextjs-web/components/ui/input.tsx +25 -0
  87. package/templates/nextjs-web/components/ui/label.tsx +24 -0
  88. package/templates/nextjs-web/features/auth/LoginForm.tsx +140 -0
  89. package/templates/nextjs-web/features/auth/RegisterForm.tsx +159 -0
  90. package/templates/nextjs-web/features/auth/api.ts +35 -0
  91. package/templates/nextjs-web/features/auth/index.ts +3 -0
  92. package/templates/nextjs-web/features/dashboard/DashboardView.tsx +204 -0
  93. package/templates/nextjs-web/features/dashboard/api.ts +9 -0
  94. package/templates/nextjs-web/features/dashboard/components.tsx +74 -0
  95. package/templates/nextjs-web/features/dashboard/index.ts +3 -0
  96. package/templates/nextjs-web/hooks/index.ts +4 -0
  97. package/templates/nextjs-web/lib/api-client.ts +89 -0
  98. package/templates/nextjs-web/lib/axios-global-config.ts +17 -0
  99. package/templates/nextjs-web/lib/utils.ts +6 -0
  100. package/templates/nextjs-web/lib/wexts-client.ts +4 -0
  101. package/templates/nextjs-web/next-env.d.ts +6 -0
  102. package/templates/nextjs-web/next.config.ts +20 -0
  103. package/templates/nextjs-web/package-lock.json +3254 -0
  104. package/templates/nextjs-web/package.json +23 -14
  105. package/templates/nextjs-web/postcss.config.js +6 -0
  106. package/templates/nextjs-web/tailwind.config.ts +55 -1
  107. package/templates/nextjs-web/tsconfig.json +41 -39
  108. package/templates/nestjs-api/.env.example +0 -4
  109. package/templates/nextjs-web/next.config.mjs +0 -4
  110. /package/templates/nextjs-web/{.env.local.example → .env} +0 -0
package/dist/index.d.mts CHANGED
@@ -1,8 +1,9 @@
1
+ export { i as Codegen } from './index-SjUaHgFr.mjs';
2
+ export { i as DevServer } from './index-tFGPFVfQ.mjs';
1
3
  export { i as Nest } from './index-BsNaOUtH.mjs';
2
- export { i as Next } from './index-kEbGExWM.mjs';
4
+ import React, { ReactNode } from 'react';
5
+ import { FusionFetcher } from './client/index.mjs';
3
6
  export { Todo, User } from './types/index.mjs';
4
- import 'react';
5
- import './client/index.mjs';
6
7
 
7
8
  interface FusionConfig {
8
9
  [key: string]: any;
@@ -119,125 +120,51 @@ declare class APIError extends FusionError {
119
120
  constructor(message: string, statusCode?: number | undefined);
120
121
  }
121
122
 
122
- type index$5_APIError = APIError;
123
- declare const index$5_APIError: typeof APIError;
124
- type index$5_ConfigError = ConfigError;
125
- declare const index$5_ConfigError: typeof ConfigError;
126
- type index$5_ConfigLoader = ConfigLoader;
127
- declare const index$5_ConfigLoader: typeof ConfigLoader;
128
- type index$5_FileSystem = FileSystem;
129
- declare const index$5_FileSystem: typeof FileSystem;
130
- type index$5_FusionConfig = FusionConfig;
131
- type index$5_FusionError = FusionError;
132
- declare const index$5_FusionError: typeof FusionError;
133
- type index$5_LogLevel = LogLevel;
134
- declare const index$5_LogLevel: typeof LogLevel;
135
- type index$5_Logger = Logger;
136
- declare const index$5_Logger: typeof Logger;
137
- type index$5_LoggerOptions = LoggerOptions;
138
- type index$5_ProcessManager = ProcessManager;
139
- declare const index$5_ProcessManager: typeof ProcessManager;
140
- type index$5_ValidationError = ValidationError;
141
- declare const index$5_ValidationError: typeof ValidationError;
142
- declare const index$5_config: typeof config;
143
- declare const index$5_createLogger: typeof createLogger;
144
- declare const index$5_filesystem: typeof filesystem;
145
- declare const index$5_load: typeof load;
146
- declare const index$5_logger: typeof logger;
147
- declare namespace index$5 {
148
- export { index$5_APIError as APIError, index$5_ConfigError as ConfigError, index$5_ConfigLoader as ConfigLoader, index$5_FileSystem as FileSystem, type index$5_FusionConfig as FusionConfig, index$5_FusionError as FusionError, index$5_LogLevel as LogLevel, index$5_Logger as Logger, type index$5_LoggerOptions as LoggerOptions, index$5_ProcessManager as ProcessManager, index$5_ValidationError as ValidationError, index$5_config as config, index$5_createLogger as createLogger, index$5_filesystem as filesystem, index$5_load as load, index$5_logger as logger };
123
+ type index$4_APIError = APIError;
124
+ declare const index$4_APIError: typeof APIError;
125
+ type index$4_ConfigError = ConfigError;
126
+ declare const index$4_ConfigError: typeof ConfigError;
127
+ type index$4_ConfigLoader = ConfigLoader;
128
+ declare const index$4_ConfigLoader: typeof ConfigLoader;
129
+ type index$4_FileSystem = FileSystem;
130
+ declare const index$4_FileSystem: typeof FileSystem;
131
+ type index$4_FusionConfig = FusionConfig;
132
+ type index$4_FusionError = FusionError;
133
+ declare const index$4_FusionError: typeof FusionError;
134
+ type index$4_LogLevel = LogLevel;
135
+ declare const index$4_LogLevel: typeof LogLevel;
136
+ type index$4_Logger = Logger;
137
+ declare const index$4_Logger: typeof Logger;
138
+ type index$4_LoggerOptions = LoggerOptions;
139
+ type index$4_ProcessManager = ProcessManager;
140
+ declare const index$4_ProcessManager: typeof ProcessManager;
141
+ type index$4_ValidationError = ValidationError;
142
+ declare const index$4_ValidationError: typeof ValidationError;
143
+ declare const index$4_config: typeof config;
144
+ declare const index$4_createLogger: typeof createLogger;
145
+ declare const index$4_filesystem: typeof filesystem;
146
+ declare const index$4_load: typeof load;
147
+ declare const index$4_logger: typeof logger;
148
+ declare namespace index$4 {
149
+ export { index$4_APIError as APIError, index$4_ConfigError as ConfigError, index$4_ConfigLoader as ConfigLoader, index$4_FileSystem as FileSystem, type index$4_FusionConfig as FusionConfig, index$4_FusionError as FusionError, index$4_LogLevel as LogLevel, index$4_Logger as Logger, type index$4_LoggerOptions as LoggerOptions, index$4_ProcessManager as ProcessManager, index$4_ValidationError as ValidationError, index$4_config as config, index$4_createLogger as createLogger, index$4_filesystem as filesystem, index$4_load as load, index$4_logger as logger };
149
150
  }
150
151
 
151
152
  declare const loader: {
152
153
  load: () => {};
153
154
  };
154
155
 
155
- declare const index$4_loader: typeof loader;
156
- declare namespace index$4 {
157
- export { index$4_loader as loader };
156
+ declare const index$3_loader: typeof loader;
157
+ declare namespace index$3 {
158
+ export { index$3_loader as loader };
158
159
  }
159
160
 
160
161
  declare const server: {
161
162
  start: () => void;
162
163
  };
163
164
 
164
- declare const index$3_server: typeof server;
165
- declare namespace index$3 {
166
- export { index$3_server as server };
167
- }
168
-
169
- interface RouteInfo {
170
- method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
171
- path: string;
172
- handler: string;
173
- controllerName: string;
174
- }
175
- interface ControllerInfo {
176
- name: string;
177
- prefix: string;
178
- routes: RouteInfo[];
179
- }
180
- /**
181
- * Parse NestJS controllers to extract Fusion metadata
182
- */
183
- declare class NestJSParser {
184
- private projectPath;
185
- private program;
186
- constructor(projectPath: string);
187
- /**
188
- * Find all controllers with @FusionController decorator
189
- */
190
- findFusionControllers(): ControllerInfo[];
191
- private parseSourceFile;
192
- private parseController;
193
- private parseRoutes;
194
- }
195
-
196
- interface GenerateOptions {
197
- controllers: ControllerInfo[];
198
- outputPath: string;
199
- baseUrl?: string;
200
- }
201
- /**
202
- * Generate TypeScript API client from controller metadata
203
- */
204
- declare class ClientGenerator {
205
- generate(options: GenerateOptions): Promise<void>;
206
- private generateClientCode;
207
- private generateClientClass;
208
- private generateControllerMethods;
209
- private generateMethodName;
210
- private generateMethod;
211
- private capitalize;
212
- }
213
-
214
- interface WatchOptions {
215
- projectPath: string;
216
- outputPath: string;
217
- pattern?: string;
218
- }
219
- /**
220
- * Watch NestJS controllers and regenerate client on changes
221
- */
222
- declare class CodegenWatcher {
223
- private watcher;
224
- watch(options: WatchOptions): Promise<void>;
225
- stop(): Promise<void>;
226
- private generateClient;
227
- }
228
-
229
- type index$2_ClientGenerator = ClientGenerator;
230
- declare const index$2_ClientGenerator: typeof ClientGenerator;
231
- type index$2_CodegenWatcher = CodegenWatcher;
232
- declare const index$2_CodegenWatcher: typeof CodegenWatcher;
233
- type index$2_ControllerInfo = ControllerInfo;
234
- type index$2_GenerateOptions = GenerateOptions;
235
- type index$2_NestJSParser = NestJSParser;
236
- declare const index$2_NestJSParser: typeof NestJSParser;
237
- type index$2_RouteInfo = RouteInfo;
238
- type index$2_WatchOptions = WatchOptions;
165
+ declare const index$2_server: typeof server;
239
166
  declare namespace index$2 {
240
- export { index$2_ClientGenerator as ClientGenerator, index$2_CodegenWatcher as CodegenWatcher, type index$2_ControllerInfo as ControllerInfo, type index$2_GenerateOptions as GenerateOptions, index$2_NestJSParser as NestJSParser, type index$2_RouteInfo as RouteInfo, type index$2_WatchOptions as WatchOptions };
167
+ export { index$2_server as server };
241
168
  }
242
169
 
243
170
  interface ScaffoldOptions {
@@ -259,70 +186,62 @@ declare namespace index$1 {
259
186
  export { index$1_ProjectScaffolder as ProjectScaffolder, type index$1_ScaffoldOptions as ScaffoldOptions };
260
187
  }
261
188
 
262
- interface DevServerConfig {
263
- apiPath: string;
264
- webPath: string;
265
- webPort?: number;
266
- apiPort?: number;
267
- useProxy?: boolean;
189
+ interface FusionContextType {
190
+ client: FusionFetcher;
191
+ }
192
+ interface FusionProviderProps {
193
+ children: ReactNode;
194
+ baseUrl?: string;
268
195
  }
269
196
  /**
270
- * Unified development server for Fusion projects
197
+ * FusionProvider - Provides API client to React components
198
+ * Usage:
199
+ * ```tsx
200
+ * <FusionProvider baseUrl="/api">
201
+ * <App />
202
+ * </FusionProvider>
203
+ * ```
271
204
  */
272
- declare class FusionDevServer {
273
- private processRunner;
274
- private proxyServer;
275
- constructor();
276
- start(config: DevServerConfig): Promise<void>;
277
- stop(): void;
278
- }
279
-
280
- interface ProcessConfig {
281
- name: string;
282
- command: string;
283
- args: string[];
284
- cwd: string;
285
- color: 'cyan' | 'green' | 'yellow' | 'magenta' | 'blue';
286
- env?: Record<string, string>;
287
- }
205
+ declare function FusionProvider({ children, baseUrl }: FusionProviderProps): React.JSX.Element;
288
206
  /**
289
- * Run multiple processes concurrently with colored output
207
+ * useFusion hook - Access API client in components
208
+ * Usage:
209
+ * ```tsx
210
+ * const { client } = useFusion();
211
+ * const data = await client.get('/users');
212
+ * ```
290
213
  */
291
- declare class ProcessRunner {
292
- private processes;
293
- private colors;
294
- run(configs: ProcessConfig[]): Promise<void>;
295
- private startProcess;
296
- stopAll(): void;
297
- isRunning(name: string): boolean;
298
- }
214
+ declare function useFusion(): FusionContextType;
299
215
 
300
- interface ProxyConfig {
301
- port: number;
302
- apiTarget: string;
303
- apiPrefix: string;
216
+ interface AuthUser {
217
+ id: string;
218
+ email: string;
219
+ name?: string;
220
+ }
221
+ interface UseAuthReturn {
222
+ user: AuthUser | null;
223
+ loading: boolean;
224
+ login: (email: string, password: string) => Promise<void>;
225
+ logout: () => Promise<void>;
226
+ isAuthenticated: boolean;
304
227
  }
305
228
  /**
306
- * Proxy server to forward API requests from Next.js to NestJS
229
+ * useAuth hook - Authentication state management
230
+ * Usage:
231
+ * ```tsx
232
+ * const { user, login, logout, isAuthenticated } = useAuth();
233
+ * ```
307
234
  */
308
- declare class ProxyServer {
309
- private server;
310
- private proxy;
311
- start(config: ProxyConfig): Promise<void>;
312
- stop(): void;
313
- }
314
-
315
- type index_DevServerConfig = DevServerConfig;
316
- type index_FusionDevServer = FusionDevServer;
317
- declare const index_FusionDevServer: typeof FusionDevServer;
318
- type index_ProcessConfig = ProcessConfig;
319
- type index_ProcessRunner = ProcessRunner;
320
- declare const index_ProcessRunner: typeof ProcessRunner;
321
- type index_ProxyConfig = ProxyConfig;
322
- type index_ProxyServer = ProxyServer;
323
- declare const index_ProxyServer: typeof ProxyServer;
235
+ declare function useAuth(): UseAuthReturn;
236
+
237
+ type index_AuthUser = AuthUser;
238
+ declare const index_FusionProvider: typeof FusionProvider;
239
+ type index_FusionProviderProps = FusionProviderProps;
240
+ type index_UseAuthReturn = UseAuthReturn;
241
+ declare const index_useAuth: typeof useAuth;
242
+ declare const index_useFusion: typeof useFusion;
324
243
  declare namespace index {
325
- export { type index_DevServerConfig as DevServerConfig, index_FusionDevServer as FusionDevServer, type index_ProcessConfig as ProcessConfig, index_ProcessRunner as ProcessRunner, type index_ProxyConfig as ProxyConfig, index_ProxyServer as ProxyServer };
244
+ export { type index_AuthUser as AuthUser, index_FusionProvider as FusionProvider, type index_FusionProviderProps as FusionProviderProps, type index_UseAuthReturn as UseAuthReturn, index_useAuth as useAuth, index_useFusion as useFusion };
326
245
  }
327
246
 
328
- export { index$2 as Codegen, index$4 as Config, index$5 as Core, index$1 as CreateFusion, index as DevServer, index$3 as Insight };
247
+ export { index$3 as Config, index$4 as Core, index$1 as CreateFusion, index$2 as Insight, index as Next };
package/dist/index.d.ts CHANGED
@@ -1,8 +1,9 @@
1
+ export { i as Codegen } from './index-SjUaHgFr.js';
2
+ export { i as DevServer } from './index-tFGPFVfQ.js';
1
3
  export { i as Nest } from './index-BsNaOUtH.js';
2
- export { i as Next } from './index-CrbXnXsO.js';
4
+ import React, { ReactNode } from 'react';
5
+ import { FusionFetcher } from './client/index.js';
3
6
  export { Todo, User } from './types/index.js';
4
- import 'react';
5
- import './client/index.js';
6
7
 
7
8
  interface FusionConfig {
8
9
  [key: string]: any;
@@ -119,125 +120,51 @@ declare class APIError extends FusionError {
119
120
  constructor(message: string, statusCode?: number | undefined);
120
121
  }
121
122
 
122
- type index$5_APIError = APIError;
123
- declare const index$5_APIError: typeof APIError;
124
- type index$5_ConfigError = ConfigError;
125
- declare const index$5_ConfigError: typeof ConfigError;
126
- type index$5_ConfigLoader = ConfigLoader;
127
- declare const index$5_ConfigLoader: typeof ConfigLoader;
128
- type index$5_FileSystem = FileSystem;
129
- declare const index$5_FileSystem: typeof FileSystem;
130
- type index$5_FusionConfig = FusionConfig;
131
- type index$5_FusionError = FusionError;
132
- declare const index$5_FusionError: typeof FusionError;
133
- type index$5_LogLevel = LogLevel;
134
- declare const index$5_LogLevel: typeof LogLevel;
135
- type index$5_Logger = Logger;
136
- declare const index$5_Logger: typeof Logger;
137
- type index$5_LoggerOptions = LoggerOptions;
138
- type index$5_ProcessManager = ProcessManager;
139
- declare const index$5_ProcessManager: typeof ProcessManager;
140
- type index$5_ValidationError = ValidationError;
141
- declare const index$5_ValidationError: typeof ValidationError;
142
- declare const index$5_config: typeof config;
143
- declare const index$5_createLogger: typeof createLogger;
144
- declare const index$5_filesystem: typeof filesystem;
145
- declare const index$5_load: typeof load;
146
- declare const index$5_logger: typeof logger;
147
- declare namespace index$5 {
148
- export { index$5_APIError as APIError, index$5_ConfigError as ConfigError, index$5_ConfigLoader as ConfigLoader, index$5_FileSystem as FileSystem, type index$5_FusionConfig as FusionConfig, index$5_FusionError as FusionError, index$5_LogLevel as LogLevel, index$5_Logger as Logger, type index$5_LoggerOptions as LoggerOptions, index$5_ProcessManager as ProcessManager, index$5_ValidationError as ValidationError, index$5_config as config, index$5_createLogger as createLogger, index$5_filesystem as filesystem, index$5_load as load, index$5_logger as logger };
123
+ type index$4_APIError = APIError;
124
+ declare const index$4_APIError: typeof APIError;
125
+ type index$4_ConfigError = ConfigError;
126
+ declare const index$4_ConfigError: typeof ConfigError;
127
+ type index$4_ConfigLoader = ConfigLoader;
128
+ declare const index$4_ConfigLoader: typeof ConfigLoader;
129
+ type index$4_FileSystem = FileSystem;
130
+ declare const index$4_FileSystem: typeof FileSystem;
131
+ type index$4_FusionConfig = FusionConfig;
132
+ type index$4_FusionError = FusionError;
133
+ declare const index$4_FusionError: typeof FusionError;
134
+ type index$4_LogLevel = LogLevel;
135
+ declare const index$4_LogLevel: typeof LogLevel;
136
+ type index$4_Logger = Logger;
137
+ declare const index$4_Logger: typeof Logger;
138
+ type index$4_LoggerOptions = LoggerOptions;
139
+ type index$4_ProcessManager = ProcessManager;
140
+ declare const index$4_ProcessManager: typeof ProcessManager;
141
+ type index$4_ValidationError = ValidationError;
142
+ declare const index$4_ValidationError: typeof ValidationError;
143
+ declare const index$4_config: typeof config;
144
+ declare const index$4_createLogger: typeof createLogger;
145
+ declare const index$4_filesystem: typeof filesystem;
146
+ declare const index$4_load: typeof load;
147
+ declare const index$4_logger: typeof logger;
148
+ declare namespace index$4 {
149
+ export { index$4_APIError as APIError, index$4_ConfigError as ConfigError, index$4_ConfigLoader as ConfigLoader, index$4_FileSystem as FileSystem, type index$4_FusionConfig as FusionConfig, index$4_FusionError as FusionError, index$4_LogLevel as LogLevel, index$4_Logger as Logger, type index$4_LoggerOptions as LoggerOptions, index$4_ProcessManager as ProcessManager, index$4_ValidationError as ValidationError, index$4_config as config, index$4_createLogger as createLogger, index$4_filesystem as filesystem, index$4_load as load, index$4_logger as logger };
149
150
  }
150
151
 
151
152
  declare const loader: {
152
153
  load: () => {};
153
154
  };
154
155
 
155
- declare const index$4_loader: typeof loader;
156
- declare namespace index$4 {
157
- export { index$4_loader as loader };
156
+ declare const index$3_loader: typeof loader;
157
+ declare namespace index$3 {
158
+ export { index$3_loader as loader };
158
159
  }
159
160
 
160
161
  declare const server: {
161
162
  start: () => void;
162
163
  };
163
164
 
164
- declare const index$3_server: typeof server;
165
- declare namespace index$3 {
166
- export { index$3_server as server };
167
- }
168
-
169
- interface RouteInfo {
170
- method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
171
- path: string;
172
- handler: string;
173
- controllerName: string;
174
- }
175
- interface ControllerInfo {
176
- name: string;
177
- prefix: string;
178
- routes: RouteInfo[];
179
- }
180
- /**
181
- * Parse NestJS controllers to extract Fusion metadata
182
- */
183
- declare class NestJSParser {
184
- private projectPath;
185
- private program;
186
- constructor(projectPath: string);
187
- /**
188
- * Find all controllers with @FusionController decorator
189
- */
190
- findFusionControllers(): ControllerInfo[];
191
- private parseSourceFile;
192
- private parseController;
193
- private parseRoutes;
194
- }
195
-
196
- interface GenerateOptions {
197
- controllers: ControllerInfo[];
198
- outputPath: string;
199
- baseUrl?: string;
200
- }
201
- /**
202
- * Generate TypeScript API client from controller metadata
203
- */
204
- declare class ClientGenerator {
205
- generate(options: GenerateOptions): Promise<void>;
206
- private generateClientCode;
207
- private generateClientClass;
208
- private generateControllerMethods;
209
- private generateMethodName;
210
- private generateMethod;
211
- private capitalize;
212
- }
213
-
214
- interface WatchOptions {
215
- projectPath: string;
216
- outputPath: string;
217
- pattern?: string;
218
- }
219
- /**
220
- * Watch NestJS controllers and regenerate client on changes
221
- */
222
- declare class CodegenWatcher {
223
- private watcher;
224
- watch(options: WatchOptions): Promise<void>;
225
- stop(): Promise<void>;
226
- private generateClient;
227
- }
228
-
229
- type index$2_ClientGenerator = ClientGenerator;
230
- declare const index$2_ClientGenerator: typeof ClientGenerator;
231
- type index$2_CodegenWatcher = CodegenWatcher;
232
- declare const index$2_CodegenWatcher: typeof CodegenWatcher;
233
- type index$2_ControllerInfo = ControllerInfo;
234
- type index$2_GenerateOptions = GenerateOptions;
235
- type index$2_NestJSParser = NestJSParser;
236
- declare const index$2_NestJSParser: typeof NestJSParser;
237
- type index$2_RouteInfo = RouteInfo;
238
- type index$2_WatchOptions = WatchOptions;
165
+ declare const index$2_server: typeof server;
239
166
  declare namespace index$2 {
240
- export { index$2_ClientGenerator as ClientGenerator, index$2_CodegenWatcher as CodegenWatcher, type index$2_ControllerInfo as ControllerInfo, type index$2_GenerateOptions as GenerateOptions, index$2_NestJSParser as NestJSParser, type index$2_RouteInfo as RouteInfo, type index$2_WatchOptions as WatchOptions };
167
+ export { index$2_server as server };
241
168
  }
242
169
 
243
170
  interface ScaffoldOptions {
@@ -259,70 +186,62 @@ declare namespace index$1 {
259
186
  export { index$1_ProjectScaffolder as ProjectScaffolder, type index$1_ScaffoldOptions as ScaffoldOptions };
260
187
  }
261
188
 
262
- interface DevServerConfig {
263
- apiPath: string;
264
- webPath: string;
265
- webPort?: number;
266
- apiPort?: number;
267
- useProxy?: boolean;
189
+ interface FusionContextType {
190
+ client: FusionFetcher;
191
+ }
192
+ interface FusionProviderProps {
193
+ children: ReactNode;
194
+ baseUrl?: string;
268
195
  }
269
196
  /**
270
- * Unified development server for Fusion projects
197
+ * FusionProvider - Provides API client to React components
198
+ * Usage:
199
+ * ```tsx
200
+ * <FusionProvider baseUrl="/api">
201
+ * <App />
202
+ * </FusionProvider>
203
+ * ```
271
204
  */
272
- declare class FusionDevServer {
273
- private processRunner;
274
- private proxyServer;
275
- constructor();
276
- start(config: DevServerConfig): Promise<void>;
277
- stop(): void;
278
- }
279
-
280
- interface ProcessConfig {
281
- name: string;
282
- command: string;
283
- args: string[];
284
- cwd: string;
285
- color: 'cyan' | 'green' | 'yellow' | 'magenta' | 'blue';
286
- env?: Record<string, string>;
287
- }
205
+ declare function FusionProvider({ children, baseUrl }: FusionProviderProps): React.JSX.Element;
288
206
  /**
289
- * Run multiple processes concurrently with colored output
207
+ * useFusion hook - Access API client in components
208
+ * Usage:
209
+ * ```tsx
210
+ * const { client } = useFusion();
211
+ * const data = await client.get('/users');
212
+ * ```
290
213
  */
291
- declare class ProcessRunner {
292
- private processes;
293
- private colors;
294
- run(configs: ProcessConfig[]): Promise<void>;
295
- private startProcess;
296
- stopAll(): void;
297
- isRunning(name: string): boolean;
298
- }
214
+ declare function useFusion(): FusionContextType;
299
215
 
300
- interface ProxyConfig {
301
- port: number;
302
- apiTarget: string;
303
- apiPrefix: string;
216
+ interface AuthUser {
217
+ id: string;
218
+ email: string;
219
+ name?: string;
220
+ }
221
+ interface UseAuthReturn {
222
+ user: AuthUser | null;
223
+ loading: boolean;
224
+ login: (email: string, password: string) => Promise<void>;
225
+ logout: () => Promise<void>;
226
+ isAuthenticated: boolean;
304
227
  }
305
228
  /**
306
- * Proxy server to forward API requests from Next.js to NestJS
229
+ * useAuth hook - Authentication state management
230
+ * Usage:
231
+ * ```tsx
232
+ * const { user, login, logout, isAuthenticated } = useAuth();
233
+ * ```
307
234
  */
308
- declare class ProxyServer {
309
- private server;
310
- private proxy;
311
- start(config: ProxyConfig): Promise<void>;
312
- stop(): void;
313
- }
314
-
315
- type index_DevServerConfig = DevServerConfig;
316
- type index_FusionDevServer = FusionDevServer;
317
- declare const index_FusionDevServer: typeof FusionDevServer;
318
- type index_ProcessConfig = ProcessConfig;
319
- type index_ProcessRunner = ProcessRunner;
320
- declare const index_ProcessRunner: typeof ProcessRunner;
321
- type index_ProxyConfig = ProxyConfig;
322
- type index_ProxyServer = ProxyServer;
323
- declare const index_ProxyServer: typeof ProxyServer;
235
+ declare function useAuth(): UseAuthReturn;
236
+
237
+ type index_AuthUser = AuthUser;
238
+ declare const index_FusionProvider: typeof FusionProvider;
239
+ type index_FusionProviderProps = FusionProviderProps;
240
+ type index_UseAuthReturn = UseAuthReturn;
241
+ declare const index_useAuth: typeof useAuth;
242
+ declare const index_useFusion: typeof useFusion;
324
243
  declare namespace index {
325
- export { type index_DevServerConfig as DevServerConfig, index_FusionDevServer as FusionDevServer, type index_ProcessConfig as ProcessConfig, index_ProcessRunner as ProcessRunner, type index_ProxyConfig as ProxyConfig, index_ProxyServer as ProxyServer };
244
+ export { type index_AuthUser as AuthUser, index_FusionProvider as FusionProvider, type index_FusionProviderProps as FusionProviderProps, type index_UseAuthReturn as UseAuthReturn, index_useAuth as useAuth, index_useFusion as useFusion };
326
245
  }
327
246
 
328
- export { index$2 as Codegen, index$4 as Config, index$5 as Core, index$1 as CreateFusion, index as DevServer, index$3 as Insight };
247
+ export { index$3 as Config, index$4 as Core, index$1 as CreateFusion, index$2 as Insight, index as Next };