@flex-development/builtin-modules

中文文档
2.1.2发布于 2024/11/01BSD-3-ClauseTypeScriptES Module零依赖构建来源已验证近 30 天下载 3021

模块通用接地替换. 模块内建

中文使用文档
文档目录10 节
  1. 目录
  2. 这是什么?
  3. 我什么时候用这个?
  4. 安装
  5. 使用
  6. API 密码
  7. builtinModules
  8. 类型
  9. 相关
  10. 贡献

内建模块

github release npm codecov module type: esm license conventional commits typescript vitest yarn

通用空投替换 module.builtinModules

目录

这是什么?

此套件是通用的 drop- in 取代 builtinModules 常数导出于 node:module。 。 。 .

我什么时候用这个?

此软件包导出一个包含由 Node.js 提供的模块名称的阵列 . 它不仅可以用来验证一个模块是否由Node.js维护,还可以用来确定一个模块是否可以使用 使用 a 导入 node: 網址。 。 。 .

安装

这个软件包是 仅限无害环境管理。 。 。 .

在Node.js(第18版+)中与 线条数字 :

yarn add @flex-development/builtin-modules
见 Git - 协议QQ Yarn  关于从Git安装的细节.

在德诺与 esm.sh数字 :

import { builtinModules } from 'https://esm.sh/@flex-development/builtin-modules'

在浏览器中 esm.sh数字 :

<script type="module">
  import { builtinModules } from 'https://esm.sh/@flex-development/builtin-modules'
</script>

使用

import { builtinModules } from '@flex-development/builtin-modules'

/**
 * List of all modules provided by Node.js.
 *
 * > 👉 **Note**: Includes modules available only under the `node:` scheme (i.e.
 * > `node:sea`, `node:sqlite`, `node:test`).
 *
 * @const {string[]} builtins
 */
const builtins: string[] = [
  ...builtinModules,
  'node:sea',
  'node:test',
  'node:sqlite'
]

/**
 * Set of all modules provided by Node.js.
 *
 * > 👉 **Note**: Includes `node:` URLs.
 *
 * @const {Set<string>} BUILTIN_MODULES
 */
const BUILTIN_MODULES: Set<string> = new Set(builtins.flatMap(m => {
  return m.startsWith('node:') ? [m] : [m, 'node:' + m]
}).sort((a, b) => a.localeCompare(b)))

/**
 * Check if `m` references a [builtin module][builtin-module].
 *
 * [builtin-module]: https://nodejs.org/api/esm.html#builtin-modules
 *
 * @example
 *  isBuiltin('@flex-development/builtin-modules') // false
 * @example
 *  isBuiltin('assert') // true
 * @example
 *  isBuiltin('fs/promises') // true
 * @example
 *  isBuiltin(new URL('node:os')) // true
 * @example
 *  isBuiltin('node:module') // true
 * @example
 *  isBuiltin('node:test/reporters') // true
 * @example
 *  isBuiltin('test') // false
 *
 * @param {unknown} m
 *  The thing to check
 * @return {boolean}
 *  `true` if `m` references builtin module, `false` otherwise
 */
function isBuiltin(m: unknown): boolean {
  return BUILTIN_MODULES.has(String(m))
}

console.log(isBuiltin('@flex-development/builtin-modules'))
console.log(isBuiltin('assert'))
console.log(isBuiltin('fs/promises'))
console.log(isBuiltin('node:module'))
console.log(isBuiltin('node:test/reporters'))
console.log(isBuiltin('test'))

API 密码

此软件包导出标识符 builtinModules。 。 。 .

默认导出也是 builtinModules。 。 。 .

builtinModules

由Node.js提供的所有模块列表.

名单是 超级集 联 合 国 module.builtinModules 提供了正在运行的 Node.js 版本.

👉 说明: 仅可在 node: 方案(即:. node:sea, (中文(简体) ), node:sqlite, (中文(简体) ), node:test(没有) 列出.

类型

此软件包已全部输入 类型脚本。 。 。 .

贡献

见 CONTRIBUTING.md。 。 。 .

这个项目有一个 行为守则通过与该存储库、组织或 你同意遵守它的规定.

版本与发布记录

@flex-development/builtin-modules 共发布 5 个版本,首次发布于 2023/01/29;过去 12 个月发布了 0 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
2.1.2latest2024/11/012 年前
2.1.12023/07/303 年前
2.1.02023/04/193 年前
2.0.02023/04/153 年前
1.0.02023/01/293 年前

关于 @flex-development/builtin-modules 的常见问题

@flex-development/builtin-modules 是什么?

模块通用接地替换. 模块内建

如何安装 @flex-development/builtin-modules?

在项目目录运行 npm install @flex-development/builtin-modules,或使用 pnpm add / yarn add / bun add。

@flex-development/builtin-modules 支持 TypeScript 吗?

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

@flex-development/builtin-modules 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@flex-development/builtin-modules 可以商用吗?

@flex-development/builtin-modules 使用 BSD-3-Clause 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。另外不得用原作者名义为衍生产品背书。以上为概括,不构成法律意见,请以许可原文为准。

@flex-development/builtin-modules 的下载量有多少?

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

@flex-development/builtin-modules 还在维护吗?

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