@nexus_js/cli 0.7.2 → 0.7.5

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,16 +334,24 @@ 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`);
259
- const { compile } = await import('@nexus_js/compiler');
337
+ const { loadAppConfig } = await import('./load-app-config.js');
338
+ const cfg = loadAppConfig(opts.root);
339
+ const { compile, compileLib } = await import('@nexus_js/compiler');
260
340
  const { buildRouteManifest } = await import('@nexus_js/router');
261
- const { existsSync } = await import('node:fs');
262
341
  const { readFile, writeFile, mkdir } = await import('node:fs/promises');
263
342
  const { join } = await import('node:path');
264
- const { pathToFileURL } = await import('node:url');
265
343
  const routesDir = join(opts.root, 'src', 'routes');
266
344
  const outDir = join(opts.root, '.nexus', 'output');
267
345
  await mkdir(outDir, { recursive: true });
346
+ // Compile src/lib/**/*.ts → .nexus/lib/**/*.js so server modules can import
347
+ // them at runtime without a TypeScript loader (fixes "Unknown file extension .ts").
348
+ const libResult = await compileLib(opts.root);
349
+ if (libResult.files > 0) {
350
+ console.log(` ${c.green}✔${c.reset} Compiled ${c.bold}${libResult.files} lib files${c.reset} ${c.dim}→ .nexus/lib/${c.reset}`);
351
+ }
268
352
  const manifest = await buildRouteManifest(routesDir);
353
+ const failOnIslandSecurity = cfg.security?.hardened === true && cfg.security?.failOnIslandSecurity === true;
354
+ const islandSecurityFindings = [];
269
355
  let compiled = 0;
270
356
  for (const route of manifest.routes) {
271
357
  const source = await readFile(route.filepath, 'utf-8');
@@ -274,7 +360,15 @@ async function runBuild(opts) {
274
360
  dev: false,
275
361
  emitIslandManifest: true,
276
362
  appRoot: opts.root,
363
+ routePattern: route.pattern,
277
364
  });
365
+ for (const w of result.warnings ?? []) {
366
+ if (w.message.includes('[security]')) {
367
+ islandSecurityFindings.push({ file: route.filepath, message: w.message });
368
+ console.error(` ${c.red}✗${c.reset} ${c.dim}${route.filepath}${c.reset}`);
369
+ console.error(` ${c.red}${w.message}${c.reset}`);
370
+ }
371
+ }
278
372
  const outSeg = route.pattern === '/' ? 'index' : route.pattern.replace(/^\//, '');
279
373
  const outPath = join(outDir, outSeg) + '.js';
280
374
  await mkdir(join(outPath, '..'), { recursive: true });
@@ -284,43 +378,118 @@ async function runBuild(opts) {
284
378
  }
285
379
  if (result.actionsModule) {
286
380
  const actionsPath = outPath.replace(/\.js$/u, '.actions.js');
287
- let code = result.actionsModule;
288
- const preambleLines = [];
289
- const store = join(opts.root, 'src/lib/chat-room.js');
290
- if (code.includes('appendMessage') && existsSync(store)) {
291
- preambleLines.push(`import { appendMessage } from ${JSON.stringify(pathToFileURL(store).href)};`);
292
- }
293
- const flowVal = join(opts.root, 'src/lib/validate-flow.js');
294
- if (code.includes('validateFlowPayload') && existsSync(flowVal)) {
295
- preambleLines.push(`import { validateFlowPayload } from ${JSON.stringify(pathToFileURL(flowVal).href)};`);
296
- }
297
- if (preambleLines.length > 0) {
298
- code = `${preambleLines.join('\n')}\n${code}`;
299
- }
300
- await writeFile(actionsPath, code, 'utf-8');
381
+ // The sidecar imports all action handlers from the adjacent server module
382
+ // (which has $lib imports in scope) — no app-specific preamble needed.
383
+ await writeFile(actionsPath, result.actionsModule, 'utf-8');
301
384
  }
302
385
  compiled++;
303
386
  }
387
+ if (failOnIslandSecurity && islandSecurityFindings.length > 0) {
388
+ console.error(`\n ${c.red}Build failed:${c.reset} ${islandSecurityFindings.length} compiler security finding(s). ` +
389
+ `Fix island scripts/templates or set ${c.cyan}security.failOnIslandSecurity: false${c.reset}.\n`);
390
+ process.exit(1);
391
+ }
304
392
  // Write route manifest
305
393
  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}`);
