{"_id":"@binary-signal/vite-plugin-autocaddy","_rev":"2-87ecddab7e5246503e8ea94ffe72449b","name":"@binary-signal/vite-plugin-autocaddy","dist-tags":{"latest":"0.1.5"},"versions":{"0.1.0":{"name":"@binary-signal/vite-plugin-autocaddy","version":"0.1.0","keywords":["vite","plugin","vite-plugin","caddy","autocaddy","reverse","proxy","reverse-proxy","dev"],"license":"MIT","_id":"@binary-signal/vite-plugin-autocaddy@0.1.0","maintainers":[{"name":"binary-signal","email":"arrest-twos5n@icloud.com"}],"homepage":"https://github.com/binary-signal/vite-plugin-autocaddy#readme","bugs":{"url":"https://github.com/binary-signal/vite-plugin-autocaddy/issue"},"dist":{"shasum":"6ebd24896a685394c66331030770529a19e91c92","tarball":"https://registry.npmjs.org/@binary-signal/vite-plugin-autocaddy/-/vite-plugin-autocaddy-0.1.0.tgz","fileCount":9,"integrity":"sha512-0qAev/nSUFZa5WMjUbopLLXWdMcpPtWHGFF7qoN1sI64o6PcCK+ZGVNKxWyNB+uJ3oo6bHxSj1aNM97UOzfb2Q==","signatures":[{"sig":"MEQCICl+j0B+AlvJ9uW5zDGl63Dv+dVVHvOzUw3VMxsqjg3JAiA9xF8Q2TNm/pcyFI7MyHL8SXRMsjymKoDozROHMjhYPQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33424},"main":"./dist/index.cjs","type":"module","_from":"file:binary-signal-vite-plugin-autocaddy-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"scripts":{"dev":"tsup --watch","lint":"oxlint","build":"tsup"},"_npmUser":{"name":"binary-signal","email":"arrest-twos5n@icloud.com"},"_resolved":"/private/var/folders/lb/18yqhf410d19krjw70pcj4ym0000gn/T/6766fdd57ac90b35fd3322a758507074/binary-signal-vite-plugin-autocaddy-0.1.0.tgz","_integrity":"sha512-0qAev/nSUFZa5WMjUbopLLXWdMcpPtWHGFF7qoN1sI64o6PcCK+ZGVNKxWyNB+uJ3oo6bHxSj1aNM97UOzfb2Q==","repository":{"url":"git+https://github.com/binary-signal/vite-plugin-autocaddy.git","type":"git"},"_npmVersion":"11.9.0","description":"Vite plugin that automatically registers local dev servers with Caddy reverse proxy","directories":{},"_nodeVersion":"25.6.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^8.0.8","oxlint":"^1.60.0","typescript":"^5.8.3","@types/node":"^25.6.0"},"peerDependencies":{"vite":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vite-plugin-autocaddy_0.1.0_1776528368744_0.2497920307221677","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@binary-signal/vite-plugin-autocaddy","type":"module","version":"0.1.5","description":"Vite plugin that automatically registers local dev servers with Caddy reverse proxy","license":"MIT","homepage":"https://github.com/binary-signal/vite-plugin-autocaddy#readme","repository":{"type":"git","url":"git+https://github.com/binary-signal/vite-plugin-autocaddy.git"},"bugs":{"url":"https://github.com/binary-signal/vite-plugin-autocaddy/issue"},"keywords":["vite","plugin","vite-plugin","caddy","autocaddy","reverse","proxy","reverse-proxy","dev"],"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}}},"peerDependencies":{"vite":">=5.0.0"},"devDependencies":{"@types/node":"^25.6.0","oxlint":"^1.60.0","tsup":"^8.4.0","typescript":"^5.8.3","vite":"^8.0.8"},"scripts":{"build":"tsup","dev":"tsup --watch","lint":"oxlint"},"_id":"@binary-signal/vite-plugin-autocaddy@0.1.5","_integrity":"sha512-17G1Gm1xCKu8Xc8di2RDkatddD9uYyQTUz8bRqbQXRdRIKxsqGUhAauhWKfOX4wN4RQNpVd4OGkUbuNmzqDWdA==","_resolved":"/private/var/folders/lb/18yqhf410d19krjw70pcj4ym0000gn/T/e60f13d45c57dd24c46c1a9a28b2bf7e/binary-signal-vite-plugin-autocaddy-0.1.5.tgz","_from":"file:binary-signal-vite-plugin-autocaddy-0.1.5.tgz","_nodeVersion":"25.6.1","_npmVersion":"11.9.0","dist":{"integrity":"sha512-17G1Gm1xCKu8Xc8di2RDkatddD9uYyQTUz8bRqbQXRdRIKxsqGUhAauhWKfOX4wN4RQNpVd4OGkUbuNmzqDWdA==","shasum":"90b08c1f222bb94deaca73bdad6247ac831d2e41","tarball":"https://registry.npmjs.org/@binary-signal/vite-plugin-autocaddy/-/vite-plugin-autocaddy-0.1.5.tgz","fileCount":9,"unpackedSize":34612,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDnS2ki264a7sGoCDxM8IcNzlyEFsCccQg2WIihcxlKmgIhALWFz/PBiGjZwOHEuHiwkAwYdgSR8Yoh/KxWlDjaTyCA"}]},"_npmUser":{"name":"binary-signal","email":"arrest-twos5n@icloud.com"},"directories":{},"maintainers":[{"name":"binary-signal","email":"arrest-twos5n@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vite-plugin-autocaddy_0.1.5_1776708388124_0.6120397594272293"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-18T16:06:08.604Z","modified":"2026-04-20T18:06:28.398Z","0.1.0":"2026-04-18T16:06:08.890Z","0.1.5":"2026-04-20T18:06:28.303Z"},"bugs":{"url":"https://github.com/binary-signal/vite-plugin-autocaddy/issue"},"license":"MIT","homepage":"https://github.com/binary-signal/vite-plugin-autocaddy#readme","keywords":["vite","plugin","vite-plugin","caddy","autocaddy","reverse","proxy","reverse-proxy","dev"],"repository":{"type":"git","url":"git+https://github.com/binary-signal/vite-plugin-autocaddy.git"},"description":"Vite plugin that automatically registers local dev servers with Caddy reverse proxy","maintainers":[{"name":"binary-signal","email":"arrest-twos5n@icloud.com"}],"readme":"# vite-plugin-autocaddy\n\nVite plugin that automatically registers your local dev server with a [Caddy](https://caddyserver.com/) reverse proxy\nvia its admin API. Get HTTPS local development with custom `.dev.local` domains — no manual Caddy config needed.\n\nWhen you start `vite dev`, the plugin:\n\n1. Configures HMR to work through Caddy's HTTPS proxy\n2. Registers a reverse proxy route in Caddy pointing `your-app.dev.local` to the dev server\n3. Cleans up the route when the dev server stops\n\n## Prerequisites\n\n- Caddy running with the [admin API](https://caddyserver.com/docs/api) enabled (default: `localhost:2019`)\n- If Caddy runs in Docker, use `mode: \"docker\"` and ensure `host.docker.internal` resolves to the host machine\n\n## Installation\n\n```bash\npnpm add -D @binary-signal/vite-plugin-autocaddy\n```\n\n## Usage\n\n```ts\n// vite.config.ts\nimport { defineConfig } from \"vite\";\nimport autoCaddy from \"vite-plugin-autocaddy\";\n\nexport default defineConfig({\n  plugins: [autoCaddy()],\n});\n```\n\nStart your dev server and visit `https://your-app.dev.local` (where `your-app` is your project directory name).\n\n## Options\n\n```ts\nautoCaddy({\n  mode: \"docker\", // 'local' (default) or 'docker'\n  appName: \"my-app\", // Override directory-derived name\n  domainSuffix: \"dev.local\", // Domain suffix (default: 'dev.local')\n  caddyApiUrl: \"http://localhost:2019\", // Caddy admin API URL\n  serverName: \"proxy\", // Caddy server name (default: 'proxy')\n  upstreamHost: \"host.docker.internal\", // Explicit override (takes precedence over mode)\n  cleanup: true, // Delete route on server close\n});\n```\n\n| Option         | Type                   | Default                   | Description                                          |\n| -------------- | ---------------------- | ------------------------- | ---------------------------------------------------- |\n| `mode`         | `'docker' \\| 'local'`  | `'local'`                 | Where Caddy runs — sets the default upstream host    |\n| `appName`      | `string`               | Directory name            | App name used for domain and route ID                |\n| `domainSuffix` | `string`               | `'dev.local'`             | Domain suffix (e.g., `app.dev.local`)                |\n| `caddyApiUrl`  | `string`               | `'http://localhost:2019'` | Caddy admin API base URL                             |\n| `serverName`   | `string`               | `'proxy'`                 | Caddy server name in config                          |\n| `upstreamHost` | `string`               | Per mode                  | Explicit upstream host (overrides `mode`)            |\n| `cleanup`      | `boolean`              | `true`                    | Delete the Caddy route when dev server stops         |\n\n## How It Works\n\nThe plugin uses Caddy's [admin API](https://caddyserver.com/docs/api) to manage routes:\n\n- On server start: checks if a route with ID `vite-{appName}` exists\n  - If yes: `DELETE` the old route, then `POST` a new one\n  - If no: `POST` to create a new route\n- On server close: `DELETE` the route (when `cleanup: true`)\n\nThe registered Caddy route reverse-proxies `https://{appName}.dev.local` to `{upstreamHost}:{port}`.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}