wexts 2.0.9 β†’ 3.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 (52) hide show
  1. package/dist/chunk-2KAQYLVN.js +1 -0
  2. package/dist/chunk-2KAQYLVN.js.map +1 -0
  3. package/dist/chunk-3OM7CHCA.js +65 -0
  4. package/dist/chunk-3OM7CHCA.js.map +1 -0
  5. package/dist/chunk-667BQCEM.js +375 -0
  6. package/dist/chunk-667BQCEM.js.map +1 -0
  7. package/dist/chunk-FCEZDH42.mjs +20 -0
  8. package/dist/chunk-FCEZDH42.mjs.map +1 -0
  9. package/dist/chunk-KXYLEUSW.mjs +242 -0
  10. package/dist/chunk-KXYLEUSW.mjs.map +1 -0
  11. package/dist/chunk-O42L6HOX.js +242 -0
  12. package/dist/chunk-O42L6HOX.js.map +1 -0
  13. package/dist/chunk-ONXNE2A6.mjs +375 -0
  14. package/dist/chunk-ONXNE2A6.mjs.map +1 -0
  15. package/dist/chunk-STTOPUZ2.mjs +88 -0
  16. package/dist/chunk-STTOPUZ2.mjs.map +1 -0
  17. package/dist/chunk-VMT3LALB.mjs +51 -0
  18. package/dist/chunk-VMT3LALB.mjs.map +1 -0
  19. package/dist/chunk-VNNVLQLJ.mjs +65 -0
  20. package/dist/chunk-VNNVLQLJ.mjs.map +1 -0
  21. package/dist/chunk-WF65EDRZ.js +88 -0
  22. package/dist/chunk-WF65EDRZ.js.map +1 -0
  23. package/dist/chunk-XE4OXN2W.js +12 -0
  24. package/dist/chunk-XE4OXN2W.js.map +1 -0
  25. package/dist/chunk-XVKTIYHY.js +51 -0
  26. package/dist/chunk-XVKTIYHY.js.map +1 -0
  27. package/dist/chunk-YSLEF5C5.mjs +1 -0
  28. package/dist/chunk-YSLEF5C5.mjs.map +1 -0
  29. package/dist/cli/index.js +134 -81
  30. package/dist/cli/index.js.map +1 -1
  31. package/dist/cli/index.mjs +93 -41
  32. package/dist/cli/index.mjs.map +1 -1
  33. package/dist/client/index.js +3 -3
  34. package/dist/client/index.mjs +2 -2
  35. package/dist/codegen/index.js +4 -4
  36. package/dist/codegen/index.mjs +3 -3
  37. package/dist/dev-server/index.js +4 -4
  38. package/dist/dev-server/index.mjs +3 -3
  39. package/dist/index.js +93 -51
  40. package/dist/index.js.map +1 -1
  41. package/dist/index.mjs +75 -33
  42. package/dist/index.mjs.map +1 -1
  43. package/dist/nest/index.js +3 -3
  44. package/dist/nest/index.mjs +2 -2
  45. package/dist/next/index.js +22 -9
  46. package/dist/next/index.js.map +1 -1
  47. package/dist/next/index.mjs +23 -9
  48. package/dist/next/index.mjs.map +1 -1
  49. package/dist/types/index.js +1 -1
  50. package/dist/types/index.mjs +2 -2
  51. package/package.json +113 -112
  52. package/templates/nextjs-web/next-env.d.ts +1 -1
@@ -1,10 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  logger
4
- } from "../chunk-HSFLZUJN.mjs";
4
+ } from "../chunk-VNNVLQLJ.mjs";
5
5
  import {
6
- __dirname
7
- } from "../chunk-CKZ4VSCB.mjs";
6
+ __dirname,
7
+ __name
8
+ } from "../chunk-FCEZDH42.mjs";
8
9
 
9
10
  // src/cli/index.ts
10
11
  import { Command } from "commander";
@@ -31,12 +32,30 @@ program.action(async () => {
31
32
  name: "action",
32
33
  message: "What would you like to do?",
33
34
  choices: [
34
- { name: "\u{1F4E6} Create a new project", value: "create" },
35
- { name: "\u{1F680} Start development server", value: "dev" },
36
- { name: "\u{1F528} Build for production", value: "build" },
37
- { name: "\u26A1 Generate code", value: "generate" },
38
- { name: "\u{1F916} Generate API client", value: "codegen" },
39
- { name: "\u274C Exit", value: "exit" }
35
+ {
36
+ name: "\u{1F4E6} Create a new project",
37
+ value: "create"
38
+ },
39
+ {
40
+ name: "\u{1F680} Start development server",
41
+ value: "dev"
42
+ },
43
+ {
44
+ name: "\u{1F528} Build for production",
45
+ value: "build"
46
+ },
47
+ {
48
+ name: "\u26A1 Generate code",
49
+ value: "generate"
50
+ },
51
+ {
52
+ name: "\u{1F916} Generate API client",
53
+ value: "codegen"
54
+ },
55
+ {
56
+ name: "\u274C Exit",
57
+ value: "exit"
58
+ }
40
59
  ]
41
60
  }
42
61
  ]);
@@ -57,9 +76,18 @@ program.action(async () => {
57
76
  name: "template",
58
77
  message: "Select template:",
59
78
  choices: [
60
- { name: "\u{1F4E6} Monorepo (Next.js + NestJS)", value: "monorepo" },
61
- { name: "\u{1F3AF} API only (NestJS)", value: "api" },
62
- { name: "\u{1F310} Web only (Next.js)", value: "web" }
79
+ {
80
+ name: "\u{1F4E6} Monorepo (Next.js + NestJS)",
81
+ value: "monorepo"
82
+ },
83
+ {
84
+ name: "\u{1F3AF} API only (NestJS)",
85
+ value: "api"
86
+ },
87
+ {
88
+ name: "\u{1F310} Web only (Next.js)",
89
+ value: "web"
90
+ }
63
91
  ]
64
92
  }
65
93
  ]);