394
+ const { collectActionNamesFromOutputDir } = await import('@nexus_js/security');
395
+ const shieldActions = collectActionNamesFromOutputDir(outDir);
396
+ const shieldRoutes = [...new Set(manifest.routes.map((r) => r.pattern))].sort();
397
+ await writeFile(join(outDir, 'shield-manifest.json'), JSON.stringify({ version: 1, routes: shieldRoutes, actions: shieldActions }, null, 2), 'utf-8');
398
+ const elapsedCompile = Date.now() - _start;
399
+ console.log(` ${c.green}✔${c.reset} Compiled ${c.bold}${compiled} routes${c.reset} ${c.dim}(${elapsedCompile}ms)${c.reset}`);
308
400
  console.log(` ${c.green}✔${c.reset} Output → ${c.cyan}.nexus/output/${c.reset}\n`);
401
+ const runSecurityScan = cfg.security?.audit?.blockBuild === true || cfg.security?.hardened === true;
402
+ let auditScanRan = false;
403
+ let auditOk = true;
404
+ let auditVulnerableCount = 0;
405
+ if (runSecurityScan) {
406
+ const auditMod = await import('@nexus_js/audit');
407
+ const { scanProject, NexusSecurityError } = auditMod;
408
+ const block = cfg.security?.audit?.blockBuild === true;
409
+ try {
410
+ auditScanRan = true;
411
+ const scan = await scanProject({
412
+ root: opts.root,
413
+ supplyChain: true,
414
+ allowVulnerable: cfg.security?.allowVulnerable ?? {},
415
+ failOnCritical: block,
416
+ minSeverity: 'high',
417
+ });
418
+ auditVulnerableCount = scan.vulnerable.length;
419
+ auditOk = scan.vulnerable.length === 0;
420
+ if (!block && scan.vulnerable.length > 0) {
421
+ console.log(` ${c.yellow}⚠${c.reset} ${scan.vulnerable.length} package(s) with CVE findings (non-blocking). ` +
422
+ `Run ${c.cyan}nexus audit${c.reset} for details.\n`);
423
+ }
424
+ else {
425
+ console.log(` ${c.green}✔${c.reset} ${c.dim}Nexus Security: dependency scan complete${c.reset}\n`);
426
+ }
427
+ }
428
+ catch (e) {
429
+ if (e instanceof NexusSecurityError) {
430
+ console.error(`\n ${c.red}${e.message}${c.reset}\n`);
431
+ process.exit(1);
432
+ }
433
+ auditOk = false;
434
+ console.warn(` ${c.yellow}⚠${c.reset} Nexus Security scan skipped: ${e.message}\n`);
435
+ }
436
+ }
437
+ try {
438
+ await writeFile(join(opts.root, '.nexus', 'last-build-security.json'), JSON.stringify({
439
+ at: new Date().toISOString(),
440
+ islandSecurityWarnings: islandSecurityFindings.length,
441
+ auditScanRan,
442
+ auditOk,
443
+ auditVulnerableCount,
444
+ hardened: cfg.security?.hardened === true,
445
+ failOnIslandSecurity: cfg.security?.failOnIslandSecurity === true,
446
+ }, null, 2), 'utf-8');
447
+ }
448
+ catch {
449
+ /* ignore */
450
+ }
451
+ const elapsed = Date.now() - _start;
452
+ console.log(` ${c.dim}Total ${elapsed}ms${c.reset}`);
309
453
  console.log(` Run ${c.bold}nexus start${c.reset} to serve the production build.\n`);
