{"_id":"@bridgerb/port-from-name","_rev":"2-57ddd583769a7984930b497cb9a08840","name":"@bridgerb/port-from-name","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@bridgerb/port-from-name","version":"1.0.0","keywords":["vite","vite-plugin","sveltekit","port","dev-server","deterministic"],"author":{"name":"BridgerB"},"license":"Unlicense","_id":"@bridgerb/port-from-name@1.0.0","maintainers":[{"name":"bridgerb","email":"git@bridgerb.com"}],"homepage":"https://github.com/BridgerB/port-from-name#readme","bugs":{"url":"https://github.com/BridgerB/port-from-name/issues"},"dist":{"shasum":"a19cd16a3ea25775bb7e8f433a5f9a70a6c0da8a","tarball":"https://registry.npmjs.org/@bridgerb/port-from-name/-/port-from-name-1.0.0.tgz","fileCount":6,"integrity":"sha512-uHM+Sy9QMdtoCZsJEQ5HhD/i14QdNx65AvpgJrR1SR7W1VAydMatqJX9zVqZ7+BzKlMfVUEI7hPL+eruI9S1cw==","signatures":[{"sig":"MEYCIQDzlz07sIP+3SWqghHYOpx6NFyNJnobYEtwP9Hdota/RQIhAPAPx3MwAUpE8fIHUpEh+ukhivDvCkkq7GJaDD+kVgu4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8718},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"gitHead":"0058433058d0ffc222ee7a04997791cf7af5bfc5","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"bridgerb","email":"git@bridgerb.com"},"repository":{"url":"git+https://github.com/BridgerB/port-from-name.git","type":"git"},"_npmVersion":"11.16.0","description":"Deterministic Vite/SvelteKit dev-server port derived from your project name","directories":{},"_nodeVersion":"26.3.1","_hasShrinkwrap":false,"devDependencies":{"vite":"^7.0.0","typescript":"^5.9.3","@types/node":"^22.0.0"},"peerDependencies":{"vite":">=5"},"peerDependenciesMeta":{"vite":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/port-from-name_1.0.0_1782579147597_0.3106102734661882","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@bridgerb/port-from-name","version":"1.0.1","description":"Deterministic Vite/SvelteKit dev-server port derived from your project name","type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"build":"tsc","prepublishOnly":"npm run build"},"keywords":["vite","vite-plugin","sveltekit","port","dev-server","deterministic"],"author":{"name":"BridgerB"},"license":"Unlicense","repository":{"type":"git","url":"git+https://github.com/BridgerB/port-from-name.git"},"engines":{"node":">=22"},"peerDependencies":{"vite":">=5"},"peerDependenciesMeta":{"vite":{"optional":true}},"devDependencies":{"@types/node":"^22.0.0","typescript":"^5.9.3","vite":"^7.0.0"},"gitHead":"43f4e9f69d122367f71b3bd72e39a11a18bae6b1","_id":"@bridgerb/port-from-name@1.0.1","bugs":{"url":"https://github.com/BridgerB/port-from-name/issues"},"homepage":"https://github.com/BridgerB/port-from-name#readme","_nodeVersion":"24.17.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-kWvViJSX+NEyIDQavq2tkeOuPvZFxil84qFB2+5W61tmQuGse0XOqQ735YZFe2XPE7qmWnGFJvLNeojMyHBNxQ==","shasum":"c4a3b5543c66a6fd35a89f20d8d282c6f817eff4","tarball":"https://registry.npmjs.org/@bridgerb/port-from-name/-/port-from-name-1.0.1.tgz","fileCount":6,"unpackedSize":8718,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@bridgerb%2fport-from-name@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHis9/3C0qTQMbGsdVYrc7Wr2l+N7sUXIK9+r5an6iYpAiACFLH9i+Cz6hB4T9t/X4yM17r3qG27ACOr2hPAhnBzOg=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:97f1acef-7f49-4bf5-96f3-3f83fa7c2bbf"}},"directories":{},"maintainers":[{"name":"bridgerb","email":"git@bridgerb.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/port-from-name_1.0.1_1782579855333_0.7629928531338346"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-27T16:52:27.463Z","modified":"2026-06-27T17:04:15.748Z","1.0.0":"2026-06-27T16:52:27.733Z","1.0.1":"2026-06-27T17:04:15.473Z"},"bugs":{"url":"https://github.com/BridgerB/port-from-name/issues"},"author":{"name":"BridgerB"},"license":"Unlicense","homepage":"https://github.com/BridgerB/port-from-name#readme","keywords":["vite","vite-plugin","sveltekit","port","dev-server","deterministic"],"repository":{"type":"git","url":"git+https://github.com/BridgerB/port-from-name.git"},"description":"Deterministic Vite/SvelteKit dev-server port derived from your project name","maintainers":[{"name":"bridgerb","email":"git@bridgerb.com"}],"readme":"# @bridgerb/port-from-name\n\nGive every project its own dev-server port, automatically. The port comes from your project's name, so it's the same every time you run it — no more \"port 5173 is already in use\" when you've got a couple of apps going at once.\n\n## Install\n\n```sh\nnpm install -D @bridgerb/port-from-name\n```\n\n## Use it\n\nAdd it to `vite.config.ts` and you're done:\n\n```ts\nimport { sveltekit } from '@sveltejs/kit/vite';\nimport { autoPort } from '@bridgerb/port-from-name';\nimport { defineConfig } from 'vite';\n\nexport default defineConfig({\n  plugins: [sveltekit(), autoPort()],\n});\n```\n\nIt picks a stable port for both `npm run dev` and `npm run preview`. If two apps ever happen to pick the same one, Vite just bumps to the next free port instead of crashing.\n\n## What ports it uses\n\nBy default it picks from **3100–4899**. That range is chosen to stay out of the way:\n\n- Above the low ports your OS reserves (anything under 1024).\n- Past the usual suspects everything else grabs — 3000 (Node/Next/Rails), 5173 (Vite's default), 5432 (Postgres), and 5000/7000 (AirPlay on Mac).\n- Well below the high ports your machine hands out for its own connections, so you're never fighting it for one.\n\nIt's also wide enough that running a handful of apps at once almost never picks the same port twice. Want a different range? Set `base` and `range` (see below).\n\n## Just want the number?\n\n```ts\nimport { portFromName } from '@bridgerb/port-from-name';\n\nconst port = portFromName();              // from this project's name\nconst port2 = portFromName({ name: 'my-app' });\n```\n\n## Options\n\n```ts\nautoPort({\n  name,        // use a custom name instead of package.json's\n  base,        // lowest port to pick (default 3100)\n  range,       // how wide the range is (default 1800, so 3100–4899)\n  strictPort,  // crash instead of bumping on a clash (default false)\n});\n```\n\n## License\n\n[Unlicense](./LICENSE) — public domain.\n","readmeFilename":"README.md"}