@@ -76,7 +104,12 @@ program.action(async () => {
76
104
  type: "list",
77
105
  name: "type",
78
106
  message: "What to generate?",
79
- choices: ["controller", "module", "service", "page"]
107
+ choices: [
108
+ "controller",
109
+ "module",
110
+ "service",
111
+ "page"
112
+ ]
80
113
  },
81
114
  {
82
115
  type: "input",
@@ -152,11 +185,8 @@ async function createProject(projectName, template) {
152
185
  function getTemplatePath() {
153
186
  const possiblePaths = [
154
187
  path.join(__dirname, "../../templates"),
155
- // When running from dist/cli/index.js
156
188
  path.join(__dirname, "../templates"),
157
- // Alternative structure
158
189
  path.join(process.cwd(), "templates"),
159
- // Local dev
160
190
  path.resolve(__dirname, "..", "..", "templates")
161
191
  // Absolute resolve
162
192
  ];
@@ -167,6 +197,7 @@ async function createProject(projectName, template) {
167
197
  }
168
198
  return "";
169
199
  }
200
+ __name(getTemplatePath, "getTemplatePath");
170
201
  const templatePath = getTemplatePath();
171
202
  if (!templatePath) {
172
203
  logger.error(`\u274C Template directory not found!`);
@@ -175,18 +206,32 @@ async function createProject(projectName, template) {
175
206
  logger.info(` - ${path.join(__dirname, "../templates")}`);
176
207
  logger.info(` - ${path.join(process.cwd(), "templates")}`);
177
208
  logger.warn("\u26A0\uFE0F Using fallback scaffolding (empty structure)");
178
- fs.mkdirSync(projectPath, { recursive: true });
179
- fs.mkdirSync(path.join(projectPath, "apps"), { recursive: true });
180
- fs.mkdirSync(path.join(projectPath, "packages"), { recursive: true });
209
+ fs.mkdirSync(projectPath, {
210
+ recursive: true
211
+ });
212
+ fs.mkdirSync(path.join(projectPath, "apps"), {
213
+ recursive: true
214
+ });
215
+ fs.mkdirSync(path.join(projectPath, "packages"), {
216
+ recursive: true
217
+ });
181
218
  } else {
182
219
  logger.info(`\u{1F4E6} Copying templates from: ${templatePath}`);
183
- fs.mkdirSync(projectPath, { recursive: true });
184
- fs.mkdirSync(path.join(projectPath, "apps"), { recursive: true });
185
- fs.mkdirSync(path.join(projectPath, "packages"), { recursive: true });
220
+ fs.mkdirSync(projectPath, {
221
+ recursive: true
222
+ });
223
+ fs.mkdirSync(path.join(projectPath, "apps"), {
224
+ recursive: true
225
+ });
226
+ fs.mkdirSync(path.join(projectPath, "packages"), {
227
+ recursive: true
228
+ });
186
229
  const apiTemplatePath = path.join(templatePath, "nestjs-api");
187
230
  const apiDestPath = path.join(projectPath, "apps/api");
188
231
  if (fs.existsSync(apiTemplatePath)) {
189
- fs.cpSync(apiTemplatePath, apiDestPath, { recursive: true });
232
+ fs.cpSync(apiTemplatePath, apiDestPath, {
233
+ recursive: true
234
+ });
190
235
  logger.success(" - Copied API template");
191
236
  const envExamplePath = path.join(apiDestPath, ".env.example");
192
237
  const envPath = path.join(apiDestPath, ".env");
@@ -200,7 +245,9 @@ async function createProject(projectName, template) {
200
245
  const webTemplatePath = path.join(templatePath, "nextjs-web");
201
246
  const webDestPath = path.join(projectPath, "apps/web");
202
247
  if (fs.existsSync(webTemplatePath)) {
203
- fs.cpSync(webTemplatePath, webDestPath, { recursive: true });
248
+ fs.cpSync(webTemplatePath, webDestPath, {
249
+ recursive: true
250
+ });
204
251
  logger.success(" - Copied Web template");
205
252
  } else {
206
253
  logger.warn(` \u26A0\uFE0F Web template not found at ${webTemplatePath}`);
@@ -224,16 +271,19 @@ async function createProject(projectName, template) {
224
271
  },
225
272
  packageManager: "pnpm@10.0.0"
226
273
  };
227
- fs.writeFileSync(
228
- path.join(projectPath, "package.json"),
229
- JSON.stringify(packageJson, null, 2)
230
- );
274
+ fs.writeFileSync(path.join(projectPath, "package.json"), JSON.stringify(packageJson, null, 2));
231
275
  const turboJson = {
232
276
  "$schema": "https://turbo.build/schema.json",
233
277
  "tasks": {
234
278
  "build": {
235
- "dependsOn": ["^build"],
236
- "outputs": [".next/**", "!.next/cache/**", "dist/**"]
279
+ "dependsOn": [
280
+ "^build"
281
+ ],
282
+ "outputs": [
283
+ ".next/**",
284
+ "!.next/cache/**",
285
+ "dist/**"
286
+ ]
237
287
  },
238
288
  "lint": {},
239
289
  "dev": {
@@ -242,28 +292,29 @@ async function createProject(projectName, template) {
242
292
  }
243
293
  }
244
294
  };
245
- fs.writeFileSync(
246
- path.join(projectPath, "turbo.json"),
247
- JSON.stringify(turboJson, null, 2)
248
- );
295
+ fs.writeFileSync(path.join(projectPath, "turbo.json"), JSON.stringify(turboJson, null, 2));
249
296
  const pnpmWorkspace = `packages:
250
297
  - 'apps/*'
251
298
  - 'packages/*'
252
299
  `;
253
- fs.writeFileSync(
254
- path.join(projectPath, "pnpm-workspace.yaml"),
255
- pnpmWorkspace
256
- );
300
+ fs.writeFileSync(path.join(projectPath, "pnpm-workspace.yaml"), pnpmWorkspace);
257
301
  logger.success("\u2705 Project structure created");
258
302
  logger.info("\u{1F4E6} Installing dependencies...");
259
303
  try {
260
304
  try {
261
- execSync("pnpm --version", { stdio: "ignore" });
305
+ execSync("pnpm --version", {
306
+ stdio: "ignore"
307
+ });
262
308
  } catch {
263
309
  logger.info("Installing pnpm...");
264
- execSync("npm install -g pnpm", { stdio: "ignore" });
310
+ execSync("npm install -g pnpm", {
311
+ stdio: "ignore"
312
+ });
265
313
  }
266
- execSync("pnpm install", { cwd: projectPath, stdio: "inherit" });
314
+ execSync("pnpm install", {
315
+ cwd: projectPath,
316
+ stdio: "inherit"
317
+ });
267
318
  logger.success("\u2705 Dependencies installed");
268
319
  logger.info(pc.green(`
269
320
  \u{1F389} Project ${projectName} created successfully!`));
@@ -277,5 +328,6 @@ To get started:
277
328
  logger.error("Failed to install dependencies");
278
329
  }
279
330
  }
331
+ __name(createProject, "createProject");
280
332
  program.parse();
281
333
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/cli/index.ts"],"sourcesContent":["#!/usr/bin/env node\r\n\r\nimport { Command } from 'commander';\r\nimport { logger } from '../core/logger';\r\nimport * as pc from 'picocolors';\r\nimport inquirer from 'inquirer';\r\nimport * as fs from 'fs';\r\nimport * as path from 'path';\r\nimport { execSync } from 'child_process';\r\n\r\nconst program = new Command();\r\n\r\nprogram\r\n .name('wexts')\r\n .description('Wexts Framework - Next.js 16 + NestJS 11')\r\n .version('2.0.0');\r\n\r\n// Interactive Mode (when no command is provided)\r\nprogram\r\n .action(async () => {\r\n console.log(pc.cyan(`\r\n╔══════════════════════════════════════════╗\r\nβ•‘ β•‘\r\nβ•‘ ${pc.bold('πŸš€ Wexts Framework v2.0')} β•‘\r\nβ•‘ β•‘\r\nβ•‘ Next.js 16 + NestJS 11 Full-Stack β•‘\r\nβ•‘ β•‘\r\nβ•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•\r\n `));\r\n\r\n const { action } = await inquirer.prompt([\r\n {\r\n type: 'list',\r\n name: 'action',\r\n message: 'What would you like to do?',\r\n choices: [\r\n { name: 'πŸ“¦ Create a new project', value: 'create' },\r\n { name: 'πŸš€ Start development server', value: 'dev' },\r\n { name: 'πŸ”¨ Build for production', value: 'build' },\r\n { name: '⚑ Generate code', value: 'generate' },\r\n { name: 'πŸ€– Generate API client', value: 'codegen' },\r\n { name: '❌ Exit', value: 'exit' },\r\n ],\r\n },\r\n ]);\r\n\r\n if (action === 'exit') {\r\n logger.info('Goodbye! πŸ‘‹');\r\n process.exit(0);\r\n }\r\n\r\n // Route to appropriate command\r\n if (action === 'create') {\r\n const { projectName, template } = await inquirer.prompt([\r\n {\r\n type: 'input',\r\n name: 'projectName',\r\n message: 'Project name:',\r\n default: 'my-wexts-app',\r\n },\r\n {\r\n type: 'list',\r\n name: 'template',\r\n message: 'Select template:',\r\n choices: [\r\n { name: 'πŸ“¦ Monorepo (Next.js + NestJS)', value: 'monorepo' },\r\n { name: '🎯 API only (NestJS)', value: 'api' },\r\n { name: '🌐 Web only (Next.js)', value: 'web' },\r\n ],\r\n },\r\n ]);\r\n\r\n await createProject(projectName, template);\r\n } else if (action === 'dev') {\r\n logger.info(pc.green('πŸš€ Starting development servers...\\n'));\r\n logger.warn('Dev server not yet implemented');\r\n } else if (action === 'build') {\r\n logger.info(pc.blue('πŸ”¨ Building project...\\n'));\r\n logger.warn('Build not yet implemented');\r\n } else if (action === 'generate') {\r\n const { type, name } = await inquirer.prompt([\r\n {\r\n type: 'list',\r\n name: 'type',\r\n message: 'What to generate?',\r\n choices: ['controller', 'module', 'service', 'page'],\r\n },\r\n {\r\n type: 'input',\r\n name: 'name',\r\n message: 'Name:',\r\n },\r\n ]);\r\n logger.info(pc.magenta(`\\n⚑ Generating ${type}: ${name}\\n`));\r\n logger.warn('Code generation not yet implemented');\r\n } else if (action === 'codegen') {\r\n logger.info(pc.cyan('\\nπŸ€– Generating API client...\\n'));\r\n logger.warn('Codegen not yet implemented');\r\n }\r\n });\r\n\r\n// Create Command\r\nprogram\r\n .command('create <project-name>')\r\n .description('Create a new wexts project')\r\n .option('-t, --template <template>', 'Template to use (monorepo|api|web)', 'monorepo')\r\n .action(async (projectName: string, options: any) => {\r\n await createProject(projectName, options.template);\r\n });\r\n\r\n// Dev Command\r\nprogram\r\n .command('dev')\r\n .description('Start development servers')\r\n .option('-a, --api <path>', 'Path to API project', './apps/api')\r\n .option('-w, --web <path>', 'Path to Web project', './apps/web')\r\n .option('-p, --port <port>', 'Port for web server', '3000')\r\n .option('--api-port <port>', 'Port for API server', '5050')\r\n .option('--no-proxy', 'Disable proxy server')\r\n .action(async (options: any) => {\r\n logger.info(pc.green('πŸš€ Starting Wexts development servers...\\n'));\r\n\r\n const { FusionDevServer } = await import('../dev-server/index.js');\r\n const server = new FusionDevServer();\r\n\r\n try {\r\n await server.start({\r\n apiPath: options.api,\r\n webPath: options.web,\r\n webPort: parseInt(options.port),\r\n apiPort: parseInt(options.apiPort),\r\n useProxy: options.proxy,\r\n });\r\n } catch (error: any) {\r\n logger.error('Failed to start dev server:', error.message);\r\n process.exit(1);\r\n }\r\n });\r\n\r\n// Build Command\r\nprogram\r\n .command('build')\r\n .description('Build for production')\r\n .action(async () => {\r\n logger.info(pc.blue('Building Wexts project...'));\r\n\r\n // TODO: Build logic\r\n logger.warn('Build not yet implemented');\r\n });\r\n\r\n// Generate Command\r\nprogram\r\n .command('generate <type> <name>')\r\n .alias('g')\r\n .description('Generate code (controller|module|page)')\r\n .action(async (type: string, name: string) => {\r\n logger.info(pc.magenta(`Generating ${type}: ${name}`));\r\n\r\n // TODO: Code generation\r\n logger.warn('Code generation not yet implemented');\r\n });\r\n\r\n// Codegen Command\r\nprogram\r\n .command('codegen')\r\n .description('Generate API client from NestJS controllers')\r\n .option('-w, --watch', 'Watch mode - regenerate on changes')\r\n .option('-p, --project <path>', 'Path to NestJS project', './apps/api')\r\n .option('-o, --output <path>', 'Output path for generated client', './packages/api-client/src')\r\n .action(async (options: any) => {\r\n const { NestJSParser, ClientGenerator, CodegenWatcher } = await import('../codegen/index.js');\r\n\r\n if (options.watch) {\r\n logger.info(pc.cyan('Starting codegen in watch mode...'));\r\n const watcher = new CodegenWatcher();\r\n await watcher.watch({\r\n projectPath: options.project,\r\n outputPath: options.output,\r\n });\r\n } else {\r\n logger.info(pc.cyan('Generating API client...'));\r\n const parser = new NestJSParser(options.project);\r\n const controllers = parser.findFusionControllers();\r\n\r\n const generator = new ClientGenerator();\r\n await generator.generate({\r\n controllers,\r\n outputPath: options.output,\r\n });\r\n }\r\n });\r\n\r\n// Helper function for creating project\r\nasync function createProject(projectName: string, template: string) {\r\n logger.info(pc.cyan(`Creating wexts project: ${pc.bold(projectName)}`));\r\n logger.info(`Template: ${template}`);\r\n\r\n const projectPath = path.join(process.cwd(), projectName);\r\n\r\n if (fs.existsSync(projectPath)) {\r\n logger.error(`Directory ${projectName} already exists!`);\r\n process.exit(1);\r\n }\r\n\r\n // Helper to resolve template path\r\n function getTemplatePath(): string {\r\n // Try multiple locations\r\n const possiblePaths = [\r\n path.join(__dirname, '../../templates'), // When running from dist/cli/index.js\r\n path.join(__dirname, '../templates'), // Alternative structure\r\n path.join(process.cwd(), 'templates'), // Local dev\r\n path.resolve(__dirname, '..', '..', 'templates') // Absolute resolve\r\n ];\r\n\r\n for (const p of possiblePaths) {\r\n if (fs.existsSync(p)) {\r\n return p;\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n const templatePath = getTemplatePath();\r\n\r\n if (!templatePath) {\r\n logger.error(`❌ Template directory not found!`);\r\n logger.info(`Searched in:`);\r\n logger.info(` - ${path.join(__dirname, '../../templates')}`);\r\n logger.info(` - ${path.join(__dirname, '../templates')}`);\r\n logger.info(` - ${path.join(process.cwd(), 'templates')}`);\r\n\r\n // Fallback to basic structure if templates are missing (for dev/test)\r\n logger.warn('⚠️ Using fallback scaffolding (empty structure)');\r\n fs.mkdirSync(projectPath, { recursive: true });\r\n fs.mkdirSync(path.join(projectPath, 'apps'), { recursive: true });\r\n fs.mkdirSync(path.join(projectPath, 'packages'), { recursive: true });\r\n } else {\r\n logger.info(`πŸ“¦ Copying templates from: ${templatePath}`);\r\n\r\n fs.mkdirSync(projectPath, { recursive: true });\r\n fs.mkdirSync(path.join(projectPath, 'apps'), { recursive: true });\r\n fs.mkdirSync(path.join(projectPath, 'packages'), { recursive: true });\r\n\r\n // Copy NestJS API Template\r\n const apiTemplatePath = path.join(templatePath, 'nestjs-api');\r\n const apiDestPath = path.join(projectPath, 'apps/api');\r\n if (fs.existsSync(apiTemplatePath)) {\r\n fs.cpSync(apiTemplatePath, apiDestPath, { recursive: true });\r\n logger.success(' - Copied API template');\r\n\r\n // Copy .env.example to .env\r\n const envExamplePath = path.join(apiDestPath, '.env.example');\r\n const envPath = path.join(apiDestPath, '.env');\r\n if (fs.existsSync(envExamplePath) && !fs.existsSync(envPath)) {\r\n fs.copyFileSync(envExamplePath, envPath);\r\n logger.success(' - Created .env from .env.example');\r\n }\r\n } else {\r\n logger.warn(` ⚠️ API template not found at ${apiTemplatePath}`);\r\n }\r\n\r\n // Copy Next.js Web Template\r\n const webTemplatePath = path.join(templatePath, 'nextjs-web');\r\n const webDestPath = path.join(projectPath, 'apps/web');\r\n if (fs.existsSync(webTemplatePath)) {\r\n fs.cpSync(webTemplatePath, webDestPath, { recursive: true });\r\n logger.success(' - Copied Web template');\r\n } else {\r\n logger.warn(` ⚠️ Web template not found at ${webTemplatePath}`);\r\n }\r\n }\r\n\r\n // Create package.json\r\n const packageJson = {\r\n name: projectName,\r\n version: \"0.0.0\",\r\n private: true,\r\n scripts: {\r\n \"build\": \"pnpm exec turbo build\",\r\n \"dev\": \"pnpm exec turbo dev\",\r\n \"lint\": \"pnpm exec turbo lint\",\r\n \"format\": \"prettier --write \\\"**/*.{ts,tsx,md}\\\"\"\r\n },\r\n devDependencies: {\r\n \"turbo\": \"^2.6.1\",\r\n \"prettier\": \"latest\",\r\n \"typescript\": \"^5.9.3\",\r\n \"wexts\": \"latest\"\r\n },\r\n packageManager: \"pnpm@10.0.0\"\r\n };\r\n\r\n fs.writeFileSync(\r\n path.join(projectPath, 'package.json'),\r\n JSON.stringify(packageJson, null, 2)\r\n );\r\n\r\n // Create turbo.json\r\n const turboJson = {\r\n \"$schema\": \"https://turbo.build/schema.json\",\r\n \"tasks\": {\r\n \"build\": {\r\n \"dependsOn\": [\"^build\"],\r\n \"outputs\": [\".next/**\", \"!.next/cache/**\", \"dist/**\"]\r\n },\r\n \"lint\": {},\r\n \"dev\": {\r\n \"cache\": false,\r\n \"persistent\": true\r\n }\r\n }\r\n };\r\n\r\n fs.writeFileSync(\r\n path.join(projectPath, 'turbo.json'),\r\n JSON.stringify(turboJson, null, 2)\r\n );\r\n\r\n // Create pnpm-workspace.yaml\r\n const pnpmWorkspace = `packages:\r\n - 'apps/*'\r\n - 'packages/*'\r\n`;\r\n fs.writeFileSync(\r\n path.join(projectPath, 'pnpm-workspace.yaml'),\r\n pnpmWorkspace\r\n );\r\n\r\n logger.success('βœ… Project structure created');\r\n logger.info('πŸ“¦ Installing dependencies...');\r\n\r\n try {\r\n // Check if pnpm is installed\r\n try {\r\n execSync('pnpm --version', { stdio: 'ignore' });\r\n } catch {\r\n logger.info('Installing pnpm...');\r\n execSync('npm install -g pnpm', { stdio: 'ignore' });\r\n }\r\n\r\n execSync('pnpm install', { cwd: projectPath, stdio: 'inherit' });\r\n logger.success('βœ… Dependencies installed');\r\n\r\n logger.info(pc.green(`\\nπŸŽ‰ Project ${projectName} created successfully!`));\r\n logger.info(`\\nTo get started:\\n`);\r\n logger.info(pc.cyan(` cd ${projectName}`));\r\n logger.info(pc.cyan(` pnpm dev\\n`));\r\n } catch (error) {\r\n logger.error('Failed to install dependencies');\r\n }\r\n}\r\n\r\nprogram.parse();\r\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/cli/index.ts"],"sourcesContent":["#!/usr/bin/env node\r\n\r\nimport { Command } from 'commander';\r\nimport { logger } from '../core/logger';\r\nimport * as pc from 'picocolors';\r\nimport inquirer from 'inquirer';\r\nimport * as fs from 'fs';\r\nimport * as path from 'path';\r\nimport { execSync } from 'child_process';\r\n\r\nconst program = new Command();\r\n\r\nprogram\r\n .name('wexts')\r\n .description('Wexts Framework - Next.js 16 + NestJS 11')\r\n .version('2.0.0');\r\n\r\n// Interactive Mode (when no command is provided)\r\nprogram\r\n .action(async () => {\r\n console.log(pc.cyan(`\r\n╔══════════════════════════════════════════╗\r\nβ•‘ β•‘\r\nβ•‘ ${pc.bold('πŸš€ Wexts Framework v2.0')} β•‘\r\nβ•‘ β•‘\r\nβ•‘ Next.js 16 + NestJS 11 Full-Stack β•‘\r\nβ•‘ β•‘\r\nβ•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•\r\n `));\r\n\r\n const { action } = await inquirer.prompt([\r\n {\r\n type: 'list',\r\n name: 'action',\r\n message: 'What would you like to do?',\r\n choices: [\r\n { name: 'πŸ“¦ Create a new project', value: 'create' },\r\n { name: 'πŸš€ Start development server', value: 'dev' },\r\n { name: 'πŸ”¨ Build for production', value: 'build' },\r\n { name: '⚑ Generate code', value: 'generate' },\r\n { name: 'πŸ€– Generate API client', value: 'codegen' },\r\n { name: '❌ Exit', value: 'exit' },\r\n ],\r\n },\r\n ]);\r\n\r\n if (action === 'exit') {\r\n logger.info('Goodbye! πŸ‘‹');\r\n process.exit(0);\r\n }\r\n\r\n // Route to appropriate command\r\n if (action === 'create') {\r\n const { projectName, template } = await inquirer.prompt([\r\n {\r\n type: 'input',\r\n name: 'projectName',\r\n message: 'Project name:',\r\n default: 'my-wexts-app',\r\n },\r\n {\r\n type: 'list',\r\n name: 'template',\r\n message: 'Select template:',\r\n choices: [\r\n { name: 'πŸ“¦ Monorepo (Next.js + NestJS)', value: 'monorepo' },\r\n { name: '🎯 API only (NestJS)', value: 'api' },\r\n { name: '🌐 Web only (Next.js)', value: 'web' },\r\n ],\r\n },\r\n ]);\r\n\r\n await createProject(projectName, template);\r\n } else if (action === 'dev') {\r\n logger.info(pc.green('πŸš€ Starting development servers...\\n'));\r\n logger.warn('Dev server not yet implemented');\r\n } else if (action === 'build') {\r\n logger.info(pc.blue('πŸ”¨ Building project...\\n'));\r\n logger.warn('Build not yet implemented');\r\n } else if (action === 'generate') {\r\n const { type, name } = await inquirer.prompt([\r\n {\r\n type: 'list',\r\n name: 'type',\r\n message: 'What to generate?',\r\n choices: ['controller', 'module', 'service', 'page'],\r\n },\r\n {\r\n type: 'input',\r\n name: 'name',\r\n message: 'Name:',\r\n },\r\n ]);\r\n logger.info(pc.magenta(`\\n⚑ Generating ${type}: ${name}\\n`));\r\n logger.warn('Code generation not yet implemented');\r\n } else if (action === 'codegen') {\r\n logger.info(pc.cyan('\\nπŸ€– Generating API client...\\n'));\r\n logger.warn('Codegen not yet implemented');\r\n }\r\n });\r\n\r\n// Create Command\r\nprogram\r\n .command('create <project-name>')\r\n .description('Create a new wexts project')\r\n .option('-t, --template <template>', 'Template to use (monorepo|api|web)', 'monorepo')\r\n .action(async (projectName: string, options: any) => {\r\n await createProject(projectName, options.template);\r\n });\r\n\r\n// Dev Command\r\nprogram\r\n .command('dev')\r\n .description('Start development servers')\r\n .option('-a, --api <path>', 'Path to API project', './apps/api')\r\n .option('-w, --web <path>', 'Path to Web project', './apps/web')\r\n .option('-p, --port <port>', 'Port for web server', '3000')\r\n .option('--api-port <port>', 'Port for API server', '5050')\r\n .option('--no-proxy', 'Disable proxy server')\r\n .action(async (options: any) => {\r\n logger.info(pc.green('πŸš€ Starting Wexts development servers...\\n'));\r\n\r\n const { FusionDevServer } = await import('../dev-server/index.js');\r\n const server = new FusionDevServer();\r\n\r\n try {\r\n await server.start({\r\n apiPath: options.api,\r\n webPath: options.web,\r\n webPort: parseInt(options.port),\r\n apiPort: parseInt(options.apiPort),\r\n useProxy: options.proxy,\r\n });\r\n } catch (error: any) {\r\n logger.error('Failed to start dev server:', error.message);\r\n process.exit(1);\r\n }\r\n });\r\n\r\n// Build Command\r\nprogram\r\n .command('build')\r\n .description('Build for production')\r\n .action(async () => {\r\n logger.info(pc.blue('Building Wexts project...'));\r\n\r\n // TODO: Build logic\r\n logger.warn('Build not yet implemented');\r\n });\r\n\r\n// Generate Command\r\nprogram\r\n .command('generate <type> <name>')\r\n .alias('g')\r\n .description('Generate code (controller|module|page)')\r\n .action(async (type: string, name: string) => {\r\n logger.info(pc.magenta(`Generating ${type}: ${name}`));\r\n\r\n // TODO: Code generation\r\n logger.warn('Code generation not yet implemented');\r\n });\r\n\r\n// Codegen Command\r\nprogram\r\n .command('codegen')\r\n .description('Generate API client from NestJS controllers')\r\n .option('-w, --watch', 'Watch mode - regenerate on changes')\r\n .option('-p, --project <path>', 'Path to NestJS project', './apps/api')\r\n .option('-o, --output <path>', 'Output path for generated client', './packages/api-client/src')\r\n .action(async (options: any) => {\r\n const { NestJSParser, ClientGenerator, CodegenWatcher } = await import('../codegen/index.js');\r\n\r\n if (options.watch) {\r\n logger.info(pc.cyan('Starting codegen in watch mode...'));\r\n const watcher = new CodegenWatcher();\r\n await watcher.watch({\r\n projectPath: options.project,\r\n outputPath: options.output,\r\n });\r\n } else {\r\n logger.info(pc.cyan('Generating API client...'));\r\n const parser = new NestJSParser(options.project);\r\n const controllers = parser.findFusionControllers();\r\n\r\n const generator = new ClientGenerator();\r\n await generator.generate({\r\n controllers,\r\n outputPath: options.output,\r\n });\r\n }\r\n });\r\n\r\n// Helper function for creating project\r\nasync function createProject(projectName: string, template: string) {\r\n logger.info(pc.cyan(`Creating wexts project: ${pc.bold(projectName)}`));\r\n logger.info(`Template: ${template}`);\r\n\r\n const projectPath = path.join(process.cwd(), projectName);\r\n\r\n if (fs.existsSync(projectPath)) {\r\n logger.error(`Directory ${projectName} already exists!`);\r\n process.exit(1);\r\n }\r\n\r\n // Helper to resolve template path\r\n function getTemplatePath(): string {\r\n // Try multiple locations\r\n const possiblePaths = [\r\n path.join(__dirname, '../../templates'), // When running from dist/cli/index.js\r\n path.join(__dirname, '../templates'), // Alternative structure\r\n path.join(process.cwd(), 'templates'), // Local dev\r\n path.resolve(__dirname, '..', '..', 'templates') // Absolute resolve\r\n ];\r\n\r\n for (const p of possiblePaths) {\r\n if (fs.existsSync(p)) {\r\n return p;\r\n }\r\n }\r\n return '';\r\n }\r\n\r\n const templatePath = getTemplatePath();\r\n\r\n if (!templatePath) {\r\n logger.error(`❌ Template directory not found!`);\r\n logger.info(`Searched in:`);\r\n logger.info(` - ${path.join(__dirname, '../../templates')}`);\r\n logger.info(` - ${path.join(__dirname, '../templates')}`);\r\n logger.info(` - ${path.join(process.cwd(), 'templates')}`);\r\n\r\n // Fallback to basic structure if templates are missing (for dev/test)\r\n logger.warn('⚠️ Using fallback scaffolding (empty structure)');\r\n fs.mkdirSync(projectPath, { recursive: true });\r\n fs.mkdirSync(path.join(projectPath, 'apps'), { recursive: true });\r\n fs.mkdirSync(path.join(projectPath, 'packages'), { recursive: true });\r\n } else {\r\n logger.info(`πŸ“¦ Copying templates from: ${templatePath}`);\r\n\r\n fs.mkdirSync(projectPath, { recursive: true });\r\n fs.mkdirSync(path.join(projectPath, 'apps'), { recursive: true });\r\n fs.mkdirSync(path.join(projectPath, 'packages'), { recursive: true });\r\n\r\n // Copy NestJS API Template\r\n const apiTemplatePath = path.join(templatePath, 'nestjs-api');\r\n const apiDestPath = path.join(projectPath, 'apps/api');\r\n if (fs.existsSync(apiTemplatePath)) {\r\n fs.cpSync(apiTemplatePath, apiDestPath, { recursive: true });\r\n logger.success(' - Copied API template');\r\n\r\n // Copy .env.example to .env\r\n const envExamplePath = path.join(apiDestPath, '.env.example');\r\n const envPath = path.join(apiDestPath, '.env');\r\n if (fs.existsSync(envExamplePath) && !fs.existsSync(envPath)) {\r\n fs.copyFileSync(envExamplePath, envPath);\r\n logger.success(' - Created .env from .env.example');\r\n }\r\n } else {\r\n logger.warn(` ⚠️ API template not found at ${apiTemplatePath}`);\r\n }\r\n\r\n // Copy Next.js Web Template\r\n const webTemplatePath = path.join(templatePath, 'nextjs-web');\r\n const webDestPath = path.join(projectPath, 'apps/web');\r\n if (fs.existsSync(webTemplatePath)) {\r\n fs.cpSync(webTemplatePath, webDestPath, { recursive: true });\r\n logger.success(' - Copied Web template');\r\n } else {\r\n logger.warn(` ⚠️ Web template not found at ${webTemplatePath}`);\r\n }\r\n }\r\n\r\n // Create package.json\r\n const packageJson = {\r\n name: projectName,\r\n version: \"0.0.0\",\r\n private: true,\r\n scripts: {\r\n \"build\": \"pnpm exec turbo build\",\r\n \"dev\": \"pnpm exec turbo dev\",\r\n \"lint\": \"pnpm exec turbo lint\",\r\n \"format\": \"prettier --write \\\"**/*.{ts,tsx,md}\\\"\"\r\n },\r\n devDependencies: {\r\n \"turbo\": \"^2.6.1\",\r\n \"prettier\": \"latest\",\r\n \"typescript\": \"^5.9.3\",\r\n \"wexts\": \"latest\"\r\n },\r\n packageManager: \"pnpm@10.0.0\"\r\n };\r\n\r\n fs.writeFileSync(\r\n path.join(projectPath, 'package.json'),\r\n JSON.stringify(packageJson, null, 2)\r\n );\r\n\r\n // Create turbo.json\r\n const turboJson = {\r\n \"$schema\": \"https://turbo.build/schema.json\",\r\n \"tasks\": {\r\n \"build\": {\r\n \"dependsOn\": [\"^build\"],\r\n \"outputs\": [\".next/**\", \"!.next/cache/**\", \"dist/**\"]\r\n },\r\n \"lint\": {},\r\n \"dev\": {\r\n \"cache\": false,\r\n \"persistent\": true\r\n }\r\n }\r\n };\r\n\r\n fs.writeFileSync(\r\n path.join(projectPath, 'turbo.json'),\r\n JSON.stringify(turboJson, null, 2)\r\n );\r\n\r\n // Create pnpm-workspace.yaml\r\n const pnpmWorkspace = `packages:\r\n - 'apps/*'\r\n - 'packages/*'\r\n`;\r\n fs.writeFileSync(\r\n path.join(projectPath, 'pnpm-workspace.yaml'),\r\n pnpmWorkspace\r\n );\r\n\r\n logger.success('βœ… Project structure created');\r\n logger.info('πŸ“¦ Installing dependencies...');\r\n\r\n try {\r\n // Check if pnpm is installed\r\n try {\r\n execSync('pnpm --version', { stdio: 'ignore' });\r\n } catch {\r\n logger.info('Installing pnpm...');\r\n execSync('npm install -g pnpm', { stdio: 'ignore' });\r\n }\r\n\r\n execSync('pnpm install', { cwd: projectPath, stdio: 'inherit' });\r\n logger.success('βœ… Dependencies installed');\r\n\r\n logger.info(pc.green(`\\nπŸŽ‰ Project ${projectName} created successfully!`));\r\n logger.info(`\\nTo get started:\\n`);\r\n logger.info(pc.cyan(` cd ${projectName}`));\r\n logger.info(pc.cyan(` pnpm dev\\n`));\r\n } catch (error) {\r\n logger.error('Failed to install dependencies');\r\n }\r\n}\r\n\r\nprogram.parse();\r\n"],"mappings":"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","names":["Command","pc","inquirer","fs","path","execSync","program","Command","name","description","version","action","console","log","cyan","bold","inquirer","prompt","type","message","choices","value","logger","info","process","exit","projectName","template","default","createProject","green","warn","blue","magenta","command","option","options","FusionDevServer","server","start","apiPath","api","webPath","web","webPort","parseInt","port","apiPort","useProxy","proxy","error","alias","NestJSParser","ClientGenerator","CodegenWatcher","watch","watcher","projectPath","project","outputPath","output","parser","controllers","findFusionControllers","generator","generate","join","cwd","existsSync","getTemplatePath","possiblePaths","__dirname","resolve","p","templatePath","fs","mkdirSync","recursive","apiTemplatePath","apiDestPath","cpSync","success","envExamplePath","envPath","copyFileSync","webTemplatePath","webDestPath","packageJson","private","scripts","devDependencies","packageManager","writeFileSync","JSON","stringify","turboJson","pnpmWorkspace","execSync","stdio","parse"]}
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkASDXAK6Gjs = require('../chunk-ASDXAK6G.js');
5
- require('../chunk-PZ5AY32C.js');
4
+ var _chunkXVKTIYHYjs = require('../chunk-XVKTIYHY.js');
5
+ require('../chunk-XE4OXN2W.js');
6
6
 
7
7
 
8
8
 
9
- exports.FusionFetcher = _chunkASDXAK6Gjs.FusionFetcher; exports.apiFetcher = _chunkASDXAK6Gjs.apiFetcher;
9
+ exports.FusionFetcher = _chunkXVKTIYHYjs.FusionFetcher; exports.apiFetcher = _chunkXVKTIYHYjs.apiFetcher;
10
10
  //# sourceMappingURL=index.js.map
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  FusionFetcher,
3
3
  apiFetcher
4
- } from "../chunk-67IJ6H4J.mjs";
5
- import "../chunk-CKZ4VSCB.mjs";
4
+ } from "../chunk-VMT3LALB.mjs";
5
+ import "../chunk-FCEZDH42.mjs";
6
6
  export {
7
7
  FusionFetcher,
8
8
  apiFetcher
@@ -2,12 +2,12 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkHU63F22Vjs = require('../chunk-HU63F22V.js');
6
- require('../chunk-DW6GOKMF.js');
7
- require('../chunk-PZ5AY32C.js');
5
+ var _chunk667BQCEMjs = require('../chunk-667BQCEM.js');
6
+ require('../chunk-3OM7CHCA.js');
7
+ require('../chunk-XE4OXN2W.js');
8
8
 
9
9
 
10
10
 
11
11
 
12
- exports.ClientGenerator = _chunkHU63F22Vjs.ClientGenerator; exports.CodegenWatcher = _chunkHU63F22Vjs.CodegenWatcher; exports.NestJSParser = _chunkHU63F22Vjs.NestJSParser;
12
+ exports.ClientGenerator = _chunk667BQCEMjs.ClientGenerator; exports.CodegenWatcher = _chunk667BQCEMjs.CodegenWatcher; exports.NestJSParser = _chunk667BQCEMjs.NestJSParser;
13
13
  //# sourceMappingURL=index.js.map
@@ -2,9 +2,9 @@ import {
2
2
  ClientGenerator,
3
3
  CodegenWatcher,
4
4
  NestJSParser
5
- } from "../chunk-63MTCWU2.mjs";
6
- import "../chunk-HSFLZUJN.mjs";
7
- import "../chunk-CKZ4VSCB.mjs";
5
+ } from "../chunk-ONXNE2A6.mjs";
6
+ import "../chunk-VNNVLQLJ.mjs";
7
+ import "../chunk-FCEZDH42.mjs";
8
8
  export {
9
9
  ClientGenerator,
10
10
  CodegenWatcher,
@@ -2,12 +2,12 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkJMBD6DOPjs = require('../chunk-JMBD6DOP.js');
6
- require('../chunk-DW6GOKMF.js');
7
- require('../chunk-PZ5AY32C.js');
5
+ var _chunkO42L6HOXjs = require('../chunk-O42L6HOX.js');
6
+ require('../chunk-3OM7CHCA.js');
7
+ require('../chunk-XE4OXN2W.js');
8
8
 
9
9
 
10
10
 
11
11
 
12
- exports.FusionDevServer = _chunkJMBD6DOPjs.FusionDevServer; exports.ProcessRunner = _chunkJMBD6DOPjs.ProcessRunner; exports.ProxyServer = _chunkJMBD6DOPjs.ProxyServer;
12
+ exports.FusionDevServer = _chunkO42L6HOXjs.FusionDevServer; exports.ProcessRunner = _chunkO42L6HOXjs.ProcessRunner; exports.ProxyServer = _chunkO42L6HOXjs.ProxyServer;
13
13
  //# sourceMappingURL=index.js.map
@@ -2,9 +2,9 @@ import {
2
2
  FusionDevServer,
3
3
  ProcessRunner,
4
4
  ProxyServer
5
- } from "../chunk-OTBYRUBE.mjs";
6
- import "../chunk-HSFLZUJN.mjs";
7
- import "../chunk-CKZ4VSCB.mjs";
5
+ } from "../chunk-KXYLEUSW.mjs";
6
+ import "../chunk-VNNVLQLJ.mjs";
7
+ import "../chunk-FCEZDH42.mjs";
8
8
  export {
9
9
  FusionDevServer,
10
10
  ProcessRunner,