@nexus_js/cli 0.7.1 → 0.7.2

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/create.js CHANGED
@@ -36,7 +36,6 @@ async function main() {
36
36
  const dirs = [
37
37
  'src/routes',
38
38
  'src/routes/blog/[slug]',
39
- 'src/routes/api/users',
40
39
  'src/components',
41
40
  'src/islands',
42
41
  'src/lib',
@@ -50,13 +49,16 @@ async function main() {
50
49
  console.log(` ${GREEN}✓${RESET} Project created at ${BOLD}${projectName}/${RESET}\n`);
51
50
  console.log(` Next steps:\n`);
52
51
  console.log(` ${DIM}cd${RESET} ${projectName}`);
53
- console.log(` ${DIM}npm install${RESET} ${DIM}(or pnpm install / yarn)${RESET}`);
54
- console.log(` ${DIM}npm run dev${RESET} ${DIM}(or pnpm dev)${RESET}\n`);
52
+ console.log(` ${DIM}npm install${RESET} ${DIM}(or pnpm / yarn / bun install)${RESET}`);
53
+ console.log(` ${DIM}npm run dev${RESET} ${DIM}(or pnpm dev, yarn dev, bun run dev)${RESET}\n`);
55
54
  console.log(` ${CYAN}◆${RESET} Docs: ${BOLD}https://nexusjs.dev${RESET}\n`);
56
55
  }
57
56
  async function writeProjectFiles(dir, name) {
58
57
  const v = getPublishedCliVersion();
59
58
  const range = `^${v}`;
59
+ // Invoke the CLI with `node` so scripts work the same under npm, pnpm, yarn, and bun
60
+ // (some setups resolve `node_modules/.bin` shims inconsistently for bare `nexus`).
61
+ const nexusCli = 'node ./node_modules/@nexus_js/cli/dist/bin.js';
60
62
  const files = {
61
63
  'package.json': JSON.stringify({
62
64
  name,
@@ -64,10 +66,10 @@ async function writeProjectFiles(dir, name) {
64
66
  private: true,
65
67
  type: 'module',
66
68
  scripts: {
67
- dev: 'nexus dev',
68
- build: 'nexus build',
69
- start: 'nexus start',
70
- check: 'nexus check',
69
+ dev: `${nexusCli} dev`,
70
+ build: `${nexusCli} build`,
71
+ start: `${nexusCli} start`,
72
+ check: `${nexusCli} check`,
71
73
  },
72
74
  dependencies: {
73
75
  '@nexus_js/runtime': range,
@@ -123,115 +125,477 @@ const appName = "My Nexus App";
123
125
  <head>
124
126
  <meta charset="UTF-8">
125
127
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
128
+ <meta name="description" content="Built with Nexus — full-stack framework with islands, Svelte 5 runes, and server actions.">
126
129
  <title>{appName}</title>
130
+ <link rel="icon" href="/favicon.svg" type="image/svg+xml">
131
+ <link rel="preconnect" href="https://fonts.googleapis.com">
132
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
133
+ <link href="https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400..700;1,9..40,400&family=Outfit:wght@500;600;700&display=swap" rel="stylesheet">
127
134
  </head>
128
- <body>
129
- <nav>
130
- <a href="/">Home</a>
131
- <a href="/blog">Blog</a>
132
- </nav>
133
- <main>
135
+ <body class="nx-body">
136
+ <div class="nx-bg" aria-hidden="true"></div>
137
+ <header class="nx-header">
138
+ <a class="nx-brand" href="/">
139
+ <span class="nx-brand-mark" aria-hidden="true">◆</span>
140
+ <span>{appName}</span>
141
+ </a>
142
+ <nav class="nx-nav" aria-label="Main">
143
+ <a href="/">Home</a>
144
+ <a href="/blog">Blog</a>
145
+ <a href="https://nexusjs.dev" target="_blank" rel="noopener noreferrer">Docs</a>
146
+ </nav>
147
+ </header>
148
+ <main class="nx-main">
134
149
  <!--nexus:slot-->
135
150
  </main>
151
+ <footer class="nx-footer">
152
+ <p>Made with <a href="https://nexusjs.dev" target="_blank" rel="noopener noreferrer">Nexus</a> · Islands · Runes · Server Actions</p>
153
+ </footer>
136
154
  </body>
137
155
  </html>
156
+
157
+ <style>
158
+ :global(:root) {
159
+ --nx-bg0: #07080c;
160
+ --nx-bg1: #0e1118;
161
+ --nx-surface: rgba(255, 255, 255, 0.04);
162
+ --nx-border: rgba(255, 255, 255, 0.08);
163
+ --nx-text: #f1f3f7;
164
+ --nx-muted: #8b93a7;
165
+ --nx-accent: #8b7cf8;
166
+ --nx-accent-dim: rgba(139, 124, 248, 0.15);
167
+ --nx-radius: 14px;
168
+ --nx-font: "DM Sans", system-ui, -apple-system, sans-serif;
169
+ --nx-display: "Outfit", var(--nx-font);
170
+ }
171
+ :global(.nx-body) {
172
+ margin: 0;
173
+ min-height: 100vh;
174
+ font-family: var(--nx-font);
175
+ color: var(--nx-text);
176
+ background: var(--nx-bg0);
177
+ line-height: 1.5;
178
+ -webkit-font-smoothing: antialiased;
179
+ }
180
+ :global(.nx-bg) {
181
+ position: fixed;
182
+ inset: 0;
183
+ z-index: -1;
184
+ background:
185
+ radial-gradient(ellipse 80% 50% at 50% -20%, rgba(139, 124, 248, 0.22), transparent),
186
+ radial-gradient(ellipse 60% 40% at 100% 0%, rgba(56, 189, 248, 0.08), transparent),
187
+ var(--nx-bg0);
188
+ }
189
+ :global(.nx-header) {
190
+ display: flex;
191
+ align-items: center;
192
+ justify-content: space-between;
193
+ gap: 1rem;
194
+ padding: 1rem 1.5rem;
195
+ max-width: 1100px;
196
+ margin: 0 auto;
197
+ border-bottom: 1px solid var(--nx-border);
198
+ backdrop-filter: blur(12px);
199
+ background: rgba(7, 8, 12, 0.75);
200
+ position: sticky;
201
+ top: 0;
202
+ z-index: 10;
203
+ }
204
+ :global(.nx-brand) {
205
+ display: inline-flex;
206
+ align-items: center;
207
+ gap: 0.5rem;
208
+ font-family: var(--nx-display);
209
+ font-weight: 700;
210
+ font-size: 1.1rem;
211
+ color: var(--nx-text);
212
+ text-decoration: none;
213
+ }
214
+ :global(.nx-brand-mark) {
215
+ color: var(--nx-accent);
216
+ font-size: 1.25rem;
217
+ line-height: 1;
218
+ }
219
+ :global(.nx-nav) {
220
+ display: flex;
221
+ flex-wrap: wrap;
222
+ gap: 0.25rem 1.25rem;
223
+ align-items: center;
224
+ }
225
+ :global(.nx-nav a) {
226
+ color: var(--nx-muted);
227
+ text-decoration: none;
228
+ font-size: 0.925rem;
229
+ font-weight: 500;
230
+ transition: color 0.15s ease;
231
+ }
232
+ :global(.nx-nav a:hover) {
233
+ color: var(--nx-text);
234
+ }
235
+ :global(.nx-main) {
236
+ max-width: 1100px;
237
+ margin: 0 auto;
238
+ padding: 2rem 1.5rem 4rem;
239
+ }
240
+ :global(.nx-footer) {
241
+ max-width: 1100px;
242
+ margin: 0 auto;
243
+ padding: 2rem 1.5rem 3rem;
244
+ border-top: 1px solid var(--nx-border);
245
+ text-align: center;
246
+ }
247
+ :global(.nx-footer p) {
248
+ margin: 0;
249
+ font-size: 0.875rem;
250
+ color: var(--nx-muted);
251
+ }
252
+ :global(.nx-footer a) {
253
+ color: var(--nx-accent);
254
+ text-decoration: none;
255
+ }
256
+ :global(.nx-footer a:hover) {
257
+ text-decoration: underline;
258
+ }
259
+ </style>
138
260
  `,
139
261
  'src/routes/+page.nx': `---
140
- // Index page runs on server only
141
- const greeting = "Welcome to Nexus";
262
+ const greeting = "Ship less JavaScript.";
263
+ const sub = "Nexus combines islands architecture, Svelte 5 runes, and server actions — so your default page weight stays tiny.";
142
264
  const features = [
143
- { icon: "🏝️", title: "Islands Architecture", desc: "Zero JS by default" },
144
- { icon: "⚡", title: "Svelte 5 Runes", desc: "Fine-grained reactivity" },
145
- { icon: "🔧", title: "Server Actions", desc: "Type-safe mutations" },
265
+ { icon: "", title: "Islands", desc: "HTML-first pages; JS only where you opt in with client:visible and friends." },
266
+ { icon: "⚡", title: "Runes", desc: "Fine-grained reactivity with Svelte 5 — no legacy stores required." },
267
+ { icon: "", title: "Server actions", desc: "Mutations colocated with routes; type-safe, SSR-friendly." },
146
268
  ];
147
269
  ---
148
270
 
149
271
  <script>
150
- // Client island — only this code reaches the browser
151
272
  let count = $state(0);
152
273
  let doubled = $derived(count * 2);
153
274
  </script>
154
275
 
155
276
  <section class="hero">
156
- <h1>{greeting}</h1>
157
- <p>Islands × Runes × Server Actions</p>
277
+ <p class="hero-kicker">You’re running Nexus</p>
278
+ <h1 class="hero-title">{greeting}</h1>
279
+ <p class="hero-lead">{sub}</p>
280
+ <div class="hero-actions">
281
+ <a class="btn btn-primary" href="https://nexusjs.dev" target="_blank" rel="noopener noreferrer">Documentation</a>
282
+ <a class="btn btn-ghost" href="/blog">Example blog</a>
283
+ </div>
158
284
  </section>
159
285
 
160
- <section class="features">
161
- {#each features as f}
162
- <div class="card">
163
- <span>{f.icon}</span>
164
- <h3>{f.title}</h3>
165
- <p>{f.desc}</p>
166
- </div>
167
- {/each}
286
+ <section class="features" aria-labelledby="feat-heading">
287
+ <h2 id="feat-heading" class="section-title">Why Nexus</h2>
288
+ <ul class="feature-grid">
289
+ {#each features as f}
290
+ <li class="card">
291
+ <span class="card-icon" aria-hidden="true">{f.icon}</span>
292
+ <h3 class="card-title">{f.title}</h3>
293
+ <p class="card-desc">{f.desc}</p>
294
+ </li>
295
+ {/each}
296
+ </ul>
168
297
  </section>
169
298
 
170
- <div class="counter" client:visible>
171
- <button onclick={() => count++}>
172
- Clicked {count} times (×2 = {doubled})
173
- </button>
174
- </div>
299
+ <section class="demo" aria-labelledby="demo-heading">
300
+ <h2 id="demo-heading" class="section-title">Interactive island</h2>
301
+ <p class="demo-hint">The counter below is a small client island — the rest of this page can stay server-rendered.</p>
302
+ <div class="counter-wrap" client:visible>
303
+ <div class="counter">
304
+ <p class="counter-label">Hydrated in the browser</p>
305
+ <div class="counter-row">
306
+ <button id="counter-btn" type="button" class="btn-counter" onclick={() => count++} aria-label="Increment counter">
307
+ +1
308
+ </button>
309
+ <output class="counter-out" for="counter-btn">
310
+ <span class="counter-val">{count}</span>
311
+ <span class="counter-meta">×2 = {doubled}</span>
312
+ </output>
313
+ </div>
314
+ </div>
315
+ </div>
316
+ </section>
175
317
 
176
318
  <style>
177
- .hero { text-align: center; padding: 4rem 2rem; }
178
- .features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
179
- .card { padding: 1.5rem; border: 1px solid #eee; border-radius: 8px; }
180
- .counter { text-align: center; margin-top: 2rem; }
181
- button { padding: 0.75rem 2rem; font-size: 1rem; cursor: pointer; }
319
+ .hero {
320
+ text-align: center;
321
+ padding: 2.5rem 0 3rem;
322
+ max-width: 40rem;
323
+ margin: 0 auto;
324
+ }
325
+ .hero-kicker {
326
+ margin: 0 0 0.75rem;
327
+ font-size: 0.8125rem;
328
+ font-weight: 600;
329
+ letter-spacing: 0.12em;
330
+ text-transform: uppercase;
331
+ color: var(--nx-accent);
332
+ }
333
+ .hero-title {
334
+ margin: 0 0 1rem;
335
+ font-family: var(--nx-display);
336
+ font-size: clamp(2rem, 5vw, 2.75rem);
337
+ font-weight: 700;
338
+ line-height: 1.15;
339
+ letter-spacing: -0.02em;
340
+ }
341
+ .hero-lead {
342
+ margin: 0 0 2rem;
343
+ font-size: 1.0625rem;
344
+ color: var(--nx-muted);
345
+ line-height: 1.65;
346
+ }
347
+ .hero-actions {
348
+ display: flex;
349
+ flex-wrap: wrap;
350
+ gap: 0.75rem;
351
+ justify-content: center;
352
+ }
353
+ .btn {
354
+ display: inline-flex;
355
+ align-items: center;
356
+ justify-content: center;
357
+ padding: 0.65rem 1.25rem;
358
+ border-radius: 10px;
359
+ font-size: 0.9375rem;
360
+ font-weight: 600;
361
+ text-decoration: none;
362
+ transition: transform 0.12s ease, background 0.15s ease, border-color 0.15s ease;
363
+ }
364
+ .btn:active {
365
+ transform: scale(0.98);
366
+ }
367
+ .btn-primary {
368
+ background: linear-gradient(135deg, var(--nx-accent), #6366f1);
369
+ color: #fff;
370
+ border: none;
371
+ box-shadow: 0 4px 24px var(--nx-accent-dim);
372
+ }
373
+ .btn-primary:hover {
374
+ filter: brightness(1.06);
375
+ }
376
+ .btn-ghost {
377
+ background: var(--nx-surface);
378
+ color: var(--nx-text);
379
+ border: 1px solid var(--nx-border);
380
+ }
381
+ .btn-ghost:hover {
382
+ border-color: rgba(255, 255, 255, 0.18);
383
+ background: rgba(255, 255, 255, 0.06);
384
+ }
385
+ .section-title {
386
+ margin: 0 0 1.25rem;
387
+ font-family: var(--nx-display);
388
+ font-size: 1.35rem;
389
+ font-weight: 600;
390
+ letter-spacing: -0.02em;
391
+ }
392
+ .features {
393
+ padding: 2rem 0 1rem;
394
+ }
395
+ .feature-grid {
396
+ list-style: none;
397
+ margin: 0;
398
+ padding: 0;
399
+ display: grid;
400
+ grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
401
+ gap: 1rem;
402
+ }
403
+ .card {
404
+ margin: 0;
405
+ padding: 1.35rem 1.25rem;
406
+ border-radius: var(--nx-radius);
407
+ background: var(--nx-surface);
408
+ border: 1px solid var(--nx-border);
409
+ transition: border-color 0.15s ease, box-shadow 0.15s ease;
410
+ }
411
+ .card:hover {
412
+ border-color: rgba(139, 124, 248, 0.35);
413
+ box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
414
+ }
415
+ .card-icon {
416
+ display: block;
417
+ font-size: 1.5rem;
418
+ line-height: 1;
419
+ margin-bottom: 0.75rem;
420
+ color: var(--nx-accent);
421
+ }
422
+ .card-title {
423
+ margin: 0 0 0.5rem;
424
+ font-family: var(--nx-display);
425
+ font-size: 1.05rem;
426
+ font-weight: 600;
427
+ }
428
+ .card-desc {
429
+ margin: 0;
430
+ font-size: 0.9rem;
431
+ color: var(--nx-muted);
432
+ line-height: 1.55;
433
+ }
434
+ .demo {
435
+ padding: 2.5rem 0 1rem;
436
+ }
437
+ .demo-hint {
438
+ margin: 0 0 1.25rem;
439
+ font-size: 0.9rem;
440
+ color: var(--nx-muted);
441
+ max-width: 36rem;
442
+ }
443
+ .counter-wrap {
444
+ display: flex;
445
+ justify-content: center;
446
+ }
447
+ .counter {
448
+ width: 100%;
449
+ max-width: 420px;
450
+ padding: 1.5rem;
451
+ border-radius: var(--nx-radius);
452
+ background: linear-gradient(145deg, rgba(139, 124, 248, 0.08), var(--nx-surface));
453
+ border: 1px solid var(--nx-border);
454
+ text-align: center;
455
+ }
456
+ .counter-label {
457
+ margin: 0 0 1rem;
458
+ font-size: 0.75rem;
459
+ font-weight: 600;
460
+ letter-spacing: 0.08em;
461
+ text-transform: uppercase;
462
+ color: var(--nx-muted);
463
+ }
464
+ .counter-row {
465
+ display: flex;
466
+ align-items: center;
467
+ justify-content: center;
468
+ gap: 1.25rem;
469
+ flex-wrap: wrap;
470
+ }
471
+ .btn-counter {
472
+ min-width: 3.5rem;
473
+ min-height: 3rem;
474
+ padding: 0 1.25rem;
475
+ border-radius: 10px;
476
+ border: 1px solid var(--nx-border);
477
+ background: rgba(255, 255, 255, 0.06);
478
+ color: var(--nx-text);
479
+ font-size: 1rem;
480
+ font-weight: 700;
481
+ font-family: inherit;
482
+ cursor: pointer;
483
+ transition: background 0.15s ease, border-color 0.15s ease, transform 0.1s ease;
484
+ }
485
+ .btn-counter:hover {
486
+ background: rgba(139, 124, 248, 0.2);
487
+ border-color: rgba(139, 124, 248, 0.45);
488
+ }
489
+ .btn-counter:focus-visible {
490
+ outline: 2px solid var(--nx-accent);
491
+ outline-offset: 2px;
492
+ }
493
+ .btn-counter:active {
494
+ transform: scale(0.97);
495
+ }
496
+ .counter-out {
497
+ display: flex;
498
+ flex-direction: column;
499
+ align-items: flex-start;
500
+ gap: 0.15rem;
501
+ font-size: 1.5rem;
502
+ font-weight: 700;
503
+ font-variant-numeric: tabular-nums;
504
+ font-family: var(--nx-display);
505
+ }
506
+ .counter-meta {
507
+ font-size: 0.875rem;
508
+ font-weight: 500;
509
+ color: var(--nx-muted);
510
+ }
182
511
  </style>
183
512
  `,
184
513
  'src/routes/blog/+page.nx': `---
185
- // Blog listing page
186
514
  const posts = [
187
515
  { slug: "hello-nexus", title: "Hello Nexus", date: "2026-04-03" },
188
516
  { slug: "islands-arch", title: "Islands Architecture Deep Dive", date: "2026-04-01" },
189
517
  ];
190
518
  ---
191
519
 
192
- <h1>Blog</h1>
193
- <ul>
194
- {#each posts as post}
195
- <li>
196
- <a href="/blog/{post.slug}">{post.title}</a>
197
- <time>{post.date}</time>
198
- </li>
199
- {/each}
200
- </ul>
520
+ <article class="blog-index">
521
+ <h1 class="blog-title">Blog</h1>
522
+ <ul class="blog-list">
523
+ {#each posts as post}
524
+ <li class="blog-item">
525
+ <a class="blog-link" href="/blog/{post.slug}">{post.title}</a>
526
+ <time class="blog-date" datetime={post.date}>{post.date}</time>
527
+ </li>
528
+ {/each}
529
+ </ul>
530
+ </article>
531
+
532
+ <style>
533
+ .blog-index { max-width: 36rem; }
534
+ .blog-title {
535
+ margin: 0 0 1.5rem;
536
+ font-family: var(--nx-display);
537
+ font-size: 1.75rem;
538
+ font-weight: 700;
539
+ }
540
+ .blog-list { list-style: none; margin: 0; padding: 0; }
541
+ .blog-item {
542
+ display: flex;
543
+ flex-wrap: wrap;
544
+ align-items: baseline;
545
+ justify-content: space-between;
546
+ gap: 0.5rem 1rem;
547
+ padding: 1rem 0;
548
+ border-bottom: 1px solid var(--nx-border);
549
+ }
550
+ .blog-link {
551
+ color: var(--nx-text);
552
+ font-weight: 600;
553
+ text-decoration: none;
554
+ }
555
+ .blog-link:hover { color: var(--nx-accent); }
556
+ .blog-date { font-size: 0.875rem; color: var(--nx-muted); }
557
+ </style>
201
558
  `,
202
559
  'src/routes/blog/[slug]/+page.nx': `---
203
- // Dynamic blog post page
204
- // params.slug is injected by the router
205
- const { slug } = ctx.params;
206
- const post = { title: \`Post: \${slug}\`, content: "Post content here..." };
560
+ // Use ctx in the template only — frontmatter runs at module load before ctx exists.
207
561
  ---
208
562
 
209
- <article>
210
- <h1>{post.title}</h1>
211
- <p>{post.content}</p>
212
- <a href="/blog">← Back to Blog</a>
563
+ <article class="blog-post">
564
+ <a class="blog-back" href="/blog">← Blog</a>
565
+ <h1 class="blog-post-title">Post: {ctx.params.slug}</h1>
566
+ <p class="blog-post-body">Placeholder article for <strong>{ctx.params.slug}</strong>. Wire this to your CMS or <code class="inline-code">load()</code> data.</p>
213
567
  </article>
214
- `,
215
- 'src/routes/api/users/+server.nx': `---
216
- // API route — returns JSON
217
- // GET /api/users
218
- const users = [
219
- { id: 1, name: "Alice" },
220
- { id: 2, name: "Bob" },
221
- ];
222
- ---
223
568
 
224
- // Export GET handler
225
- export async function GET(ctx) {
226
- return Response.json({ users });
227
- }
228
-
229
- // POST /api/users
230
- export async function POST(ctx) {
231
- const body = await ctx.request.json();
232
- // Create user logic...
233
- return Response.json({ created: true }, { status: 201 });
234
- }
569
+ <style>
570
+ .blog-post { max-width: 40rem; }
571
+ .blog-back {
572
+ display: inline-block;
573
+ margin-bottom: 1.25rem;
574
+ font-size: 0.9rem;
575
+ color: var(--nx-muted);
576
+ text-decoration: none;
577
+ }
578
+ .blog-back:hover { color: var(--nx-accent); }
579
+ .blog-post-title {
580
+ margin: 0 0 1rem;
581
+ font-family: var(--nx-display);
582
+ font-size: 1.75rem;
583
+ font-weight: 700;
584
+ }
585
+ .blog-post-body {
586
+ margin: 0 0 1.5rem;
587
+ color: var(--nx-muted);
588
+ line-height: 1.65;
589
+ }
590
+ .inline-code {
591
+ font-size: 0.9em;
592
+ padding: 0.15em 0.4em;
593
+ border-radius: 6px;
594
+ background: var(--nx-surface);
595
+ border: 1px solid var(--nx-border);
596
+ color: var(--nx-accent);
597
+ }
598
+ </style>
235
599
  `,
236
600
  'src/lib/db.ts': `// Database client placeholder
237
601
  // Replace with your preferred ORM (Prisma, Drizzle, etc.)
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexus_js/cli",
3
- "version": "0.7.1",
3
+ "version": "0.7.2",
4
4
  "description": "Nexus CLI — create, develop and build Nexus applications",
5
5
  "type": "module",
6
6
  "bin": {
@@ -16,10 +16,10 @@
16
16
  }
17
17
  },
18
18
  "dependencies": {
19
- "@nexus_js/router": "0.7.1",
20
- "@nexus_js/compiler": "0.7.1",
21
- "@nexus_js/audit": "0.7.1",
22
- "@nexus_js/server": "0.7.1"
19
+ "@nexus_js/compiler": "0.7.2",
20
+ "@nexus_js/router": "0.7.2",
21
+ "@nexus_js/server": "0.7.2",
22
+ "@nexus_js/audit": "0.7.2"
23
23
  },
24
24
  "devDependencies": {
25
25
  "@types/node": "^22.0.0",