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.
- package/dist/cli/commands/dev.d.ts +8 -8
- package/dist/cli/commands/dev.js +61 -83
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/index.d.ts +0 -6
- package/dist/cli/index.js +30 -29
- package/dist/cli/index.js.map +1 -1
- package/dist/server/broadcastManager.d.ts +18 -20
- package/dist/server/broadcastManager.js +13 -34
- package/dist/server/broadcastManager.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* dev.ts —
|
|
2
|
+
* dev.ts — dev server for react-client
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
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>;
|
package/dist/cli/commands/dev.js
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
// src/cli/commands/dev.ts
|
|
2
1
|
/**
|
|
3
|
-
* dev.ts —
|
|
2
|
+
* dev.ts — dev server for react-client
|
|
4
3
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
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
|
|
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
|
|
180
|
-
const entry =
|
|
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
|
-
//
|
|
193
|
+
// Select port
|
|
187
194
|
const availablePort = await detectPort(defaultPort);
|
|
188
195
|
const port = availablePort;
|
|
189
196
|
if (availablePort !== defaultPort) {
|
|
190
|
-
const
|
|
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 (!
|
|
203
|
+
if (!response.useNewPort) {
|
|
197
204
|
console.log('🛑 Dev server cancelled.');
|
|
198
205
|
process.exit(0);
|
|
199
206
|
}
|
|
200
207
|
}
|
|
201
|
-
//
|
|
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('⚠️
|
|
221
|
+
console.warn(chalk.yellow('⚠️ automatic install of react-refresh failed; continuing without it.'));
|
|
215
222
|
}
|
|
216
223
|
}
|
|
217
|
-
//
|
|
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(
|
|
233
|
+
const style = document.createElement("style");
|
|
227
234
|
style.textContent = css;
|
|
228
235
|
document.head.appendChild(style);
|
|
229
|
-
|
|
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
|
-
//
|
|
278
|
+
// Prebundle dependencies into cache dir (parallel)
|
|
272
279
|
async function prebundleDeps(deps) {
|
|
273
280
|
if (!deps.size)
|
|
274
281
|
return;
|
|
275
|
-
const
|
|
276
|
-
const
|
|
277
|
-
|
|
278
|
-
|
|
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
|
|
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
|
-
//
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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(
|
|
477
|
-
found =
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
//
|
|
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
|
|
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
|
-
|
|
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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"}
|
package/dist/cli/index.d.ts
CHANGED
|
@@ -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 {
|
|
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
|
-
//
|
|
11
|
+
// Polyfill for __dirname in ESM
|
|
18
12
|
const __filename = fileURLToPath(import.meta.url);
|
|
19
|
-
const __dirname =
|
|
20
|
-
//
|
|
21
|
-
const pkgPath =
|
|
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
|
-
// 🧠
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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(
|
|
60
|
+
.action((name, opts) => {
|
|
64
61
|
showBanner('init');
|
|
65
|
-
|
|
62
|
+
initCmd(name, opts);
|
|
66
63
|
});
|
|
67
64
|
program
|
|
68
65
|
.command('dev')
|
|
69
|
-
.description('start
|
|
70
|
-
.action(
|
|
66
|
+
.description('start dev server (with React Fast Refresh)')
|
|
67
|
+
.action(() => {
|
|
71
68
|
showBanner('dev');
|
|
72
|
-
|
|
69
|
+
devCmd();
|
|
73
70
|
});
|
|
74
71
|
program
|
|
75
72
|
.command('build')
|
|
76
73
|
.description('build production assets')
|
|
77
|
-
.action(
|
|
74
|
+
.action(() => {
|
|
78
75
|
showBanner('build');
|
|
79
|
-
|
|
76
|
+
buildCmd();
|
|
80
77
|
});
|
|
81
78
|
program
|
|
82
79
|
.command('preview')
|
|
83
80
|
.description('preview production build')
|
|
84
|
-
.action(
|
|
81
|
+
.action(() => {
|
|
85
82
|
showBanner('preview');
|
|
86
|
-
|
|
83
|
+
previewCmd();
|
|
87
84
|
});
|
|
88
|
-
//
|
|
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
|
-
//
|
|
96
|
-
|
|
94
|
+
// ------------------------------------------------------
|
|
95
|
+
// Entry point
|
|
96
|
+
// ------------------------------------------------------
|
|
97
|
+
if (isMainModule) {
|
|
97
98
|
if (process.argv.length <= 2) {
|
|
98
99
|
console.clear();
|
|
99
100
|
showBanner();
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { WebSocket as NodeWebSocket } from 'ws';
|
|
2
2
|
import http from 'http';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Base broadcast message that plugins may extend.
|
|
5
|
+
* Includes an index signature so plugin-defined keys are allowed.
|
|
6
6
|
*/
|
|
7
|
-
export
|
|
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 —
|
|
19
|
-
*
|
|
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
|
|
27
|
+
export declare class BroadcastManager<T extends BroadcastMessage = HMRMessage> {
|
|
28
|
+
private wss;
|
|
23
29
|
private clients;
|
|
24
30
|
constructor(server: http.Server);
|
|
25
|
-
|
|
26
|
-
|
|
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
|
-
|
|
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 —
|
|
7
|
-
*
|
|
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
|
|
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
|
-
|
|
33
|
-
|
|
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 ===
|
|
31
|
+
if (ws.readyState === NodeWebSocket.OPEN) {
|
|
48
32
|
ws.send(JSON.stringify(msg));
|
|
49
33
|
}
|
|
50
34
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
35
|
+
getClientCount() {
|
|
36
|
+
return this.clients.size;
|
|
37
|
+
}
|
|
54
38
|
close() {
|
|
55
|
-
|
|
56
|
-
|
|
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
|
|
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,
|
|
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.
|
|
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": "
|
|
65
|
-
"build": "npm run clean &&
|
|
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",
|