@zylaris/cli 1.0.3 → 1.0.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAQA,UAAU,aAAa;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAQA,UAAU,aAAa;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA2FvF"}
|
package/dist/commands/create.js
CHANGED
|
@@ -45,15 +45,34 @@ export async function createProject(name, options) {
|
|
|
45
45
|
await createSourceFiles(targetDir, template);
|
|
46
46
|
// Create public folder
|
|
47
47
|
await fs.ensureDir(join(targetDir, 'public'));
|
|
48
|
+
// Create README
|
|
49
|
+
await createReadme(targetDir, name);
|
|
48
50
|
// Install dependencies
|
|
49
51
|
if (!options.skipInstall) {
|
|
50
52
|
spinner.text = 'Installing dependencies...';
|
|
51
|
-
|
|
53
|
+
try {
|
|
54
|
+
const { execSync } = await import('child_process');
|
|
55
|
+
execSync('npm install', { cwd: targetDir, stdio: 'ignore' });
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
// Ignore install errors, user can install manually
|
|
59
|
+
}
|
|
52
60
|
}
|
|
53
61
|
spinner.succeed(chalk.green(`Project ${name} created successfully!`));
|
|
54
|
-
|
|
62
|
+
// Print next steps
|
|
63
|
+
console.log('\n' + chalk.bold('🚀 Next steps:'));
|
|
55
64
|
console.log(chalk.cyan(` cd ${name}`));
|
|
65
|
+
console.log(chalk.cyan(' npm install'));
|
|
56
66
|
console.log(chalk.cyan(' npm run dev'));
|
|
67
|
+
console.log('\n' + chalk.bold('📁 Project Structure:'));
|
|
68
|
+
console.log(chalk.gray(' src/'));
|
|
69
|
+
console.log(chalk.gray(' app/'));
|
|
70
|
+
console.log(chalk.gray(' ├── layout.tsx # Root layout (auto-entry)'));
|
|
71
|
+
console.log(chalk.gray(' ├── page.tsx # Home page (auto-entry)'));
|
|
72
|
+
console.log(chalk.gray(' ├── loading.tsx # Loading state'));
|
|
73
|
+
console.log(chalk.gray(' ├── error.tsx # Error boundary'));
|
|
74
|
+
console.log(chalk.gray(' └── global.css # Global styles'));
|
|
75
|
+
console.log('\n' + chalk.dim('✨ No entry files needed! Zylaris auto-generates them.'));
|
|
57
76
|
}
|
|
58
77
|
catch (error) {
|
|
59
78
|
spinner.fail(chalk.red('Failed to create project'));
|
|
@@ -71,6 +90,7 @@ async function createPackageJson(targetDir, name, _template) {
|
|
|
71
90
|
dev: 'zylaris dev',
|
|
72
91
|
build: 'zylaris build',
|
|
73
92
|
start: 'node .zylaris/server.js',
|
|
93
|
+
preview: 'zylaris preview',
|
|
74
94
|
test: 'zylaris test',
|
|
75
95
|
lint: 'zylaris lint',
|
|
76
96
|
typecheck: 'zylaris typecheck',
|
|
@@ -122,24 +142,42 @@ async function createTsConfig(targetDir) {
|
|
|
122
142
|
async function createConfig(targetDir, _template) {
|
|
123
143
|
const config = `import { defineConfig } from 'zylaris';
|
|
124
144
|
|
|
145
|
+
/**
|
|
146
|
+
* Zylaris Configuration
|
|
147
|
+
* @see https://zylaris.dev/docs/config
|
|
148
|
+
*/
|
|
125
149
|
export default defineConfig({
|
|
150
|
+
// Runtime target
|
|
126
151
|
runtime: 'node',
|
|
152
|
+
|
|
153
|
+
// Rendering mode
|
|
127
154
|
rendering: {
|
|
128
155
|
default: 'ssr',
|
|
129
156
|
},
|
|
157
|
+
|
|
158
|
+
// Islands Architecture - Partial hydration
|
|
130
159
|
islands: {
|
|
131
|
-
mode: 'auto',
|
|
160
|
+
mode: 'auto', // 'auto' | 'full' | 'none'
|
|
132
161
|
},
|
|
162
|
+
|
|
163
|
+
// Compiler options
|
|
133
164
|
compiler: {
|
|
134
165
|
target: 'es2022',
|
|
135
166
|
minify: true,
|
|
136
167
|
},
|
|
168
|
+
|
|
169
|
+
// Development server
|
|
137
170
|
server: {
|
|
138
|
-
port:
|
|
171
|
+
port: 2727,
|
|
139
172
|
},
|
|
173
|
+
|
|
174
|
+
// Styling
|
|
140
175
|
styling: {
|
|
141
|
-
tailwind:
|
|
176
|
+
tailwind: false,
|
|
177
|
+
cssModules: true,
|
|
142
178
|
},
|
|
179
|
+
|
|
180
|
+
// TypeScript
|
|
143
181
|
typescript: {
|
|
144
182
|
strict: true,
|
|
145
183
|
},
|
|
@@ -151,14 +189,35 @@ async function createSourceFiles(targetDir, _template) {
|
|
|
151
189
|
const srcDir = join(targetDir, 'src');
|
|
152
190
|
const appDir = join(srcDir, 'app');
|
|
153
191
|
await fs.ensureDir(appDir);
|
|
154
|
-
// Create layout.tsx
|
|
155
|
-
const layout =
|
|
192
|
+
// Create layout.tsx with comments
|
|
193
|
+
const layout = `/**
|
|
194
|
+
* Root Layout
|
|
195
|
+
*
|
|
196
|
+
* This is the root layout that wraps all pages.
|
|
197
|
+
* It auto-generates the client entry point - no need for entry-client.tsx!
|
|
198
|
+
*
|
|
199
|
+
* Features:
|
|
200
|
+
* - Auto-hydrated on client
|
|
201
|
+
* - Error boundary included
|
|
202
|
+
* - CSS auto-imported
|
|
203
|
+
*/
|
|
204
|
+
|
|
205
|
+
export const metadata = {
|
|
206
|
+
title: 'Zylaris App',
|
|
207
|
+
description: 'Built with Zylaris Framework',
|
|
208
|
+
};
|
|
209
|
+
|
|
210
|
+
export default function RootLayout({
|
|
156
211
|
children,
|
|
157
212
|
}: {
|
|
158
213
|
children: React.ReactNode;
|
|
159
214
|
}) {
|
|
160
215
|
return (
|
|
161
216
|
<html lang="en">
|
|
217
|
+
<head>
|
|
218
|
+
<meta charSet="utf-8" />
|
|
219
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
220
|
+
</head>
|
|
162
221
|
<body>
|
|
163
222
|
{children}
|
|
164
223
|
</body>
|
|
@@ -167,27 +226,547 @@ async function createSourceFiles(targetDir, _template) {
|
|
|
167
226
|
}
|
|
168
227
|
`;
|
|
169
228
|
await fs.writeFile(join(appDir, 'layout.tsx'), layout);
|
|
170
|
-
// Create page.tsx
|
|
171
|
-
const page =
|
|
229
|
+
// Create page.tsx with interactive example
|
|
230
|
+
const page = `/**
|
|
231
|
+
* Home Page
|
|
232
|
+
*
|
|
233
|
+
* This is the home page component.
|
|
234
|
+
* It automatically becomes the entry point for the root route (/).
|
|
235
|
+
*/
|
|
236
|
+
|
|
237
|
+
import { signal, computed } from 'zylaris';
|
|
238
|
+
|
|
239
|
+
export default function HomePage() {
|
|
240
|
+
// Signals for fine-grained reactivity
|
|
241
|
+
const count = signal(0);
|
|
242
|
+
const doubled = computed(() => count() * 2);
|
|
243
|
+
|
|
172
244
|
return (
|
|
173
|
-
<main>
|
|
174
|
-
<
|
|
175
|
-
|
|
245
|
+
<main style={styles.main}>
|
|
246
|
+
<div style={styles.container}>
|
|
247
|
+
<h1 style={styles.title}>
|
|
248
|
+
🚀 Welcome to Zylaris!
|
|
249
|
+
</h1>
|
|
250
|
+
|
|
251
|
+
<p style={styles.description}>
|
|
252
|
+
Zero-config, auto-generated entry points. No need for entry-client.tsx!
|
|
253
|
+
</p>
|
|
254
|
+
|
|
255
|
+
{/* Interactive counter example */}
|
|
256
|
+
<div style={styles.card}>
|
|
257
|
+
<h2 style={styles.cardTitle}>Interactive Counter</h2>
|
|
258
|
+
<div style={styles.counter}>
|
|
259
|
+
<span style={styles.count}>{count()}</span>
|
|
260
|
+
<span style={styles.multiplier}>× 2 = {doubled()}</span>
|
|
261
|
+
</div>
|
|
262
|
+
<div style={styles.buttons}>
|
|
263
|
+
<button
|
|
264
|
+
onClick={() => count.update(c => c - 1)}
|
|
265
|
+
style={styles.button}
|
|
266
|
+
>
|
|
267
|
+
−
|
|
268
|
+
</button>
|
|
269
|
+
<button
|
|
270
|
+
onClick={() => count.update(c => c + 1)}
|
|
271
|
+
style={{ ...styles.button, ...styles.primaryButton }}
|
|
272
|
+
>
|
|
273
|
+
+
|
|
274
|
+
</button>
|
|
275
|
+
</div>
|
|
276
|
+
</div>
|
|
277
|
+
|
|
278
|
+
<div style={styles.features}>
|
|
279
|
+
<Feature
|
|
280
|
+
emoji="⚡"
|
|
281
|
+
title="Zero Entry"
|
|
282
|
+
description="No entry-client.tsx needed"
|
|
283
|
+
/>
|
|
284
|
+
<Feature
|
|
285
|
+
emoji="🏝️"
|
|
286
|
+
title="Islands"
|
|
287
|
+
description="Partial hydration support"
|
|
288
|
+
/>
|
|
289
|
+
<Feature
|
|
290
|
+
emoji="🛣️"
|
|
291
|
+
title="File Routing"
|
|
292
|
+
description="App directory based routing"
|
|
293
|
+
/>
|
|
294
|
+
<Feature
|
|
295
|
+
emoji="🎨"
|
|
296
|
+
title="CSS Auto"
|
|
297
|
+
description="Styles auto-imported"
|
|
298
|
+
/>
|
|
299
|
+
</div>
|
|
300
|
+
|
|
301
|
+
<footer style={styles.footer}>
|
|
302
|
+
<p>
|
|
303
|
+
Edit <code style={styles.code}>src/app/page.tsx</code> to get started
|
|
304
|
+
</p>
|
|
305
|
+
</footer>
|
|
306
|
+
</div>
|
|
176
307
|
</main>
|
|
177
308
|
);
|
|
178
309
|
}
|
|
310
|
+
|
|
311
|
+
// Sub-component
|
|
312
|
+
function Feature({
|
|
313
|
+
emoji,
|
|
314
|
+
title,
|
|
315
|
+
description
|
|
316
|
+
}: {
|
|
317
|
+
emoji: string;
|
|
318
|
+
title: string;
|
|
319
|
+
description: string;
|
|
320
|
+
}) {
|
|
321
|
+
return (
|
|
322
|
+
<div style={styles.feature}>
|
|
323
|
+
<span style={styles.featureEmoji}>{emoji}</span>
|
|
324
|
+
<h3 style={styles.featureTitle}>{title}</h3>
|
|
325
|
+
<p style={styles.featureDesc}>{description}</p>
|
|
326
|
+
</div>
|
|
327
|
+
);
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
// Inline styles for simplicity (you can use CSS modules or Tailwind)
|
|
331
|
+
const styles: Record<string, React.CSSProperties> = {
|
|
332
|
+
main: {
|
|
333
|
+
minHeight: '100vh',
|
|
334
|
+
background: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)',
|
|
335
|
+
padding: '2rem',
|
|
336
|
+
fontFamily: 'system-ui, -apple-system, sans-serif',
|
|
337
|
+
},
|
|
338
|
+
container: {
|
|
339
|
+
maxWidth: '800px',
|
|
340
|
+
margin: '0 auto',
|
|
341
|
+
},
|
|
342
|
+
title: {
|
|
343
|
+
fontSize: '3rem',
|
|
344
|
+
fontWeight: 'bold',
|
|
345
|
+
color: 'white',
|
|
346
|
+
textAlign: 'center',
|
|
347
|
+
margin: '0 0 1rem',
|
|
348
|
+
textShadow: '0 2px 10px rgba(0,0,0,0.3)',
|
|
349
|
+
},
|
|
350
|
+
description: {
|
|
351
|
+
fontSize: '1.25rem',
|
|
352
|
+
color: 'rgba(255,255,255,0.9)',
|
|
353
|
+
textAlign: 'center',
|
|
354
|
+
marginBottom: '3rem',
|
|
355
|
+
},
|
|
356
|
+
card: {
|
|
357
|
+
background: 'white',
|
|
358
|
+
borderRadius: '16px',
|
|
359
|
+
padding: '2rem',
|
|
360
|
+
marginBottom: '2rem',
|
|
361
|
+
boxShadow: '0 10px 40px rgba(0,0,0,0.2)',
|
|
362
|
+
},
|
|
363
|
+
cardTitle: {
|
|
364
|
+
fontSize: '1.5rem',
|
|
365
|
+
margin: '0 0 1rem',
|
|
366
|
+
color: '#1e293b',
|
|
367
|
+
},
|
|
368
|
+
counter: {
|
|
369
|
+
display: 'flex',
|
|
370
|
+
alignItems: 'center',
|
|
371
|
+
justifyContent: 'center',
|
|
372
|
+
gap: '1rem',
|
|
373
|
+
fontSize: '2rem',
|
|
374
|
+
marginBottom: '1rem',
|
|
375
|
+
},
|
|
376
|
+
count: {
|
|
377
|
+
fontWeight: 'bold',
|
|
378
|
+
color: '#3b82f6',
|
|
379
|
+
},
|
|
380
|
+
multiplier: {
|
|
381
|
+
color: '#64748b',
|
|
382
|
+
},
|
|
383
|
+
buttons: {
|
|
384
|
+
display: 'flex',
|
|
385
|
+
justifyContent: 'center',
|
|
386
|
+
gap: '0.5rem',
|
|
387
|
+
},
|
|
388
|
+
button: {
|
|
389
|
+
width: '48px',
|
|
390
|
+
height: '48px',
|
|
391
|
+
fontSize: '1.5rem',
|
|
392
|
+
border: 'none',
|
|
393
|
+
borderRadius: '8px',
|
|
394
|
+
cursor: 'pointer',
|
|
395
|
+
background: '#e2e8f0',
|
|
396
|
+
transition: 'all 0.2s',
|
|
397
|
+
},
|
|
398
|
+
primaryButton: {
|
|
399
|
+
background: '#3b82f6',
|
|
400
|
+
color: 'white',
|
|
401
|
+
},
|
|
402
|
+
features: {
|
|
403
|
+
display: 'grid',
|
|
404
|
+
gridTemplateColumns: 'repeat(auto-fit, minmax(150px, 1fr))',
|
|
405
|
+
gap: '1rem',
|
|
406
|
+
marginBottom: '2rem',
|
|
407
|
+
},
|
|
408
|
+
feature: {
|
|
409
|
+
background: 'rgba(255,255,255,0.95)',
|
|
410
|
+
padding: '1.5rem',
|
|
411
|
+
borderRadius: '12px',
|
|
412
|
+
textAlign: 'center',
|
|
413
|
+
},
|
|
414
|
+
featureEmoji: {
|
|
415
|
+
fontSize: '2rem',
|
|
416
|
+
display: 'block',
|
|
417
|
+
marginBottom: '0.5rem',
|
|
418
|
+
},
|
|
419
|
+
featureTitle: {
|
|
420
|
+
fontSize: '1rem',
|
|
421
|
+
fontWeight: '600',
|
|
422
|
+
margin: '0 0 0.25rem',
|
|
423
|
+
color: '#1e293b',
|
|
424
|
+
},
|
|
425
|
+
featureDesc: {
|
|
426
|
+
fontSize: '0.875rem',
|
|
427
|
+
color: '#64748b',
|
|
428
|
+
margin: 0,
|
|
429
|
+
},
|
|
430
|
+
footer: {
|
|
431
|
+
textAlign: 'center',
|
|
432
|
+
color: 'rgba(255,255,255,0.8)',
|
|
433
|
+
},
|
|
434
|
+
code: {
|
|
435
|
+
background: 'rgba(255,255,255,0.2)',
|
|
436
|
+
padding: '0.2em 0.4em',
|
|
437
|
+
borderRadius: '4px',
|
|
438
|
+
fontFamily: 'monospace',
|
|
439
|
+
},
|
|
440
|
+
};
|
|
179
441
|
`;
|
|
180
442
|
await fs.writeFile(join(appDir, 'page.tsx'), page);
|
|
443
|
+
// Create loading.tsx
|
|
444
|
+
const loading = `/**
|
|
445
|
+
* Loading State
|
|
446
|
+
*
|
|
447
|
+
* Shown while the page is loading.
|
|
448
|
+
* Zylaris automatically shows this during data fetching.
|
|
449
|
+
*/
|
|
450
|
+
|
|
451
|
+
export default function Loading() {
|
|
452
|
+
return (
|
|
453
|
+
<div style={{
|
|
454
|
+
minHeight: '100vh',
|
|
455
|
+
display: 'flex',
|
|
456
|
+
alignItems: 'center',
|
|
457
|
+
justifyContent: 'center',
|
|
458
|
+
background: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)',
|
|
459
|
+
}}>
|
|
460
|
+
<div style={{
|
|
461
|
+
display: 'flex',
|
|
462
|
+
flexDirection: 'column',
|
|
463
|
+
alignItems: 'center',
|
|
464
|
+
gap: '1rem',
|
|
465
|
+
}}>
|
|
466
|
+
<div style={{
|
|
467
|
+
width: '48px',
|
|
468
|
+
height: '48px',
|
|
469
|
+
border: '4px solid rgba(255,255,255,0.3)',
|
|
470
|
+
borderTopColor: 'white',
|
|
471
|
+
borderRadius: '50%',
|
|
472
|
+
animation: 'spin 1s linear infinite',
|
|
473
|
+
}} />
|
|
474
|
+
<p style={{ color: 'white', fontSize: '1.125rem' }}>Loading...</p>
|
|
475
|
+
</div>
|
|
476
|
+
<style>{\`
|
|
477
|
+
@keyframes spin {
|
|
478
|
+
to { transform: rotate(360deg); }
|
|
479
|
+
}
|
|
480
|
+
\`}</style>
|
|
481
|
+
</div>
|
|
482
|
+
);
|
|
483
|
+
}
|
|
484
|
+
`;
|
|
485
|
+
await fs.writeFile(join(appDir, 'loading.tsx'), loading);
|
|
486
|
+
// Create error.tsx
|
|
487
|
+
const error = `/**
|
|
488
|
+
* Error Boundary
|
|
489
|
+
*
|
|
490
|
+
* Catches and displays runtime errors gracefully.
|
|
491
|
+
* Includes a reload button to recover.
|
|
492
|
+
*/
|
|
493
|
+
|
|
494
|
+
'use client'; // Mark as client component for error handling
|
|
495
|
+
|
|
496
|
+
import { useEffect } from 'react';
|
|
497
|
+
|
|
498
|
+
interface ErrorProps {
|
|
499
|
+
error: Error & { digest?: string };
|
|
500
|
+
reset: () => void;
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
export default function ErrorBoundary({ error, reset }: ErrorProps) {
|
|
504
|
+
useEffect(() => {
|
|
505
|
+
// Log to error reporting service
|
|
506
|
+
console.error('[Zylaris Error]', error);
|
|
507
|
+
}, [error]);
|
|
508
|
+
|
|
509
|
+
return (
|
|
510
|
+
<div style={{
|
|
511
|
+
minHeight: '100vh',
|
|
512
|
+
display: 'flex',
|
|
513
|
+
alignItems: 'center',
|
|
514
|
+
justifyContent: 'center',
|
|
515
|
+
fontFamily: 'system-ui, sans-serif',
|
|
516
|
+
background: '#0f172a',
|
|
517
|
+
color: '#e2e8f0',
|
|
518
|
+
padding: '2rem',
|
|
519
|
+
}}>
|
|
520
|
+
<div style={{ textAlign: 'center', maxWidth: '500px' }}>
|
|
521
|
+
<div style={{ fontSize: '4rem', marginBottom: '1rem' }}>💥</div>
|
|
522
|
+
<h1 style={{
|
|
523
|
+
fontSize: '2rem',
|
|
524
|
+
margin: '0 0 1rem',
|
|
525
|
+
color: '#ef4444',
|
|
526
|
+
}}>
|
|
527
|
+
Something went wrong
|
|
528
|
+
</h1>
|
|
529
|
+
<p style={{
|
|
530
|
+
color: '#94a3b8',
|
|
531
|
+
marginBottom: '1.5rem',
|
|
532
|
+
}}>
|
|
533
|
+
{error.message || 'An unexpected error occurred'}
|
|
534
|
+
</p>
|
|
535
|
+
{error.digest && (
|
|
536
|
+
<p style={{
|
|
537
|
+
fontSize: '0.875rem',
|
|
538
|
+
color: '#64748b',
|
|
539
|
+
marginBottom: '1.5rem',
|
|
540
|
+
}}>
|
|
541
|
+
Error ID: {error.digest}
|
|
542
|
+
</p>
|
|
543
|
+
)}
|
|
544
|
+
<div style={{ display: 'flex', gap: '0.75rem', justifyContent: 'center' }}>
|
|
545
|
+
<button
|
|
546
|
+
onClick={reset}
|
|
547
|
+
style={{
|
|
548
|
+
padding: '0.75rem 1.5rem',
|
|
549
|
+
background: '#3b82f6',
|
|
550
|
+
color: 'white',
|
|
551
|
+
border: 'none',
|
|
552
|
+
borderRadius: '8px',
|
|
553
|
+
cursor: 'pointer',
|
|
554
|
+
fontSize: '1rem',
|
|
555
|
+
fontWeight: '500',
|
|
556
|
+
}}
|
|
557
|
+
>
|
|
558
|
+
Try Again
|
|
559
|
+
</button>
|
|
560
|
+
<button
|
|
561
|
+
onClick={() => window.location.reload()}
|
|
562
|
+
style={{
|
|
563
|
+
padding: '0.75rem 1.5rem',
|
|
564
|
+
background: 'transparent',
|
|
565
|
+
color: '#94a3b8',
|
|
566
|
+
border: '1px solid #334155',
|
|
567
|
+
borderRadius: '8px',
|
|
568
|
+
cursor: 'pointer',
|
|
569
|
+
fontSize: '1rem',
|
|
570
|
+
}}
|
|
571
|
+
>
|
|
572
|
+
Reload Page
|
|
573
|
+
</button>
|
|
574
|
+
</div>
|
|
575
|
+
</div>
|
|
576
|
+
</div>
|
|
577
|
+
);
|
|
578
|
+
}
|
|
579
|
+
`;
|
|
580
|
+
await fs.writeFile(join(appDir, 'error.tsx'), error);
|
|
181
581
|
// Create global.css
|
|
182
|
-
const globalCss =
|
|
183
|
-
|
|
184
|
-
|
|
582
|
+
const globalCss = `/**
|
|
583
|
+
* Global Styles
|
|
584
|
+
*
|
|
585
|
+
* Automatically imported into the client bundle.
|
|
586
|
+
* No need to import manually!
|
|
587
|
+
*/
|
|
588
|
+
|
|
589
|
+
/* CSS Reset & Base */
|
|
590
|
+
*, *::before, *::after {
|
|
591
|
+
box-sizing: border-box;
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
* {
|
|
595
|
+
margin: 0;
|
|
596
|
+
padding: 0;
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
html {
|
|
600
|
+
font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
|
|
601
|
+
'Helvetica Neue', Arial, sans-serif;
|
|
602
|
+
-webkit-font-smoothing: antialiased;
|
|
603
|
+
-moz-osx-font-smoothing: grayscale;
|
|
604
|
+
}
|
|
185
605
|
|
|
186
606
|
body {
|
|
187
|
-
|
|
607
|
+
line-height: 1.5;
|
|
608
|
+
color: #1e293b;
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
/* Smooth scrolling */
|
|
612
|
+
html {
|
|
613
|
+
scroll-behavior: smooth;
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
/* Focus styles */
|
|
617
|
+
:focus-visible {
|
|
618
|
+
outline: 2px solid #3b82f6;
|
|
619
|
+
outline-offset: 2px;
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
/* Selection */
|
|
623
|
+
::selection {
|
|
624
|
+
background: rgba(59, 130, 246, 0.3);
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
/* Scrollbar */
|
|
628
|
+
::-webkit-scrollbar {
|
|
629
|
+
width: 8px;
|
|
630
|
+
height: 8px;
|
|
631
|
+
}
|
|
632
|
+
|
|
633
|
+
::-webkit-scrollbar-track {
|
|
634
|
+
background: transparent;
|
|
635
|
+
}
|
|
636
|
+
|
|
637
|
+
::-webkit-scrollbar-thumb {
|
|
638
|
+
background: #94a3b8;
|
|
639
|
+
border-radius: 4px;
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
::-webkit-scrollbar-thumb:hover {
|
|
643
|
+
background: #64748b;
|
|
188
644
|
}
|
|
189
645
|
`;
|
|
190
646
|
await fs.writeFile(join(appDir, 'global.css'), globalCss);
|
|
191
|
-
|
|
647
|
+
// Create about page as example
|
|
648
|
+
const aboutDir = join(appDir, 'about');
|
|
649
|
+
await fs.ensureDir(aboutDir);
|
|
650
|
+
const aboutPage = `/**
|
|
651
|
+
* About Page
|
|
652
|
+
*
|
|
653
|
+
* Route: /about
|
|
654
|
+
*
|
|
655
|
+
* This demonstrates file-system routing.
|
|
656
|
+
* Create a folder with page.tsx to add a new route!
|
|
657
|
+
*/
|
|
658
|
+
|
|
659
|
+
export default function AboutPage() {
|
|
660
|
+
return (
|
|
661
|
+
<main style={{
|
|
662
|
+
minHeight: '100vh',
|
|
663
|
+
padding: '4rem 2rem',
|
|
664
|
+
fontFamily: 'system-ui, sans-serif',
|
|
665
|
+
background: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)',
|
|
666
|
+
}}>
|
|
667
|
+
<div style={{
|
|
668
|
+
maxWidth: '700px',
|
|
669
|
+
margin: '0 auto',
|
|
670
|
+
background: 'white',
|
|
671
|
+
padding: '3rem',
|
|
672
|
+
borderRadius: '16px',
|
|
673
|
+
boxShadow: '0 20px 60px rgba(0,0,0,0.3)',
|
|
674
|
+
}}>
|
|
675
|
+
<h1 style={{ fontSize: '2.5rem', marginBottom: '1rem' }}>
|
|
676
|
+
About Zylaris
|
|
677
|
+
</h1>
|
|
678
|
+
<p style={{ fontSize: '1.125rem', color: '#64748b', lineHeight: 1.7 }}>
|
|
679
|
+
Zylaris is a next-generation web framework featuring:
|
|
680
|
+
</p>
|
|
681
|
+
<ul style={{
|
|
682
|
+
marginTop: '1.5rem',
|
|
683
|
+
paddingLeft: '1.5rem',
|
|
684
|
+
color: '#334155',
|
|
685
|
+
lineHeight: 2,
|
|
686
|
+
}}>
|
|
687
|
+
<li>⚡ <strong>Zero Virtual DOM</strong> - Direct DOM operations</li>
|
|
688
|
+
<li>🎯 <strong>Fine-grained Reactivity</strong> - Signal-based</li>
|
|
689
|
+
<li>🏝️ <strong>Islands Architecture</strong> - Partial hydration</li>
|
|
690
|
+
<li>🚀 <strong>Universal Deployment</strong> - Deploy anywhere</li>
|
|
691
|
+
<li>🔌 <strong>Any Library</strong> - Use any JS library</li>
|
|
692
|
+
</ul>
|
|
693
|
+
<a
|
|
694
|
+
href="/"
|
|
695
|
+
style={{
|
|
696
|
+
display: 'inline-block',
|
|
697
|
+
marginTop: '2rem',
|
|
698
|
+
padding: '0.75rem 1.5rem',
|
|
699
|
+
background: '#3b82f6',
|
|
700
|
+
color: 'white',
|
|
701
|
+
textDecoration: 'none',
|
|
702
|
+
borderRadius: '8px',
|
|
703
|
+
fontWeight: 500,
|
|
704
|
+
}}
|
|
705
|
+
>
|
|
706
|
+
← Back Home
|
|
707
|
+
</a>
|
|
708
|
+
</div>
|
|
709
|
+
</main>
|
|
710
|
+
);
|
|
711
|
+
}
|
|
712
|
+
`;
|
|
713
|
+
await fs.writeFile(join(aboutDir, 'page.tsx'), aboutPage);
|
|
714
|
+
}
|
|
715
|
+
async function createReadme(targetDir, name) {
|
|
716
|
+
const readme = `# ${name}
|
|
717
|
+
|
|
718
|
+
Built with [Zylaris](https://zylaris.dev) - The Universal Web Framework
|
|
719
|
+
|
|
720
|
+
## 🚀 Getting Started
|
|
721
|
+
|
|
722
|
+
\`\`\`bash
|
|
723
|
+
npm install
|
|
724
|
+
npm run dev
|
|
725
|
+
\`\`\`
|
|
726
|
+
|
|
727
|
+
Open [http://localhost:2727](http://localhost:2727)
|
|
728
|
+
|
|
729
|
+
## 📁 Project Structure
|
|
730
|
+
|
|
731
|
+
\`\`\`
|
|
732
|
+
src/
|
|
733
|
+
app/ # File-system routing
|
|
734
|
+
├── layout.tsx # Root layout (auto-entry)
|
|
735
|
+
├── page.tsx # Home page (/)
|
|
736
|
+
├── loading.tsx # Loading state
|
|
737
|
+
├── error.tsx # Error boundary
|
|
738
|
+
├── global.css # Global styles (auto-imported)
|
|
739
|
+
└── about/
|
|
740
|
+
└── page.tsx # About page (/about)
|
|
741
|
+
\`\`\`
|
|
742
|
+
|
|
743
|
+
> 💡 **No entry files needed!** Zylaris auto-generates entry-client.tsx and entry-server.tsx
|
|
744
|
+
|
|
745
|
+
## 🛠️ Scripts
|
|
746
|
+
|
|
747
|
+
- \`npm run dev\` - Start dev server with HMR
|
|
748
|
+
- \`npm run build\` - Build for production
|
|
749
|
+
- \`npm run preview\` - Preview production build
|
|
750
|
+
|
|
751
|
+
## 🏝️ Islands Architecture
|
|
752
|
+
|
|
753
|
+
Mark components for partial hydration:
|
|
754
|
+
|
|
755
|
+
\`\`\`tsx
|
|
756
|
+
'use client' // or 'use island'
|
|
757
|
+
|
|
758
|
+
export default function InteractiveComponent() {
|
|
759
|
+
// This component is hydrated on client
|
|
760
|
+
// while the rest of the page stays static
|
|
761
|
+
}
|
|
762
|
+
\`\`\`
|
|
763
|
+
|
|
764
|
+
## 📖 Learn More
|
|
765
|
+
|
|
766
|
+
- [Documentation](https://zylaris.dev/docs)
|
|
767
|
+
- [Examples](https://zylaris.dev/examples)
|
|
768
|
+
- [GitHub](https://github.com/zylaris/zylaris)
|
|
769
|
+
`;
|
|
770
|
+
await fs.writeFile(join(targetDir, 'README.md'), readme);
|
|
192
771
|
}
|
|
193
772
|
//# sourceMappingURL=create.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,MAAM,SAAS,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAOlE,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,OAAsB;IACtE,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;IAE/C,4BAA4B;IAC5B,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC3C,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,aAAa,IAAI,6BAA6B;gBACvD,OAAO,EAAE,KAAK;aACf,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QAED,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IAED,oBAAoB;IACpB,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;IAC7C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAClD,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,oBAAoB;gBAC7B,OAAO,EAAE,SAAS;aACnB,CAAC,CAAC,CAAC;QACJ,QAAQ,GAAG,gBAAgB,CAAC;IAC9B,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;IAEnD,IAAI,CAAC;QACH,6BAA6B;QAC7B,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAE9B,sBAAsB;QACtB,MAAM,iBAAiB,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEnD,uBAAuB;QACvB,MAAM,cAAc,CAAC,SAAS,CAAC,CAAC;QAEhC,2BAA2B;QAC3B,MAAM,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAExC,sBAAsB;QACtB,MAAM,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE7C,uBAAuB;QACvB,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QAE9C,uBAAuB;QACvB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,GAAG,4BAA4B,CAAC;YAC5C
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zylaris/cli",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "CLI for Zylaris Framework",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
"clean": "rm -rf dist"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@zylaris/adapter": "^0.1.
|
|
22
|
-
"@zylaris/compiler": "^1.0.
|
|
23
|
-
"@zylaris/dev-server": "^1.0.
|
|
21
|
+
"@zylaris/adapter": "^0.1.3",
|
|
22
|
+
"@zylaris/compiler": "^1.0.2",
|
|
23
|
+
"@zylaris/dev-server": "^1.0.3",
|
|
24
24
|
"commander": "^11.1.0",
|
|
25
25
|
"chalk": "^5.3.0",
|
|
26
26
|
"inquirer": "^9.2.12",
|