@nexus_js/cli 0.7.2 → 0.7.4

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/dist/bin.js CHANGED
@@ -3,6 +3,7 @@
3
3
  * Nexus CLI — nexus dev | nexus build | nexus start | nexus check | nexus studio | nexus audit
4
4
  */
5
5
  import { parseArgs } from 'node:util';
6
+ import { STUDIO_DEFAULT_PORT } from '@nexus_js/server/constants';
6
7
  // ── ANSI palette (shared across all CLI commands) ─────────────────────────────
7
8
  const c = {
8
9
  reset: '\x1b[0m', bold: '\x1b[1m', dim: '\x1b[2m',
@@ -82,17 +83,19 @@ async function main() {
82
83
  const command = positionals[0];
83
84
  const portVal = values['port'];
84
85
  const rootVal = values['root'];
85
- const port = typeof portVal === 'string' ? parseInt(portVal, 10) : 3000;
86
+ const portFromCli = typeof portVal === 'string' ? parseInt(portVal, 10) : undefined;
87
+ /** Default for `nexus dev` only — `start` resolves port in runStart (PORT env, nexus.config). */
88
+ const devPort = portFromCli ?? 3000;
86
89
  const root = typeof rootVal === 'string' ? rootVal : process.cwd();
87
90
  switch (command) {
88
91
  case 'dev':
89
- await runDev({ root, port });
92
+ await runDev({ root, port: devPort });
90
93
  break;
91
94
  case 'build':
92
95
  await runBuild({ root });
93
96
  break;
94
97
  case 'start':
95
- await runStart({ root, port });
98
+ await runStart(portFromCli !== undefined ? { root, port: portFromCli } : { root });
96
99
  break;
97
100
  case 'add': {
98
101
  const { runAdd } = await import('./add.js');
@@ -101,7 +104,9 @@ async function main() {
101
104
  break;
102
105
  }
103
106
  case 'studio':
104
- await runStudio({ port });
107
+ await runStudio({
108
+ port: typeof portVal === 'string' ? parseInt(portVal, 10) : STUDIO_DEFAULT_PORT,
109
+ });
105
110
  break;
106
111
  case 'routes':
107
112
  await printRoutes({ root });
@@ -144,11 +149,25 @@ async function runDev(opts) {
144
149
  const { createRequire } = await import('node:module');
145
150
  const req = createRequire(import.meta.url);
146
151
  const pkg = req('../package.json');
152
+ const { loadAppConfig } = await import('./load-app-config.js');
153
+ const cfg = loadAppConfig(opts.root);
147
154
  const { createNexusServer } = await import('@nexus_js/server');
148
155
  const server = await createNexusServer({
149
156
  root: opts.root,
150
157
  port: opts.port,
151
158
  dev: true,
159
+ ...(cfg.security !== undefined
160
+ ? {
161
+ security: {
162
+ hardened: cfg.security.hardened === true,
163
+ ...(cfg.security.shieldLite === true ? { shieldLite: true } : {}),
164
+ },
165
+ }
166
+ : {}),
167
+ ...(cfg.server?.streamingPretext === true ? { streamingPretext: true } : {}),
168
+ ...(cfg.browser?.importMap && Object.keys(cfg.browser.importMap).length > 0
169
+ ? { browserImportMap: cfg.browser.importMap }
170
+ : {}),
152
171
  onRequest(info) {
153
172
  const mCol = info.method === 'GET' ? c.cyan : c.mag;
154
173
  const sCol = info.status >= 500 ? c.red : info.status >= 400 ? c.yellow : c.green;
@@ -175,14 +194,37 @@ async function runDev(opts) {
175
194
  });
176
195
  // Wait for the server to be bound before printing the banner
177
196
  await server.listen();
197
+ let devRadarUnsub;
198
+ const obs = cfg.observability;
199
+ const devRadarOn = obs?.enabled !== false &&
200
+ process.env['NEXUS_DEVRADAR'] !== '0' &&
201
+ process.env['NEXUS_DEVRADAR'] !== 'false';
202
+ if (devRadarOn) {
203
+ try {
204
+ const { registerDevRadarSink, emitDevRadar } = await import('@nexus_js/server');
205
+ const { broadcast } = await import('./studio.js');
206
+ const { buildSecurityReport } = await import('./security-report.js');
207
+ devRadarUnsub = registerDevRadarSink((e) => {
208
+ broadcast(e);
209
+ });
210
+ emitDevRadar({ type: 'security:report', payload: buildSecurityReport(cfg, opts.root) });
211
+ }
212
+ catch {
213
+ /* optional */
214
+ }
215
+ }
178
216
  if (process.stdout.isTTY)
179
217
  console.clear();
180
218
  const elapsed = Date.now() - _start;
181
219
  console.log(`\n ${c.mag}${c.bold}◆ NEXUS${c.reset} ${c.dim}v${pkg.version}${c.reset}` +
182
220
  ` ${c.green}ready in ${elapsed}ms${c.reset}\n` +
183
221
  `\n ${c.green}➜${c.reset} ${c.bold}Local${c.reset} ${c.cyan}http://localhost:${opts.port}/${c.reset}` +
184
- `\n ${c.green}➜${c.reset} ${c.bold}Studio${c.reset} ${c.cyan}http://localhost:7822/${c.reset}` +
222
+ `\n ${c.green}➜${c.reset} ${c.bold}Studio${c.reset} ${c.cyan}http://localhost:${STUDIO_DEFAULT_PORT}/${c.reset}` +
185
223
  ` ${c.dim}nexus studio${c.reset}` +
224
+ `\n\n ${c.dim}Auto-reload:${c.reset} ${c.dim}src/** · public/** · nexus.config.* · .env · .env.local${c.reset}` +
225
+ `\n ${c.dim}Browser:${c.reset} ${c.dim}tabs refresh via SSE when files change${c.reset}` +
226
+ `\n ${c.dim}CSS:${c.reset} ${c.dim}styles in .nx / layout are SSR — each save reloads the tab (not Vite HMR)${c.reset}` +
227
+ `\n ${c.dim}Tip:${c.reset} ${c.dim}restart \`nexus dev\` after changing .env — Node only loads env at startup.${c.reset}` +
186
228
  `\n\n ${c.dim}press Ctrl+C to stop${c.reset}\n`);
187
229
  // Background dependency audit — runs after dev server is ready, non-blocking
188
230
  // Shows warnings for critical/high CVEs but never kills the dev server
@@ -228,26 +270,62 @@ async function runDev(opts) {
228
270
  // Audit failure (offline, @nexus_js/audit not installed) is silently ignored in dev mode
229
271
  }
230
272
  })();
231
- // File watcher — triggers route reload on .nx / .ts changes
232
- const { watch } = await import('node:fs');
233
- const { join } = await import('node:path');
273
+ // File watcher — reload routes + clear caches (src tree, config, env)
274
+ const { watch, existsSync } = await import('node:fs');
275
+ const { join, basename } = await import('node:path');
234
276
  const srcDir = join(opts.root, 'src');
235
277
  let debounce = null;
236
- watch(srcDir, { recursive: true }, (event, filename) => {
237
- if (!filename)
238
- return;
278
+ const scheduleReload = (label, event) => {
239
279
  if (debounce)
240
280
  clearTimeout(debounce);
241
281
  debounce = setTimeout(async () => {
242
282
  console.log(` ${c.gray}${getTime()}${c.reset}` +
243
- ` ${c.mag}[HMR]${c.reset}` +
244
- ` ${c.cyan}${filename}${c.reset}` +
245
- ` ${c.dim}${event} — reloading routes${c.reset}`);
283
+ ` ${c.mag}[reload]${c.reset}` +
284
+ ` ${c.cyan}${label}${c.reset}` +
285
+ ` ${c.dim}${event} — routes + cache${c.reset}`);
246
286
  await server.reload();
247
- }, 100);
287
+ }, 120);
288
+ };
289
+ watch(srcDir, { recursive: true }, (event, filename) => {
290
+ if (!filename)
291
+ return;
292
+ scheduleReload(filename, event);
248
293
  });
294
+ const publicDir = join(opts.root, 'public');
295
+ if (existsSync(publicDir)) {
296
+ try {
297
+ watch(publicDir, { recursive: true }, (event, filename) => {
298
+ if (!filename)
299
+ return;
300
+ scheduleReload(`public/${filename}`, event);
301
+ });
302
+ }
303
+ catch {
304
+ /* EMFILE etc. */
305
+ }
306
+ }
307
+ const rootWatchFiles = [
308
+ 'nexus.config.ts',
309
+ 'nexus.config.js',
310
+ 'nexus.config.mjs',
311
+ 'nexus.config.cjs',
312
+ '.env',
313
+ '.env.local',
314
+ ];
315
+ for (const rel of rootWatchFiles) {
316
+ const abs = join(opts.root, rel);
317
+ if (!existsSync(abs))
318
+ continue;
319
+ try {
320
+ watch(abs, (event) => scheduleReload(basename(abs), event));
321
+ }
322
+ catch {
323
+ /* e.g. EMFILE — ignore */
324
+ }
325
+ }
249
326
  // Graceful shutdown
250
327
  process.on('SIGINT', () => {
328
+ devRadarUnsub?.();
251
329
  console.log(`\n ${c.dim}◆ Nexus stopped${c.reset}\n`);
252
330
  server.close();
253
331
  process.exit(0);
@@ -256,6 +334,8 @@ async function runDev(opts) {
256
334
  async function runBuild(opts) {
257
335
  const _start = Date.now();
258
336
  console.log(`\n ${c.mag}${c.bold}◆ NEXUS${c.reset} ${c.dim}building for production...${c.reset}\n`);
337
+ const { loadAppConfig } = await import('./load-app-config.js');
338
+ const cfg = loadAppConfig(opts.root);
259
339
  const { compile } = await import('@nexus_js/compiler');
260
340
  const { buildRouteManifest } = await import('@nexus_js/router');
261
341
  const { existsSync } = await import('node:fs');
@@ -266,6 +346,8 @@ async function runBuild(opts) {
266
346
  const outDir = join(opts.root, '.nexus', 'output');
267
347
  await mkdir(outDir, { recursive: true });
268
348
  const manifest = await buildRouteManifest(routesDir);
349
+ const failOnIslandSecurity = cfg.security?.hardened === true && cfg.security?.failOnIslandSecurity === true;
350
+ const islandSecurityFindings = [];
269
351
  let compiled = 0;
270
352
  for (const route of manifest.routes) {
271
353
  const source = await readFile(route.filepath, 'utf-8');
@@ -274,7 +356,15 @@ async function runBuild(opts) {
274
356
  dev: false,
275
357
  emitIslandManifest: true,
276
358
  appRoot: opts.root,
359
+ routePattern: route.pattern,
277
360
  });
361
+ for (const w of result.warnings ?? []) {
362
+ if (w.message.includes('[security]')) {
363
+ islandSecurityFindings.push({ file: route.filepath, message: w.message });
364
+ console.error(` ${c.red}✗${c.reset} ${c.dim}${route.filepath}${c.reset}`);
365
+ console.error(` ${c.red}${w.message}${c.reset}`);
366
+ }
367
+ }
278
368
  const outSeg = route.pattern === '/' ? 'index' : route.pattern.replace(/^\//, '');
279
369
  const outPath = join(outDir, outSeg) + '.js';
280
370
  await mkdir(join(outPath, '..'), { recursive: true });
@@ -301,26 +391,112 @@ async function runBuild(opts) {
301
391
  }
302
392
  compiled++;
303
393
  }
394
+ if (failOnIslandSecurity && islandSecurityFindings.length > 0) {
395
+ console.error(`\n ${c.red}Build failed:${c.reset} ${islandSecurityFindings.length} compiler security finding(s). ` +
396
+ `Fix island scripts/templates or set ${c.cyan}security.failOnIslandSecurity: false${c.reset}.\n`);
397
+ process.exit(1);
398
+ }
304
399
  // Write route manifest
305
400
  await writeFile(join(outDir, 'manifest.json'), JSON.stringify(manifest, null, 2), 'utf-8');
306
- const elapsed = Date.now() - _start;
307
- console.log(` ${c.green}✔${c.reset} Compiled ${c.bold}${compiled} routes${c.reset} ${c.dim}(${elapsed}ms)${c.reset}`);
401
+ const { collectActionNamesFromOutputDir } = await import('@nexus_js/security');
402
+ const shieldActions = collectActionNamesFromOutputDir(outDir);
403
+ const shieldRoutes = [...new Set(manifest.routes.map((r) => r.pattern))].sort();
404
+ await writeFile(join(outDir, 'shield-manifest.json'), JSON.stringify({ version: 1, routes: shieldRoutes, actions: shieldActions }, null, 2), 'utf-8');
405
+ const elapsedCompile = Date.now() - _start;
406
+ console.log(` ${c.green}✔${c.reset} Compiled ${c.bold}${compiled} routes${c.reset} ${c.dim}(${elapsedCompile}ms)${c.reset}`);
308
407
  console.log(` ${c.green}✔${c.reset} Output → ${c.cyan}.nexus/output/${c.reset}\n`);
408
+ const runSecurityScan = cfg.security?.audit?.blockBuild === true || cfg.security?.hardened === true;
409
+ let auditScanRan = false;
410
+ let auditOk = true;
411
+ let auditVulnerableCount = 0;
412
+ if (runSecurityScan) {
413
+ const auditMod = await import('@nexus_js/audit');
414
+ const { scanProject, NexusSecurityError } = auditMod;
415
+ const block = cfg.security?.audit?.blockBuild === true;
416
+ try {
417
+ auditScanRan = true;
418
+ const scan = await scanProject({
419
+ root: opts.root,
420
+ supplyChain: true,
421
+ allowVulnerable: cfg.security?.allowVulnerable ?? {},
422
+ failOnCritical: block,
423
+ minSeverity: 'high',
424
+ });
425
+ auditVulnerableCount = scan.vulnerable.length;
426
+ auditOk = scan.vulnerable.length === 0;
427
+ if (!block && scan.vulnerable.length > 0) {
428
+ console.log(` ${c.yellow}⚠${c.reset} ${scan.vulnerable.length} package(s) with CVE findings (non-blocking). ` +
429
+ `Run ${c.cyan}nexus audit${c.reset} for details.\n`);
430
+ }
431
+ else {
432
+ console.log(` ${c.green}✔${c.reset} ${c.dim}Nexus Security: dependency scan complete${c.reset}\n`);
433
+ }
434
+ }
435
+ catch (e) {
436
+ if (e instanceof NexusSecurityError) {
437
+ console.error(`\n ${c.red}${e.message}${c.reset}\n`);
438
+ process.exit(1);
439
+ }
440
+ auditOk = false;
441
+ console.warn(` ${c.yellow}⚠${c.reset} Nexus Security scan skipped: ${e.message}\n`);
442
+ }
443
+ }
444
+ try {
445
+ await writeFile(join(opts.root, '.nexus', 'last-build-security.json'), JSON.stringify({
446
+ at: new Date().toISOString(),
447
+ islandSecurityWarnings: islandSecurityFindings.length,
448
+ auditScanRan,
449
+ auditOk,
450
+ auditVulnerableCount,
451
+ hardened: cfg.security?.hardened === true,
452
+ failOnIslandSecurity: cfg.security?.failOnIslandSecurity === true,
453
+ }, null, 2), 'utf-8');
454
+ }
455
+ catch {
456
+ /* ignore */
457
+ }
458
+ const elapsed = Date.now() - _start;
459
+ console.log(` ${c.dim}Total ${elapsed}ms${c.reset}`);
309
460
  console.log(` Run ${c.bold}nexus start${c.reset} to serve the production build.\n`);
310
461
  }
462
+ function parseEnvPort() {
463
+ const p = process.env['PORT'];
464
+ if (p === undefined || p === '')
465
+ return undefined;
466
+ const n = parseInt(p, 10);
467
+ return Number.isFinite(n) ? n : undefined;
468
+ }
311
469
  async function runStart(opts) {
312
470
  const _start = Date.now();
471
+ const { loadAppConfig } = await import('./load-app-config.js');
472
+ const cfg = loadAppConfig(opts.root);
473
+ const port = opts.port ??
474
+ parseEnvPort() ??
475
+ (typeof cfg.server?.port === 'number' ? cfg.server.port : undefined) ??
476
+ 3000;
313
477
  const { createNexusServer } = await import('@nexus_js/server');
314
478
  const server = await createNexusServer({
315
479
  root: opts.root,
316
- port: opts.port,
480
+ port,
317
481
  dev: false,
482
+ ...(cfg.security !== undefined
483
+ ? {
484
+ security: {
485
+ hardened: cfg.security.hardened === true,
486
+ ...(cfg.security.shieldLite === true ? { shieldLite: true } : {}),
487
+ },
488
+ }
489
+ : {}),
490
+ ...(cfg.server?.streamingPretext === true ? { streamingPretext: true } : {}),
491
+ ...(cfg.browser?.importMap && Object.keys(cfg.browser.importMap).length > 0
492
+ ? { browserImportMap: cfg.browser.importMap }
493
+ : {}),
318
494
  });
319
495
  await server.listen();
320
496
  const elapsed = Date.now() - _start;
321
497
  console.log(`\n ${c.mag}${c.bold}◆ NEXUS${c.reset} ${c.dim}production${c.reset}` +
322
498
  ` ${c.green}ready in ${elapsed}ms${c.reset}\n` +
323
- `\n ${c.green}➜${c.reset} ${c.bold}Local${c.reset} ${c.cyan}http://localhost:${opts.port}/${c.reset}\n`);
499
+ `\n ${c.green}➜${c.reset} ${c.bold}Local${c.reset} ${c.cyan}http://localhost:${port}/${c.reset}\n`);
324
500
  process.on('SIGINT', () => {
325
501
  console.log(`\n ${c.dim}◆ Nexus stopped${c.reset}\n`);
326
502
  server.close();
@@ -350,9 +526,32 @@ async function runStudio(opts) {
350
526
  }
351
527
  async function runCheck(opts) {
352
528
  console.log(`\n ${c.mag}${c.bold}◆ NEXUS check${c.reset} ${c.dim}type-checking your app...${c.reset}\n`);
353
- const { execSync } = await import('node:child_process');
529
+ const { execFileSync } = await import('node:child_process');
530
+ const { createRequire } = await import('node:module');
531
+ const { dirname, join } = await import('node:path');
532
+ const { existsSync } = await import('node:fs');
533
+ const appPkg = join(opts.root, 'package.json');
534
+ if (!existsSync(appPkg)) {
535
+ console.error(`\n ${c.red}✖${c.reset} No package.json at ${opts.root}.\n`);
536
+ process.exit(1);
537
+ }
538
+ /** Run the compiler via Node + lib/tsc.js (no shell, no global `tsc`; works with pnpm hoisting). */
539
+ let tscJs;
540
+ try {
541
+ const req = createRequire(appPkg);
542
+ const tsRoot = dirname(req.resolve('typescript/package.json'));
543
+ tscJs = join(tsRoot, 'lib', 'tsc.js');
544
+ if (!existsSync(tscJs)) {
545
+ throw new Error('typescript/lib/tsc.js missing');
546
+ }
547
+ }
548
+ catch {
549
+ console.error(`\n ${c.red}✖${c.reset} TypeScript not found for this app. ` +
550
+ `Add it as a devDependency (e.g. ${c.cyan}pnpm add -D typescript${c.reset}).\n`);
551
+ process.exit(1);
552
+ }
354
553
  try {
355
- execSync('tsc --noEmit', { cwd: opts.root, stdio: 'inherit' });
554
+ execFileSync(process.execPath, [tscJs, '--noEmit'], { cwd: opts.root, stdio: 'inherit' });
356
555
  console.log(`\n ${c.green}✔${c.reset} No type errors found.\n`);
357
556
  }
358
557
  catch {
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -1,3 +1,40 @@
1
+ import type { AllowVulnerableConfig } from '@nexus_js/audit';
2
+ /** Security & audit (v0.5+ Hardened Mode, v0.6+ dependency / supply-chain guard). */
3
+ export interface NexusSecurityConfig {
4
+ /** When true, responses include CSP-adjacent hardening, XFO, nosniff, referrer-policy (server). */
5
+ hardened?: boolean;
6
+ /**
7
+ * When `true` together with `hardened: true`, `nexus build` fails if the compiler reports
8
+ * any `[security]` finding (e.g. `process.env` in an island script, inline `on*="..."`).
9
+ */
10
+ failOnIslandSecurity?: boolean;
11
+ /** Time-limited CVE exceptions — see @nexus_js/audit override policy. */
12
+ allowVulnerable?: AllowVulnerableConfig;
13
+ audit?: {
14
+ /** Severities that count toward blocking when blockBuild is on (reserved for future granularity). */
15
+ failOn?: ('critical' | 'high' | 'medium')[];
16
+ /**
17
+ * If true, `nexus build` runs OSV + supply-chain scan and exits non-zero on unmitigated critical/high CVEs.
18
+ */
19
+ blockBuild?: boolean;
20
+ };
21
+ /**
22
+ * When true, unknown server action names are rejected with 403 (Shield-lite) using the build manifest + registry.
23
+ * `nexus build` writes `.nexus/output/shield-manifest.json`.
24
+ */
25
+ shieldLite?: boolean;
26
+ }
27
+ /** DevRadar / Studio telemetry (see `packages/server/src/devradar.ts`). */
28
+ export interface NexusObservabilityConfig {
29
+ /** When false, DevRadar does not register the Studio sink (default: true in dev). */
30
+ enabled?: boolean;
31
+ /** Future: forward $state churn to Studio (requires client bridge). */
32
+ traceRunes?: boolean;
33
+ /** Server Actions + pretext events are always emitted when the sink is registered. */
34
+ traceActions?: boolean;
35
+ /** Reserved for ANSI tables in the terminal. */
36
+ terminalOutput?: 'plain' | 'fancy';
37
+ }
1
38
  export interface NexusConfig {
2
39
  /** Default island hydration strategy */
3
40
  defaultHydration?: 'client:load' | 'client:idle' | 'client:visible';
@@ -13,6 +50,11 @@ export interface NexusConfig {
13
50
  host?: string;
14
51
  /** Run on edge runtime (Cloudflare Workers / Deno Deploy compatible) */
15
52
  edge?: boolean;
53
+ /**
54
+ * Flush HTML shell before `nxPretext` finishes (chunked SSR). Best when Pretext hits DB/API.
55
+ * Use fragment layouts only (no root `<html>` from routes).
56
+ */
57
+ streamingPretext?: boolean;
16
58
  };
17
59
  /** Build configuration */
18
60
  build?: {
@@ -31,6 +73,20 @@ export interface NexusConfig {
31
73
  };
32
74
  /** Plugins */
33
75
  plugins?: NexusPlugin[];
76
+ /** Security headers, build-time audit, overrides (see changelog v0.5 / v0.6). */
77
+ security?: NexusSecurityConfig;
78
+ /** Introspection: DevRadar → Nexus Studio WebSocket (development). */
79
+ observability?: NexusObservabilityConfig;
80
+ /**
81
+ * Browser-only hooks merged into the HTML shell (import map for island `import()` specifiers, etc.).
82
+ */
83
+ browser?: {
84
+ /**
85
+ * Merged with Nexus defaults in `<script type="importmap">`. Use for packages your islands
86
+ * `import()` that are not native ESM in `node_modules` (map to `https://esm.sh/...` or a self-hosted URL).
87
+ */
88
+ importMap?: Record<string, string>;
89
+ };
34
90
  }
35
91
  export interface NexusPlugin {
36
92
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,wCAAwC;IACxC,gBAAgB,CAAC,EAAE,aAAa,GAAG,aAAa,GAAG,gBAAgB,CAAC;IAEpE,kCAAkC;IAClC,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC;QAC9C,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF,2BAA2B;IAC3B,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,wEAAwE;QACxE,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;IAEF,0BAA0B;IAC1B,KAAK,CAAC,EAAE;QACN,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,sBAAsB;QACtB,OAAO,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;KAC7D,CAAC;IAEF,2BAA2B;IAC3B,IAAI,CAAC,EAAE;QACL,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,gCAAgC;QAChC,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IAEF,cAAc;IACd,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3E,UAAU,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/create.d.ts CHANGED
@@ -2,8 +2,10 @@
2
2
  /**
3
3
  * create-nexus — scaffolding CLI for new Nexus projects.
4
4
  * Usage: npm create @nexus_js/nexus@latest my-app
5
- * npx @nexus_js/create-nexus my-app
6
- * npm exec --package=@nexus_js/cli -- create-nexus my-app
5
+ * npx @nexus_js/create-nexus my-app [--template minimal|full]
6
+ * npm exec --package=@nexus_js/cli -- create-nexus my-app -t minimal
7
+ * create-nexus --yes (defaults, no prompts)
7
8
  */
8
- export {};
9
+ /** Starter preset: minimal = one landing page, no i18n; full = i18n, islands + blog examples. */
10
+ export type CreateTemplate = 'minimal' | 'full';
9
11
  //# sourceMappingURL=create.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":";AACA;;;;;GAKG"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":";AACA;;;;;;GAMG;AASH,iGAAiG;AACjG,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,MAAM,CAAC"}