内建模块
通用空投替换 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(没有) 列出.
类型
此软件包已全部输入 类型脚本。 。 。 .
相关
is-builtin- 通用空投替换module.isBuiltin
贡献
见 CONTRIBUTING.md。 。 。 .
这个项目有一个 行为守则通过与该存储库、组织或 你同意遵守它的规定.