{"_id":"@elisoncampos/local-router","_rev":"8-5595e497574571edcf85f28bd5bea857","name":"@elisoncampos/local-router","dist-tags":{"latest":"0.4.2"},"versions":{"0.1.0":{"name":"@elisoncampos/local-router","version":"0.1.0","license":"MIT","_id":"@elisoncampos/local-router@0.1.0","maintainers":[{"name":"elisoncampos","email":"elison.campos@gmail.com"}],"homepage":"https://github.com/elisoncampos/local-router#readme","bugs":{"url":"https://github.com/elisoncampos/local-router/issues"},"bin":{"local-router":"dist/cli.js"},"dist":{"shasum":"4ee1955d3ca51dee0571642b56ff607ec4c3d454","tarball":"https://registry.npmjs.org/@elisoncampos/local-router/-/local-router-0.1.0.tgz","fileCount":3,"integrity":"sha512-prs/K24RdxoZ0suv1J6XH+dEtk+xXLjqpM8L+IaRquA7Vv2836P6vO0srN0NR6KtwDirJZ5l/sfezoPINuw99A==","signatures":[{"sig":"MEUCIQDvSoYj2NaHFTS0KKHdt2jQY9y1lww3Px3oBbTTxMqiGwIgD6wlAinZeUXIzkMmXQLk1ZKNZ/zOnrAlBLGf6R4bf0A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":68618},"type":"module","engines":{"node":">=20.0.0"},"scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup src/cli.ts --format esm --target node20 --out-dir dist --clean","prepack":"npm run build","release":"npm run typecheck && npm test && npm run build && changeset publish","changeset":"changeset","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test","version-packages":"changeset version"},"_npmUser":{"name":"elisoncampos","email":"elison.campos@gmail.com"},"repository":{"url":"git+https://github.com/elisoncampos/local-router.git","type":"git"},"_npmVersion":"10.9.2","description":"Named local domains with automatic HTTP/HTTPS routing for development.","directories":{},"_nodeVersion":"22.13.1","dependencies":{"chalk":"^5.4.1","json5":"^2.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","tsup":"^8.3.5","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^24.0.0","@changesets/cli":"^2.29.5"},"_npmOperationalInternal":{"tmp":"tmp/local-router_0.1.0_1774035749200_0.17979766457417212","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@elisoncampos/local-router","version":"0.2.0","license":"MIT","_id":"@elisoncampos/local-router@0.2.0","maintainers":[{"name":"elisoncampos","email":"elison.campos@gmail.com"}],"homepage":"https://github.com/elisoncampos/local-router#readme","bugs":{"url":"https://github.com/elisoncampos/local-router/issues"},"bin":{"local-router":"dist/cli.js"},"dist":{"shasum":"03aae916b31c60ebd5da9d1fc9bac6a2d5fb28bd","tarball":"https://registry.npmjs.org/@elisoncampos/local-router/-/local-router-0.2.0.tgz","fileCount":3,"integrity":"sha512-jPuIjAS57NdHju4kc+bPOccmke/Q0g6Kbzb2NksdJcoDMQRyaRl64okUqglZuujHLedqGq6z+1RdvUfJ5AJfjw==","signatures":[{"sig":"MEQCIHuckwQrCx6VTvScyuFmsIL+DBq7mbieTldQR3ZA265YAiB9coJXJYRhhxLGV9cux4/CDO2awhtQyIq7TIil3VPQTQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@elisoncampos%2flocal-router@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":71739},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"9c4002c63edfa4bcf63602842465697432fed5da","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup src/cli.ts --format esm --target node20 --out-dir dist --clean","prepack":"npm run build","release":"npm run typecheck && npm test && npm run build && changeset publish","changeset":"changeset","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm test","version-packages":"changeset version"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0143868-f8ca-4c81-acc3-0e2b26b69b4a"}},"repository":{"url":"git+https://github.com/elisoncampos/local-router.git","type":"git"},"_npmVersion":"11.9.0","description":"Named local domains with automatic HTTP/HTTPS routing for development.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"chalk":"^5.4.1","json5":"^2.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","tsup":"^8.3.5","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^24.0.0","@changesets/cli":"^2.29.5","@changesets/changelog-github":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/local-router_0.2.0_1774266469944_0.8586788066999609","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@elisoncampos/local-router","version":"0.2.1","license":"MIT","_id":"@elisoncampos/local-router@0.2.1","maintainers":[{"name":"elisoncampos","email":"elison.campos@gmail.com"}],"homepage":"https://github.com/elisoncampos/local-router#readme","bugs":{"url":"https://github.com/elisoncampos/local-router/issues"},"bin":{"local-router":"bin/local-router"},"dist":{"shasum":"cad9ca629148e28efb01402aca48a6b652351875","tarball":"https://registry.npmjs.org/@elisoncampos/local-router/-/local-router-0.2.1.tgz","fileCount":6,"integrity":"sha512-mtM6HcKRypgVqCA85mihudFRvnVW9816WPDBd+uwjTBsRkozRaZLZy/dEriVGC0SYPUFhZsmPF1ELsgjtGNFIg==","signatures":[{"sig":"MEUCIQDcpz63b+AU6iqxGe2JePVk0IbbLY/+mzNG8+UkfwGYRAIgAv1XPExnGEyNo0xIabziaWqsjMA9dNz74Yf6uPD+kPs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@elisoncampos%2flocal-router@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":77933},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"bade1b5f9ce9b5689c99c5841dd96909d23cddcf","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup src/cli.ts --format esm --target node20 --out-dir dist --clean","prepack":"npm run build","release":"npm run typecheck && npm test && npm run build && changeset publish","changeset":"changeset","typecheck":"tsc --noEmit","postinstall":"node scripts/write-node-path.js","prepublishOnly":"npm run typecheck && npm test","version-packages":"changeset version"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0143868-f8ca-4c81-acc3-0e2b26b69b4a"}},"repository":{"url":"git+https://github.com/elisoncampos/local-router.git","type":"git"},"_npmVersion":"11.9.0","description":"Named local domains with automatic HTTP/HTTPS routing for development.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"chalk":"^5.4.1","json5":"^2.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","tsup":"^8.3.5","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^24.0.0","@changesets/cli":"^2.29.5","@changesets/changelog-github":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/local-router_0.2.1_1774286058887_0.37122861796834195","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@elisoncampos/local-router","version":"0.3.0","license":"MIT","_id":"@elisoncampos/local-router@0.3.0","maintainers":[{"name":"elisoncampos","email":"elison.campos@gmail.com"}],"homepage":"https://github.com/elisoncampos/local-router#readme","bugs":{"url":"https://github.com/elisoncampos/local-router/issues"},"bin":{"local-router":"bin/local-router"},"dist":{"shasum":"586e8e4a72c0fe9a725479eef755724489aba7ee","tarball":"https://registry.npmjs.org/@elisoncampos/local-router/-/local-router-0.3.0.tgz","fileCount":6,"integrity":"sha512-qI70E7YCc3qgr27ybIU1qBdr9d8jHtnjhG6J63T5gVVm94txzjpu/3ETWZYeiBFkXM02Jz1Kaioe2PI+WI3r6g==","signatures":[{"sig":"MEQCIAVUVLz/nr3xdC/zu/R2GR1so9ExxxmpRbkaPxnzxQDUAiAPyVQYDxJUbGQXmkXQBiyVrxPQBHr0mXb+UTf6fSwW3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@elisoncampos%2flocal-router@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":87018},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"d3ca7fd3df5f535e18dcb9cdad67942b3931e41c","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup src/cli.ts --format esm --target node20 --out-dir dist --clean","prepack":"npm run build","release":"npm run typecheck && npm test && npm run build && changeset publish","changeset":"changeset","typecheck":"tsc --noEmit","postinstall":"node scripts/write-node-path.js","prepublishOnly":"npm run typecheck && npm test","version-packages":"changeset version"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0143868-f8ca-4c81-acc3-0e2b26b69b4a"}},"repository":{"url":"git+https://github.com/elisoncampos/local-router.git","type":"git"},"_npmVersion":"11.9.0","description":"Named local domains with automatic HTTP/HTTPS routing for development.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"chalk":"^5.4.1","json5":"^2.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","tsup":"^8.3.5","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^24.0.0","@changesets/cli":"^2.29.5","@changesets/changelog-github":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/local-router_0.3.0_1774359917217_0.14178878196003786","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@elisoncampos/local-router","version":"0.3.1","license":"MIT","_id":"@elisoncampos/local-router@0.3.1","maintainers":[{"name":"elisoncampos","email":"elison.campos@gmail.com"}],"homepage":"https://github.com/elisoncampos/local-router#readme","bugs":{"url":"https://github.com/elisoncampos/local-router/issues"},"bin":{"local-router":"bin/local-router"},"dist":{"shasum":"3c876d4960198423f6b7ea65082abcb8f013bb4f","tarball":"https://registry.npmjs.org/@elisoncampos/local-router/-/local-router-0.3.1.tgz","fileCount":6,"integrity":"sha512-EwW3MlmJ7PMdevBAweLhTMoNkyRH2ikefdFnFhmpZuW3FMZEg32NGz8LtstUdHNPl8aNfloPCxF5Xguh0CVOCA==","signatures":[{"sig":"MEUCICKBGTdXIaQTEJy0ZsWlOw21NgoUSC42wNES6qa+XobrAiEAzJuTuWgZGgzGQtxVdIAhRiRxeI8i1JZzhl0N+HZIjto=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@elisoncampos%2flocal-router@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90087},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"f730d4a41519f4ab42b18eb95d442a7b67480d8c","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup src/cli.ts --format esm --target node20 --out-dir dist --clean","prepack":"npm run build","release":"npm run typecheck && npm test && npm run build && changeset publish","changeset":"changeset","typecheck":"tsc --noEmit","postinstall":"node scripts/write-node-path.js","prepublishOnly":"npm run typecheck && npm test","version-packages":"changeset version"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0143868-f8ca-4c81-acc3-0e2b26b69b4a"}},"repository":{"url":"git+https://github.com/elisoncampos/local-router.git","type":"git"},"_npmVersion":"11.9.0","description":"Named local domains with automatic HTTP/HTTPS routing for development.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"chalk":"^5.4.1","json5":"^2.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","tsup":"^8.3.5","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^24.0.0","@changesets/cli":"^2.29.5","@changesets/changelog-github":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/local-router_0.3.1_1774371123543_0.2795218914733799","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@elisoncampos/local-router","version":"0.4.0","license":"MIT","_id":"@elisoncampos/local-router@0.4.0","maintainers":[{"name":"elisoncampos","email":"elison.campos@gmail.com"}],"homepage":"https://github.com/elisoncampos/local-router#readme","bugs":{"url":"https://github.com/elisoncampos/local-router/issues"},"bin":{"local-router":"bin/local-router"},"dist":{"shasum":"70d5e3a5586c7329bf4f84c83d268f168617731c","tarball":"https://registry.npmjs.org/@elisoncampos/local-router/-/local-router-0.4.0.tgz","fileCount":6,"integrity":"sha512-8Di6mkWpCfw8lDhnE94s841SjKZEXW4C22bfqvSy3uzjTWGXsBD4jqh0PVGs83nEgOEHv/uoP0qpCTIC8m0Now==","signatures":[{"sig":"MEYCIQDXbOCgL+bchjtS4bb2kjXnhC9uzfPqULXu7dg2k3F8SAIhALy1o7BytNreTM/Tu2Z8rTEqN2uPLT8pkMkaN0Dvpiqr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@elisoncampos%2flocal-router@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":98154},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"1da402d91b9fe5a7a9979d3960c79bb9c47ee476","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup src/cli.ts --format esm --target node20 --out-dir dist --clean","prepack":"npm run build","release":"npm run typecheck && npm test && npm run build && changeset publish","changeset":"changeset","typecheck":"tsc --noEmit","postinstall":"node scripts/write-node-path.js","prepublishOnly":"npm run typecheck && npm test","version-packages":"changeset version"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0143868-f8ca-4c81-acc3-0e2b26b69b4a"}},"repository":{"url":"git+https://github.com/elisoncampos/local-router.git","type":"git"},"_npmVersion":"11.9.0","description":"Named local domains with automatic HTTP/HTTPS routing for development.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"chalk":"^5.4.1","json5":"^2.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","tsup":"^8.3.5","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^24.0.0","@changesets/cli":"^2.29.5","@changesets/changelog-github":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/local-router_0.4.0_1774611917256_0.9272929265474521","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@elisoncampos/local-router","version":"0.4.1","license":"MIT","_id":"@elisoncampos/local-router@0.4.1","maintainers":[{"name":"elisoncampos","email":"elison.campos@gmail.com"}],"homepage":"https://github.com/elisoncampos/local-router#readme","bugs":{"url":"https://github.com/elisoncampos/local-router/issues"},"bin":{"local-router":"bin/local-router"},"dist":{"shasum":"0fd58031338eb3e90eea0d90209221e1f30d2618","tarball":"https://registry.npmjs.org/@elisoncampos/local-router/-/local-router-0.4.1.tgz","fileCount":6,"integrity":"sha512-Urrrt6OzXkdh6aqehkBAiJCRjvL7MTT2KlUQ5jLdPS6XqOgE4maQai1DC8eqtN5GamJVkgeN2c1h+Ojxt/go+w==","signatures":[{"sig":"MEQCIBksICEHMH169vOylMBpak1lvcpPJH0gLYbaQo3FDRS2AiBmeZe6JgZV5b15LC5Utb+geukiuK0O0aPW2yJLacMR9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@elisoncampos%2flocal-router@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":97958},"type":"module","engines":{"node":">=20.0.0"},"gitHead":"91f2b36d60c35e9f91814578a0b2dbedc8eb83dd","scripts":{"dev":"tsx src/cli.ts","test":"vitest run","build":"tsup src/cli.ts --format esm --target node20 --out-dir dist --clean","prepack":"npm run build","release":"npm run typecheck && npm test && npm run build && changeset publish","changeset":"changeset","typecheck":"tsc --noEmit","postinstall":"node scripts/write-node-path.js","prepublishOnly":"npm run typecheck && npm test","version-packages":"changeset version"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0143868-f8ca-4c81-acc3-0e2b26b69b4a"}},"repository":{"url":"git+https://github.com/elisoncampos/local-router.git","type":"git"},"_npmVersion":"11.9.0","description":"Named local domains with automatic HTTP/HTTPS routing for development.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"chalk":"^5.4.1","json5":"^2.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","tsup":"^8.3.5","vitest":"^3.2.4","typescript":"^5.8.3","@types/node":"^24.0.0","@changesets/cli":"^2.29.5","@changesets/changelog-github":"^0.5.1"},"_npmOperationalInternal":{"tmp":"tmp/local-router_0.4.1_1774618836717_0.2935438931037897","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@elisoncampos/local-router","version":"0.4.2","description":"Named local domains with automatic HTTP/HTTPS routing for development.","license":"MIT","type":"module","bin":{"local-router":"bin/local-router"},"repository":{"type":"git","url":"git+https://github.com/elisoncampos/local-router.git"},"homepage":"https://github.com/elisoncampos/local-router#readme","bugs":{"url":"https://github.com/elisoncampos/local-router/issues"},"publishConfig":{"access":"public"},"engines":{"node":">=20.0.0"},"scripts":{"build":"tsup src/cli.ts --format esm --target node20 --out-dir dist --clean","changeset":"changeset","dev":"tsx src/cli.ts","postinstall":"node scripts/write-node-path.js","prepack":"npm run build","prepublishOnly":"npm run typecheck && npm test","release":"npm run typecheck && npm test && npm run build && changeset publish","test":"vitest run","typecheck":"tsc --noEmit","version-packages":"changeset version"},"dependencies":{"chalk":"^5.4.1","json5":"^2.2.3"},"devDependencies":{"@changesets/changelog-github":"^0.5.1","@changesets/cli":"^2.29.5","@types/node":"^24.0.0","tsup":"^8.3.5","tsx":"^4.19.2","typescript":"^5.8.3","vitest":"^3.2.4"},"gitHead":"f57bb8fdc712ad3b41c1afd726fa1bd07d0a8988","_id":"@elisoncampos/local-router@0.4.2","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-bB5iaaVsPvGSZuZRg7EsIiT/Sz9pDX+ELUJgX/rYJH0BYlI0p12o927p/7agSk2t69zkQiwtwnUwlfOmnfmXWA==","shasum":"000021a6f9739b94ef4b3739fafc0aea6e39a31b","tarball":"https://registry.npmjs.org/@elisoncampos/local-router/-/local-router-0.4.2.tgz","fileCount":6,"unpackedSize":98212,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@elisoncampos%2flocal-router@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDCu2+lDnmJG2g1/PcSbnZB8IZG0iX4BYGShxfnn/9UDgIhALjqi6RZ3wAPdZyzx3C+48dWovV0m2NfIvugxLN5XVY8"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:c0143868-f8ca-4c81-acc3-0e2b26b69b4a"}},"directories":{},"maintainers":[{"name":"elisoncampos","email":"elison.campos@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/local-router_0.4.2_1774631787540_0.8313240127198682"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-20T19:42:29.124Z","modified":"2026-03-27T17:16:27.964Z","0.1.0":"2026-03-20T19:42:29.374Z","0.2.0":"2026-03-23T11:47:50.087Z","0.2.1":"2026-03-23T17:14:19.031Z","0.3.0":"2026-03-24T13:45:17.387Z","0.3.1":"2026-03-24T16:52:03.692Z","0.4.0":"2026-03-27T11:45:17.404Z","0.4.1":"2026-03-27T13:40:36.902Z","0.4.2":"2026-03-27T17:16:27.682Z"},"bugs":{"url":"https://github.com/elisoncampos/local-router/issues"},"license":"MIT","homepage":"https://github.com/elisoncampos/local-router#readme","repository":{"type":"git","url":"git+https://github.com/elisoncampos/local-router.git"},"description":"Named local domains with automatic HTTP/HTTPS routing for development.","maintainers":[{"name":"elisoncampos","email":"elison.campos@gmail.com"}],"readme":"# local-router\n\n`local-router` exposes dev servers behind stable hostnames, including real domains overridden locally with both HTTP and HTTPS.\n\nIt is inspired by [portless](https://github.com/vercel-labs/portless), but changes the default behavior to support:\n\n- `https://<name>.localhost`\n- `https://app.example.com`\n- `https://api.example.com`\n- the same hosts over plain HTTP\n\n## Install\n\n```bash\nnpm i -g @elisoncampos/local-router\n```\n\nOr run it without installing globally:\n\n```bash\nnpx @elisoncampos/local-router run next dev\n```\n\n## Usage\n\nInside a project directory:\n\n```bash\nlocal-router run next dev\n```\n\nThis infers the project name and exposes:\n\n```text\nhttp://myapp.localhost\nhttps://myapp.localhost\n```\n\nAdd a real domain override:\n\n```bash\nlocal-router run next dev --domain app.example.com\n```\n\nThis adds:\n\n```text\nhttp://app.example.com\nhttps://app.example.com\n```\n\nYou can repeat `--domain` as many times as needed.\n\nCreate a temporary public URL with `localhost.run`:\n\n```bash\nlocal-router run next dev --share\n```\n\nThis keeps your local routes and also prints the public HTTPS URL returned by `localhost.run`, forwarding it to the same app.\n\n`--share` requires `ssh` to be installed locally.\n\n## `.local-router`\n\nCreate a `.local-router` file in the project root using JSON5 syntax:\n\n```js\n{\n  name: \"algo\",\n  hosts: [\n    \"app.example.com\",\n    \"api.example.com\"\n  ]\n}\n```\n\nThen:\n\n```bash\nlocal-router run next dev\n```\n\nExposes:\n\n```text\nhttp://algo.localhost\nhttps://algo.localhost\nhttp://app.example.com\nhttps://app.example.com\nhttp://api.example.com\nhttps://api.example.com\n```\n\n## How it works\n\n- A shared proxy daemon listens on ports `80` and `443` by default.\n- Your app runs on an ephemeral port like `4624`.\n- `local-router` registers every hostname for that app.\n- The proxy forwards requests by `Host`.\n- For custom domains, `local-router` manages a block in `/etc/hosts`.\n- For HTTPS, `local-router` generates a local CA and per-host certificates.\n\n## Important note about sudo\n\nPorts `80` and `443` require elevated privileges on macOS/Linux.\n\nThe CLI will prompt to start the proxy with `sudo` when required.\n\nIf you only want to test the project on high ports:\n\n```bash\nLOCAL_ROUTER_HTTP_PORT=18080 LOCAL_ROUTER_HTTPS_PORT=18443 local-router run next dev\n```\n\n## Commands\n\n```bash\nlocal-router run <command...>\nlocal-router proxy start\nlocal-router proxy stop\nlocal-router trust\nlocal-router hosts sync\nlocal-router hosts clean\n```\n","readmeFilename":"README.md"}