{"_id":"@aboulbox/vite-plugin-rolling-release","_rev":"2-209e252652b6a34ace8e60b23e634044","name":"@aboulbox/vite-plugin-rolling-release","dist-tags":{"latest":"1.0.0"},"versions":{"0.0.3-alpha.1":{"name":"@aboulbox/vite-plugin-rolling-release","version":"0.0.3-alpha.1","keywords":["frontend","vite","vite-plugin","builder","symlink","vite-plugin-rolling-release"],"author":{"name":"Abel BRIEN","email":"abel.brien@gmail.com"},"license":"MIT","_id":"@aboulbox/vite-plugin-rolling-release@0.0.3-alpha.1","maintainers":[{"name":"aboulbox","email":"abel.brien@gmail.com"}],"homepage":"https://github.com/aboul/vite-plugin-rolling-release#readme","bugs":{"url":"https://github.com/aboul/vite-plugin-rolling-release/issues"},"dist":{"shasum":"c3a09f94f31d7ea81e3a66c10af7387db2077f60","tarball":"https://registry.npmjs.org/@aboulbox/vite-plugin-rolling-release/-/vite-plugin-rolling-release-0.0.3-alpha.1.tgz","fileCount":9,"integrity":"sha512-3D6dPdnSbfQGv8iFQANqe5C+4V/143JZ+6G0DxaQnTCBScvo9Uwo2A9ldrGAbGiBGF/oUu9OeVFMQSKv7aKb7Q==","signatures":[{"sig":"MEUCIQCP0fCzulelpYng3fN6pnktT9nLHN/Ju28+VNePXHaQKAIgITdppgxW537zoucA1rOHCa3q/V3yN6cRBnmOoey/EMI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16518},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.cts","module":"./dist/index.js","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"},"./package.json":"./package.json"},"gitHead":"b053eb58daaf234d24f7b538dff7682208b52308","scripts":{"dev":"tsdown --watch","build":"tsdown","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"aboulbox","email":"abel.brien@gmail.com"},"repository":{"url":"git+https://github.com/aboul/vite-plugin-rolling-release.git","type":"git"},"_npmVersion":"10.9.3","description":"A plugin to create a symlink to your custom build directory","directories":{},"_nodeVersion":"22.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.18.1","typescript":"^5.9.3","@types/node":"^25.0.3"},"peerDependencies":{"vite":"^5.0.0 || ^6.0.0 || ^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/vite-plugin-rolling-release_0.0.3-alpha.1_1769530122426_0.9019844341474901","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@aboulbox/vite-plugin-rolling-release","type":"module","version":"1.0.0","description":"A plugin to create a symlink to your custom build directory","author":{"name":"Abel BRIEN","email":"abel.brien@gmail.com"},"keywords":["frontend","vite","vite-plugin","builder","symlink","vite-plugin-rolling-release"],"license":"MIT","homepage":"https://github.com/aboul/vite-plugin-rolling-release#readme","repository":{"type":"git","url":"git+https://github.com/aboul/vite-plugin-rolling-release.git"},"publishConfig":{"access":"public"},"bugs":{"url":"https://github.com/aboul/vite-plugin-rolling-release/issues"},"exports":{".":{"require":"./dist/index.cjs","import":"./dist/index.js"},"./types":{"require":"./dist/types.cjs","import":"./dist/types.js"},"./utils":{"require":"./dist/utils.cjs","import":"./dist/utils.js"},"./package.json":"./package.json"},"main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.cts","scripts":{"build":"tsdown","dev":"tsdown --watch","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","prepare":"husky"},"devDependencies":{"@commitlint/cli":"^20.3.1","@commitlint/config-conventional":"^20.3.1","@semantic-release/changelog":"^6.0.3","@semantic-release/git":"^10.0.1","@types/node":"^25.0.3","husky":"^9.1.7","tsdown":"^0.18.1","typescript":"^5.9.3"},"commitlint":{"extends":["@commitlint/config-conventional"]},"release":{"branches":["main","beta"],"plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm"]},"gitHead":"f00ceb727050efbe54b7a63457e6c674cae308c1","_id":"@aboulbox/vite-plugin-rolling-release@1.0.0","_nodeVersion":"24.13.0","_npmVersion":"11.8.0","dist":{"integrity":"sha512-BUVs4ltIoWnPTDklbzJfkHKoxnim6moOhmJNVlzR9Z0mQbThRHui5b29LTX2eIqDO0rQ6NLBwg9733BR9ZlHTQ==","shasum":"ebfe0d44bd3f0e8874623819b6a9db50ec283fc5","tarball":"https://registry.npmjs.org/@aboulbox/vite-plugin-rolling-release/-/vite-plugin-rolling-release-1.0.0.tgz","fileCount":19,"unpackedSize":26577,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aboulbox%2fvite-plugin-rolling-release@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIA4NsjDUAdfSUXNsJRVKu1L+u47eO38jB0zOdGMZheViAiEAg99Tld8la88s+f7YiAnX6dcZmpUGWPZk08a9Xyl42ak="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4c76bae0-7b08-4c08-a35f-593306583698"}},"directories":{},"maintainers":[{"name":"aboulbox","email":"abel.brien@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vite-plugin-rolling-release_1.0.0_1769639361302_0.6616570961091663"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-27T16:08:42.357Z","modified":"2026-01-28T22:29:21.781Z","0.0.3-alpha.1":"2026-01-27T16:08:42.578Z","1.0.0":"2026-01-28T22:29:21.485Z"},"bugs":{"url":"https://github.com/aboul/vite-plugin-rolling-release/issues"},"author":{"name":"Abel BRIEN","email":"abel.brien@gmail.com"},"license":"MIT","homepage":"https://github.com/aboul/vite-plugin-rolling-release#readme","keywords":["frontend","vite","vite-plugin","builder","symlink","vite-plugin-rolling-release"],"repository":{"type":"git","url":"git+https://github.com/aboul/vite-plugin-rolling-release.git"},"description":"A plugin to create a symlink to your custom build directory","maintainers":[{"name":"aboulbox","email":"abel.brien@gmail.com"}],"readme":"# ⚡️ Vite Plugin Rolling Release [![npm](https://img.shields.io/npm/v/vite-plugin-rolling-release.svg)](https://www.npmjs.com/package/vite-plugin-rolling-release) [![license](https://img.shields.io/npm/l/vite-plugin-oxlint.svg)](https://github.com/52-entertainment/vite-plugin-oxlint/blob/main/LICENSE)\n\nA plugin to build viteJS app in a custom directory and then create a symlink at /dest/current pointing to your custom directory.\n\nMy usecase is the following :\n\n- I have a website build with Vite\n- My website is served by Caddy as a static site with `file_server`\n- When I update my website, if the build phase is long, Caddy could serve a mid-state site or completely crashed\n- My plugin allow me to build in a custom direct, then creating a symlink at `dest/current`, pointing to the new build directory once it's finish\n- This way, i'm 0️ down time.\n\n## Installation\n\n```bash\nnpm install @aboulbox/vite-plugin-rolling-release\n```\n\n## 🔌 Usage\n\nAdd the plugin to your `vite.config.js` file.\n\n```javascript\nimport { defineConfig } from \"vite\";\nimport rollingrelease from \"vite-plugin-rolling-release\";\n\nconst buildDir = \"dest/release_\" + Date.now(); // Example\nconst outDir = import.meta.env.DEV ? \"dist\" : buildDir; // Don't need to change `outDir` for development but outDir must be the same as `buildDir` when building\n\nexport default defineConfig({\n  plugins: [rollingrelease(buildDir)],\n  outDir: outDir,\n});\n```\n\n## 🧰 Options\n\n### `buildDir`\n\n- **Type:** `string`\n- **Default:** `''`\n\n  This is your build directory that `dest/current` will point to.\n\n  ⚠️ `buildDir` must be relative to project root.\n\n### `buildDir`\n\n- **Type:** `string`\n- **Default:** `''`\n\n  This is your build directory that `dest/current` will point to.\n\n  ⚠️ `buildDir` must be relative to project root.\n\n### `buildDir`\n\n- **Type:** `string`\n- **Default:** `''`\n\n  This is your build directory that `dest/current` will point to.\n\n  ⚠️ `buildDir` must be relative to project root.\n\n### `buildDir`\n\n- **Type:** `string`\n- **Default:** `''`\n\n  This is your build directory that `dest/current` will point to.\n\n  ⚠️ `buildDir` must be relative to project root.\n\n## 💡 Ideas\n\n- [x] Add an option to change the default symlink location (`dest/current` for now)\n- [ ] Add an option to clean releases and a option `keep: X` where `X` is the number of releases to keep.\n- [ ] Add an option for rolling release names (`release_<gitsha> || <timestamp> || <random>`)\n\n## 🛠️ Development\n\n- Install dependencies:\n\n```bash\nnpm install\n```\n\n- Build the library:\n\n```bash\nnpm run build\n```\n\n## License\n\n[MIT LICENSE](LICENSE)\n","readmeFilename":"README.md"}