react-client 1.0.35 → 1.0.37
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 +9 -8
- package/dist/cli/commands/dev.js +119 -144
- 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.js +0 -1
- package/dist/server/broadcastManager.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* dev.ts — Vite-like dev server for react-client
|
|
2
|
+
* dev.ts — Vite-like dev server for react-client (updated)
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
4
|
+
* - resolves package export fields & subpaths (resolveModuleEntry)
|
|
5
|
+
* - prebundles deps into .react-client/deps
|
|
6
|
+
* - serves /@modules/<dep> (prebundled or on-demand esbuild bundle)
|
|
7
|
+
* - serves /src/* with esbuild transform + inline sourcemap
|
|
8
|
+
* - serves local overlay runtime at /@runtime/overlay if src/runtime/overlay-runtime.js exists
|
|
9
|
+
* - /@source-map returns a snippet for overlay mapping
|
|
10
|
+
* - HMR broadcast via BroadcastManager (ws)
|
|
11
|
+
* - plugin system: onTransform, onHotUpdate, onServe, onServerStart
|
|
11
12
|
*/
|
|
12
13
|
export default function dev(): Promise<void>;
|
package/dist/cli/commands/dev.js
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
// src/cli/commands/dev.ts
|
|
2
2
|
/**
|
|
3
|
-
* dev.ts — Vite-like dev server for react-client
|
|
3
|
+
* dev.ts — Vite-like dev server for react-client (updated)
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
5
|
+
* - resolves package export fields & subpaths (resolveModuleEntry)
|
|
6
|
+
* - prebundles deps into .react-client/deps
|
|
7
|
+
* - serves /@modules/<dep> (prebundled or on-demand esbuild bundle)
|
|
8
|
+
* - serves /src/* with esbuild transform + inline sourcemap
|
|
9
|
+
* - serves local overlay runtime at /@runtime/overlay if src/runtime/overlay-runtime.js exists
|
|
10
|
+
* - /@source-map returns a snippet for overlay mapping
|
|
11
|
+
* - HMR broadcast via BroadcastManager (ws)
|
|
12
|
+
* - plugin system: onTransform, onHotUpdate, onServe, onServerStart
|
|
12
13
|
*/
|
|
13
14
|
import esbuild from 'esbuild';
|
|
14
|
-
import connect
|
|
15
|
+
import connect from 'connect';
|
|
15
16
|
import http from 'http';
|
|
16
17
|
import chokidar from 'chokidar';
|
|
17
18
|
import detectPort from 'detect-port';
|
|
@@ -28,21 +29,20 @@ function jsContentType() {
|
|
|
28
29
|
return 'application/javascript; charset=utf-8';
|
|
29
30
|
}
|
|
30
31
|
/**
|
|
31
|
-
* Resolve
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* 4. try common fallback candidates
|
|
32
|
+
* Resolve a package entry robustly:
|
|
33
|
+
* - try require.resolve(id)
|
|
34
|
+
* - try package.json exports field + subpath resolution
|
|
35
|
+
* - fallback to common fields (module/main/browser)
|
|
36
36
|
*/
|
|
37
37
|
async function resolveModuleEntry(id, root) {
|
|
38
|
-
// quick
|
|
38
|
+
// quick path
|
|
39
39
|
try {
|
|
40
40
|
return require.resolve(id, { paths: [root] });
|
|
41
41
|
}
|
|
42
42
|
catch {
|
|
43
43
|
// continue
|
|
44
44
|
}
|
|
45
|
-
// split package root and subpath
|
|
45
|
+
// split package root and possible subpath
|
|
46
46
|
const parts = id.split('/');
|
|
47
47
|
const pkgRoot = parts[0].startsWith('@') ? parts.slice(0, 2).join('/') : parts[0];
|
|
48
48
|
const subPath = parts.slice(pkgRoot.startsWith('@') ? 2 : 1).join('/');
|
|
@@ -51,120 +51,100 @@ async function resolveModuleEntry(id, root) {
|
|
|
51
51
|
pkgJsonPath = require.resolve(`${pkgRoot}/package.json`, { paths: [root] });
|
|
52
52
|
}
|
|
53
53
|
catch {
|
|
54
|
-
// No need to keep unused variable 'err'
|
|
55
54
|
throw new Error(`Package not found: ${pkgRoot}`);
|
|
56
55
|
}
|
|
57
56
|
const pkgDir = path.dirname(pkgJsonPath);
|
|
58
|
-
// Explicitly type pkgJson to avoid 'any'
|
|
59
57
|
let pkgJson = {};
|
|
60
58
|
try {
|
|
61
|
-
const
|
|
62
|
-
pkgJson = JSON.parse(
|
|
59
|
+
const raw = await fs.readFile(pkgJsonPath, 'utf8');
|
|
60
|
+
pkgJson = JSON.parse(raw);
|
|
63
61
|
}
|
|
64
62
|
catch {
|
|
65
|
-
|
|
63
|
+
/* ignore */
|
|
66
64
|
}
|
|
67
|
-
//
|
|
65
|
+
// handle "exports"
|
|
68
66
|
if (pkgJson.exports) {
|
|
69
67
|
const exportsField = pkgJson.exports;
|
|
70
|
-
// If exports is a plain string -> it's the entry
|
|
71
68
|
if (typeof exportsField === 'string') {
|
|
72
|
-
if (!subPath)
|
|
73
|
-
|
|
69
|
+
if (!subPath) {
|
|
70
|
+
const candidate = path.resolve(pkgDir, exportsField);
|
|
71
|
+
if (await fs.pathExists(candidate))
|
|
72
|
+
return candidate;
|
|
73
|
+
}
|
|
74
74
|
}
|
|
75
75
|
else if (exportsField && typeof exportsField === 'object') {
|
|
76
|
-
// Normalize to a record so we can index it safely
|
|
77
76
|
const exportsMap = exportsField;
|
|
78
|
-
|
|
79
|
-
const keyCandidates = [];
|
|
77
|
+
const candidates = [];
|
|
80
78
|
if (subPath) {
|
|
81
|
-
|
|
79
|
+
candidates.push(`./${subPath}`, `./${subPath}.js`, `./${subPath}.mjs`);
|
|
82
80
|
}
|
|
83
|
-
|
|
84
|
-
for (const key of
|
|
81
|
+
candidates.push('.', './index.js', './index.mjs');
|
|
82
|
+
for (const key of candidates) {
|
|
85
83
|
if (!(key in exportsMap))
|
|
86
84
|
continue;
|
|
87
85
|
const entry = exportsMap[key];
|
|
88
|
-
// entry may be string or object like { import: "...", require: "..." }
|
|
89
86
|
let target;
|
|
90
|
-
if (typeof entry === 'string')
|
|
87
|
+
if (typeof entry === 'string')
|
|
91
88
|
target = entry;
|
|
92
|
-
}
|
|
93
89
|
else if (entry && typeof entry === 'object') {
|
|
94
|
-
const
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
target = entryObj.default;
|
|
90
|
+
const obj = entry;
|
|
91
|
+
if (typeof obj.import === 'string')
|
|
92
|
+
target = obj.import;
|
|
93
|
+
else if (typeof obj.default === 'string')
|
|
94
|
+
target = obj.default;
|
|
100
95
|
else {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
if (typeof entryObj[k] === 'string') {
|
|
105
|
-
target = entryObj[k];
|
|
96
|
+
for (const k of Object.keys(obj)) {
|
|
97
|
+
if (typeof obj[k] === 'string') {
|
|
98
|
+
target = obj[k];
|
|
106
99
|
break;
|
|
107
100
|
}
|
|
108
101
|
}
|
|
109
102
|
}
|
|
110
103
|
}
|
|
111
|
-
if (!target
|
|
104
|
+
if (!target)
|
|
112
105
|
continue;
|
|
113
|
-
// Normalize relative paths in exports (remove leading ./)
|
|
114
106
|
const normalized = target.replace(/^\.\//, '');
|
|
115
|
-
const abs = path.isAbsolute(normalized)
|
|
116
|
-
|
|
117
|
-
: path.resolve(pkgDir, normalized);
|
|
118
|
-
if (await fs.pathExists(abs)) {
|
|
107
|
+
const abs = path.isAbsolute(normalized) ? normalized : path.resolve(pkgDir, normalized);
|
|
108
|
+
if (await fs.pathExists(abs))
|
|
119
109
|
return abs;
|
|
120
|
-
}
|
|
121
110
|
}
|
|
122
111
|
}
|
|
123
112
|
}
|
|
124
|
-
//
|
|
113
|
+
// try package subpath resolution
|
|
125
114
|
if (subPath) {
|
|
126
115
|
try {
|
|
127
|
-
|
|
128
|
-
return candidate;
|
|
116
|
+
return require.resolve(`${pkgRoot}/${subPath}`, { paths: [root] });
|
|
129
117
|
}
|
|
130
118
|
catch {
|
|
131
|
-
//
|
|
132
|
-
const
|
|
119
|
+
// check common candidates under package dir
|
|
120
|
+
const cand = [
|
|
133
121
|
path.join(pkgDir, subPath),
|
|
134
|
-
path.join(pkgDir, subPath
|
|
135
|
-
path.join(pkgDir, subPath
|
|
122
|
+
path.join(pkgDir, `${subPath}.js`),
|
|
123
|
+
path.join(pkgDir, `${subPath}.mjs`),
|
|
136
124
|
path.join(pkgDir, subPath, 'index.js'),
|
|
137
125
|
path.join(pkgDir, subPath, 'index.mjs'),
|
|
138
126
|
];
|
|
139
|
-
for (const c of
|
|
127
|
+
for (const c of cand) {
|
|
140
128
|
if (await fs.pathExists(c))
|
|
141
129
|
return c;
|
|
142
130
|
}
|
|
143
131
|
}
|
|
144
132
|
}
|
|
145
|
-
//
|
|
146
|
-
const
|
|
133
|
+
// check common package fields
|
|
134
|
+
const maybeFields = [
|
|
147
135
|
typeof pkgJson.module === 'string' ? pkgJson.module : undefined,
|
|
148
136
|
typeof pkgJson.browser === 'string' ? pkgJson.browser : undefined,
|
|
149
137
|
typeof pkgJson.main === 'string' ? pkgJson.main : undefined,
|
|
150
138
|
];
|
|
151
|
-
for (const
|
|
152
|
-
if (!
|
|
139
|
+
for (const f of maybeFields) {
|
|
140
|
+
if (!f)
|
|
153
141
|
continue;
|
|
154
|
-
const abs = path.isAbsolute(
|
|
142
|
+
const abs = path.isAbsolute(f) ? f : path.resolve(pkgDir, f);
|
|
155
143
|
if (await fs.pathExists(abs))
|
|
156
144
|
return abs;
|
|
157
145
|
}
|
|
158
|
-
throw new Error(`Could not resolve module entry for ${id}`);
|
|
146
|
+
throw new Error(`Could not resolve module entry for "${id}"`);
|
|
159
147
|
}
|
|
160
|
-
/**
|
|
161
|
-
* Wrap the built module for subpath imports:
|
|
162
|
-
* For requests like "/@modules/react-dom/client" — we bundle the resolved file
|
|
163
|
-
* and return it. If the user requested the package root instead, the resolved
|
|
164
|
-
* bundle is returned directly.
|
|
165
|
-
*
|
|
166
|
-
* No hardcoded special cases.
|
|
167
|
-
*/
|
|
168
148
|
function normalizeCacheKey(id) {
|
|
169
149
|
return id.replace(/[\\/]/g, '_');
|
|
170
150
|
}
|
|
@@ -175,7 +155,7 @@ export default async function dev() {
|
|
|
175
155
|
const defaultPort = userConfig.server?.port ?? 2202;
|
|
176
156
|
const cacheDir = path.join(appRoot, '.react-client', 'deps');
|
|
177
157
|
await fs.ensureDir(cacheDir);
|
|
178
|
-
// Detect entry
|
|
158
|
+
// Detect entry
|
|
179
159
|
const possibleEntries = ['src/main.tsx', 'src/main.jsx'].map((p) => path.join(appRoot, p));
|
|
180
160
|
const entry = possibleEntries.find((p) => fs.existsSync(p));
|
|
181
161
|
if (!entry) {
|
|
@@ -183,7 +163,7 @@ export default async function dev() {
|
|
|
183
163
|
process.exit(1);
|
|
184
164
|
}
|
|
185
165
|
const indexHtml = path.join(appRoot, 'index.html');
|
|
186
|
-
// Port
|
|
166
|
+
// Port selection
|
|
187
167
|
const availablePort = await detectPort(defaultPort);
|
|
188
168
|
const port = availablePort;
|
|
189
169
|
if (availablePort !== defaultPort) {
|
|
@@ -193,12 +173,10 @@ export default async function dev() {
|
|
|
193
173
|
message: `Port ${defaultPort} is occupied. Use ${availablePort} instead?`,
|
|
194
174
|
initial: true,
|
|
195
175
|
});
|
|
196
|
-
if (!res.useNewPort)
|
|
197
|
-
console.log('🛑 Dev server cancelled.');
|
|
176
|
+
if (!res.useNewPort)
|
|
198
177
|
process.exit(0);
|
|
199
|
-
}
|
|
200
178
|
}
|
|
201
|
-
// ensure react-refresh runtime
|
|
179
|
+
// ensure react-refresh runtime present (templates often import it)
|
|
202
180
|
try {
|
|
203
181
|
require.resolve('react-refresh/runtime');
|
|
204
182
|
}
|
|
@@ -214,7 +192,7 @@ export default async function dev() {
|
|
|
214
192
|
console.warn(chalk.yellow('⚠️ auto-install failed — please install react-refresh manually.'));
|
|
215
193
|
}
|
|
216
194
|
}
|
|
217
|
-
// Core
|
|
195
|
+
// Core plugin(s)
|
|
218
196
|
const corePlugins = [
|
|
219
197
|
{
|
|
220
198
|
name: 'css-hmr',
|
|
@@ -235,10 +213,10 @@ export default async function dev() {
|
|
|
235
213
|
];
|
|
236
214
|
const userPlugins = Array.isArray(userConfig.plugins) ? userConfig.plugins : [];
|
|
237
215
|
const plugins = [...corePlugins, ...userPlugins];
|
|
238
|
-
//
|
|
216
|
+
// app + caches
|
|
239
217
|
const app = connect();
|
|
240
218
|
const transformCache = new Map();
|
|
241
|
-
//
|
|
219
|
+
// dependency analyzer for prebundling
|
|
242
220
|
async function analyzeGraph(file, seen = new Set()) {
|
|
243
221
|
if (seen.has(file))
|
|
244
222
|
return seen;
|
|
@@ -258,26 +236,22 @@ export default async function dev() {
|
|
|
258
236
|
await analyzeGraph(resolved, seen);
|
|
259
237
|
}
|
|
260
238
|
catch {
|
|
261
|
-
// bare dependency
|
|
262
239
|
seen.add(dep);
|
|
263
240
|
}
|
|
264
241
|
}
|
|
265
242
|
}
|
|
266
243
|
catch {
|
|
267
|
-
// ignore
|
|
244
|
+
// ignore
|
|
268
245
|
}
|
|
269
246
|
return seen;
|
|
270
247
|
}
|
|
271
|
-
// --- Prebundle missing deps (parallel)
|
|
272
248
|
async function prebundleDeps(deps) {
|
|
273
249
|
if (!deps.size)
|
|
274
250
|
return;
|
|
275
251
|
const cached = new Set((await fs.readdir(cacheDir)).map((f) => f.replace(/\.js$/, '')));
|
|
276
252
|
const missing = [...deps].filter((d) => !cached.has(d.replace(/\//g, '_')));
|
|
277
|
-
if (!missing.length)
|
|
278
|
-
console.log(chalk.green('✅ All dependencies prebundled.'));
|
|
253
|
+
if (!missing.length)
|
|
279
254
|
return;
|
|
280
|
-
}
|
|
281
255
|
console.log(chalk.cyan('📦 Prebundling:'), missing.join(', '));
|
|
282
256
|
await Promise.all(missing.map(async (dep) => {
|
|
283
257
|
try {
|
|
@@ -302,7 +276,7 @@ export default async function dev() {
|
|
|
302
276
|
// initial prebundle
|
|
303
277
|
const depsSet = await analyzeGraph(entry);
|
|
304
278
|
await prebundleDeps(depsSet);
|
|
305
|
-
// re-prebundle on package.json
|
|
279
|
+
// re-prebundle on package.json change
|
|
306
280
|
const pkgPath = path.join(appRoot, 'package.json');
|
|
307
281
|
if (await fs.pathExists(pkgPath)) {
|
|
308
282
|
chokidar.watch(pkgPath).on('change', async () => {
|
|
@@ -311,7 +285,7 @@ export default async function dev() {
|
|
|
311
285
|
await prebundleDeps(newDeps);
|
|
312
286
|
});
|
|
313
287
|
}
|
|
314
|
-
// --- Serve /@modules
|
|
288
|
+
// --- Serve /@modules/
|
|
315
289
|
app.use((async (req, res, next) => {
|
|
316
290
|
const url = req.url ?? '';
|
|
317
291
|
if (!url.startsWith('/@modules/'))
|
|
@@ -327,7 +301,7 @@ export default async function dev() {
|
|
|
327
301
|
res.setHeader('Content-Type', jsContentType());
|
|
328
302
|
return res.end(await fs.readFile(cacheFile, 'utf8'));
|
|
329
303
|
}
|
|
330
|
-
// Resolve
|
|
304
|
+
// Resolve real entry (handles exports + subpaths)
|
|
331
305
|
const entryFile = await resolveModuleEntry(id, appRoot);
|
|
332
306
|
const result = await esbuild.build({
|
|
333
307
|
entryPoints: [entryFile],
|
|
@@ -338,7 +312,6 @@ export default async function dev() {
|
|
|
338
312
|
target: ['es2020'],
|
|
339
313
|
});
|
|
340
314
|
const output = result.outputFiles?.[0]?.text ?? '';
|
|
341
|
-
// Write cache and respond
|
|
342
315
|
await fs.writeFile(cacheFile, output, 'utf8');
|
|
343
316
|
res.setHeader('Content-Type', jsContentType());
|
|
344
317
|
res.end(output);
|
|
@@ -348,89 +321,87 @@ export default async function dev() {
|
|
|
348
321
|
res.end(`// Failed to resolve module ${id}: ${err.message}`);
|
|
349
322
|
}
|
|
350
323
|
}));
|
|
351
|
-
// --- Serve runtime overlay
|
|
352
|
-
const
|
|
353
|
-
|
|
324
|
+
// --- Serve overlay runtime: prefer local src/runtime/overlay-runtime.js else inline fallback
|
|
325
|
+
const localOverlayPath = path.join(appRoot, 'src', 'runtime', 'overlay-runtime.js');
|
|
326
|
+
app.use(async (req, res, next) => {
|
|
327
|
+
if (req.url !== RUNTIME_OVERLAY_ROUTE)
|
|
328
|
+
return next();
|
|
329
|
+
try {
|
|
330
|
+
if (await fs.pathExists(localOverlayPath)) {
|
|
331
|
+
res.setHeader('Content-Type', jsContentType());
|
|
332
|
+
return res.end(await fs.readFile(localOverlayPath, 'utf8'));
|
|
333
|
+
}
|
|
334
|
+
// Inline fallback runtime (minimal)
|
|
335
|
+
const inlineRuntime = `
|
|
336
|
+
/* Inline overlay fallback (auto-generated) */
|
|
354
337
|
${(() => {
|
|
355
|
-
|
|
356
|
-
return `
|
|
338
|
+
return `
|
|
357
339
|
const overlayId = "__rc_error_overlay__";
|
|
358
|
-
(function(){
|
|
359
|
-
const style = document.createElement(
|
|
340
|
+
(function(){
|
|
341
|
+
const style = document.createElement('style');
|
|
360
342
|
style.textContent = \`
|
|
361
343
|
#\${overlayId}{position:fixed;inset:0;background:rgba(0,0,0,0.9);color:#fff;font-family:Menlo,Consolas,monospace;font-size:14px;z-index:999999;overflow:auto;padding:24px;}
|
|
362
344
|
#\${overlayId} h2{color:#ff6b6b;margin-bottom:16px;}
|
|
363
|
-
#\${overlayId} pre{background:rgba(255,255,255,0.06);padding:12px;border-radius:6px;overflow:auto;}
|
|
364
345
|
.frame-file{color:#ffa500;cursor:pointer;font-weight:bold;margin-bottom:4px;}
|
|
365
346
|
.line-number{opacity:0.6;margin-right:10px;display:inline-block;width:2em;text-align:right;}
|
|
366
347
|
\`;
|
|
367
348
|
document.head.appendChild(style);
|
|
368
|
-
|
|
369
349
|
async function mapStackFrame(frame){
|
|
370
350
|
const m = frame.match(/(\\/src\\/[^\s:]+):(\\d+):(\\d+)/);
|
|
371
351
|
if(!m) return frame;
|
|
372
|
-
const [,file,line
|
|
352
|
+
const [,file,line] = m;
|
|
373
353
|
try{
|
|
374
|
-
const resp = await fetch(\`/@source-map?file=\${file}&line=\${line}
|
|
354
|
+
const resp = await fetch(\`/@source-map?file=\${file}&line=\${line}\`);
|
|
375
355
|
if(!resp.ok) return frame;
|
|
376
356
|
const pos = await resp.json();
|
|
377
357
|
if(pos.source) return pos;
|
|
378
358
|
}catch(e){}
|
|
379
359
|
return frame;
|
|
380
360
|
}
|
|
381
|
-
|
|
382
|
-
function highlightSimple(s){
|
|
383
|
-
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
|
-
}
|
|
385
|
-
|
|
386
361
|
async function renderOverlay(err){
|
|
387
362
|
const overlay = document.getElementById(overlayId) || document.body.appendChild(Object.assign(document.createElement("div"),{id:overlayId}));
|
|
388
363
|
overlay.innerHTML = "";
|
|
389
364
|
const title = document.createElement("h2");
|
|
390
365
|
title.textContent = "🔥 " + (err.message || "Error");
|
|
391
366
|
overlay.appendChild(title);
|
|
392
|
-
const frames = (err.stack||"").split("\\n").filter(l
|
|
393
|
-
for(const
|
|
394
|
-
const mapped = await mapStackFrame(
|
|
395
|
-
if(typeof mapped ===
|
|
396
|
-
const frameEl = document.createElement("div");
|
|
367
|
+
const frames = (err.stack||"").split("\\n").filter(l=>/src\\//.test(l));
|
|
368
|
+
for(const f of frames){
|
|
369
|
+
const mapped = await mapStackFrame(f);
|
|
370
|
+
if(typeof mapped === 'string') continue;
|
|
397
371
|
const link = document.createElement("div");
|
|
398
372
|
link.className = "frame-file";
|
|
399
373
|
link.textContent = \`\${mapped.source||mapped.file}:\${mapped.line}:\${mapped.column}\`;
|
|
400
|
-
|
|
401
|
-
frameEl.appendChild(link);
|
|
374
|
+
overlay.appendChild(link);
|
|
402
375
|
if(mapped.snippet){
|
|
403
376
|
const pre = document.createElement("pre");
|
|
404
|
-
pre.innerHTML =
|
|
405
|
-
|
|
377
|
+
pre.innerHTML = mapped.snippet;
|
|
378
|
+
overlay.appendChild(pre);
|
|
406
379
|
}
|
|
407
|
-
overlay.appendChild(frameEl);
|
|
408
380
|
}
|
|
409
381
|
}
|
|
410
|
-
|
|
411
382
|
window.showErrorOverlay = (err)=>renderOverlay(err);
|
|
412
383
|
window.clearErrorOverlay = ()=>document.getElementById(overlayId)?.remove();
|
|
413
|
-
window.addEventListener("error", e
|
|
414
|
-
window.addEventListener("unhandledrejection", e
|
|
384
|
+
window.addEventListener("error", e=>window.showErrorOverlay?.(e.error||e));
|
|
385
|
+
window.addEventListener("unhandledrejection", e=>window.showErrorOverlay?.(e.reason||e));
|
|
415
386
|
})();
|
|
416
387
|
`;
|
|
417
|
-
|
|
388
|
+
})()}
|
|
418
389
|
`;
|
|
419
|
-
app.use(async (req, res, next) => {
|
|
420
|
-
if (req.url === RUNTIME_OVERLAY_ROUTE) {
|
|
421
390
|
res.setHeader('Content-Type', jsContentType());
|
|
422
|
-
return res.end(
|
|
391
|
+
return res.end(inlineRuntime);
|
|
392
|
+
}
|
|
393
|
+
catch (err) {
|
|
394
|
+
res.writeHead(500);
|
|
395
|
+
res.end(`// overlay serve error: ${err.message}`);
|
|
423
396
|
}
|
|
424
|
-
next();
|
|
425
397
|
});
|
|
426
|
-
// ---
|
|
398
|
+
// --- /@source-map: return snippet around requested line
|
|
427
399
|
app.use((async (req, res, next) => {
|
|
428
400
|
const url = req.url ?? '';
|
|
429
401
|
if (!url.startsWith('/@source-map'))
|
|
430
402
|
return next();
|
|
431
403
|
try {
|
|
432
|
-
const
|
|
433
|
-
const parsed = new URL(full, `http://localhost:${port}`);
|
|
404
|
+
const parsed = new URL(url, `http://localhost:${port}`);
|
|
434
405
|
const file = parsed.searchParams.get('file') ?? '';
|
|
435
406
|
const lineNum = Number(parsed.searchParams.get('line') ?? '0') || 0;
|
|
436
407
|
if (!file) {
|
|
@@ -463,7 +434,7 @@ const overlayId = "__rc_error_overlay__";
|
|
|
463
434
|
res.end(JSON.stringify({ error: err.message }));
|
|
464
435
|
}
|
|
465
436
|
}));
|
|
466
|
-
// Serve /src/* files (transform
|
|
437
|
+
// --- Serve /src/* files (on-the-fly transform + bare import rewrite)
|
|
467
438
|
app.use((async (req, res, next) => {
|
|
468
439
|
const url = req.url ?? '';
|
|
469
440
|
if (!url.startsWith('/src/') && !url.endsWith('.css'))
|
|
@@ -481,9 +452,9 @@ const overlayId = "__rc_error_overlay__";
|
|
|
481
452
|
if (!found)
|
|
482
453
|
return next();
|
|
483
454
|
try {
|
|
484
|
-
//
|
|
455
|
+
// cached transform
|
|
485
456
|
if (transformCache.has(found)) {
|
|
486
|
-
res.setHeader('Content-Type',
|
|
457
|
+
res.setHeader('Content-Type', jsContentType());
|
|
487
458
|
res.end(transformCache.get(found));
|
|
488
459
|
return;
|
|
489
460
|
}
|
|
@@ -495,13 +466,14 @@ const overlayId = "__rc_error_overlay__";
|
|
|
495
466
|
// plugin transforms
|
|
496
467
|
for (const p of plugins) {
|
|
497
468
|
if (p.onTransform) {
|
|
469
|
+
// allow plugin transform to return string
|
|
498
470
|
// eslint-disable-next-line no-await-in-loop
|
|
499
471
|
const out = await p.onTransform(code, found);
|
|
500
472
|
if (typeof out === 'string')
|
|
501
473
|
code = out;
|
|
502
474
|
}
|
|
503
475
|
}
|
|
504
|
-
//
|
|
476
|
+
// loader
|
|
505
477
|
const ext = path.extname(found).toLowerCase();
|
|
506
478
|
const loader = ext === '.ts' ? 'ts' : ext === '.tsx' ? 'tsx' : ext === '.jsx' ? 'jsx' : 'js';
|
|
507
479
|
const result = await esbuild.transform(code, {
|
|
@@ -519,7 +491,7 @@ const overlayId = "__rc_error_overlay__";
|
|
|
519
491
|
res.end(`// transform error: ${e.message}`);
|
|
520
492
|
}
|
|
521
493
|
}));
|
|
522
|
-
// Serve index.html
|
|
494
|
+
// --- Serve index.html and inject overlay + HMR client (if not already)
|
|
523
495
|
app.use((async (req, res, next) => {
|
|
524
496
|
const url = req.url ?? '';
|
|
525
497
|
if (url !== '/' && url !== '/index.html')
|
|
@@ -530,7 +502,6 @@ const overlayId = "__rc_error_overlay__";
|
|
|
530
502
|
}
|
|
531
503
|
try {
|
|
532
504
|
let html = await fs.readFile(indexHtml, 'utf8');
|
|
533
|
-
// inject runtime overlay and HMR client if not present
|
|
534
505
|
if (!html.includes(RUNTIME_OVERLAY_ROUTE)) {
|
|
535
506
|
html = html.replace('</body>', `\n<script type="module" src="${RUNTIME_OVERLAY_ROUTE}"></script>\n<script type="module">
|
|
536
507
|
const ws = new WebSocket("ws://" + location.host);
|
|
@@ -553,24 +524,27 @@ const overlayId = "__rc_error_overlay__";
|
|
|
553
524
|
res.end(`// html read error: ${err.message}`);
|
|
554
525
|
}
|
|
555
526
|
}));
|
|
556
|
-
// HMR WebSocket
|
|
527
|
+
// HMR WebSocket + BroadcastManager
|
|
557
528
|
const server = http.createServer(app);
|
|
558
529
|
const broadcaster = new BroadcastManager(server);
|
|
559
|
-
// Watcher
|
|
530
|
+
// Watcher for src — plugin onHotUpdate + broadcast update
|
|
560
531
|
const watcher = chokidar.watch(path.join(appRoot, 'src'), { ignoreInitial: true });
|
|
561
532
|
watcher.on('change', async (file) => {
|
|
562
533
|
transformCache.delete(file);
|
|
563
|
-
// plugin hook onHotUpdate
|
|
564
534
|
for (const p of plugins) {
|
|
565
535
|
if (p.onHotUpdate) {
|
|
566
536
|
try {
|
|
537
|
+
// plugin receives broadcast helper
|
|
538
|
+
// cast to PluginHotUpdateContext (safe wrapper)
|
|
567
539
|
// eslint-disable-next-line no-await-in-loop
|
|
568
540
|
await p.onHotUpdate(file, {
|
|
569
|
-
broadcast: (m) =>
|
|
541
|
+
broadcast: (m) => {
|
|
542
|
+
broadcaster.broadcast(m);
|
|
543
|
+
},
|
|
570
544
|
});
|
|
571
545
|
}
|
|
572
546
|
catch (err) {
|
|
573
|
-
// plugin
|
|
547
|
+
// log plugin error but continue
|
|
574
548
|
// eslint-disable-next-line no-console
|
|
575
549
|
console.warn('plugin onHotUpdate error:', err.message);
|
|
576
550
|
}
|
|
@@ -587,8 +561,9 @@ const overlayId = "__rc_error_overlay__";
|
|
|
587
561
|
console.log(chalk.cyan.bold('\n🚀 React Client Dev Server'));
|
|
588
562
|
console.log(chalk.gray('──────────────────────────────'));
|
|
589
563
|
console.log(chalk.green(`⚡ Running at: ${url}`));
|
|
590
|
-
// open if not explicitly disabled
|
|
591
|
-
|
|
564
|
+
// open if not explicitly disabled. using safe cast to allow unknown shape of userConfig.server
|
|
565
|
+
const shouldOpen = userConfig.server?.open !== false;
|
|
566
|
+
if (shouldOpen) {
|
|
592
567
|
try {
|
|
593
568
|
await open(url);
|
|
594
569
|
}
|
|
@@ -604,7 +579,7 @@ const overlayId = "__rc_error_overlay__";
|
|
|
604
579
|
httpServer: server,
|
|
605
580
|
broadcast: (m) => broadcaster.broadcast(m),
|
|
606
581
|
};
|
|
607
|
-
// plugin
|
|
582
|
+
// plugin serve/start hooks
|
|
608
583
|
for (const p of plugins) {
|
|
609
584
|
if (p.onServe) {
|
|
610
585
|
await p.onServe(ctx);
|
|
@@ -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 +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;
|
|
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;AAEhD,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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-client",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.37",
|
|
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",
|