react-client 1.0.35 → 1.0.38

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,12 +1,12 @@
1
1
  /**
2
- * dev.ts — Vite-like dev server for react-client
2
+ * dev.ts — dev server for react-client
3
3
  *
4
- * Features:
5
- * - prebundles deps into .react-client/deps (persistent)
6
- * - serves /@modules/<dep> (prebundled or on-demand esbuild bundle)
7
- * - serves /src/* with esbuild transform + inline sourcemap
8
- * - /@source-map returns a snippet for overlay mapping
9
- * - HMR broadcast via BroadcastManager (ws)
10
- * - plugin system: onTransform, onHotUpdate, onServe, onServerStart
4
+ * - prebundles deps into .react-client/deps
5
+ * - serves /@modules/<dep>
6
+ * - serves /src/* with esbuild transform & inline sourcemap
7
+ * - /@source-map returns a snippet for overlay mapping
8
+ * - HMR broadcast via BroadcastManager (ws)
9
+ *
10
+ * Keep this file linted & typed. Avoids manual react-dom/client hacks.
11
11
  */
12
12
  export default function dev(): Promise<void>;
@@ -1,17 +1,16 @@
1
- // src/cli/commands/dev.ts
2
1
  /**
3
- * dev.ts — Vite-like dev server for react-client
2
+ * dev.ts — dev server for react-client
4
3
  *
5
- * Features:
6
- * - prebundles deps into .react-client/deps (persistent)
7
- * - serves /@modules/<dep> (prebundled or on-demand esbuild bundle)
8
- * - serves /src/* with esbuild transform + inline sourcemap
9
- * - /@source-map returns a snippet for overlay mapping
10
- * - HMR broadcast via BroadcastManager (ws)
11
- * - plugin system: onTransform, onHotUpdate, onServe, onServerStart
4
+ * - prebundles deps into .react-client/deps
5
+ * - serves /@modules/<dep>
6
+ * - serves /src/* with esbuild transform & inline sourcemap
7
+ * - /@source-map returns a snippet for overlay mapping
8
+ * - HMR broadcast via BroadcastManager (ws)
9
+ *
10
+ * Keep this file linted & typed. Avoids manual react-dom/client hacks.
12
11
  */
13
12
  import esbuild from 'esbuild';
14
- import connect, {} from 'connect';
13
+ import connect from 'connect';
15
14
  import http from 'http';
16
15
  import chokidar from 'chokidar';
17
16
  import detectPort from 'detect-port';
@@ -21,8 +20,15 @@ import fs from 'fs-extra';
21
20
  import open from 'open';
22
21
  import chalk from 'chalk';
23
22
  import { execSync } from 'child_process';
24
- import { loadReactClientConfig } from '../../utils/loadConfig.js';
25
23
  import { BroadcastManager } from '../../server/broadcastManager.js';
24
+ import { createRequire } from 'module';
25
+ import { fileURLToPath } from 'url';
26
+ import { dirname, resolve } from 'path';
27
+ const __filename = fileURLToPath(import.meta.url);
28
+ const __dirname = dirname(__filename);
29
+ const loadConfigPath = resolve(__dirname, '../../utils/loadConfig.js');
30
+ const { loadReactClientConfig } = await import(loadConfigPath);
31
+ const require = createRequire(import.meta.url);
26
32
  const RUNTIME_OVERLAY_ROUTE = '/@runtime/overlay';
