- लोकल डेवलपमेंट के दौरान port conflict और कौन-सा पोर्ट इस्तेमाल किया था यह याद रखने की परेशानी को हल करने वाली Vercel Labs की open source utility
- हर development server को एक अलग app.localhost subdomain दिया जाता है, जिससे इंसान और AI agents दोनों के लिए समझने योग्य URL system मिलता है
next dev से चलाने पर http://localhost:3000 मिलता है और 3000 याद रखना पड़ता है, लेकिन
portless myapp next dev चलाने पर http://myapp.localhost:1355 के रूप में access किया जा सकता है
portless api.myapp pnpm start की तरह चलाने पर http://api.myapp.localhost:1355 के जरिए subdomain access भी supported है
- यह proxy-based architecture पर काम करता है, जहाँ
portless proxy बीच में request route करता है
- app चलने पर proxy अपने-आप शुरू हो जाता है, और हर app को random port (4000–4999) दिया जाता है
- ज़्यादातर frameworks (Next.js, Express, Nuxt आदि)
PORT environment variable को अपने-आप पहचान लेते हैं
- Vite, Astro जैसे कुछ frameworks के लिए automatic flag injection से compatibility दी गई है
- HTTP/2 और HTTPS support के साथ तेज़ page load और सुरक्षित local communication
- browser आम तौर पर HTTP/1.1 में प्रति host 6 connections की सीमा रखते हैं
- Vite/Nuxt जैसे development servers, जो कई uncompressed files serve करते हैं, उनमें performance गिर सकती है
- HTTP/2 सभी requests को एक ही connection पर multiplex करता है
- certificate खुद बनाना और system trust store में register करना अपने-आप होता है
--cert, --key options से custom certificate भी लगाया जा सकता है
- command-oriented CLI interface दिया गया है
portless <name> <cmd> : दिए गए नाम से app चलाना
portless list : active routes की सूची दिखाना
portless proxy start/stop : proxy control
PORTLESS=0 environment variable से proxy bypass करके चलाया जा सकता है
- state management directory के जरिए route और PID जानकारी store की जाती है
- सामान्य user mode में
~/.portless, और root mode में /tmp/portless इस्तेमाल होता है
PORTLESS_STATE_DIR से path को redefine किया जा सकता है
- Vite, webpack-dev-server आदि में API proxy setting करते समय
Host header को rewrite करना ज़रूरी है
- गलत setting होने पर
508 Loop Detected response के जरिए समस्या बताई जाती है
- Node.js 20 या उससे ऊपर, macOS और Linux environment supported हैं
- pnpm + Turborepo आधारित monorepo structure
- Apache-2.0 license, TypeScript (लगभग 74%) codebase
अभी कोई टिप्पणी नहीं है.