@prabhask5/stellar-engine 1.1.16 → 1.1.18

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.
@@ -26,7 +26,8 @@
26
26
  import { writeFileSync, existsSync, mkdirSync } from 'fs';
27
27
  import { join } from 'path';
28
28
  import { execSync } from 'child_process';
29
- import { createInterface } from 'readline';
29
+ import * as p from '@clack/prompts';
30
+ import color from 'picocolors';
30
31
  // =============================================================================
31
32
  // HELPERS
32
33
  // =============================================================================
@@ -61,127 +62,8 @@ function writeIfMissing(filePath, content, createdFiles, skippedFiles, quiet = f
61
62
  }
62
63
  }
63
64
  // =============================================================================
64
- // ANSI STYLE HELPERS
65
- // =============================================================================
66
- /** Wrap text in ANSI bold. */
67
- const bold = (s) => `\x1b[1m${s}\x1b[22m`;
68
- /** Wrap text in ANSI dim. */
69
- const dim = (s) => `\x1b[2m${s}\x1b[22m`;
70
- /** Wrap text in ANSI cyan. */
71
- const cyan = (s) => `\x1b[36m${s}\x1b[39m`;
72
- /** Wrap text in ANSI green. */
73
- const green = (s) => `\x1b[32m${s}\x1b[39m`;
74
- /** Wrap text in ANSI yellow. */
75
- const yellow = (s) => `\x1b[33m${s}\x1b[39m`;
76
- /** Wrap text in ANSI red. */
77
- const red = (s) => `\x1b[31m${s}\x1b[39m`;
78
- /**
79
- * Draw a box around lines of text using Unicode box-drawing characters.
80
- *
81
- * @param lines - The lines of text to display inside the box.
82
- * @param style - `"double"` for `╔═╗║╚═╝`, `"single"` for `┌─┐│└─┘`.
83
- * @param title - Optional title to display in the top border.
84
- * @returns The formatted box string with leading two-space indent.
85
- */
86
- function box(lines, style, title) {
87
- const [tl, h, tr, v, bl, br] = style === 'double'
88
- ? ['\u2554', '\u2550', '\u2557', '\u2551', '\u255a', '\u255d']
89
- : ['\u250c', '\u2500', '\u2510', '\u2502', '\u2514', '\u2518'];
90
- const width = Math.max(...lines.map((l) => l.length), (title ?? '').length + 4, 50);
91
- let top;
92
- if (title) {
93
- const titleStr = `${h} ${title} `;
94
- top = ` ${tl}${titleStr}${h.repeat(width - titleStr.length)}${tr}`;
95
- }
96
- else {
97
- top = ` ${tl}${h.repeat(width)}${tr}`;
98
- }
99
- const mid = lines.map((l) => ` ${v} ${l.padEnd(width - 2)}${v}`).join('\n');
100
- const bot = ` ${bl}${h.repeat(width)}${br}`;
101
- return `${top}\n${mid}\n${bot}`;
102
- }
103
- /**
104
- * Draw a double-bordered box with a header and body separated by a mid-rule.
105
- *
106
- * @param header - The header line(s) to display above the divider.
107
- * @param body - The body lines to display below the divider.
108
- * @returns The formatted box string with leading two-space indent.
109
- */
110
- function doubleBoxWithHeader(header, body) {
111
- const width = Math.max(...header.map((l) => l.length), ...body.map((l) => l.length), 50);
112
- const top = ` \u2554${'═'.repeat(width)}\u2557`;
113
- const headLines = header.map((l) => ` \u2551 ${l.padEnd(width - 2)}\u2551`).join('\n');
114
- const mid = ` \u2560${'═'.repeat(width)}\u2563`;
115
- const bodyLines = body.map((l) => ` \u2551 ${l.padEnd(width - 2)}\u2551`).join('\n');
116
- const bot = ` \u255a${'═'.repeat(width)}\u255d`;
117
- return `${top}\n${headLines}\n${mid}\n${bodyLines}\n${bot}`;
118
- }
119
- // =============================================================================
120
- // SPINNER
121
- // =============================================================================
122
- /** Braille spinner frames for animated progress. */
123
- const SPINNER_FRAMES = [
124
- '\u280b',
125
- '\u2819',
126
- '\u2839',
127
- '\u2838',
128
- '\u283c',
129
- '\u2834',
130
- '\u2826',
131
- '\u2827',
132
- '\u2807',
133
- '\u280f'
134
- ];
135
- /**
136
- * Create a terminal spinner that updates a single line in-place.
137
- *
138
- * @param text - Initial text to display beside the spinner.
139
- * @returns An object with `update`, `succeed`, and `stop` methods.
140
- */
141
- function createSpinner(text) {
142
- let frame = 0;
143
- let current = text;
144
- let timer = null;
145
- const render = () => {
146
- const spinner = cyan(SPINNER_FRAMES[frame % SPINNER_FRAMES.length]);
147
- process.stdout.write(`\r ${spinner} ${current}`);
148
- frame++;
149
- };
150
- timer = setInterval(render, 80);
151
- render();
152
- return {
153
- update(newText) {
154
- current = newText;
155
- },
156
- succeed(finalText) {
157
- if (timer)
158
- clearInterval(timer);
159
- timer = null;
160
- process.stdout.write(`\r ${green('\u2713')} ${finalText}\x1b[K\n`);
161
- },
162
- stop() {
163
- if (timer)
164
- clearInterval(timer);
165
- timer = null;
166
- process.stdout.write('\x1b[K');
167
- }
168
- };
169
- }
170
- // =============================================================================
171
65
  // INTERACTIVE SETUP
172
66
  // =============================================================================
173
- /**
174
- * Promisified readline question helper.
175
- *
176
- * @param rl - The readline interface.
177
- * @param prompt - The prompt string to display.
178
- * @returns The user's input string.
179
- */
180
- function ask(rl, prompt) {
181
- return new Promise((resolve) => {
182
- rl.question(prompt, (answer) => resolve(answer));
183
- });
184
- }
185
67
  /**
186
68
  * Run the interactive setup walkthrough, collecting all required options
187
69
  * from the user via sequential prompts.
@@ -192,102 +74,80 @@ function ask(rl, prompt) {
192
74
  *
193
75
  * @returns A promise that resolves with the validated {@link InstallOptions}.
194
76
  *
195
- * @throws {SystemExit} Exits with code 0 if the user declines to proceed.
77
+ * @throws {SystemExit} Exits with code 0 if the user cancels or declines to proceed.
196
78
  */
