{"_id":"typed-env","_rev":"5-64a956b03119c66a1834a9dbf8cd3b80","name":"typed-env","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.0":{"name":"typed-env","version":"1.0.0","author":{"name":"Luke James","email":"me@lukej.me"},"license":"MIT","_id":"typed-env@1.0.0","maintainers":[{"name":"lukeuke","email":"luke@prism.gg"}],"homepage":"https://github.com/itslukej/typed-env#readme","bugs":{"url":"https://github.com/itslukej/typed-env/issues"},"dist":{"shasum":"2bfb62262788396ab7743eec8ac8f746e9659315","tarball":"https://registry.npmjs.org/typed-env/-/typed-env-1.0.0.tgz","fileCount":8,"integrity":"sha512-ituLrhfHkI1UwdPNuuHPOzDih3SBAetVdAso8GbzEU/n3Y6ksT9d/7e7MryZZRscOy5hrZkKzfv6r/16w0aw9g==","signatures":[{"sig":"MEYCIQDNjmkYsgc2XySVhrE2zsexsrKYGPd52jrBuT9LiukFtgIhANJiW2Ugy9px9hHpzsZ4QzlekS4fhNR3b1nUJvDak328","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":7705,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeTR9hCRA9TVsSAnZWagAAkcUQAJxWD243FGHsUGrf+Amg\nK6hmqhMaLY1Zd1h2AR5W+U+hGUdxqGpdBcLvXDsUePCbPgiHz5GucU0eKyqp\nuLML0OBSfZayvgK+3ZKWepxVWwMsq4RLwMbS1J9QqG/ZclVzRpWYcYeOHrxz\nUL7QB5HpLJpmYC4QRiWdM1stlaUsa0GKRg6MBMZBCqfukF9fgXtL/ga/fy4n\nPxWIT59UjTkQ6JYD6En/GK+W6Tq48Ic7RMPOH0UNg3GYuCsStUQ97dxfsynO\npXLf2cb29pG8Q3C49ZkUieGAnieGWQbfF8xEmf49ob3gzGfAH4+kawovVKLl\nsGSOIbCRD1FE/wriNb5swVP7A0kwDRfztMGPky0PgPUDBQcNSGb5pUsIySGC\nKk9i2rrxTkS8NhVi4H/w/9WMbvYhIbkRqv+FlhxnbwU/dttRiWDU6u2oxNMB\nPWBZmkKvg+kXWHxq9tvV7PZ2attv1VaXy5PnwaFqUDj0Qjal6l5yR38/Gj+f\nbs9iJUZflCT8dS1cPzeI2Dx2X82LtNIZvtTa3Phuk4qtSFoOeHRdylzEvuVx\ndOdT0YQtKxOqcV5ztoW7yeP4BnSoMVywaNJ/dnnFZQzjNtW5l/VJRSOMLvmT\nAqcoeOgpLmbfgWImT2ZhtcBLppv8DCRXImp5g5MIXxfcao6ThD+2UG/E9RTi\nReyS\r\n=W11W\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"types/index.d.ts","gitHead":"1309f0c2e4481e302321391f8537388d4478ee6b","scripts":{"build":"tsc"},"_npmUser":{"name":"lukeuke","email":"luke@prism.gg"},"repository":{"url":"git+https://github.com/itslukej/typed-env.git","type":"git"},"_npmVersion":"6.13.6","description":"Typed environment variable parser","directories":{},"_nodeVersion":"13.8.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^3.7.5","@types/node":"^13.7.2"},"_npmOperationalInternal":{"tmp":"tmp/typed-env_1.0.0_1582112608645_0.6622786494869735","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"typed-env","version":"1.0.1","keywords":["environment variables","env","parser","env parser","typescript","typed","config"],"author":{"name":"Luke James","email":"me@lukej.me"},"license":"MIT","_id":"typed-env@1.0.1","maintainers":[{"name":"lukeuke","email":"luke@prism.gg"}],"homepage":"https://github.com/itslukej/typed-env#readme","bugs":{"url":"https://github.com/itslukej/typed-env/issues"},"dist":{"shasum":"5954b08455207034db598dc0994d4db8f853cf90","tarball":"https://registry.npmjs.org/typed-env/-/typed-env-1.0.1.tgz","fileCount":8,"integrity":"sha512-Cm5DEawMT0VBDM9hTBBP9Fn1PFLIFwLNfq1nFefZs/iLu1g8jV1KqeilfFsJpwaQr2UHvBdnY/r09PtaIpOJ0w==","signatures":[{"sig":"MEUCIECI1aXPfsBXxLRsdbTpr0xsgB6dU7v0jbYH/U3LUMMcAiEAykOYIxw9SGG26ykiCnTYA8+FDYYHgflH7L0lPtVwCGc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8310,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeTXNiCRA9TVsSAnZWagAACaUP/A8XQNZOvjVYXV3B56MQ\nHe3bxP7e0WB8tIFDKBXOvJ/GiuqrnKL2ApOVlrbb/g+vkRyH2VkDiIAmEv4Q\nTpZjhKzUEZrg6gQVoDWKyO2paYBQjLh/lj42Y343gbiaufgEJWMrhDwttolz\nr4mcBTCkkrapG9TlcY59kQaDS7MhxxRjBn8KCZGsI9mKZwficUc8sgxh8kTj\nW/2BPlu1fDnqTSI6A8M/SDHec0zMhOCFkwSq9s4xISQiCWLRZgYrG+nUkzNQ\ns/KJOIEIh4YnOLpYAXKpTM/0Y14RLdRbP/tbu/E4xaNApdd1d/vltNO2JXOR\ngJj1JiJ6Uxsf1stze9kmGjtkpvdlsudZisXnLGM4bD6SitV960sUBc/SWuOX\ny36xYxQhgO4jX1cABl2jUFLw0eBcmnLj7NFx9v7TJ3Euusu4vWVCRoMK0tJY\nhppIuVHe8OR3GyRF8EhO9VLKDVQG3YVf7gAa3Gs8jyDA+AFzTsbxrswZGPyX\naQvbRR/wsITrMSO8lZCRTEMxb6PPlPyxbhbToyW4ZMXhQtCNgdgyskOGIzcJ\nyji4B7RpL3NbXIh4Ozvkfrur392mpTm2MK3eY/UUQDO6nrdaMP3+bYQg0uDO\nqXYTuyEEe7n8Y6j9JMJaLywy1mrF1gifbyTJCtLFvwjQFxkwTyzFRS1Rn002\n6s9R\r\n=jsqL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"types/index.d.ts","gitHead":"83548f5e59bd8babfccc67cb27371377b024ae1e","scripts":{"build":"tsc"},"_npmUser":{"name":"lukeuke","email":"luke@prism.gg"},"repository":{"url":"git+https://github.com/itslukej/typed-env.git","type":"git"},"_npmVersion":"6.13.6","description":"Typed environment variable parser","directories":{},"_nodeVersion":"13.8.0","_hasShrinkwrap":false,"devDependencies":{"typescript":"^3.7.5","@types/node":"^13.7.2"},"_npmOperationalInternal":{"tmp":"tmp/typed-env_1.0.1_1582134113851_0.9873941435038696","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"typed-env","version":"2.0.0","description":"Typed environment variable parser","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","exports":{"import":"./dist/index.mjs","require":"./dist/index.js","types":"./dist/index.d.ts"},"sideEffects":"false","contributors":[{"name":"Luke James","email":"me@lukej.me"},{"name":"Superchupu"}],"license":"MIT","keywords":["environment variables","env","parser","env parser","typescript","typed","config"],"repository":{"type":"git","url":"git+https://github.com/itslukej/typed-env.git"},"bugs":{"url":"https://github.com/itslukej/typed-env/issues"},"homepage":"https://github.com/itslukej/typed-env#readme","devDependencies":{"@biomejs/biome":"^1.9.4","@types/node":"^22.15.21","auto-changelog":"^2.5.0","tsdown":"^0.12.3","typescript":"^5.8.3"},"engines":{"node":"^14.18.0 || >=16.0.0"},"publishConfig":{"access":"public","provenance":true},"scripts":{"build":"tsdown","changelog":"auto-changelog -p --commit-limit false","check":"biome check","format":"biome format --write","lint":"biome lint","lint:fix":"biome lint --fix --unsafe","test":"node --test","typecheck":"tsc"},"_id":"typed-env@2.0.0","_integrity":"sha512-9nP+7+pctDlpFNKS4nkXPVkCOdAj7Ax8QeHhQkQ0hEGzsJ5ClgfhjwGN89q6s/EukHqyq9rDRzZ2yctCIEJGxA==","_resolved":"/tmp/ebb9e3943da027437c5a50e9ca0fbc24/typed-env-2.0.0.tgz","_from":"file:typed-env-2.0.0.tgz","_nodeVersion":"24.0.2","_npmVersion":"11.3.0","dist":{"integrity":"sha512-9nP+7+pctDlpFNKS4nkXPVkCOdAj7Ax8QeHhQkQ0hEGzsJ5ClgfhjwGN89q6s/EukHqyq9rDRzZ2yctCIEJGxA==","shasum":"77563b01376aaffc0ec884107c52dc493d6bdff6","tarball":"https://registry.npmjs.org/typed-env/-/typed-env-2.0.0.tgz","fileCount":9,"unpackedSize":22185,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/typed-env@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICzHP08XqwAmq1HBcEnN2xMC8s6g+E3fjJzp1LWBoAoQAiEAkel7m/0isZ7oKV4oT+F28CknQ80Dyh6vV7bIhEts1EY="}]},"_npmUser":{"name":"superchupu","email":"mgurriarann@gmail.com"},"directories":{},"maintainers":[{"name":"lukeuke","email":"luke@prism.gg"},{"name":"superchupu","email":"mgurriarann@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/typed-env_2.0.0_1748197557831_0.5432447860322391"},"_hasShrinkwrap":false}},"time":{"created":"2020-02-19T11:43:28.612Z","modified":"2025-05-25T18:25:58.353Z","1.0.0":"2020-02-19T11:43:28.743Z","1.0.1":"2020-02-19T17:41:54.039Z","2.0.0":"2025-05-25T18:25:57.975Z"},"bugs":{"url":"https://github.com/itslukej/typed-env/issues"},"license":"MIT","homepage":"https://github.com/itslukej/typed-env#readme","keywords":["environment variables","env","parser","env parser","typescript","typed","config"],"repository":{"type":"git","url":"git+https://github.com/itslukej/typed-env.git"},"description":"Typed environment variable parser","maintainers":[{"name":"lukeuke","email":"luke@prism.gg"},{"name":"superchupu","email":"mgurriarann@gmail.com"}],"readme":"# typed-env\n\n[![npm version](https://img.shields.io/npm/v/typed-env.svg?maxAge=3600)](https://npmjs.com/package/typed-env)\n[![monthly downloads](https://img.shields.io/npm/dm/typed-env.svg?maxAge=3600)](https://npmjs.com/package/typed-env)\n\nA typed environment variable parser with support for choices, custom parsers, and more.\n\n## Usage\n\n```ts\nimport { createEnv } from 'typed-env';\n\nconst env = createEnv({\n  PORT: { type: 'number', default: 80 }\n});\n\nenv.PORT; // number\n```\n\n## Features\n\n- Strongly typed\n- Supports [custom parsers](#parser)\n- Supports optional environment variables\n- Supports limiting the possible values (see [Choices](#choices))\n- Supports passing custom environments (see [Options](#options))\n\n### Choices\n\n```ts\nimport { createEnv } from 'typed-env';\n\nconst env = createEnv({\n  NODE_ENV: {\n    type: 'string',\n    choices: ['development', 'production']\n  }\n});\n\nenv.NODE_ENV; // 'development' | 'production'\n```\n\n### Parser\n\nYou can pass a `parser` function to return your own custom type\n\n```ts\nimport { createEnv } from 'typed-env';\n\nconst env = createEnv({\n  HOMEPAGE: { parser: url => new URL(url) }\n});\n\nenv.HOMEPAGE; // URL\n```\n\n### Options\n\nIf you want to use a custom env, pass `env` in the `options` parameter, otherwise it will load from `process.env`\n\n```ts\ninterface Options {\n  env?: Record<string, string> | NodeJS.ProcessEnv;\n}\n```\n","readmeFilename":"README.md","contributors":[{"name":"Luke James","email":"me@lukej.me"},{"name":"Superchupu"}]}