{"_id":"@yolk-oss/elysia-env","_rev":"6-c8797d4b3c080d8ae25a0a8ffa629029","name":"@yolk-oss/elysia-env","dist-tags":{"latest":"3.0.1"},"versions":{"1.0.0":{"name":"@yolk-oss/elysia-env","version":"1.0.0","keywords":["elysia","env","yolk-oss","plugin"],"license":"MIT","_id":"@yolk-oss/elysia-env@1.0.0","maintainers":[{"name":"fecony","email":"minepuff@gmail.com"}],"homepage":"https://github.com/yolk-oss/elysia-env","bugs":{"url":"https://github.com/yolk-oss/elysia-env/issues"},"dist":{"shasum":"1f9a3b2295bd7c7ece63f665b8b7775c74e97085","tarball":"https://registry.npmjs.org/@yolk-oss/elysia-env/-/elysia-env-1.0.0.tgz","fileCount":14,"integrity":"sha512-0AHbtwjdN/eyeCP0NneKxYyXo7+X5af1JWFsXLu935xN8pTe2jTnCpxHZ4mr0DUNUSzbDmvbm1wkJ6sGphrG/g==","signatures":[{"sig":"MEUCIQDe9Ag7HfGWakoJU0SfIrfXQNWemWdaDhE0bgT8w7ciuAIgQsF05HJdIlYo8719mepQUKdN6vGyqDU4gYrknKfWU9c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":119502},"main":"./dist/index.js","types":"./src/index.ts","exports":{"bun":"./dist/index.js","node":"./dist/cjs/index.js","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/cjs/index.js"},"gitHead":"72a1fd5f5e0c2dfc76aad32c5914de8d48334e29","scripts":{"dev":"bun run --watch examples/index.ts","lint":"eslint .","test":"bun run lint && bun test --env-file=.env.test","build":"rimraf dist && tsc --project tsconfig.esm.json && tsc --project tsconfig.cjs.json","release":"bun run build && bun run test && npm run test:node && npm publish --access public","test:node":"npm install --prefix ./tests/node/cjs/ && npm install --prefix ./tests/node/esm/ && node ./tests/node/cjs/index.js && node ./tests/node/esm/index.js"},"_npmUser":{"name":"fecony","email":"minepuff@gmail.com"},"repository":{"url":"git+https://github.com/yolk-oss/elysia-env.git","type":"git"},"_npmVersion":"10.2.4","description":"env plugin for Elysia.js","directories":{},"_nodeVersion":"21.5.0","_hasShrinkwrap":false,"devDependencies":{"elysia":"^1.0.7","eslint":"^8.57.0","rimraf":"^5.0.5","@types/bun":"^1.0.10","typescript":"^5.4.3","@typescript-eslint/parser":"^7.3.1","@typescript-eslint/eslint-plugin":"^7.3.1"},"peerDependencies":{"elysia":">= 1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elysia-env_1.0.0_1711383293641_0.5310426783362339","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@yolk-oss/elysia-env","version":"1.0.1","keywords":["elysia","env","yolk-oss","plugin"],"license":"MIT","_id":"@yolk-oss/elysia-env@1.0.1","maintainers":[{"name":"fecony","email":"minepuff@gmail.com"}],"homepage":"https://github.com/yolk-oss/elysia-env","bugs":{"url":"https://github.com/yolk-oss/elysia-env/issues"},"dist":{"shasum":"3b248ee34dc067b3e7c1a93bf466b80df5931031","tarball":"https://registry.npmjs.org/@yolk-oss/elysia-env/-/elysia-env-1.0.1.tgz","fileCount":7,"integrity":"sha512-3TPQ09lIdRn8ZEXmDLL1inlNshzUmWFr5tnLfeFAPAw8lm5nhTeby1PPEdVdjPyD/xP2yE7zgQ2XzCjzaqIjbA==","signatures":[{"sig":"MEUCIQDP7KP1Md+PaYhug2efDIiODNGCsn/pI+nzmKnpdQHCAAIgQsgCDvXRQlnMwMy99//EDI+FdD9PE22W+iiVCTzgVg8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17511},"main":"./dist/index.js","types":"./src/index.ts","exports":{"bun":"./dist/index.js","node":"./dist/cjs/index.js","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/cjs/index.js"},"gitHead":"d1599cfa3fdb45f275ec5b4a5306335a91ff28cc","scripts":{"dev":"bun run --watch examples/index.ts","lint":"eslint .","test":"bun run lint && bun test --env-file=.env.test","build":"rimraf dist && tsc --project tsconfig.esm.json && tsc --project tsconfig.cjs.json","release":"bun run build && bun run test && npm run test:node && npm publish --access public","test:node":"npm install --prefix ./tests/node/cjs/ && npm install --prefix ./tests/node/esm/ && node ./tests/node/cjs/index.js && node ./tests/node/esm/index.js"},"_npmUser":{"name":"fecony","email":"minepuff@gmail.com"},"repository":{"url":"git+https://github.com/yolk-oss/elysia-env.git","type":"git"},"_npmVersion":"10.2.4","description":"env plugin for Elysia.js","directories":{},"_nodeVersion":"21.5.0","_hasShrinkwrap":false,"devDependencies":{"elysia":"^1.0.7","eslint":"^8.57.0","rimraf":"^5.0.5","@types/bun":"^1.0.10","typescript":"^5.4.3","@typescript-eslint/parser":"^7.3.1","@typescript-eslint/eslint-plugin":"^7.3.1"},"peerDependencies":{"elysia":">= 1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elysia-env_1.0.1_1711476786755_0.14431787171057398","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@yolk-oss/elysia-env","version":"1.0.2","keywords":["elysia","env","yolk-oss","plugin"],"license":"MIT","_id":"@yolk-oss/elysia-env@1.0.2","maintainers":[{"name":"fecony","email":"minepuff@gmail.com"}],"homepage":"https://github.com/yolk-oss/elysia-env","bugs":{"url":"https://github.com/yolk-oss/elysia-env/issues"},"dist":{"shasum":"68e4b35987f1e323095414cea8cc524ec4d6af78","tarball":"https://registry.npmjs.org/@yolk-oss/elysia-env/-/elysia-env-1.0.2.tgz","fileCount":7,"integrity":"sha512-LuC189Fz9ML5A4yHsQ5BWl0GWYYZBiUiMbYONKeEzvyFa9YLcI1EEWFfFVIgAOAz4wMus0xJBbEOkGxvqCeYlA==","signatures":[{"sig":"MEUCIQDMqlPw8JwRhgUf3M7X+b/VO3z71aJ+vohzlQ6C4975hgIgJIFeFqN8GGxaz+FrkymygenfaDloMwV+KHVXvNEp5kM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9726},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{"bun":"./dist/index.js","node":"./dist/cjs/index.js","types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/cjs/index.js"},"gitHead":"08239609aa090ff3e2c9ea3a398c2b2c08c7e945","scripts":{"dev":"bun run --watch examples/index.ts","lint":"eslint .","test":"bun run lint && bun test --env-file=.env.test","build":"rimraf dist && tsc --project tsconfig.esm.json && tsc --project tsconfig.cjs.json","release":"bun run build && bun run test && npm run test:node && npm publish --access public","test:node":"npm install --prefix ./tests/node/cjs/ && npm install --prefix ./tests/node/esm/ && node ./tests/node/cjs/index.js && node ./tests/node/esm/index.js"},"_npmUser":{"name":"fecony","email":"minepuff@gmail.com"},"repository":{"url":"git+https://github.com/yolk-oss/elysia-env.git","type":"git"},"_npmVersion":"10.2.4","description":"env plugin for Elysia.js","directories":{},"_nodeVersion":"21.5.0","_hasShrinkwrap":false,"devDependencies":{"elysia":"^1.0.9","eslint":"^8.57.0","rimraf":"^5.0.5","@types/bun":"^1.0.11","typescript":"^5.4.3","@typescript-eslint/parser":"^7.4.0","@typescript-eslint/eslint-plugin":"^7.4.0"},"peerDependencies":{"elysia":">= 1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/elysia-env_1.0.2_1711479049178_0.9331966768593183","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@yolk-oss/elysia-env","version":"2.0.0","keywords":["elysia","env","yolk-oss","plugin"],"license":"MIT","_id":"@yolk-oss/elysia-env@2.0.0","maintainers":[{"name":"fecony","email":"minepuff@gmail.com"}],"homepage":"https://github.com/yolk-oss/elysia-env","bugs":{"url":"https://github.com/yolk-oss/elysia-env/issues"},"dist":{"shasum":"cdf3d21859d305053113fcd836a63321cc3c03af","tarball":"https://registry.npmjs.org/@yolk-oss/elysia-env/-/elysia-env-2.0.0.tgz","fileCount":7,"integrity":"sha512-Oe/JLISWj3X8BoNcqKn8YoSuNTyl6ISqYucQWKmU5G8kNWd5+Qpiesj3FG8HTdbGpF9jkSPKlmi142lUI60c1g==","signatures":[{"sig":"MEYCIQCmm9qY6uLAvs5Xev2OIvZ6x8baplW1+KlKwM2f3L20kwIhANy+pXwxOnl125t5KVgZjTCPPtnL+lb4s5+w2IyiWuMa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11053},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{"bun":"./dist/index.js","node":"./dist/cjs/index.js","types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/cjs/index.js"},"gitHead":"65d9c60bd3dc6efeb12e7fbad018c0fcf60d7b34","scripts":{"dev":"bun run --watch examples/src/index.ts","lint":"eslint .","test":"bun run lint && bun test --env-file=.env.test","build":"rimraf dist && tsc --project tsconfig.esm.json && tsc --project tsconfig.cjs.json","release":"bun run build && bun run test && npm run test:node && npm publish --access public","test:node":"npm install --prefix ./tests/node/cjs/ && npm install --prefix ./tests/node/esm/ && node ./tests/node/cjs/index.js && node ./tests/node/esm/index.js"},"_npmUser":{"name":"fecony","email":"minepuff@gmail.com"},"repository":{"url":"git+https://github.com/yolk-oss/elysia-env.git","type":"git"},"_npmVersion":"10.7.0","description":"env plugin for Elysia.js","directories":{},"_nodeVersion":"22.2.0","_hasShrinkwrap":false,"devDependencies":{"elysia":">= 1.2.0","eslint":"^9.18.0","rimraf":"^6.0.1","globals":"^15.14.0","@eslint/js":"^9.18.0","@types/bun":"^1.1.16","typescript":"^5.7.3","typescript-eslint":"^8.20.0"},"peerDependencies":{"elysia":">= 1.2.0"},"_npmOperationalInternal":{"tmp":"tmp/elysia-env_2.0.0_1737232721675_0.47246088673769204","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@yolk-oss/elysia-env","version":"3.0.0","keywords":["elysia","env","yolk-oss","plugin"],"license":"MIT","_id":"@yolk-oss/elysia-env@3.0.0","maintainers":[{"name":"fecony","email":"minepuff@gmail.com"}],"homepage":"https://github.com/yolk-oss/elysia-env","bugs":{"url":"https://github.com/yolk-oss/elysia-env/issues"},"dist":{"shasum":"5272aeac5c0818f28239e607d34fc67b7e228e8c","tarball":"https://registry.npmjs.org/@yolk-oss/elysia-env/-/elysia-env-3.0.0.tgz","fileCount":7,"integrity":"sha512-dUc2CO0TWtwiXn6MZ8ER33M/gA3XiQ1kKq+GN6xJA1E27H86Aw0+5wmXaAe80ZqiMM1hyUMCnxtdupmoTwHFcA==","signatures":[{"sig":"MEUCIFTXOsDrHiiupW7ij6poCLYQ8uDiCwMWIb6LTSWk+Ac1AiEAsnvWG2fgsLTKe89/3zgpd1JmUXdX3OMUyHzikjgRkHA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12449},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{"bun":"./dist/index.js","node":"./dist/cjs/index.js","types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js","require":"./dist/cjs/index.js"},"gitHead":"0312ac7727479377556d5520314561905cc4186d","scripts":{"dev":"bun run --watch examples/src/index.ts","lint":"eslint .","test":"bun run lint && bun test --env-file=.env.test","build":"rimraf dist && tsc --project tsconfig.esm.json && tsc --project tsconfig.cjs.json","release":"bun run build && bun run test && npm run test:node && npm publish --access public","test:node":"npm install --prefix ./tests/node/cjs/ && npm install --prefix ./tests/node/esm/ && node ./tests/node/cjs/index.js && node ./tests/node/esm/index.js"},"_npmUser":{"name":"fecony","email":"minepuff@gmail.com"},"repository":{"url":"git+https://github.com/yolk-oss/elysia-env.git","type":"git"},"_npmVersion":"10.9.2","description":"env plugin for Elysia.js","directories":{},"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"devDependencies":{"elysia":"^1.3.0","eslint":"^9.26.0","rimraf":"^6.0.1","globals":"^15.15.0","@eslint/js":"^9.26.0","@types/bun":"^1.2.12","typescript":"^5.8.3","typescript-eslint":"^8.31.1"},"peerDependencies":{"elysia":">= 1.3.0"},"_npmOperationalInternal":{"tmp":"tmp/elysia-env_3.0.0_1746463101014_0.5650650475417298","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@yolk-oss/elysia-env","description":"env plugin for Elysia.js","version":"3.0.1","repository":{"type":"git","url":"git+https://github.com/yolk-oss/elysia-env.git"},"types":"./dist/index.d.ts","main":"./dist/index.js","exports":{"bun":"./dist/index.js","node":"./dist/cjs/index.js","require":"./dist/cjs/index.js","import":"./dist/index.js","default":"./dist/index.js","types":"./dist/index.d.ts"},"bugs":{"url":"https://github.com/yolk-oss/elysia-env/issues"},"homepage":"https://github.com/yolk-oss/elysia-env","keywords":["elysia","env","yolk-oss","plugin"],"license":"MIT","scripts":{"lint":"eslint .","dev":"bun run --watch examples/src/index.ts","test":"bun run lint && bun test --env-file=.env.test","test:node":"npm install --prefix ./tests/node/cjs/ && npm install --prefix ./tests/node/esm/ && node ./tests/node/cjs/index.js && node ./tests/node/esm/index.js","build":"rimraf dist && tsc --project tsconfig.esm.json && tsc --project tsconfig.cjs.json","release":"bun run build && bun run test && npm run test:node && npm publish --access public"},"devDependencies":{"@eslint/js":"^9.26.0","@types/bun":"^1.2.12","elysia":"^1.4.26","eslint":"^9.26.0","globals":"^15.15.0","rimraf":"^6.0.1","typescript":"^5.8.3","typescript-eslint":"^8.31.1"},"peerDependencies":{"elysia":">= 1.4.26"},"gitHead":"cce8384680047156bcf2da6f0c3177158498caf1","_id":"@yolk-oss/elysia-env@3.0.1","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-fEgLyt4iyuZkcCumZD/0CQGtD6DSencbnMceGjf9FbQoagbARMogLAwkgAdFoTE9w4ywz273tf6VFTWx7HDalA==","shasum":"c387a23225e2deef718e96b42a8dd8d48b58f07c","tarball":"https://registry.npmjs.org/@yolk-oss/elysia-env/-/elysia-env-3.0.1.tgz","fileCount":7,"unpackedSize":12711,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCwopmrDtITi9LmTUvyjysRj4kA//8gC2VOBHb/PZeU7gIhANXXsK6Y46xIaNs4t/lvqidM2EyZDdLfeJvl1RpnCO5p"}]},"_npmUser":{"name":"fecony","email":"minepuff@gmail.com"},"directories":{},"maintainers":[{"name":"fecony","email":"minepuff@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/elysia-env_3.0.1_1773493342342_0.3263891810965689"},"_hasShrinkwrap":false}},"time":{"created":"2024-03-25T16:14:53.554Z","modified":"2026-03-14T13:02:22.646Z","1.0.0":"2024-03-25T16:14:53.864Z","1.0.1":"2024-03-26T18:13:06.907Z","1.0.2":"2024-03-26T18:50:49.323Z","2.0.0":"2025-01-18T20:38:41.917Z","3.0.0":"2025-05-05T16:38:21.250Z","3.0.1":"2026-03-14T13:02:22.491Z"},"bugs":{"url":"https://github.com/yolk-oss/elysia-env/issues"},"license":"MIT","homepage":"https://github.com/yolk-oss/elysia-env","keywords":["elysia","env","yolk-oss","plugin"],"repository":{"type":"git","url":"git+https://github.com/yolk-oss/elysia-env.git"},"description":"env plugin for Elysia.js","maintainers":[{"name":"fecony","email":"minepuff@gmail.com"}],"readme":"# @yolk-oss/elysia-env\n\n[![elysia][elysia-src]][elysia-href]\n[![npm version][npm-version-src]][npm-version-href]\n[![npm downloads][npm-downloads-src]][npm-downloads-href]\n[![bundle][bundle-src]][bundle-href]\n[![License][license-src]][license-href]\n\nA plugin for [Elysia.js](https://elysiajs.com) to validate environment variables and inject them into your application.\n\n> [!TIP]\n> Before using this plugin, consider using Elysia built-in `.env(t.Object({ ENV: t.String() }))` method for simple `.env` variable validation\n\n## Table of Contents\n\n-   [Installation](#installation)\n-   [Basic Usage](#basic-usage)\n-   [Features](#features)\n    -   [Custom Environment Sources](#custom-environment-sources)\n    -   [Prefix](#prefix)\n    -   [Error Handling](#error-handling)\n    -   [Success Callback](#success-callback)\n-   [License](#license)\n\n## Installation\n\nTo install `@yolk-oss/elysia-env` with Bun, run the following command:\n\n```bash\nbun add @yolk-oss/elysia-env\n```\n\n## Basic Usage\n\nThe `@yolk-oss/elysia-env` plugin provides a way to validate and inject environment variables into your Elysia.js application.\nYou define a schema for the environment variables using TypeBox, and the plugin will validate them, inject them, and handle errors based on your preferences.\n\n```ts\nimport { Elysia, t } from 'elysia'\nimport { env } from '@yolk-oss/elysia-env'\n\nconst app = new Elysia()\n    .use(\n        env({\n            TOKEN: t.String({\n                minLength: 5,\n                error: 'TOKEN is required for a service!',\n            }),\n        }),\n    )\n    .get('/', ({ env }) => env.TOKEN)\n    //                           ^? (property) TOKEN: string\n    .listen(8080)\n\nconsole.log(`Listening on http://${app.server!.hostname}:${app.server!.port}`)\n```\n\nCheckout the [examples](./examples) and [tests](./tests) folders on github.\n\n## Features\n\n### Custom Environment Sources\n\nYou can specify a custom source for the environment variables.\nBy default, the plugin uses process.env, but you can use alternative sources like secret managers, custom storage, etc.\n\n```ts\nenv(schema, {\n    envSource: {\n        API_KEY: 'custom-api-key',\n        DB_URL: 'custom-db-url',\n    },\n})\n```\n\n### Prefix\n\nYou can specify a prefix for the environment variables.\nThis will load only variables that start with the specified prefix.\n\n```ts\nenv(schema, {\n    prefix: 'MY_APP_', // Variables must start with MY_APP_\n})\n```\n\n> [!WARNING]\n> Variables with default values will be available even if they don't start with the prefix.\n\n### Error Handling\n\nYou can control how the plugin handles validation errors through the `onError` option:\n\n-   'exit': Exits the process with an error code 1 (default).\n-   'warn': Logs a warning message but continues running the app.\n-   'silent': Continues without logging anything.\n-   Function: You can pass a custom error handler function.\n\n```ts\nenv(schema, {\n    onError: 'warn', // Logs a warning and continues\n})\n```\n\n### Success Callback\n\nYou can define a callback function that is executed when the environment variables pass validation successfully.\n\n```ts\nenv(schema, {\n    onSuccess: (env) => {\n        console.log('Successfully loaded environment variables:', env)\n    },\n})\n```\n\n## License\n\n[MIT](LICENSE)\n\n<!-- Badges -->\n\n[elysia-src]: https://img.shields.io/badge/%F0%9F%A6%8A-f6f8fa?style=flat-square&label=elysia&labelColor=f06292\n[elysia-href]: https://elysiajs.com/\n[npm-version-src]: https://img.shields.io/npm/v/@yolk-oss/elysia-env?style=flat-square&labelColor=EFEBE8&color=F4BB29\n[npm-version-href]: https://npmjs.com/package/@yolk-oss/elysia-env\n[npm-downloads-src]: https://img.shields.io/npm/dm/@yolk-oss/elysia-env?style=flat-square&labelColor=EFEBE8&color=F4BB29\n[npm-downloads-href]: https://npmjs.com/package/@yolk-oss/elysia-env\n[bundle-src]: https://img.shields.io/bundlephobia/minzip/@yolk-oss/elysia-env?style=flat-square&labelColor=EFEBE8&color=F4BB29&label=bundlephobia\n[bundle-href]: https://bundlephobia.com/result?p=@yolk-oss/elysia-env\n[license-src]: https://img.shields.io/github/license/yolk-oss/elysia-env.svg?style=flat-square&labelColor=EFEBE8&color=F4BB29\n[license-href]: https://github.com/yolk-oss/elysia-plugin/blob/main/LICENSE\n","readmeFilename":"README.md"}