197
79
  async function runInteractiveSetup() {
198
- const rl = createInterface({ input: process.stdin, output: process.stdout });
199
- /* ── Welcome banner ── */
200
- console.log();
201
- console.log(doubleBoxWithHeader([` ${bold('\u2726 stellar-engine \u00b7 PWA scaffolder \u2726')}`], [
202
- 'Creates a complete offline-first SvelteKit PWA ',
203
- 'with auth, sync, and service worker support. '
204
- ]));
205
- console.log();
206
- /* ── App Name ── */
207
- let name = '';
208
- while (!name) {
209
- console.log(box([
210
- 'The full name of your application. ',
211
- 'Used in the page title, README, and manifest. ',
212
- `Example: ${dim('"Stellar Planner"')} `
213
- ], 'single', 'App Name'));
214
- const input = (await ask(rl, ` ${yellow('\u2192')} App name: `)).trim();
215
- if (!input) {
216
- console.log(red(' App name is required.\n'));
217
- }
218
- else {
219
- name = input;
80
+ p.intro(color.bold('\u2726 stellar-engine \u00b7 PWA scaffolder'));
81
+ const name = await p.text({
82
+ message: 'App name',
83
+ placeholder: 'e.g. Stellar Planner',
84
+ validate(value) {
85
+ if (!value || !value.trim())
86
+ return 'App name is required.';
220
87
  }
88
+ });
89
+ if (p.isCancel(name)) {
90
+ p.cancel('Setup cancelled.');
91
+ process.exit(0);
221
92
  }
222
- console.log();
223
- /* ── Short Name ── */
224
- let shortName = '';
225
- while (!shortName) {
226
- console.log(box([
227
- 'A short label for the home screen and app bar. ',
228
- 'Must be under 12 characters. ',
229
- `Example: ${dim('"Stellar"')} `
230
- ], 'single', 'Short Name'));
231
- const input = (await ask(rl, ` ${yellow('\u2192')} Short name: `)).trim();
232
- if (!input) {
233
- console.log(red(' Short name is required.\n'));
234
- }
235
- else if (input.length >= 12) {
236
- console.log(red(' Short name must be under 12 characters.\n'));
237
- }
238
- else {
239
- shortName = input;
93
+ const shortName = await p.text({
94
+ message: 'Short name',
95
+ placeholder: 'e.g. Stellar (under 12 chars)',
96
+ validate(value) {
97
+ if (!value || !value.trim())
98
+ return 'Short name is required.';
99
+ if (value.trim().length >= 12)
100
+ return 'Short name must be under 12 characters.';
240
101
  }
102
+ });
103
+ if (p.isCancel(shortName)) {
104
+ p.cancel('Setup cancelled.');
105
+ process.exit(0);
241
106
  }
242
- console.log();
243
- /* ── Prefix ── */
244
107
  const suggestedPrefix = name.toLowerCase().replace(/[^a-z0-9]/g, '');
245
- let prefix = '';
246
- while (!prefix) {
247
- console.log(box([
248
- 'Lowercase key used for localStorage, caches, ',
249
- 'and the service worker scope. ',
250
- 'No spaces. Letters and numbers only. ',
251
- `Suggested: ${dim(`"${suggestedPrefix}"`)}${' '.repeat(Math.max(0, 36 - suggestedPrefix.length - 3))}`
252
- ], 'single', 'Prefix'));
253
- const input = (await ask(rl, ` ${yellow('\u2192')} Prefix ${dim(`(${suggestedPrefix})`)}: `)).trim();
254
- const value = input || suggestedPrefix;
255
- if (!/^[a-z][a-z0-9]*$/.test(value)) {
256
- console.log(red(' Prefix must be lowercase, start with a letter, no spaces.\n'));
257
- }
258
- else {
259
- prefix = value;
108
+ const prefix = await p.text({
109
+ message: 'Prefix',
110
+ placeholder: suggestedPrefix,
111
+ defaultValue: suggestedPrefix,
112
+ validate(value) {
113
+ const v = (value ?? '').trim() || suggestedPrefix;
114
+ if (!/^[a-z][a-z0-9]*$/.test(v))
115
+ return 'Prefix must be lowercase, start with a letter, no spaces.';
260
116
  }
117
+ });
118
+ if (p.isCancel(prefix)) {
119
+ p.cancel('Setup cancelled.');
120
+ process.exit(0);
261
121
  }
262
- console.log();
263
- /* ── Description ── */
264
122
  const defaultDesc = 'A self-hosted offline-first PWA';
265
- console.log(box([
266
- 'A brief description for meta tags and manifest. ',
267
- `Press Enter to use the default. `,
268
- `Default: ${dim(`"${defaultDesc}"`)}`
269
- ], 'single', 'Description'));
270
- const descInput = (await ask(rl, ` ${yellow('\u2192')} Description ${dim('(optional)')}: `)).trim();
271
- const description = descInput || defaultDesc;
272
- console.log();
273
- /* Derive kebab-case name for package.json from the full name */
123
+ const description = await p.text({
124
+ message: 'Description',
125
+ placeholder: defaultDesc,
126
+ defaultValue: defaultDesc
127
+ });
128
+ if (p.isCancel(description)) {
129
+ p.cancel('Setup cancelled.');
130
+ process.exit(0);
131
+ }
274
132
  const kebabName = name.toLowerCase().replace(/\s+/g, '-');
275
- const opts = { name, shortName, prefix, description, kebabName };
276
- /* ── Confirmation summary ── */
277
- console.log(box([
278
- `${bold('Name:')} ${opts.name}${' '.repeat(Math.max(0, 38 - opts.name.length))}`,
279
- `${bold('Short name:')} ${opts.shortName}${' '.repeat(Math.max(0, 38 - opts.shortName.length))}`,
280
- `${bold('Prefix:')} ${opts.prefix}${' '.repeat(Math.max(0, 38 - opts.prefix.length))}`,
281
- `${bold('Description:')} ${opts.description}${' '.repeat(Math.max(0, 38 - opts.description.length))}`
282
- ], 'single', 'Configuration'));
283
- const proceed = (await ask(rl, ` Proceed? ${dim('(Y/n)')}: `)).trim().toLowerCase();
284
- if (proceed === 'n' || proceed === 'no') {
285
- console.log(dim('\n Setup cancelled.\n'));
286
- rl.close();
133
+ const opts = {
134
+ name: name.trim(),
135
+ shortName: shortName.trim(),
136
+ prefix: prefix.trim() || suggestedPrefix,
137
+ description: description.trim() || defaultDesc,
138
+ kebabName
139
+ };
140
+ p.note([
141
+ `${color.bold('Name:')} ${opts.name}`,
142
+ `${color.bold('Short name:')} ${opts.shortName}`,
143
+ `${color.bold('Prefix:')} ${opts.prefix}`,
144
+ `${color.bold('Description:')} ${opts.description}`
145
+ ].join('\n'), 'Configuration');
146
+ const confirmed = await p.confirm({ message: 'Proceed with this configuration?' });
147
+ if (p.isCancel(confirmed) || !confirmed) {
148
+ p.cancel('Setup cancelled.');
287
149
  process.exit(0);
288
150
  }
289
- rl.close();
290
- console.log();
291
151
  return opts;
292
152
  }
293
153
  // =============================================================================
@@ -4018,111 +3878,508 @@ function generateDemoPage(opts) {
4018
3878
 
4019
3879
  Provides a sandboxed demo environment with mock data. All changes
4020
3880
  reset on page refresh. No account, email, or setup required.
3881
+
3882
+ Customize this page with your app's design system — add background
3883
+ effects, toggle visual styling, and theming to match your brand.
4021
3884
  -->
4022
3885
  <script lang="ts">
4023
- import { isDemoMode, setDemoMode } from '@prabhask5/stellar-engine';
3886
+ import { isDemoMode, setDemoMode, cleanupDemoDatabase } from '@prabhask5/stellar-engine';
4024
3887
 
4025
- const isActive = $derived(isDemoMode());
3888
+ let demoActive = $state(isDemoMode());
3889
+ let toggling = $state(false);
3890
+ let fading = $state(false);
4026
3891
 
4027
- function startDemo() {
4028
- setDemoMode(true);
4029
- window.location.href = '/';
4030
- }
3892
+ function handleToggle() {
3893
+ if (toggling) return;
3894
+ toggling = true;
3895
+ const turningOn = !demoActive;
3896
+ demoActive = turningOn;
4031
3897
 
4032
- function exitDemo() {
4033
- setDemoMode(false);
4034
- window.location.href = '/login';
3898
+ if (turningOn) {
3899
+ setTimeout(() => { fading = true; }, 1200);
3900
+ setTimeout(() => {
3901
+ setDemoMode(true);
3902
+ window.location.href = '/';
3903
+ }, 1800);
3904
+ } else {
3905
+ setTimeout(() => { fading = true; }, 800);
3906
+ setTimeout(() => {
3907
+ setDemoMode(false);
3908
+ cleanupDemoDatabase('${opts.prefix}_demo');
3909
+ window.location.href = '/';
3910
+ }, 1400);
3911
+ }
4035
3912
  }
4036
3913
  </script>
4037
3914
 
4038
3915
  <svelte:head>
4039
- <title>Try ${opts.name}</title>
3916
+ <title>Demo Mode — ${opts.name}</title>
4040
3917
  </svelte:head>
4041
3918
 
4042
- <div class="demo-page">
4043
- <div class="demo-card">
4044
- {#if isActive}
4045
- <h1>Demo Mode Active</h1>
4046
- <p>You're currently exploring ${opts.name} in demo mode. All data is sandboxed and will reset when you refresh the page.</p>
4047
- <button class="demo-btn demo-btn-exit" onclick={exitDemo}>
4048
- Exit Demo
4049
- </button>
4050
- {:else}
4051
- <h1>Try ${opts.name}</h1>
4052
- <p>Explore the app with sample data — no account needed. Everything runs in a sandboxed environment:</p>
3919
+ <div class="page" class:active={demoActive} class:fading>
3920
+ <h1 class="title">Demo Mode</h1>
3921
+ <p class="sub">Explore ${opts.name} with sample data — no account required</p>
3922
+
3923
+ <!-- Toggle -->
3924
+ <div class="tz">
3925
+ <button
3926
+ class="tog"
3927
+ class:on={demoActive}
3928
+ onclick={handleToggle}
3929
+ disabled={toggling}
3930
+ aria-label={demoActive ? 'Disable demo mode' : 'Enable demo mode'}
3931
+ >
3932
+ <span class="track">
3933
+ <span class="knob"></span>
3934
+ </span>
3935
+ </button>
3936
+ <span class="state-label" class:on={demoActive}>{demoActive ? 'ACTIVE' : 'INACTIVE'}</span>
3937
+ </div>
3938
+
3939
+ <!-- Info card -->
3940
+ <section class="info">
3941
+ <div class="col ok">
3942
+ <h3>Available</h3>
4053
3943
  <ul>
4054
- <li>All data resets on page refresh</li>
4055
- <li>No account or email required</li>
4056
- <li>Your real data is never touched</li>
3944
+ <li>Browse all pages</li>
3945
+ <li>Create & edit items</li>
3946
+ <li>Full app functionality</li>
4057
3947
  </ul>
4058
- <button class="demo-btn demo-btn-start" onclick={startDemo}>
4059
- Start Demo
4060
- </button>
4061
- {/if}
4062
- </div>
3948
+ </div>
3949
+ <div class="divider"></div>
3950
+ <div class="col cap">
3951
+ <h3>Limited</h3>
3952
+ <ul>
3953
+ <li>Cloud sync</li>
3954
+ <li>Account settings</li>
3955
+ <li>Device management</li>
3956
+ </ul>
3957
+ </div>
3958
+ </section>
3959
+
3960
+ <p class="foot">Data resets each session</p>
4063
3961
  </div>
4064
3962
 
4065
3963
  <style>
4066
- .demo-page {
3964
+ /* ═══ PAGE ═══ */
3965
+
3966
+ .page {
3967
+ position: fixed;
3968
+ inset: 0;
3969
+ z-index: 200;
4067
3970
  display: flex;
3971
+ flex-direction: column;
4068
3972
  align-items: center;
4069
3973
  justify-content: center;
4070
- min-height: 100dvh;
4071
- padding: 1rem;
3974
+ padding: 1.5rem;
3975
+ padding-top: max(1.5rem, env(safe-area-inset-top, 0px));
3976
+ padding-bottom: max(1.5rem, env(safe-area-inset-bottom, 0px));
3977
+ padding-left: max(1.5rem, env(safe-area-inset-left, 0px));
3978
+ padding-right: max(1.5rem, env(safe-area-inset-right, 0px));
3979
+ gap: clamp(0.75rem, 2vh, 1.5rem);
3980
+ overflow: hidden;
3981
+ background: var(--demo-bg, #0a0a1a);
3982
+ color: var(--demo-text, #e8e6f0);
3983
+ font-family: inherit;
3984
+ transition: opacity 0.7s ease, filter 0.7s ease, transform 0.7s ease;
4072
3985
  }
4073
3986
 
4074
- .demo-card {
4075
- max-width: 28rem;
4076
- width: 100%;
4077
- padding: 2rem;
4078
- border-radius: 1rem;
4079
- background: var(--card-bg, #fff);
4080
- box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
3987
+ /* ═══ EXIT ANIMATION ═══ */
3988
+
3989
+ .page.fading {
3990
+ opacity: 0;
3991
+ filter: blur(16px);
3992
+ transform: scale(1.06);
4081
3993
  }
4082
3994
 
4083
- h1 {
4084
- margin: 0 0 0.75rem;
4085
- font-size: 1.5rem;
4086
- font-weight: 700;
3995
+ /* ═══ TITLE ═══ */
3996
+
3997
+ .title {
3998
+ position: relative;
3999
+ font-size: clamp(2.5rem, 8vw, 5rem);
4000
+ font-weight: 800;
4001
+ letter-spacing: -0.03em;
4002
+ line-height: 1;
4003
+ margin: 0;
4004
+ text-align: center;
4005
+ color: var(--demo-title, inherit);
4006
+ opacity: 0;
4007
+ animation: titleIn 1s 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
4087
4008
  }
4088
4009
 
4089
- p {
4090
- margin: 0 0 1rem;
4091
- color: var(--text-secondary, #666);
4010
+ @keyframes titleIn {
4011
+ from {
4012
+ opacity: 0;
4013
+ transform: translateY(-40px);
4014
+ filter: blur(16px);
4015
+ }
4016
+ to {
4017
+ opacity: 1;
4018
+ transform: translateY(0);
4019
+ filter: blur(0);
4020
+ }
4021
+ }
4022
+
4023
+ .sub {
4024
+ font-size: clamp(0.85rem, 2vw, 1.1rem);
4025
+ color: var(--demo-muted, #a09bb5);
4026
+ max-width: 420px;
4027
+ margin: -0.25rem auto 0;
4028
+ text-align: center;
4092
4029
  line-height: 1.5;
4030
+ opacity: 0;
4031
+ animation: subIn 0.8s 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
4093
4032
  }
4094
4033
 
4095
- ul {
4096
- margin: 0 0 1.5rem;
4097
- padding-left: 1.25rem;
4098
- color: var(--text-secondary, #666);
4099
- line-height: 1.8;
4034
+ @keyframes subIn {
4035
+ from {
4036
+ opacity: 0;
4037
+ transform: translateY(12px);
4038
+ }
4039
+ to {
4040
+ opacity: 0.85;
4041
+ transform: translateY(0);
4042
+ }
4100
4043
  }
4101
4044
 
4102
- .demo-btn {
4103
- display: block;
4104
- width: 100%;
4105
- padding: 0.75rem 1.5rem;
4045
+ /* ═══ TOGGLE ZONE ═══ */
4046
+
4047
+ .tz {
4048
+ position: relative;
4049
+ display: flex;
4050
+ flex-direction: column;
4051
+ align-items: center;
4052
+ gap: 0.75rem;
4053
+ opacity: 0;
4054
+ animation: toggleBirth 1.4s 1.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
4055
+ }
4056
+
4057
+ @keyframes toggleBirth {
4058
+ 0% {
4059
+ opacity: 0;
4060
+ transform: scale(0.5);
4061
+ filter: blur(20px);
4062
+ }
4063
+ 50% {
4064
+ opacity: 1;
4065
+ transform: scale(1.08);
4066
+ filter: blur(2px);
4067
+ }
4068
+ 75% {
4069
+ transform: scale(0.97);
4070
+ filter: blur(0);
4071
+ }
4072
+ 100% {
4073
+ opacity: 1;
4074
+ transform: scale(1);
4075
+ filter: blur(0);
4076
+ }
4077
+ }
4078
+
4079
+ .tog {
4080
+ position: relative;
4081
+ background: none;
4106
4082
  border: none;
4107
- border-radius: 0.5rem;
4108
- font-size: 1rem;
4109
- font-weight: 600;
4083
+ padding: 0;
4110
4084
  cursor: pointer;
4111
- transition: opacity 0.15s ease;
4085
+ outline: none;
4086
+ -webkit-tap-highlight-color: transparent;
4112
4087
  }
4113
4088
 
4114
- .demo-btn:hover {
4115
- opacity: 0.9;
4089
+ .tog:focus-visible .track {
4090
+ outline: 2px solid var(--demo-accent, #6c5ce7);
4091
+ outline-offset: 6px;
4092
+ }
4093
+
4094
+ .tog:disabled {
4095
+ cursor: default;
4096
+ }
4097
+
4098
+ /* ═══ TRACK ═══ */
4099
+
4100
+ .track {
4101
+ position: relative;
4102
+ display: block;
4103
+ width: 200px;
4104
+ height: 68px;
4105
+ border-radius: 34px;
4106
+ background: var(--demo-track-bg, rgba(255, 255, 255, 0.08));
4107
+ border: 2px solid var(--demo-track-border, rgba(255, 255, 255, 0.1));
4108
+ transition: background 0.4s, border-color 0.4s, box-shadow 0.4s;
4116
4109
  }
4117
4110
 
4118
- .demo-btn-start {
4119
- background: var(--primary, #6c5ce7);
4120
- color: #fff;
4111
+ .tog.on .track {
4112
+ background: var(--demo-track-active-bg, rgba(108, 92, 231, 0.25));
4113
+ border-color: var(--demo-track-active-border, rgba(108, 92, 231, 0.4));
4114
+ box-shadow: 0 0 30px rgba(108, 92, 231, 0.15);
4121
4115
  }
4122
4116
 
4123
- .demo-btn-exit {
4124
- background: var(--text-secondary, #666);
4125
- color: #fff;
4117
+ .tog:hover:not(:disabled) .track {
4118
+ border-color: var(--demo-track-hover-border, rgba(255, 255, 255, 0.2));
4119
+ }
4120
+
4121
+ /* ═══ KNOB ═══ */
4122
+
4123
+ .knob {
4124
+ position: absolute;
4125
+ top: 6px;
4126
+ left: 6px;
4127
+ width: 56px;
4128
+ height: 56px;
4129
+ border-radius: 50%;
4130
+ background: var(--demo-knob-bg, rgba(255, 255, 255, 0.15));
4131
+ transition: transform 0.5s cubic-bezier(0.68, -0.15, 0.27, 1.15),
4132
+ background 0.4s, box-shadow 0.4s;
4133
+ }
4134
+
4135
+ .tog.on .knob {
4136
+ transform: translateX(132px);
4137
+ background: var(--demo-knob-active-bg, #6c5ce7);
4138
+ box-shadow: 0 0 20px rgba(108, 92, 231, 0.4);
4139
+ }
4140
+
4141
+ /* ═══ STATE LABEL ═══ */
4142
+
4143
+ .state-label {
4144
+ font-size: 0.75rem;
4145
+ font-weight: 700;
4146
+ letter-spacing: 0.15em;
4147
+ color: var(--demo-muted, rgba(160, 155, 181, 0.4));
4148
+ user-select: none;
4149
+ transition: color 0.4s;
4150
+ }
4151
+
4152
+ .state-label.on {
4153
+ color: var(--demo-accent, #6c5ce7);
4154
+ }
4155
+
4156
+ /* ═══ INFO CARD ═══ */
4157
+
4158
+ .info {
4159
+ display: flex;
4160
+ gap: 1.5rem;
4161
+ max-width: 440px;
4162
+ width: 100%;
4163
+ background: var(--demo-card-bg, rgba(255, 255, 255, 0.04));
4164
+ backdrop-filter: blur(16px);
4165
+ -webkit-backdrop-filter: blur(16px);
4166
+ border: 1px solid var(--demo-card-border, rgba(255, 255, 255, 0.06));
4167
+ border-radius: 12px;
4168
+ padding: clamp(0.75rem, 2vh, 1.25rem) clamp(1rem, 3vw, 1.5rem);
4169
+ opacity: 0;
4170
+ animation: infoIn 0.8s 2.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
4171
+ }
4172
+
4173
+ @keyframes infoIn {
4174
+ from {
4175
+ opacity: 0;
4176
+ transform: translateY(16px);
4177
+ }
4178
+ to {
4179
+ opacity: 0.8;
4180
+ transform: translateY(0);
4181
+ }
4182
+ }
4183
+
4184
+ .col {
4185
+ flex: 1;
4186
+ }
4187
+
4188
+ .col h3 {
4189
+ font-size: 0.7rem;
4190
+ font-weight: 700;
4191
+ text-transform: uppercase;
4192
+ letter-spacing: 0.1em;
4193
+ margin: 0 0 0.5rem;
4194
+ }
4195
+
4196
+ .ok h3 {
4197
+ color: var(--demo-text, rgba(232, 230, 240, 0.7));
4198
+ }
4199
+
4200
+ .cap h3 {
4201
+ color: var(--demo-muted, rgba(160, 155, 181, 0.5));
4202
+ }
4203
+
4204
+ .col ul {
4205
+ list-style: none;
4206
+ padding: 0;
4207
+ margin: 0;
4208
+ display: flex;
4209
+ flex-direction: column;
4210
+ gap: 0.25rem;
4211
+ }
4212
+
4213
+ .col li {
4214
+ font-size: 0.78rem;
4215
+ line-height: 1.5;
4216
+ padding-left: 1.2rem;
4217
+ position: relative;
4218
+ color: var(--demo-muted, rgba(160, 155, 181, 0.6));
4219
+ }
4220
+
4221
+ .ok li::before {
4222
+ content: '\\2713';
4223
+ position: absolute;
4224
+ left: 0;
4225
+ color: rgba(38, 222, 129, 0.65);
4226
+ font-weight: 700;
4227
+ font-size: 0.75rem;
4228
+ }
4229
+
4230
+ .cap li::before {
4231
+ content: '\\2014';
4232
+ position: absolute;
4233
+ left: 0;
4234
+ color: var(--demo-muted, rgba(160, 155, 181, 0.3));
4235
+ }
4236
+
4237
+ .divider {
4238
+ width: 1px;
4239
+ background: var(--demo-card-border, rgba(255, 255, 255, 0.06));
4240
+ align-self: stretch;
4241
+ }
4242
+
4243
+ /* ═══ FOOTER ═══ */
4244
+
4245
+ .foot {
4246
+ font-size: 0.7rem;
4247
+ color: var(--demo-muted, rgba(160, 155, 181, 0.2));
4248
+ margin: 0;
4249
+ letter-spacing: 0.04em;
4250
+ opacity: 0;
4251
+ animation: fadeIn 0.6s 3.2s ease forwards;
4252
+ }
4253
+
4254
+ @keyframes fadeIn {
4255
+ from { opacity: 0; }
4256
+ to { opacity: 1; }
4257
+ }
4258
+
4259
+ /* ═══ REDUCED MOTION ═══ */
4260
+
4261
+ @media (prefers-reduced-motion: reduce) {
4262
+ .title,
4263
+ .sub,
4264
+ .tz,
4265
+ .info,
4266
+ .foot {
4267
+ animation: none;
4268
+ opacity: 1;
4269
+ filter: none;
4270
+ transform: none;
4271
+ }
4272
+
4273
+ .page {
4274
+ transition-duration: 0.15s;
4275
+ }
4276
+
4277
+ .knob,
4278
+ .track,
4279
+ .state-label {
4280
+ transition-duration: 0.15s;
4281
+ }
4282
+ }
4283
+
4284
+ /* ═══ RESPONSIVE ═══ */
4285
+
4286
+ @media (max-width: 640px) {
4287
+ .page {
4288
+ padding: 1rem;
4289
+ padding-top: max(1rem, calc(env(safe-area-inset-top, 0px) + 0.5rem));
4290
+ padding-bottom: max(1rem, calc(env(safe-area-inset-bottom, 0px) + 0.5rem));
4291
+ gap: clamp(0.5rem, 1.5vh, 1rem);
4292
+ }
4293
+
4294
+ .title {
4295
+ font-size: clamp(2rem, 10vw, 3rem);
4296
+ }
4297
+
4298
+ .track {
4299
+ width: 170px;
4300
+ height: 58px;
4301
+ border-radius: 29px;
4302
+ }
4303
+
4304
+ .knob {
4305
+ width: 48px;
4306
+ height: 48px;
4307
+ top: 5px;
4308
+ left: 5px;
4309
+ }
4310
+
4311
+ .tog.on .knob {
4312
+ transform: translateX(112px);
4313
+ }
4314
+
4315
+ .info {
4316
+ flex-direction: column;
4317
+ gap: 0.6rem;
4318
+ }
4319
+
4320
+ .divider {
4321
+ width: 100%;
4322
+ height: 1px;
4323
+ }
4324
+ }
4325
+
4326
+ @media (max-width: 380px) {
4327
+ .page {
4328
+ padding: 0.75rem;
4329
+ padding-top: max(0.75rem, calc(env(safe-area-inset-top, 0px) + 0.25rem));
4330
+ padding-bottom: max(0.75rem, calc(env(safe-area-inset-bottom, 0px) + 0.25rem));
4331
+ gap: clamp(0.5rem, 1.2vh, 0.75rem);
4332
+ }
4333
+
4334
+ .title {
4335
+ font-size: 1.8rem;
4336
+ }
4337
+
4338
+ .track {
4339
+ width: 150px;
4340
+ height: 52px;
4341
+ border-radius: 26px;
4342
+ }
4343
+
4344
+ .knob {
4345
+ width: 42px;
4346
+ height: 42px;
4347
+ top: 5px;
4348
+ left: 5px;
4349
+ }
4350
+
4351
+ .tog.on .knob {
4352
+ transform: translateX(98px);
4353
+ }
4354
+
4355
+ .info {
4356
+ padding: 0.75rem;
4357
+ }
4358
+ }
4359
+
4360
+ @media (max-height: 600px) {
4361
+ .page {
4362
+ gap: 0.5rem;
4363
+ padding: 0.5rem 1rem;
4364
+ }
4365
+
4366
+ .title {
4367
+ font-size: clamp(1.5rem, 6vw, 2.5rem);
4368
+ }
4369
+
4370
+ .info {
4371
+ flex-direction: row;
4372
+ padding: 0.6rem 0.75rem;
4373
+ gap: 0.75rem;
4374
+ }
4375
+
4376
+ .col li {
4377
+ font-size: 0.72rem;
4378
+ }
4379
+
4380
+ .foot {
4381
+ display: none;
4382
+ }
4126
4383
  }
4127
4384
  </style>
4128
4385
  `;
@@ -4214,15 +4471,10 @@ const COMMANDS = [
4214
4471
  * Print the help screen listing all available commands.
4215
4472
  */
4216
4473
  function printHelp() {
4217
- console.log();
4218
- console.log(doubleBoxWithHeader([` ${bold('\u2726 stellar-engine CLI \u2726')} `], ['Available commands: ']));
4219
- console.log();
4220
- for (const cmd of COMMANDS) {
4221
- console.log(` ${cyan(cmd.usage)}`);
4222
- console.log(` ${dim(cmd.description)}`);
4223
- console.log();
4224
- }
4225
- console.log(` Run a command to get started.\n`);
4474
+ p.intro(color.bold('\u2726 stellar-engine CLI'));
4475
+ const commandList = COMMANDS.map((cmd) => `${color.cyan(cmd.usage)}\n${color.dim(cmd.description)}`).join('\n\n');
4476
+ p.note(commandList, 'Available commands');
4477
+ p.outro('Run a command to get started.');
4226
4478
  }
4227
4479
  /**
4228
4480
  * Route CLI arguments to the appropriate command handler.
@@ -4246,17 +4498,25 @@ function routeCommand() {
4246
4498
  // MAIN FUNCTION
4247
4499
  // =============================================================================
4248
4500
  /**
4249
- * Write a group of files quietly and return the count written.
4501
+ * Write a group of files quietly, updating the spinner with per-file progress.
4250
4502
  *
4251
4503
  * @param entries - Array of `[relativePath, content]` pairs.
4252
4504
  * @param cwd - The current working directory.
4253
4505
  * @param createdFiles - Accumulator for newly-created file paths.
4254
4506
  * @param skippedFiles - Accumulator for skipped file paths.
4507
+ * @param label - The category label shown in the spinner (e.g. "Config files").
4508
+ * @param spinner - The clack spinner instance to update per-file.
4509
+ * @param runningTotal - The total files written so far across all groups.
4255
4510
  * @returns The number of files in the group.
4256
4511
  */
4257
- function writeGroup(entries, cwd, createdFiles, skippedFiles) {
4258
- for (const [rel, content] of entries) {
4512
+ function writeGroup(entries, cwd, createdFiles, skippedFiles, label, spinner, runningTotal) {
4513
+ for (let i = 0; i < entries.length; i++) {
4514
+ const [rel, content] = entries[i];
4515
+ const existed = existsSync(join(cwd, rel));
4259
4516
  writeIfMissing(join(cwd, rel), content, createdFiles, skippedFiles, true);
4517
+ const status = existed ? color.dim('skip') : color.green('write');
4518
+ const current = runningTotal + i + 1;
4519
+ spinner.message(`${label} [${i + 1}/${entries.length}] ${status} ${color.dim(rel)} ${color.dim(`(${current} total)`)}`);
4260
4520
  }
4261
4521
  return entries.length;
4262
4522
  }
@@ -4280,121 +4540,125 @@ async function main() {
4280
4540
  const cwd = process.cwd();
4281
4541
  const createdFiles = [];
4282
4542
  const skippedFiles = [];
4543
+ const s = p.spinner();
4283
4544
  // 1. Write package.json
4284
- let sp = createSpinner('Writing package.json');
4545
+ s.start('Writing package.json...');
4285
4546
  writeIfMissing(join(cwd, 'package.json'), generatePackageJson(opts), createdFiles, skippedFiles, true);
4286
- sp.succeed('Writing package.json');
4547
+ s.stop('package.json ready');
4287
4548
  // 2. Run npm install
4288
- sp = createSpinner('Installing dependencies...');
4289
- sp.stop();
4290
- console.log(` ${cyan(SPINNER_FRAMES[0])} Installing dependencies...\n`);
4549
+ s.start('Installing dependencies...');
4550
+ s.stop('Installing dependencies (npm output below)');
4291
4551
  execSync('npm install', { stdio: 'inherit', cwd });
4292
- console.log(`\n ${green('\u2713')} Installing dependencies`);
4552
+ p.log.success('Dependencies installed');
4293
4553
  // 3. Write all template files by category
4294
4554
  const firstLetter = opts.shortName.charAt(0).toUpperCase();
4295
- /* ── Config files ── */
4296
- const configFiles = [
4297
- ['vite.config.ts', generateViteConfig(opts)],
4298
- ['tsconfig.json', generateTsconfig()],
4299
- ['svelte.config.js', generateSvelteConfig(opts)],
4300
- ['eslint.config.js', generateEslintConfig()],
4301
- ['.prettierrc', generatePrettierrc()],
4302
- ['.prettierignore', generatePrettierignore()],
4303
- ['knip.json', generateKnipJson()],
4304
- ['.gitignore', generateGitignore()]
4305
- ];
4306
- sp = createSpinner('Config files');
4307
- const configCount = writeGroup(configFiles, cwd, createdFiles, skippedFiles);
4308
- sp.succeed(`Config files ${dim(`${configCount} files`)}`);
4309
- /* ── Documentation ── */
4310
- const docFiles = [
4311
- ['README.md', generateReadme(opts)],
4312
- ['ARCHITECTURE.md', generateArchitecture(opts)],
4313
- ['FRAMEWORKS.md', generateFrameworks()]
4314
- ];
4315
- sp = createSpinner('Documentation');
4316
- const docCount = writeGroup(docFiles, cwd, createdFiles, skippedFiles);
4317
- sp.succeed(`Documentation ${dim(`${docCount} files`)}`);
4318
- /* ── Static assets ── */
4319
- const staticFiles = [
4320
- ['static/manifest.json', generateManifest(opts)],
4321
- ['static/offline.html', generateOfflineHtml(opts)],
4322
- ['static/icons/app.svg', generatePlaceholderSvg('#6c5ce7', firstLetter)],
4323
- ['static/icons/app-dark.svg', generatePlaceholderSvg('#1a1a2e', firstLetter)],
4324
- ['static/icons/maskable.svg', generatePlaceholderSvg('#6c5ce7', firstLetter)],
4325
- ['static/icons/favicon.svg', generatePlaceholderSvg('#6c5ce7', firstLetter)],
4326
- ['static/icons/monochrome.svg', generateMonochromeSvg(firstLetter)],
4327
- ['static/icons/splash.svg', generateSplashSvg(opts.shortName)],
4328
- ['static/icons/apple-touch.svg', generatePlaceholderSvg('#6c5ce7', firstLetter)],
4329
- ['static/change-email.html', generateEmailPlaceholder('Change Email')],
4330
- ['static/device-verification-email.html', generateEmailPlaceholder('Device Verification')],
4331
- ['static/signup-email.html', generateEmailPlaceholder('Signup Email')],
4332
- ['supabase-schema.sql', generateSupabaseSchema(opts)]
4333
- ];
4334
- sp = createSpinner('Static assets');
4335
- const staticCount = writeGroup(staticFiles, cwd, createdFiles, skippedFiles);
4336
- sp.succeed(`Static assets ${dim(`${staticCount} files`)}`);
4337
- /* ── Source files ── */
4338
- const sourceFiles = [
4339
- ['src/app.html', generateAppHtml(opts)],
4340
- ['src/app.d.ts', generateAppDts(opts)]
4341
- ];
4342
- sp = createSpinner('Source files');
4343
- const sourceCount = writeGroup(sourceFiles, cwd, createdFiles, skippedFiles);
4344
- sp.succeed(`Source files ${dim(`${sourceCount} files`)}`);
4345
- /* ── Route files ── */
4346
- const routeFiles = [
4347
- ['src/routes/+layout.ts', generateRootLayoutTs(opts)],
4348
- ['src/routes/+layout.svelte', generateRootLayoutSvelte(opts)],
4349
- ['src/routes/+page.svelte', generateHomePage(opts)],
4350
- ['src/routes/+error.svelte', generateErrorPage(opts)],
4351
- ['src/routes/setup/+page.ts', generateSetupPageTs()],
4352
- ['src/routes/setup/+page.svelte', generateSetupPageSvelte(opts)],
4353
- ['src/routes/policy/+page.svelte', generatePolicyPage(opts)],
4354
- ['src/routes/login/+page.svelte', generateLoginPage(opts)],
4355
- ['src/routes/confirm/+page.svelte', generateConfirmPage(opts)],
4356
- ['src/routes/api/config/+server.ts', generateConfigServer()],
4357
- ['src/routes/api/setup/deploy/+server.ts', generateDeployServer()],
4358
- ['src/routes/api/setup/validate/+server.ts', generateValidateServer()],
4359
- ['src/routes/[...catchall]/+page.ts', generateCatchallPage()],
4360
- ['src/routes/(protected)/+layout.ts', generateProtectedLayoutTs()],
4361
- ['src/routes/(protected)/+layout.svelte', generateProtectedLayoutSvelte()],
4362
- ['src/routes/(protected)/profile/+page.svelte', generateProfilePage(opts)],
4363
- ['src/routes/demo/+page.svelte', generateDemoPage(opts)]
4364
- ];
4365
- sp = createSpinner('Route files');
4366
- const routeCount = writeGroup(routeFiles, cwd, createdFiles, skippedFiles);
4367
- sp.succeed(`Route files ${dim(`${routeCount} files`)}`);
4368
- /* ── Library & components ── */
4369
- const libFiles = [
4370
- ['src/lib/types.ts', generateAppTypes()],
4371
- ['src/lib/components/UpdatePrompt.svelte', generateUpdatePromptComponent()],
4372
- ['src/lib/demo/mockData.ts', generateDemoMockData()],
4373
- ['src/lib/demo/config.ts', generateDemoConfig()]
4555
+ let filesWritten = 0;
4556
+ const groups = [
4557
+ {
4558
+ label: 'Config files',
4559
+ entries: [
4560
+ ['vite.config.ts', generateViteConfig(opts)],
4561
+ ['tsconfig.json', generateTsconfig()],
4562
+ ['svelte.config.js', generateSvelteConfig(opts)],
4563
+ ['eslint.config.js', generateEslintConfig()],
4564
+ ['.prettierrc', generatePrettierrc()],
4565
+ ['.prettierignore', generatePrettierignore()],
4566
+ ['knip.json', generateKnipJson()],
4567
+ ['.gitignore', generateGitignore()]
4568
+ ]
4569
+ },
4570
+ {
4571
+ label: 'Documentation',
4572
+ entries: [
4573
+ ['README.md', generateReadme(opts)],
4574
+ ['ARCHITECTURE.md', generateArchitecture(opts)],
4575
+ ['FRAMEWORKS.md', generateFrameworks()]
4576
+ ]
4577
+ },
4578
+ {
4579
+ label: 'Static assets',
4580
+ entries: [
4581
+ ['static/manifest.json', generateManifest(opts)],
4582
+ ['static/offline.html', generateOfflineHtml(opts)],
4583
+ ['static/icons/app.svg', generatePlaceholderSvg('#6c5ce7', firstLetter)],
4584
+ ['static/icons/app-dark.svg', generatePlaceholderSvg('#1a1a2e', firstLetter)],
4585
+ ['static/icons/maskable.svg', generatePlaceholderSvg('#6c5ce7', firstLetter)],
4586
+ ['static/icons/favicon.svg', generatePlaceholderSvg('#6c5ce7', firstLetter)],
4587
+ ['static/icons/monochrome.svg', generateMonochromeSvg(firstLetter)],
4588
+ ['static/icons/splash.svg', generateSplashSvg(opts.shortName)],
4589
+ ['static/icons/apple-touch.svg', generatePlaceholderSvg('#6c5ce7', firstLetter)],
4590
+ ['static/change-email.html', generateEmailPlaceholder('Change Email')],
4591
+ ['static/device-verification-email.html', generateEmailPlaceholder('Device Verification')],
4592
+ ['static/signup-email.html', generateEmailPlaceholder('Signup Email')],
4593
+ ['supabase-schema.sql', generateSupabaseSchema(opts)]
4594
+ ]
4595
+ },
4596
+ {
4597
+ label: 'Source files',
4598
+ entries: [
4599
+ ['src/app.html', generateAppHtml(opts)],
4600
+ ['src/app.d.ts', generateAppDts(opts)]
4601
+ ]
4602
+ },
4603
+ {
4604
+ label: 'Route files',
4605
+ entries: [
4606
+ ['src/routes/+layout.ts', generateRootLayoutTs(opts)],
4607
+ ['src/routes/+layout.svelte', generateRootLayoutSvelte(opts)],
4608
+ ['src/routes/+page.svelte', generateHomePage(opts)],
4609
+ ['src/routes/+error.svelte', generateErrorPage(opts)],
4610
+ ['src/routes/setup/+page.ts', generateSetupPageTs()],
4611
+ ['src/routes/setup/+page.svelte', generateSetupPageSvelte(opts)],
4612
+ ['src/routes/policy/+page.svelte', generatePolicyPage(opts)],
4613
+ ['src/routes/login/+page.svelte', generateLoginPage(opts)],
4614
+ ['src/routes/confirm/+page.svelte', generateConfirmPage(opts)],
4615
+ ['src/routes/api/config/+server.ts', generateConfigServer()],
4616
+ ['src/routes/api/setup/deploy/+server.ts', generateDeployServer()],
4617
+ ['src/routes/api/setup/validate/+server.ts', generateValidateServer()],
4618
+ ['src/routes/[...catchall]/+page.ts', generateCatchallPage()],
4619
+ ['src/routes/(protected)/+layout.ts', generateProtectedLayoutTs()],
4620
+ ['src/routes/(protected)/+layout.svelte', generateProtectedLayoutSvelte()],
4621
+ ['src/routes/(protected)/profile/+page.svelte', generateProfilePage(opts)],
4622
+ ['src/routes/demo/+page.svelte', generateDemoPage(opts)]
4623
+ ]
4624
+ },
4625
+ {
4626
+ label: 'Library & components',
4627
+ entries: [
4628
+ ['src/lib/types.ts', generateAppTypes()],
4629
+ ['src/lib/components/UpdatePrompt.svelte', generateUpdatePromptComponent()],
4630
+ ['src/lib/demo/mockData.ts', generateDemoMockData()],
4631
+ ['src/lib/demo/config.ts', generateDemoConfig()]
4632
+ ]
4633
+ }
4374
4634
  ];
4375
- sp = createSpinner('Library & components');
4376
- const libCount = writeGroup(libFiles, cwd, createdFiles, skippedFiles);
4377
- sp.succeed(`Library & components ${dim(`${libCount} files`)}`);
4635
+ for (const group of groups) {
4636
+ s.start(`${group.label} [0/${group.entries.length}]...`);
4637
+ filesWritten += writeGroup(group.entries, cwd, createdFiles, skippedFiles, group.label, s, filesWritten);
4638
+ s.stop(`${group.label} ${color.dim(`\u2014 ${group.entries.length} files`)}`);
4639
+ }
4378
4640
  // 4. Set up husky
4379
- sp = createSpinner('Git hooks');
4641
+ s.start('Setting up git hooks...');
4380
4642
  execSync('npx husky init', { stdio: 'pipe', cwd });
4381
4643
  const preCommitPath = join(cwd, '.husky/pre-commit');
4382
4644
  writeFileSync(preCommitPath, generateHuskyPreCommit(), 'utf-8');
4383
4645
  createdFiles.push('.husky/pre-commit');
4384
- sp.succeed(`Git hooks ${dim('1 file')}`);
4646
+ filesWritten++;
4647
+ s.stop(`Git hooks ${color.dim('\u2014 1 file')}`);
4648
+ p.log.success(`All project files generated ${color.dim(`(${filesWritten} total)`)}`);
4385
4649
  // 5. Print final summary
4386
- console.log();
4387
- console.log(doubleBoxWithHeader([` ${green(bold('\u2713 Setup complete!'))} `], [
4388
- `Created: ${bold(String(createdFiles.length))} files${' '.repeat(34 - String(createdFiles.length).length)}`,
4389
- `Skipped: ${bold(String(skippedFiles.length))} files${' '.repeat(34 - String(skippedFiles.length).length)}`
4390
- ]));
4391
- console.log(`
4392
- ${bold('Next steps:')}
4393
- 1. Set up Supabase and add .env with your keys
4394
- 2. Run supabase-schema.sql in Supabase SQL Editor
4395
- 3. Add app icons in static/icons/
4396
- 4. Start building: ${cyan('npm run dev')}
4397
- `);
4650
+ p.note([
4651
+ `${color.green('Created:')} ${color.bold(String(createdFiles.length))} files`,
4652
+ `${color.dim('Skipped:')} ${color.bold(String(skippedFiles.length))} files`
4653
+ ].join('\n'), 'Setup complete!');
4654
+ p.log.step([
4655
+ color.bold('Next steps:'),
4656
+ ' 1. Set up Supabase and add .env with your keys',
4657
+ ' 2. Run supabase-schema.sql in Supabase SQL Editor',
4658
+ ' 3. Add app icons in static/icons/',
4659
+ ` 4. Start building: ${color.cyan('npm run dev')}`
4660
+ ].join('\n'));
4661
+ p.outro('Happy building!');
4398
4662
  }
4399
4663
  // =============================================================================
4400
4664
  // RUN
@@ -1 +1 @@
1
- {"version":3,"file":"install-pwa.js","sourceRoot":"","sources":["../../src/bin/install-pwa.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-pwa.js","sourceRoot":"","sources":["../../src/bin/install-pwa.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prabhask5/stellar-engine",
3
- "version": "1.1.16",
3
+ "version": "1.1.18",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -85,8 +85,10 @@
85
85
  "release": "node release.js"
86
86
  },
87
87
  "dependencies": {
88
+ "@clack/prompts": "^1.0.1",
88
89
  "@supabase/supabase-js": "^2.49.0",
89
- "dexie": "^4.2.1"
90
+ "dexie": "^4.2.1",
91
+ "picocolors": "^1.1.1"
90
92
  },
91
93
  "peerDependencies": {
92
94
  "svelte": "^5.0.0"
@@ -20,6 +20,7 @@
20
20
  {#if visible}
21
21
  <div class="demo-banner" role="status" aria-live="polite">
22
22
  <span class="demo-banner-text">Demo Mode — Changes reset on refresh</span>
23
+ <a class="demo-banner-link" href="/demo">Demo Page</a>
23
24
  <button
24
25
  class="demo-banner-close"
25
26
  onclick={() => (dismissed = true)}
@@ -60,6 +61,21 @@
60
61
  opacity: 0.95;
61
62
  }
62
63
 
64
+ .demo-banner-link {
65
+ color: rgba(255, 255, 255, 0.65);
66
+ font-size: 0.75rem;
67
+ text-decoration: none;
68
+ padding: 0.15rem 0.5rem;
69
+ border-radius: 4px;
70
+ background: rgba(255, 255, 255, 0.08);
71
+ transition: background 0.15s ease, color 0.15s ease;
72
+ }
73
+
74
+ .demo-banner-link:hover {
75
+ background: rgba(255, 255, 255, 0.18);
76
+ color: #fff;
77
+ }
78
+
63
79
  .demo-banner-close {
64
80
  display: flex;
65
81
  align-items: center;