@dot/config

中文文档
2.0.1发布于 2024/08/30MPL-2.0TypeScriptCommonJS近 30 天下载 2430

节点+AWS项目的配置合同

中文使用文档
文档目录9 节
  1. 所需资源
  2. 安装
  3. 使用量
  4. 出口
  5. DotEnv
  6. env
  7. envPrefix
  8. init
  9. 元数据

@ dot/ 配置

节点+AWS项目的配置合同.

本套件执行的合同包括:

  • 配置值处理和断言出错 。 空值或缺失值停止执行 .
  • 容易获得环境变量
  • AWS SSM 参数的存取便利
  • 容易获取 AWS 机密管理器机密
  • 无需使用或访问 process.env
  • 指定配置的默认值
  • 提供犬类环境名称, 将环境解析为中心

对于TypeScript用户,根据传输到的配置选项的密钥,以intellisense方式提供已知的配置值 init。 。 。 .

所需资源

此软件包需要 活动 LTS 节点版本 (v18+).

安装

使用 pnpm :

pnpm add @dot/config

使用量

import { env, init } from '@dot/config';

const defaultConfig = { ... };
const secretConfig = {
  BATCAVE_CODE: `/${env}/batcave/code`
};
const ssmConfig = { ... };
const { get } = init({ defaultConfig, pkg, secretConfig, ssmConfig });

const value = await get('BATCAVE_CODE');

出口

DotEnv

类型 : Enum

一个 enum 代表常见的节点、部署或运行环境.

enum DotEnv {
  DEV = 'dev',
  PROD = 'prod',
  STAGE = 'stage',
  TEST = 'test'
}

env

类型 : String

现值 env 值,对应 DotEnv。 。 。 .

envPrefix

类型 : String

现值 env 在用于部署资源标识符和其他标识符或前缀的前缀中值。 譬如说. prod-

init

类型 : Function
回返情况: { get, put }

初始化配置取出和放出.

选项

defaultConfig

类型 : Object

一个 object 用于识别配置值.

secretConfig

类型 : Object

一个 object 使密钥匹配 AWS 密管器名称 .

ssmConfig

类型 : Object

一个 object 使密钥匹配 AWS SSM 参数存储路径 .

get

类型 : Function
参数: (key: String)
回返情况: Promise<String | Number>

获取指定密钥的值 。 密钥可能代表以下关键内容:

  • process.env
  • 默认配置对象
  • 密钥配置对象
  • SSM 配置对象

如果密钥不存在, 或者从任何可能来源返回的值是 undefined页:1 RangeError 被抛出.

const name = await get('BATMAN');

put

类型 : Function
参数: (key: String, value: any)
回返情况: Promise<AWS Response>

保存指定的密钥的值,该密钥对应 AWS SSM 参数路径。 此函数仅限于 AWS SSM 参数存储.

await put('DB_NAME', 'batman');

元数据

捐款

(Mozilla公共许可证)

版本与发布记录

@dot/config 共发布 15 个版本,首次发布于 2023/01/25;过去 12 个月发布了 0 个版本。

版本发布日期距今
2.0.1latest2024/08/302 年前
2.0.02024/07/292 年前
1.3.02024/06/102 年前
1.2.12024/05/162 年前
1.2.02024/03/192 年前
1.1.22023/05/313 年前

关于 @dot/config 的常见问题

@dot/config 是什么?

节点+AWS项目的配置合同

如何安装 @dot/config?

在项目目录运行 npm install @dot/config,或使用 pnpm add / yarn add / bun add。

@dot/config 支持 TypeScript 吗?

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

@dot/config 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@dot/config 需要什么版本的 Node.js?

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

@dot/config 可以商用吗?

@dot/config 使用 MPL-2.0 许可。弱 Copyleft:可以商用,也可以和闭源代码一起使用;但如果分发时修改了 MPL 授权的文件,这些文件的修改需以 MPL 开源。以上为概括,不构成法律意见,请以许可原文为准。

@dot/config 的下载量有多少?

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

@dot/config 还在维护吗?

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