27
33
  function jsContentType() {
28
34
  return 'application/javascript; charset=utf-8';
@@ -173,32 +179,33 @@ export default async function dev() {
173
179
  const userConfig = (await loadReactClientConfig(root));
174
180
  const appRoot = path.resolve(root, userConfig.root || '.');
175
181
  const defaultPort = userConfig.server?.port ?? 2202;
182
+ // cache dir for prebundled deps
176
183
  const cacheDir = path.join(appRoot, '.react-client', 'deps');
177
184
  await fs.ensureDir(cacheDir);
178
185
  // Detect entry (main.tsx / main.jsx)
179
- const possibleEntries = ['src/main.tsx', 'src/main.jsx'].map((p) => path.join(appRoot, p));
180
- const entry = possibleEntries.find((p) => fs.existsSync(p));
186
+ const possible = ['src/main.tsx', 'src/main.jsx'].map((p) => path.join(appRoot, p));
187
+ const entry = possible.find((p) => fs.existsSync(p));
181
188
  if (!entry) {
182
189
  console.error(chalk.red('❌ Entry not found: src/main.tsx or src/main.jsx'));
183
190
  process.exit(1);
184
191
  }
185
192
  const indexHtml = path.join(appRoot, 'index.html');
186
- // Port
193
+ // Select port
187
194
  const availablePort = await detectPort(defaultPort);
188
195
  const port = availablePort;
189
196
  if (availablePort !== defaultPort) {
190
- const res = await prompts({
197
+ const response = await prompts({
191
198
  type: 'confirm',
192
199
  name: 'useNewPort',
193
200
  message: `Port ${defaultPort} is occupied. Use ${availablePort} instead?`,
194
201
  initial: true,
195
202
  });
196
- if (!res.useNewPort) {
203
+ if (!response.useNewPort) {
197
204
  console.log('🛑 Dev server cancelled.');
198
205
  process.exit(0);
199
206
  }
200
207
  }
201
- // ensure react-refresh runtime exists (templates often import it)
208
+ // Ensure react-refresh runtime available (used by many templates)
202
209
  try {
203
210
  require.resolve('react-refresh/runtime');
204
211
  }
@@ -211,10 +218,10 @@ export default async function dev() {
211
218
  });
212
219
  }
213
220
  catch {
214
- console.warn(chalk.yellow('⚠️ auto-install failed — please install react-refresh manually.'));
221
+ console.warn(chalk.yellow('⚠️ automatic install of react-refresh failed; continuing without it.'));
215
222
  }
216
223
  }
217
- // Core plugins
224
+ // Plugin system (core + user)
218
225
  const corePlugins = [
219
226
  {
220
227
  name: 'css-hmr',
@@ -223,10 +230,10 @@ export default async function dev() {
223
230
  const escaped = JSON.stringify(code);
224
231
  return `
225
232
  const css = ${escaped};
226
- const style = document.createElement('style');
233
+ const style = document.createElement("style");
227
234
  style.textContent = css;
228
235
  document.head.appendChild(style);
229
- if (import.meta.hot) import.meta.hot.accept();
236
+ import.meta.hot?.accept();
230
237
  `;
231
238
  }
232
239
  return code;
@@ -258,31 +265,30 @@ export default async function dev() {
258
265
  await analyzeGraph(resolved, seen);
259
266
  }
260
267
  catch {
261
- // bare dependency
268
+ // bare dependency (node_modules) - track name
262
269
  seen.add(dep);
263
270
  }
264
271
  }
265
272
  }
266
273
  catch {
267
- // ignore unreadable
274
+ // ignore unreadable files
268
275
  }
269
276
  return seen;
270
277
  }
271
- // --- Prebundle missing deps (parallel)
278
+ // Prebundle dependencies into cache dir (parallel)
272
279
  async function prebundleDeps(deps) {
273
280
  if (!deps.size)
274
281
  return;
275
- const cached = new Set((await fs.readdir(cacheDir)).map((f) => f.replace(/\.js$/, '')));
276
- const missing = [...deps].filter((d) => !cached.has(d.replace(/\//g, '_')));
277
- if (!missing.length) {
278
- console.log(chalk.green('✅ All dependencies prebundled.'));
282
+ const existingFiles = await fs.readdir(cacheDir);
283
+ const existing = new Set(existingFiles.map((f) => f.replace(/\.js$/, '')));
284
+ const missing = [...deps].filter((d) => !existing.has(d));
285
+ if (!missing.length)
279
286
  return;
280
- }
281
287
  console.log(chalk.cyan('📦 Prebundling:'), missing.join(', '));
282
288
  await Promise.all(missing.map(async (dep) => {
283
289
  try {
284
290
  const entryPoint = require.resolve(dep, { paths: [appRoot] });
285
- const outFile = path.join(cacheDir, dep.replace(/\//g, '_') + '.js');
291
+ const outFile = path.join(cacheDir, normalizeCacheKey(dep) + '.js');
286
292
  await esbuild.build({
287
293
  entryPoints: [entryPoint],
288
294
  bundle: true,
@@ -299,10 +305,10 @@ export default async function dev() {
299
305
  }
300
306
  }));
301
307
  }
302
- // initial prebundle
308
+ // Build initial prebundle graph from entry
303
309
  const depsSet = await analyzeGraph(entry);
304
310
  await prebundleDeps(depsSet);
305
- // re-prebundle on package.json changes
311
+ // Watch package.json for changes to re-prebundle
306
312
  const pkgPath = path.join(appRoot, 'package.json');
307
313
  if (await fs.pathExists(pkgPath)) {
308
314
  chokidar.watch(pkgPath).on('change', async () => {
@@ -365,7 +371,6 @@ const overlayId = "__rc_error_overlay__";
365
371
  .line-number{opacity:0.6;margin-right:10px;display:inline-block;width:2em;text-align:right;}
366
372
  \`;
367
373
  document.head.appendChild(style);
368
-
369
374
  async function mapStackFrame(frame){
370
375
  const m = frame.match(/(\\/src\\/[^\s:]+):(\\d+):(\\d+)/);
371
376
  if(!m) return frame;
@@ -378,11 +383,9 @@ const overlayId = "__rc_error_overlay__";
378
383
  }catch(e){}
379
384
  return frame;
380
385
  }
381
-
382
386
  function highlightSimple(s){
383
387
  return s.replace(/(const|let|var|function|return|import|from|export|class|new|await|async|if|else|for|while|try|catch|throw)/g,'<span style="color:#ffb86c">$1</span>');
384
388
  }
385
-
386
389
  async function renderOverlay(err){
387
390
  const overlay = document.getElementById(overlayId) || document.body.appendChild(Object.assign(document.createElement("div"),{id:overlayId}));
388
391
  overlay.innerHTML = "";
@@ -407,7 +410,6 @@ const overlayId = "__rc_error_overlay__";
407
410
  overlay.appendChild(frameEl);
408
411
  }
409
412
  }
410
-
411
413
  window.showErrorOverlay = (err)=>renderOverlay(err);
412
414
  window.clearErrorOverlay = ()=>document.getElementById(overlayId)?.remove();
413
415
  window.addEventListener("error", e => window.showErrorOverlay?.(e.error || e));
@@ -429,10 +431,10 @@ const overlayId = "__rc_error_overlay__";
429
431
  if (!url.startsWith('/@source-map'))
430
432
  return next();
431
433
  try {
432
- const full = req.url ?? '';
433
- const parsed = new URL(full, `http://localhost:${port}`);
434
+ const parsed = new URL(req.url ?? '', `http://localhost:${port}`);
434
435
  const file = parsed.searchParams.get('file') ?? '';
435
- const lineNum = Number(parsed.searchParams.get('line') ?? '0') || 0;
436
+ const lineStr = parsed.searchParams.get('line') ?? '0';
437
+ const lineNum = Number(lineStr) || 0;
436
438
  if (!file) {
437
439
  res.writeHead(400);
438
440
  return res.end('{}');
@@ -463,45 +465,39 @@ const overlayId = "__rc_error_overlay__";
463
465
  res.end(JSON.stringify({ error: err.message }));
464
466
  }
465
467
  }));
466
- // Serve /src/* files (transform on the fly)
468
+ // --- Serve /src/* files (on-the-fly transform + bare import rewrite)
467
469
  app.use((async (req, res, next) => {
468
470
  const url = req.url ?? '';
469
471
  if (!url.startsWith('/src/') && !url.endsWith('.css'))
470
472
  return next();
471
473
  const raw = decodeURIComponent((req.url ?? '').split('?')[0]);
472
- const filePathBase = path.join(appRoot, raw.replace(/^\//, ''));
474
+ const filePath = path.join(appRoot, raw.replace(/^\//, ''));
475
+ // Try file extensions if not exact file
473
476
  const exts = ['', '.tsx', '.ts', '.jsx', '.js', '.css'];
474
477
  let found = '';
475
478
  for (const ext of exts) {
476
- if (await fs.pathExists(filePathBase + ext)) {
477
- found = filePathBase + ext;
479
+ if (await fs.pathExists(filePath + ext)) {
480
+ found = filePath + ext;
478
481
  break;
479
482
  }
480
483
  }
481
484
  if (!found)
482
485
  return next();
483
486
  try {
484
- // serve cached transform if present
485
- if (transformCache.has(found)) {
486
- res.setHeader('Content-Type', 'application/javascript');
487
- res.end(transformCache.get(found));
488
- return;
489
- }
490
487
  let code = await fs.readFile(found, 'utf8');
491
- // rewrite bare imports to /@modules/*
488
+ // rewrite bare imports -> /@modules/<dep>
492
489
  code = code
493
490
  .replace(/\bfrom\s+['"]([^'".\/][^'"]*)['"]/g, (_m, dep) => `from "/@modules/${dep}"`)
494
491
  .replace(/\bimport\(['"]([^'".\/][^'"]*)['"]\)/g, (_m, dep) => `import("/@modules/${dep}")`);
495
- // plugin transforms
492
+ // run plugin transforms
496
493
  for (const p of plugins) {
497
494
  if (p.onTransform) {
498
- // eslint-disable-next-line no-await-in-loop
499
495
  const out = await p.onTransform(code, found);
500
496
  if (typeof out === 'string')
501
497
  code = out;
502
498
  }
503
499
  }
504
- // choose loader by ext
500
+ // choose loader by extension
505
501
  const ext = path.extname(found).toLowerCase();
506
502
  const loader = ext === '.ts' ? 'ts' : ext === '.tsx' ? 'tsx' : ext === '.jsx' ? 'jsx' : 'js';
507
503
  const result = await esbuild.transform(code, {
@@ -519,7 +515,7 @@ const overlayId = "__rc_error_overlay__";
519
515
  res.end(`// transform error: ${e.message}`);
520
516
  }
521
517
  }));
522
- // Serve index.html with HMR + overlay injection
518
+ // --- Serve index.html with overlay + HMR client injection
523
519
  app.use((async (req, res, next) => {
524
520
  const url = req.url ?? '';
525
521
  if (url !== '/' && url !== '/index.html')
@@ -530,7 +526,7 @@ const overlayId = "__rc_error_overlay__";
530
526
  }
531
527
  try {
532
528
  let html = await fs.readFile(indexHtml, 'utf8');
533
- // inject runtime overlay and HMR client if not present
529
+ // inject overlay runtime and HMR client if not already present
534
530
  if (!html.includes(RUNTIME_OVERLAY_ROUTE)) {
535
531
  html = html.replace('</body>', `\n<script type="module" src="${RUNTIME_OVERLAY_ROUTE}"></script>\n<script type="module">
536
532
  const ws = new WebSocket("ws://" + location.host);
@@ -553,29 +549,30 @@ const overlayId = "__rc_error_overlay__";
553
549
  res.end(`// html read error: ${err.message}`);
554
550
  }
555
551
  }));
556
- // HMR WebSocket
552
+ // --- HMR WebSocket server
557
553
  const server = http.createServer(app);
558
554
  const broadcaster = new BroadcastManager(server);
559
- // Watcher: src
555
+ // Watch files and trigger plugin onHotUpdate + broadcast HMR message
560
556
  const watcher = chokidar.watch(path.join(appRoot, 'src'), { ignoreInitial: true });
561
557
  watcher.on('change', async (file) => {
562
558
  transformCache.delete(file);
563
- // plugin hook onHotUpdate
559
+ // plugin hook onHotUpdate optionally
564
560
  for (const p of plugins) {
565
561
  if (p.onHotUpdate) {
566
562
  try {
567
- // eslint-disable-next-line no-await-in-loop
568
563
  await p.onHotUpdate(file, {
569
- broadcast: (m) => broadcaster.broadcast(m),
564
+ // plugin only needs broadcast in most cases
565
+ broadcast: (msg) => {
566
+ broadcaster.broadcast(msg);
567
+ },
570
568
  });
571
569
  }
572
570
  catch (err) {
573
- // plugin errors shouldn't crash server
574
- // eslint-disable-next-line no-console
575
571
  console.warn('plugin onHotUpdate error:', err.message);
576
572
  }
577
573
  }
578
574
  }
575
+ // default: broadcast update for changed file
579
576
  broadcaster.broadcast({
580
577
  type: 'update',
581
578
  path: '/' + path.relative(appRoot, file).replace(/\\/g, '/'),
@@ -585,39 +582,20 @@ const overlayId = "__rc_error_overlay__";
585
582
  server.listen(port, async () => {
586
583
  const url = `http://localhost:${port}`;
587
584
  console.log(chalk.cyan.bold('\n🚀 React Client Dev Server'));
588
- console.log(chalk.gray('──────────────────────────────'));
589
585
  console.log(chalk.green(`⚡ Running at: ${url}`));
590
- // open if not explicitly disabled
591
586
  if (userConfig.server?.open !== false) {
592
587
  try {
593
588
  await open(url);
594
589
  }
595
590
  catch {
596
- /* ignore */
597
- }
598
- }
599
- const ctx = {
600
- root: appRoot,
601
- outDir: cacheDir,
602
- app,
603
- wss: broadcaster.wss,
604
- httpServer: server,
605
- broadcast: (m) => broadcaster.broadcast(m),
606
- };
607
- // plugin onServe / onServerStart hooks
608
- for (const p of plugins) {
609
- if (p.onServe) {
610
- await p.onServe(ctx);
611
- }
612
- if (p.onServerStart) {
613
- await p.onServerStart(ctx);
591
+ // ignore open errors
614
592
  }
615
593
  }
616
594
  });
617
595
  // graceful shutdown
618
596
  process.on('SIGINT', async () => {
619
597
  console.log(chalk.red('\n🛑 Shutting down...'));
620
- watcher.close();
598
+ await watcher.close();
621
599
  broadcaster.close();
622
600
  server.close();
623
601
  process.exit(0);
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../src/cli/commands/dev.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../../src/cli/commands/dev.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,4 @@
1
1
  #!/usr/bin/env node
2
- /**
3
- * React Client CLI (Vite-like)
4
- * ---------------------------------------
5
- * Supports commands: init, dev, build, preview
6
- * ESM-safe, works with NodeNext and global installs.
7
- */
8
2
  import { Command } from 'commander';
9
3
  declare const program: Command;
10
4
  export default program;
package/dist/cli/index.js CHANGED
@@ -1,28 +1,23 @@
1
1
  #!/usr/bin/env node
2
- /**
3
- * React Client CLI (Vite-like)
4
- * ---------------------------------------
5
- * Supports commands: init, dev, build, preview
6
- * ESM-safe, works with NodeNext and global installs.
7
- */
8
- import { Command } from 'commander';
9
- import path from 'path';
2
+ import { dirname, resolve } from 'path';
10
3
  import fs from 'fs-extra';
11
4
  import chalk from 'chalk';
12
- import { fileURLToPath } from 'url';
5
+ import { Command } from 'commander';
6
+ import { fileURLToPath, pathToFileURL } from 'url';
13
7
  import initCmd from './commands/init.js';
14
8
  import devCmd from './commands/dev.js';
15
9
  import buildCmd from './commands/build.js';
16
10
  import previewCmd from './commands/preview.js';
17
- // Resolve __dirname safely in ESM
11
+ // Polyfill for __dirname in ESM
18
12
  const __filename = fileURLToPath(import.meta.url);
19
- const __dirname = path.dirname(__filename);
20
- // Dynamically load version from package.json
21
- const pkgPath = path.resolve(__dirname, '../../package.json');
13
+ const __dirname = dirname(__filename);
14
+ // Load package.json version dynamically
15
+ const pkgPath = resolve(__dirname, '../../package.json');
16
+ const isMainModule = process.argv[1] && pathToFileURL(process.argv[1]).href === import.meta.url;
22
17
  const pkg = fs.existsSync(pkgPath)
23
18
  ? JSON.parse(fs.readFileSync(pkgPath, 'utf8'))
24
19
  : { version: '0.0.0' };
25
- // 🧠 Banner Display
20
+ // 🧠 Fancy startup banner
26
21
  function showBanner(cmd) {
27
22
  const title = chalk.bold.cyan('⚡ React Client');
28
23
  const version = chalk.gray(`v${pkg.version}`);
@@ -48,52 +43,58 @@ function showBanner(cmd) {
48
43
  console.log();
49
44
  }
50
45
  }
51
- // CLI Setup
46
+ // 🧩 Commander setup
52
47
  const program = new Command();
53
48
  program
54
49
  .name('react-client')
55
- .description('react-client CLI – lightweight React toolkit for fast builds & dev server')
50
+ .description('react-client CLI – A lightweight React toolkit for fast builds & dev server')
56
51
  .version(pkg.version, '-v, --version', 'display version information');
57
- // Commands
52
+ // ------------------------------------------------------
53
+ // CLI Commands
54
+ // ------------------------------------------------------
58
55
  program
59
56
  .command('init <name>')
60
57
  .option('-t, --template <template>', 'choose a template', 'react-ts')
61
58
  .option('--with-config', 'create a config file')
62
59
  .description('initialize a new React project')
63
- .action(async (name, opts) => {
60
+ .action((name, opts) => {
64
61
  showBanner('init');
65
- await initCmd(name, opts);
62
+ initCmd(name, opts);
66
63
  });
67
64
  program
68
65
  .command('dev')
69
- .description('start development server (with React Fast Refresh)')
70
- .action(async () => {
66
+ .description('start dev server (with React Fast Refresh)')
67
+ .action(() => {
71
68
  showBanner('dev');
72
- await devCmd();
69
+ devCmd();
73
70
  });
74
71
  program
75
72
  .command('build')
76
73
  .description('build production assets')
77
- .action(async () => {
74
+ .action(() => {
78
75
  showBanner('build');
79
- await buildCmd();
76
+ buildCmd();
80
77
  });
81
78
  program
82
79
  .command('preview')
83
80
  .description('preview production build')
84
- .action(async () => {
81
+ .action(() => {
85
82
  showBanner('preview');
86
- await previewCmd();
83
+ previewCmd();
87
84
  });
88
- // Handle unknown commands
85
+ // ------------------------------------------------------
86
+ // Default / Unknown command handling
87
+ // ------------------------------------------------------
89
88
  program.on('command:*', () => {
90
89
  console.error(chalk.red('❌ Invalid command:'), program.args.join(' '));
91
90
  console.log();
92
91
  program.outputHelp();
93
92
  process.exit(1);
94
93
  });
95
- // Entry Point (ESM-safe)
96
- if (import.meta.url === `file://${process.argv[1]}`) {
94
+ // ------------------------------------------------------
95
+ // Entry point
96
+ // ------------------------------------------------------
97
+ if (isMainModule) {
97
98
  if (process.argv.length <= 2) {
98
99
  console.clear();
99
100
  showBanner();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,kCAAkC;AAClC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C,6CAA6C;AAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;AAC9D,MAAM,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;IAChC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAEzB,oBAAoB;AACpB,SAAS,UAAU,CAAC,GAAY;IAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IAC7E,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;IAE1F,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,IAAI,OAAO,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAElB,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,CAAC;YAClE,MAAM;QACR,KAAK,KAAK;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;YAChE,MAAM;QACR,KAAK,OAAO;YACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC;YAC/D,MAAM;QACR,KAAK,SAAS;YACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC,CAAC;YACtE,MAAM;QACR;YACE,OAAO,CAAC,GAAG,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAED,YAAY;AACZ,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,cAAc,CAAC;KACpB,WAAW,CAAC,2EAA2E,CAAC;KACxF,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE,6BAA6B,CAAC,CAAC;AAExE,WAAW;AACX,OAAO;KACJ,OAAO,CAAC,aAAa,CAAC;KACtB,MAAM,CAAC,2BAA2B,EAAE,mBAAmB,EAAE,UAAU,CAAC;KACpE,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC;KAC/C,WAAW,CAAC,gCAAgC,CAAC;KAC7C,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,IAAI,EAAE,EAAE;IACnC,UAAU,CAAC,MAAM,CAAC,CAAC;IACnB,MAAM,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,oDAAoD,CAAC;KACjE,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,UAAU,CAAC,KAAK,CAAC,CAAC;IAClB,MAAM,MAAM,EAAE,CAAC;AACjB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,yBAAyB,CAAC;KACtC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,UAAU,CAAC,OAAO,CAAC,CAAC;IACpB,MAAM,QAAQ,EAAE,CAAC;AACnB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,0BAA0B,CAAC;KACvC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,UAAU,CAAC,SAAS,CAAC,CAAC;IACtB,MAAM,UAAU,EAAE,CAAC;AACrB,CAAC,CAAC,CAAC;AAEL,0BAA0B;AAC1B,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;IAC3B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,UAAU,EAAE,CAAC;IACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,yBAAyB;AACzB,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpD,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,EAAE,CAAC;QAChB,UAAU,EAAE,CAAC;QACb,OAAO,CAAC,UAAU,EAAE,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,19 @@
1
- import { WebSocketServer, WebSocket } from 'ws';
1
+ import { WebSocket as NodeWebSocket } from 'ws';
2
2
  import http from 'http';
3
3
  /**
4
- * Generic broadcast message type used across dev runtime and plugins.
5
- * The index signature allows plugins to attach arbitrary keys.
4
+ * Base broadcast message that plugins may extend.
5
+ * Includes an index signature so plugin-defined keys are allowed.
6
6
  */
7
- export type BroadcastMessage = {
7
+ export interface BroadcastMessage {
8
+ /** At minimum every message must have a type string */
8
9
  type: string;
9
10
  [key: string]: unknown;
10
- };
11
+ }
12
+ /**
13
+ * Core HMR message shape — narrows `type` to known HMR events
14
+ * and adds optional fields. It extends BroadcastMessage so it's
15
+ * assignable to the generic constraint.
16
+ */
11
17
  export interface HMRMessage extends BroadcastMessage {
12
18
  type: 'update' | 'error' | 'reload';
13
19
  path?: string;
@@ -15,23 +21,15 @@ export interface HMRMessage extends BroadcastMessage {
15
21
  stack?: string;
16
22
  }
17
23
  /**
18
- * BroadcastManager — shared WebSocket utility for dev/preview/ssr servers.
19
- * Uses `ws` WebSocket instances (Node) not DOM WebSocket.
24
+ * BroadcastManager — Shared WebSocket utility for dev, preview, and SSR servers.
25
+ * Generic over message type T which defaults to HMRMessage.
20
26
  */
21
- export declare class BroadcastManager {
22
- wss: WebSocketServer;
27
+ export declare class BroadcastManager<T extends BroadcastMessage = HMRMessage> {
28
+ private wss;
23
29
  private clients;
24
30
  constructor(server: http.Server);
25
- /**
26
- * Broadcast a message to all connected clients.
27
- */
28
- broadcast(msg: BroadcastMessage): void;
29
- /**
30
- * Send a message to a single client (ws instance from 'ws').
31
- */
32
- send(ws: WebSocket, msg: BroadcastMessage): void;
33
- /**
34
- * Close all WebSocket connections and server.
35
- */
31
+ broadcast(msg: T): void;
32
+ send(ws: NodeWebSocket, msg: T): void;
33
+ getClientCount(): number;
36
34
  close(): void;
37
35
  }
@@ -1,10 +1,8 @@
1
- // src/server/broadcastManager.ts
2
- import { WebSocketServer, WebSocket } from 'ws';
3
- import http from 'http';
1
+ import { WebSocketServer, WebSocket as NodeWebSocket } from 'ws';
4
2
  import chalk from 'chalk';
5
3
  /**
6
- * BroadcastManager — shared WebSocket utility for dev/preview/ssr servers.
7
- * Uses `ws` WebSocket instances (Node) not DOM WebSocket.
4
+ * BroadcastManager — Shared WebSocket utility for dev, preview, and SSR servers.
5
+ * Generic over message type T which defaults to HMRMessage.
8
6
  */
9
7
  export class BroadcastManager {
10
8
  wss;
@@ -13,58 +11,39 @@ export class BroadcastManager {
13
11
  this.wss = new WebSocketServer({ server });
14
12
  this.wss.on('connection', (ws) => {
15
13
  this.clients.add(ws);
16
- console.log(chalk.gray('🔌 HMR client connected'));
17
14
  ws.on('close', () => {
18
15
  this.clients.delete(ws);
19
- console.log(chalk.gray('❎ HMR client disconnected'));
20
16
  });
21
17
  ws.on('error', (err) => {
22
- console.error(chalk.red('⚠️ WebSocket error:'), err?.message ?? err);
18
+ console.error(chalk.red('⚠️ WebSocket error:'), err.message);
23
19
  });
24
20
  });
25
21
  }
26
- /**
27
- * Broadcast a message to all connected clients.
28
- */
29
22
  broadcast(msg) {
30
23
  const data = JSON.stringify(msg);
31
24
  for (const client of this.clients) {
32
- // ws.OPEN === 1
33
- if (client.readyState === WebSocket.OPEN) {
34
- try {
35
- client.send(data);
36
- }
37
- catch {
38
- // ignore send errors per-client
39
- }
25
+ if (client.readyState === NodeWebSocket.OPEN) {
26
+ client.send(data);
40
27
  }
41
28
  }
42
29
  }
43
- /**
44
- * Send a message to a single client (ws instance from 'ws').
45
- */
46
30
  send(ws, msg) {
47
- if (ws.readyState === WebSocket.OPEN) {
31
+ if (ws.readyState === NodeWebSocket.OPEN) {
48
32
  ws.send(JSON.stringify(msg));
49
33
  }
50
34
  }
51
- /**
52
- * Close all WebSocket connections and server.
53
- */
35
+ getClientCount() {
36
+ return this.clients.size;
37
+ }
54
38
  close() {
55
- try {
56
- console.log(chalk.red('🛑 Closing WebSocket connections...'));
57
- this.wss.close();
58
- }
59
- catch {
60
- /* ignore */
61
- }
39
+ console.log(chalk.red('🛑 Closing WebSocket connections...'));
40
+ this.wss.close();
62
41
  for (const ws of this.clients) {
63
42
  try {
64
43
  ws.close();
65
44
  }
66
45
  catch {
67
- // ignore per-client close errors
46
+ // ignore
68
47
  }
69
48
  }
70
49
  this.clients.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"broadcastManager.js","sourceRoot":"","sources":["../../src/server/broadcastManager.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAkB1B;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IACpB,GAAG,CAAkB;IACpB,OAAO,GAAmB,IAAI,GAAG,EAAE,CAAC;IAE5C,YAAY,MAAmB;QAC7B,IAAI,CAAC,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAE3C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAa,EAAE,EAAE;YAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;YAEnD,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAClB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACrB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,OAAO,IAAI,GAAG,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,GAAqB;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACjC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,gBAAgB;YAChB,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBACzC,IAAI,CAAC;oBACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpB,CAAC;gBAAC,MAAM,CAAC;oBACP,gCAAgC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,EAAa,EAAE,GAAqB;QACvC,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YACrC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,EAAE,CAAC,KAAK,EAAE,CAAC;YACb,CAAC;YAAC,MAAM,CAAC;gBACP,iCAAiC;YACnC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"broadcastManager.js","sourceRoot":"","sources":["../../src/server/broadcastManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,IAAI,CAAC;AAEjE,OAAO,KAAK,MAAM,OAAO,CAAC;AAwB1B;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IACnB,GAAG,CAAkB;IACrB,OAAO,GAAuB,IAAI,GAAG,EAAE,CAAC;IAEhD,YAAY,MAAmB;QAC7B,IAAI,CAAC,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAE3C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAiB,EAAE,EAAE;YAC9C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAErB,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAClB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACrB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,GAAM;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACjC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,MAAM,CAAC,UAAU,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC;gBAC7C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,EAAiB,EAAE,GAAM;QAC5B,IAAI,EAAE,CAAC,UAAU,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC;YACzC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,KAAK;QACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC,CAAC;QAC9D,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACjB,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,EAAE,CAAC,KAAK,EAAE,CAAC;YACb,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-client",
3
- "version": "1.0.35",
3
+ "version": "1.0.38",
4
4
  "description": "react-client is a lightweight CLI and runtime for building React apps with fast iteration.",
5
5
  "license": "MIT",
6
6
  "author": "Venkatesh Sundaram",
@@ -61,8 +61,8 @@
61
61
  ],
62
62
  "scripts": {
63
63
  "clean": "rm -rf dist .turbo .react-client.temp.config*",
64
- "compile": "npm run clean && tsc -p tsconfig.build.json",
65
- "build": "npm run clean && tsc -p tsconfig.build.json && node scripts/fix-extensions.mjs",
64
+ "compile": "tsc -p tsconfig.build.json",
65
+ "build": "npm run clean && npm run compile && node scripts/fix-extensions.mjs",
66
66
  "build:cli": "node dist/cli/index.js build",
67
67
  "dev": "node dist/cli/index.js dev",
68
68
  "prepare": "npm run compile",