@infodb/revx 1.0.0 → 1.0.1

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/README.md CHANGED
@@ -162,496 +162,11 @@ revx init --simple
162
162
  revx init --output my-config.yaml
163
163
  ```
164
164
 
165
- ## Configuration
165
+ ## Documentation
166
166
 
167
- ### Basic Configuration
168
-
169
- ```yaml
170
- server:
171
- port: 3000
172
- host: 0.0.0.0
173
- name: "My Reverse Proxy"
174
-
175
- routes:
176
- - path: "/api/*"
177
- target: "http://localhost:4000"
178
- pathRewrite:
179
- "^/api": ""
180
- ```
181
-
182
- ### Global Settings
183
-
184
- ```yaml
185
- global:
186
- # Max concurrent sockets (default: 256)
187
- # Increase for better performance with dev servers like Vite
188
- maxSockets: 512
189
-
190
- cors:
191
- enabled: true
192
- origin: "*"
193
- methods: ["GET", "POST", "PUT", "DELETE", "OPTIONS"]
194
- credentials: true
195
-
196
- logging:
197
- enabled: true
198
- format: "combined" # combined | dev | common | short | tiny
199
- ```
200
-
201
- ### Performance Tuning
202
-
203
- #### Max Sockets Configuration
204
-
205
- When proxying to development servers like Vite that serve many files concurrently, you may need to increase the maximum number of concurrent sockets:
206
-
207
- ```yaml
208
- server:
209
- maxSockets: 512 # Can be set at server level
210
-
211
- # OR
212
-
213
- global:
214
- maxSockets: 512 # Can be set globally
215
- ```
216
-
217
- **Default**: 256
218
-
219
- **When to increase**:
220
- - Proxying to Vite or similar dev servers
221
- - Serving applications with many static assets
222
- - High concurrent request scenarios
223
-
224
- **Note**: The `server.maxSockets` takes precedence over `global.maxSockets` if both are set.
225
-
226
- ### Route Configuration
227
-
228
- **Important:** Routes are automatically sorted by specificity when loaded. You don't need to worry about the order in your YAML file - the most specific routes (longest paths) will always be matched first.
229
-
230
- For example:
231
- ```yaml
232
- routes:
233
- # These will be automatically reordered
234
- - path: "/" # Will match last
235
- target: "http://static"
236
-
237
- - path: "/api/v1/users/*" # Will match first (most specific)
238
- target: "http://users-api"
239
-
240
- - path: "/api/*" # Will match after /api/v1/users/*
241
- target: "http://api"
242
- ```
243
-
244
- The automatic sorting order:
245
- 1. Longest paths first
246
- 2. Paths with fewer wildcards (more specific)
247
- 3. Alphabetical order for equal paths
248
-
249
- #### Simple Proxy
250
-
251
- ```yaml
252
- routes:
253
- - path: "/api/*"
254
- target: "http://api.example.com"
255
- changeOrigin: true
256
- pathRewrite:
257
- "^/api": ""
258
- ```
259
-
260
- #### Vite Middleware (NEW!)
261
-
262
- Native Vite integration using middleware mode - the best way to serve multiple Vite projects:
263
-
264
- ```yaml
265
- routes:
266
- - path: "/app1"
267
- vite:
268
- root: "./projects/app1"
269
- base: "/app1"
270
- configFile: "./projects/app1/vite.config.ts" # optional
271
- ```
272
-
273
- **Why use Vite middleware instead of proxy?**
274
- - Full HMR support without WebSocket configuration
275
- - No proxy overhead - native Vite performance
276
- - Multiple Vite projects on a single port
277
- - Better error messages and development experience
278
-
279
- **Requirements:**
280
- - Vite must be installed: `npm install vite` or `pnpm add vite`
281
- - Each Vite project must have its own directory with a valid configuration
282
-
283
- **Multiple Vite projects example:**
284
- ```yaml
285
- routes:
286
- - path: "/dashboard"
287
- vite:
288
- root: "./apps/dashboard"
289
- base: "/dashboard"
290
-
291
- - path: "/admin"
292
- vite:
293
- root: "./apps/admin"
294
- base: "/admin"
295
-
296
- - path: "/api/*"
297
- target: "http://localhost:4000"
298
- ```
299
-
300
- #### WebSocket Proxy
301
-
302
- WebSocket support is critical for Hot Module Replacement (HMR) with development servers like Vite:
303
-
304
- ```yaml
305
- routes:
306
- - path: "/ws"
307
- target: "ws://websocket.example.com"
308
- ws: true
309
- changeOrigin: true
310
- ```
311
-
312
- #### Static File Serving
313
-
314
- Serve static files directly without proxying (useful for `vite build --watch` output):
315
-
316
- ```yaml
317
- routes:
318
- - path: "/*"
319
- static: "./dist"
320
- ```
321
-
322
- **Combined with API proxy:**
323
- ```yaml
324
- routes:
325
- # API requests go to backend
326
- - path: "/api/*"
327
- target: "http://localhost:4000"
328
- pathRewrite:
329
- "^/api": ""
330
-
331
- # Static files from Vite build
332
- - path: "/*"
333
- static: "./dist"
334
- ```
335
-
336
- **Use case: Vite build --watch**
337
- ```bash
338
- # Terminal 1: Run Vite in build watch mode
339
- vite build --watch
340
-
341
- # Terminal 2: Run revx to serve the built files
342
- revx start
343
- ```
344
-
345
- This serves pre-built static files, avoiding proxy-related errors that can occur with Vite dev server.
346
-
347
- ### Environment Variables
348
-
349
- Use `${VARIABLE_NAME}` syntax to reference environment variables:
350
-
351
- ```yaml
352
- server:
353
- port: ${PORT}
354
-
355
- routes:
356
- - path: "/api/*"
357
- target: "${API_URL}"
358
- ```
359
-
360
- Then run:
361
-
362
- ```bash
363
- PORT=3000 API_URL=http://api.example.com revx start
364
- ```
365
-
366
- ## Examples
367
-
368
- ### Microservices Gateway
369
-
370
- ```yaml
371
- server:
372
- port: 8080
373
- name: "Microservices Gateway"
374
-
375
- routes:
376
- - path: "/users/*"
377
- target: "http://user-service:3001"
378
- pathRewrite:
379
- "^/users": ""
380
-
381
- - path: "/products/*"
382
- target: "http://product-service:3002"
383
- pathRewrite:
384
- "^/products": ""
385
-
386
- - path: "/orders/*"
387
- target: "http://order-service:3003"
388
- pathRewrite:
389
- "^/orders": ""
390
- ```
391
-
392
- ### Development Proxy
393
-
394
- ```yaml
395
- server:
396
- port: 3000
397
-
398
- global:
399
- cors:
400
- enabled: true
401
- origin: "http://localhost:5173"
402
-
403
- routes:
404
- - path: "/api/*"
405
- target: "http://localhost:4000"
406
- pathRewrite:
407
- "^/api": ""
408
-
409
- - path: "/ws"
410
- target: "ws://localhost:4000"
411
- ws: true
412
- ```
413
-
414
- ### Vite Development Server Proxy
415
-
416
- ```yaml
417
- server:
418
- port: 3000
419
- # Increase max sockets for Vite's many concurrent requests
420
- maxSockets: 512
421
-
422
- global:
423
- cors:
424
- enabled: true
425
- origin: "http://localhost:5173"
426
-
427
- routes:
428
- # Proxy API requests to backend
429
- - path: "/api/*"
430
- target: "http://localhost:4000"
431
- pathRewrite:
432
- "^/api": ""
433
-
434
- # Proxy everything else to Vite dev server
435
- - path: "/*"
436
- target: "http://localhost:5173"
437
- ws: true # Enable WebSocket for HMR
438
- changeOrigin: true
439
- ```
440
-
441
- ### Multi-Vite Project Setup (Recommended)
442
-
443
- ```yaml
444
- server:
445
- port: 3000
446
- name: "Multi-App Dev Server"
447
- maxSockets: 512
448
-
449
- global:
450
- cors:
451
- enabled: true
452
- origin: "*"
453
-
454
- routes:
455
- # App 1 - Customer Portal (Vite)
456
- - path: "/portal"
457
- vite:
458
- root: "./apps/portal"
459
- base: "/portal"
460
-
461
- # App 2 - Admin Dashboard (Vite)
462
- - path: "/admin"
463
- vite:
464
- root: "./apps/admin"
465
- base: "/admin"
466
-
467
- # Shared API backend
468
- - path: "/api/*"
469
- target: "http://localhost:4000"
470
- pathRewrite:
471
- "^/api": ""
472
- ```
473
-
474
- This setup allows you to:
475
- - Run multiple Vite projects on one port
476
- - Share a single backend API across all apps
477
- - Get full HMR support for all apps
478
- - Develop in a monorepo-friendly way
479
-
480
- ### Mixed Development Servers (Vite + webpack)
481
-
482
- Migrate gradually or mix different build tools:
483
-
484
- ```yaml
485
- server:
486
- port: 3000
487
- maxSockets: 512
488
-
489
- routes:
490
- # New app - using Vite
491
- - path: "/new-app"
492
- vite:
493
- root: "./apps/new-app"
494
- base: "/new-app"
495
-
496
- # Legacy app - still on webpack dev server
497
- - path: "/legacy/*"
498
- target: "http://localhost:8080"
499
- ws: true # Enable WebSocket for webpack HMR
500
- changeOrigin: true
501
-
502
- # Another legacy app - using Parcel
503
- - path: "/old-dashboard/*"
504
- target: "http://localhost:1234"
505
- ws: true
506
- changeOrigin: true
507
-
508
- # Backend API
509
- - path: "/api/*"
510
- target: "http://localhost:4000"
511
- pathRewrite:
512
- "^/api": ""
513
-
514
- # Static documentation
515
- - path: "/docs"
516
- static: "./public/docs"
517
- ```
518
-
519
- **Usage:**
520
- ```bash
521
- # Terminal 1: Start webpack dev server
522
- cd apps/legacy && npm run dev # runs on :8080
523
-
524
- # Terminal 2: Start Parcel
525
- cd apps/old-dashboard && npm run dev # runs on :1234
526
-
527
- # Terminal 3: Start backend
528
- cd api && npm run dev # runs on :4000
529
-
530
- # Terminal 4: Start revx (unifies everything)
531
- npx revx start
532
- ```
533
-
534
- Now access everything at `http://localhost:3000`:
535
- - `/new-app` - Vite with native HMR ⚡
536
- - `/legacy` - webpack via proxy 🔌
537
- - `/old-dashboard` - Parcel via proxy 🔌
538
- - `/api` - Backend API 🔌
539
- - `/docs` - Static files 📁
540
-
541
- ### Vite Build Watch Mode
542
-
543
- ```yaml
544
- server:
545
- port: 3000
546
-
547
- routes:
548
- # Proxy API requests to backend
549
- - path: "/api/*"
550
- target: "http://localhost:4000"
551
- pathRewrite:
552
- "^/api": ""
553
-
554
- # Serve static files built by Vite
555
- - path: "/*"
556
- static: "./dist"
557
- ```
558
-
559
- Run with:
560
- ```bash
561
- # Terminal 1: Build and watch
562
- vite build --watch
563
-
564
- # Terminal 2: Serve with revx
565
- revx start
566
- ```
567
-
568
- ## Troubleshooting
569
-
570
- ### When to use each route type?
571
-
572
- **Vite middleware (`vite` config) - RECOMMENDED for Vite projects:**
573
- ```yaml
574
- - path: "/app"
575
- vite:
576
- root: "./apps/myapp"
577
- ```
578
- - ✅ Best for: Your own Vite projects in the monorepo
579
- - ✅ Native HMR with no configuration
580
- - ✅ No proxy overhead
581
- - ✅ Full Vite dev server features
582
-
583
- **Reverse proxy (`target` config) - For external/non-Vite servers:**
584
- ```yaml
585
- - path: "/legacy"
586
- target: "http://localhost:8080"
587
- ws: true
588
- ```
589
- - ✅ Best for: webpack, Parcel, external APIs, legacy apps
590
- - ✅ Preserve HMR via WebSocket proxy
591
- - ✅ Don't need to modify the target server
592
-
593
- **Static files (`static` config) - For built assets:**
594
- ```yaml
595
- - path: "/docs"
596
- static: "./dist"
597
- ```
598
- - ✅ Best for: Documentation, pre-built assets, `vite build --watch` output
599
- - ✅ No processing overhead
600
- - ✅ Production-like serving
601
-
602
- ### Common Issues
603
-
604
- **Error: "Vite root directory not found"**
605
- - Check that the `root` path in your config exists
606
- - Use relative paths from where you run `revx start`
607
- - Example: If config is in project root, use `./apps/myapp` not `/apps/myapp`
608
-
609
- **Multiple Vite servers slow to start**
610
- - This is normal - each Vite server initializes independently
611
- - Use `--verbose` to see progress
612
- - First startup is slower (dependency pre-bundling)
613
-
614
- **HMR not working for proxied webpack app**
615
- - Make sure `ws: true` is set in the route config
616
- - Check that the webpack dev server is actually running
617
- - Verify WebSocket connection in browser dev tools
618
- - No additional webpack configuration needed - revx handles WebSocket upgrade automatically
619
-
620
- **Does webpack need special configuration?**
621
- - No! Just add `ws: true` in revx config
622
- - revx automatically handles WebSocket upgrade requests
623
- - Your existing webpack dev server config works as-is
624
-
625
- ### Performance Issues with Dev Servers
626
-
627
- If you experience slow loading or timeouts when proxying to Vite or similar dev servers:
628
-
629
- 1. **Increase max sockets**:
630
- ```yaml
631
- server:
632
- maxSockets: 512 # or higher
633
- ```
634
-
635
- 2. **Use verbose mode** to check socket configuration:
636
- ```bash
637
- revx start --verbose
638
- ```
639
-
640
- 3. **Check the log output** for "Max sockets configured: XXX"
641
-
642
- ### Common Issues
643
-
644
- **Q: Routes not matching correctly**
645
- - Routes are automatically sorted by specificity (longest first)
646
- - Use `--verbose` mode to see the sorted route order
647
-
648
- **Q: Path not being rewritten**
649
- - `pathRewrite` is optional; paths are preserved by default
650
- - Only use `pathRewrite` when you need to modify the path
651
-
652
- **Q: CORS errors**
653
- - Enable CORS in global config
654
- - Check the `origin` setting matches your client URL
167
+ - **[Configuration Reference](./docs/CONFIGURATION.md)** - Detailed configuration options and performance tuning
168
+ - **[Examples](./docs/EXAMPLES.md)** - Real-world configuration examples for various use cases
169
+ - **[Troubleshooting](./docs/TROUBLESHOOTING.md)** - Common issues and solutions
655
170
 
