@beesley/ts-env

中文文档
1.0.1发布于 2023/10/06MITTypeScriptESM + CJS零依赖近 30 天下载 1.8万

An environment variable reader for TypeScript

原始使用文档
文档目录13 节
  1. Install
  2. Example
  3. API
  4. .string(key: string): string | undefined
  5. .stringOrThrow(key: string): string
  6. .boolean(key: string): boolean | undefined
  7. .booleanOrThrow(key: string): boolean
  8. .number(key: string): number | undefined
  9. .numberOrThrow(key: string): number
  10. .stringArray(key: string, separator: string = ','): string[…
  11. .stringArrayOrThrow(key: string, separator: string = ','): …
  12. .numberArray(key: string, separator: string = ','): number[…
  13. .numberArrayOrThrow(key: string, separator: string = ','): …

@beesley/ts-env / Exports

Build, Test & Publish Main Commitizen friendly semantic-release: angular

An environment variable reader for TypeScript. Simple and minimal. ✨

This is basically the package created by @lpgera, but since that package doesn't play well at all with typescript when you're using es modules I've forked it and rebuilt is as a universal package to work with either es modules or common js.

Install

This package requires typescript to be installed.

# with npm
npm install @beesley/ts-env

# or with Yarn
yarn add @beesley/ts-env

Example

Reading different types of environment variables without ts-env:

if (!process.env.PORT) {
  throw new Error('process.env.PORT is missing')
}
if (!process.env.DATABASE) {
  throw new Error('process.env.DATABASE is missing')
}

const port: number = parseInt(process.env.PORT)
const database: string = process.env.DATABASE
const debug: boolean | undefined = process.env.DEBUG === 'true'

Doing the same with ts-env:

import tsEnv from '@beesley/ts-env'

const port: number = tsEnv.numberOrThrow('PORT')
const database: string = tsEnv.stringOrThrow('DATABASE')
const debug: boolean | undefined = tsEnv.boolean('DEBUG')

API

.string(key: string): string | undefined

Reads a string value from process.env[key].

.stringOrThrow(key: string): string

Reads a string value from process.env[key]. Throws an error if it's undefined.

.boolean(key: string): boolean | undefined

Reads a boolean value from process.env[key]. "0" and "false" are considered false, "1" and "true" are considered true. Everything else will be read as undefined.

.booleanOrThrow(key: string): boolean

Reads a boolean value from process.env[key]. "0" and "false" are considered false, "1" and "true" are considered true. Everything else will result in an error thrown.

.number(key: string): number | undefined

Reads a number value from process.env[key]. If a number cannot be parsed, it will return undefined.

.numberOrThrow(key: string): number

Reads a number value from process.env[key]. If a number cannot be parsed, an error will be thrown.

.stringArray(key: string, separator: string = ','): string[] | undefined

Reads a string array from process.env[key].

.stringArrayOrThrow(key: string, separator: string = ','): string[]

Reads a string array from process.env[key]. Throws an error if it's undefined.

.numberArray(key: string, separator: string = ','): number[] | undefined

Reads a number array from process.env[key]. If any item cannot be parsed, it will return undefined.

.numberArrayOrThrow(key: string, separator: string = ','): number[]

Reads a number array from process.env[key]. If any item cannot be parsed, an error will be thrown.

版本与发布记录

@beesley/ts-env 共发布 2 个版本,首次发布于 2023/10/06;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.0.1latest2023/10/063 年前
1.0.02023/10/063 年前

关于 @beesley/ts-env 的常见问题

@beesley/ts-env 是什么?

An environment variable reader for TypeScript

如何安装 @beesley/ts-env?

在项目目录运行 npm install @beesley/ts-env,或使用 pnpm add / yarn add / bun add。

@beesley/ts-env 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@beesley/ts-env 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@beesley/ts-env 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18.12。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@beesley/ts-env 可以商用吗?

@beesley/ts-env 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@beesley/ts-env 的下载量有多少?

根据 npm 官方下载统计,@beesley/ts-env 在 2026/10/08 – 2026/11/06 这 30 天内被下载 17,758 次,日均约 592 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@beesley/ts-env 还在维护吗?

最新版本 1.0.1 发布于 2023/10/06(3 年前);至今共发布 2 个版本,其中过去 12 个月发布了 0 个;首次发布于 2023/10/06。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。