310
454
  }
455
+ function parseEnvPort() {
456
+ const p = process.env['PORT'];
457
+ if (p === undefined || p === '')
458
+ return undefined;
459
+ const n = parseInt(p, 10);
460
+ return Number.isFinite(n) ? n : undefined;
461
+ }
311
462
  async function runStart(opts) {
312
463
  const _start = Date.now();
464
+ const { loadAppConfig } = await import('./load-app-config.js');
465
+ const cfg = loadAppConfig(opts.root);
466
+ const port = opts.port ??
467
+ parseEnvPort() ??
468
+ (typeof cfg.server?.port === 'number' ? cfg.server.port : undefined) ??
469
+ 3000;
313
470
  const { createNexusServer } = await import('@nexus_js/server');
314
471
  const server = await createNexusServer({
315
472
  root: opts.root,
316
- port: opts.port,
473
+ port,
317
474
  dev: false,
475
+ ...(cfg.security !== undefined
476
+ ? {
477
+ security: {
478
+ hardened: cfg.security.hardened === true,
479
+ ...(cfg.security.shieldLite === true ? { shieldLite: true } : {}),
480
+ },
481
+ }
482
+ : {}),
483
+ ...(cfg.server?.streamingPretext === true ? { streamingPretext: true } : {}),
484
+ ...(cfg.browser?.importMap && Object.keys(cfg.browser.importMap).length > 0
485
+ ? { browserImportMap: cfg.browser.importMap }
486
+ : {}),
318
487
  });
319
488
  await server.listen();
320
489
  const elapsed = Date.now() - _start;
321
490
  console.log(`\n ${c.mag}${c.bold}◆ NEXUS${c.reset} ${c.dim}production${c.reset}` +
322
491
  ` ${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`);
492
+ `\n ${c.green}➜${c.reset} ${c.bold}Local${c.reset} ${c.cyan}http://localhost:${port}/${c.reset}\n`);
324
493
  process.on('SIGINT', () => {
325
494
  console.log(`\n ${c.dim}◆ Nexus stopped${c.reset}\n`);
326
495
  server.close();
@@ -350,9 +519,32 @@ async function runStudio(opts) {
350
519
  }
351
520
  async function runCheck(opts) {
352
521
  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');
522
+ const { execFileSync } = await import('node:child_process');
523
+ const { createRequire } = await import('node:module');
524
+ const { dirname, join } = await import('node:path');
525
+ const { existsSync } = await import('node:fs');
526
+ const appPkg = join(opts.root, 'package.json');
527
+ if (!existsSync(appPkg)) {
528
+ console.error(`\n ${c.red}✖${c.reset} No package.json at ${opts.root}.\n`);
529
+ process.exit(1);
530
+ }
531
+ /** Run the compiler via Node + lib/tsc.js (no shell, no global `tsc`; works with pnpm hoisting). */
532
+ let tscJs;
533
+ try {
534
+ const req = createRequire(appPkg);
535
+ const tsRoot = dirname(req.resolve('typescript/package.json'));
536
+ tscJs = join(tsRoot, 'lib', 'tsc.js');
537
+ if (!existsSync(tscJs)) {
538
+ throw new Error('typescript/lib/tsc.js missing');
539
+ }
540
+ }
541
+ catch {
542
+ console.error(`\n ${c.red}✖${c.reset} TypeScript not found for this app. ` +
543
+ `Add it as a devDependency (e.g. ${c.cyan}pnpm add -D typescript${c.reset}).\n`);
544
+ process.exit(1);
545
+ }
354
546
  try {
355
- execSync('tsc --noEmit', { cwd: opts.root, stdio: 'inherit' });
547
+ execFileSync(process.execPath, [tscJs, '--noEmit'], { cwd: opts.root, stdio: 'inherit' });
356
548
  console.log(`\n ${c.green}✔${c.reset} No type errors found.\n`);
357
549
  }
358
550
  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"}