656
171
  ## Development
657
172
 
@@ -99,13 +99,30 @@ async function startServer(app, config, viteManager, proxyManager, logger) {
99
99
  const port = config.server.port;
100
100
  const host = config.server.host || '0.0.0.0';
101
101
  const server = createServer(app);
102
- // Handle WebSocket upgrade requests for proxied routes
102
+ // Handle WebSocket upgrade requests for Vite HMR and proxied routes
103
103
  server.on('upgrade', (req, socket, head) => {
104
+ const urlPath = req.url || '/';
105
+ // First, check if this is a Vite HMR WebSocket request
106
+ const viteServers = viteManager.getAllServers();
107
+ for (const { path, server: viteServer } of viteServers) {
108
+ // Vite HMR WebSocket connections are typically at the base path or /@vite/client
109
+ if (urlPath.startsWith(path)) {
110
+ logger.verbose(`Vite HMR WebSocket upgrade: ${urlPath} (route: ${path})`);
111
+ // Access the underlying ws WebSocketServer instance
112
+ const wss = viteServer.ws.wss;
113
+ if (wss && wss.handleUpgrade) {
114
+ wss.handleUpgrade(req, socket, head, (ws) => {
115
+ wss.emit('connection', ws, req);
116
+ });
117
+ return;
118
+ }
119
+ }
120
+ }
121
+ // Then check for proxied WebSocket routes
104
122
  const proxies = proxyManager.getProxies();
105
123
  for (const { middleware, route } of proxies) {
106
124
  if (route.ws) {
107
125
  // Check if the request URL matches the proxy route
108
- const urlPath = req.url || '/';
109
126
  const routePath = route.path.replace(/\/\*$/, ''); // Remove trailing /*
110
127
  if (urlPath.startsWith(routePath)) {
111
128
  logger.verbose(`WebSocket upgrade: ${urlPath} -> ${route.target}`);
@@ -115,7 +132,7 @@ async function startServer(app, config, viteManager, proxyManager, logger) {
115
132
  }
116
133
  }
117
134
  }
118
- // If no proxy matched, close the socket
135
+ // If no route matched, close the socket
119
136
  logger.verbose(`WebSocket upgrade failed: no matching route for ${req.url}`);
120
137
  socket.destroy();
121
138
  });
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -7,7 +7,7 @@ const program = new Command();
7
7
  program
8
8
  .name('revx')
9
9
  .description('Multi-Vite project development server')
10
- .version('1.0.0');
10
+ .version('1.0.1');
11
11
  program
12
12
  .command('start')
13
13
  .description('Start the reverse proxy server')
@@ -10,5 +10,9 @@ export declare class ViteMiddlewareManager {
10
10
  cleanup(): Promise<void>;
11
11
  getServer(path: string): ViteDevServer | undefined;
12
12
  getServerCount(): number;
13
+ getAllServers(): Array<{
14
+ path: string;
15
+ server: ViteDevServer;
16
+ }>;
13
17
  }
14
18
  //# sourceMappingURL=vite-middleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vite-middleware.d.ts","sourceRoot":"","sources":["../../src/utils/vite-middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA8B,MAAM,MAAM,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,qBAAa,qBAAqB;IAGpB,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,WAAW,CAAyC;gBAExC,MAAM,EAAE,MAAM;IAE5B,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC;IA+CjE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAU9B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIlD,cAAc,IAAI,MAAM;CAGzB"}
1
+ {"version":3,"file":"vite-middleware.d.ts","sourceRoot":"","sources":["../../src/utils/vite-middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA8B,MAAM,MAAM,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,qBAAa,qBAAqB;IAGpB,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,WAAW,CAAyC;gBAExC,MAAM,EAAE,MAAM;IAE5B,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC;IA+CjE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAU9B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIlD,cAAc,IAAI,MAAM;IAIxB,aAAa,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,aAAa,CAAA;KAAE,CAAC;CAMhE"}
@@ -59,5 +59,11 @@ export class ViteMiddlewareManager {
59
59
  getServerCount() {
60
60
  return this.viteServers.size;
61
61
  }
62
+ getAllServers() {
63
+ return Array.from(this.viteServers.entries()).map(([path, server]) => ({
64
+ path,
65
+ server,
66
+ }));
67
+ }
62
68
  }
63
69
  //# sourceMappingURL=vite-middleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vite-middleware.js","sourceRoot":"","sources":["../../src/utils/vite-middleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vite-middleware.js","sourceRoot":"","sources":["../../src/utils/vite-middleware.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infodb/revx",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Multi-Vite project development server - Host multiple Vite apps on a single port with unified routing",
5
5
  "homepage": "https://github.com/tamuto/infodb-cli/",
6
6
  "bugs": "https://github.com/tamuto/infodb-cli/issues",