@alessiofrittoli/node-scripts

中文文档
4.2.0发布于 2026/10/24MITTypeScriptESM + CJS零依赖近 30 天下载 3644

具有常见节点.js脚本的用户库

中文使用文档
文档目录6 节
  1. 具有常见节点.js脚本的用户库
  2. 目录
  3. 开始
  4. 发展
  5. API 参考
  6. 由 所制

节点.js 脚本

具有常见节点.js脚本的用户库

Latest version Test coverage Socket Security score npm downloads Dependencies Dependencies status

minified minizipped Tree shakable

Fund this package

目录


开始

运行以下命令开始使用 node-scripts 在您的项目中:

npm i @alessiofrittoli/node-scripts

或使用 pnpm

pnpm i @alessiofrittoli/node-scripts

发展

运行以下开始开发

nvm use

pnpm i

地方发展

运行以下

pnpm dev

这将生成未忽略的输出代码, 源图并启用源文件监视器 .


生产建设

运行以下来创建本地生产建筑

pnpm build

这将生成没有源代码的已修改输出代码 .


单位测试

通过运行下列程序运行所有定义的测试套件 :

# Run tests and watch file changes.
pnpm test:watch

# Run tests in a CI environment.
pnpm test:ci

进行覆盖测试

然后开始使用 HTTP 服务器服务覆盖文件 ./coverage 文件夹.

您可以在您第一次运行此命令时看到空白页 。 只需刷新浏览器即可看到更新 .

pnpm test:coverage:serve

捐款

献礼真受欢迎!

请参看 贡献文件 了解如何开始为该项目作出贡献的更多信息.

帮助更新此项目 GitHub 赞助商。 。 。 .

GitHub Sponsor


警卫

如果你认为你发现了安全漏洞 我们鼓励你 负责地披露此事,不公开问题我们将调查所有合法的报告。 电子邮件 [email protected] 披露任何安全弱点.


API 参考

安装后脚本

类型脚本类型参考管理

这个 addTypesReference 函数允许您创建和管理 TypeScript 参考文件并更新相关的 tsconfig.json 用于安装您节点模块的项目的文件.

以下详细描述包含的接口和功能.

类型参考接口
CommonOptions
属性
财产类型说明
rootstring安装您节点模块的项目的根目录 .
namestring您的节点模块的名称 .
outputFilestring输出文件名 .

AddTypesReferenceOptions
属性
财产类型默认说明
namestring- 说吧项目名称目前执行脚本 .
scopesstring[]- 说吧包上使用的一系列范围参考 name。 。 。 .
outputFilestring"全球之声"*.d.ts输出文件名.

类型引用函数
createReferenceFile

创建或更新带有项目类型定义的参考文件.

参数
参数类型说明
optionsCommonOptions引用文件创建的常见选项 .

掷出

Error - 如果出现创建或更新文件的问题,则丢出错误.


updateTsConfig

更新 tsconfig.json 文件,将指定的输出文件添加到 include 阵列.

参数
参数类型说明
optionsCommonOptions引用文件创建的常见选项 .

掷出
  • Error - 如果 tsconfig.json 文件无法读取或更新,则丢出错误 .

addTypesReference

添加 TypeScript 参考文件并更新 tsconfig.json 用于工程安装您的节点模块.

如果 options.outputFile 如果其中没有新的软件包参考,则将更新该软件包.

参数
参数类型说明
optionsAddTypesReferenceOptions添加类型参考的选项 .

错误

以代码退出进程 1 失败.


添加类型参考示例使用

添加数据 postinstall 您的脚本 package.json 一旦您的软件包安装在外部工程中, 文件将会执行脚本 .

{
  // ...
  "files": [
    // ...,
    "my-scripts" // ensure folder is published to `npm`
  ],
  "scripts": {
    // ...
    "postinstall": "node my-scripts/ts-setup.ts"
  }
}

在你身边 ts-setup.ts 文件仅导入脚本并附带几个选项执行.

// my-scripts/ts-setup.ts
import { addTypesReference } from '@alessiofrittoli/node-scripts/postinstall'
import packageJson from '../package.json'

addTypesReference({
  name: packageJson.name,
  outputFile: `${packageJson.name}.d.ts`, // optional
})

或者你可以静地通过一个 outputFile 以添加您的全部范围包.

// my-scripts/ts-setup.ts
import { addTypesReference } from '@alessiofrittoli/node-scripts/postinstall'
import packageJson from '../package.json'

addTypesReference({
  name: packageJson.name,
  outputFile: 'my-package-scope-env.d.ts',
})

添加自定义类型引用
// my-scripts/ts-setup.ts
import { addTypesReference } from '@alessiofrittoli/node-scripts/postinstall'
import packageJson from '../package.json'

addTypesReference({
  name: packageJson.name,
  types: [`${packageJson.name}/globals`, `${packageJson.name}/globals-2`],
  outputFile: `${packageJson.name}.d.ts`, // optional
})

发布脚本

release

这个 release 函数将构建、标记和可选释放工程到 npm 的过程自动化.

此函数要么工作于进程选项(通过CLI),要么工作于函数参数(功能参数优先于进程选项).

参数
参数类型默认说明
versionstring--version 进程选项或软件包。json.要发布的版本.
从 --version 进程选项或 package.json 如果省略.
buildstring建设自定义构建命令, 可以在发布前构建您的工程 .
从 --build 进程选项或返回到 build 如果省略,则删除.
verboseboolean虚假启用详细日志 .
从 --verbose 进程选项或返回到 false 如果省略,则删除.
originstring原产地用于推进版本标记的 Git 源名称 .
从 --origin 或者说 --o 进程选项或返回到 origin 如果省略,则删除.
npmboolean虚假表示是否将软件包发布到 npm .
从 --npm 进程选项或返回到 false 如果省略,则删除.
accesspublic|restricted"公开"设置 npm 包访问级别 .
从 --access 进程选项或返回到 public 如果省略,则删除.

进程选项 - CLI
选项类型默认说明
--versionstring来自 package.json 的值要发布的版本. 从 package.json 中获取如果省略 .
从 package.json 中获取如果省略 .
--buildstringbuild自定义构建命令, 可以在发布前构建您的工程 .
--verbosebooleanfalse启用详细日志 .
--origin, (中文(简体) ), -ostring原产地用于推进版本标记的 Git 源名称 .
--npmbooleanfalse表示是否将软件包发布到 npm .
--accesspublic|restricted"公开"设置 npm 包访问级别 .

已执行的步骤
  1. 获取软件包
    • 试图加载和解析 package.json 文档.
    • 如果文件不可用或无效,则以代码"1"退出进程.
    • 获取该版本, 如无则用作倒置 --version 选项已提供.
  2. 解析选项 :
    • 使用 getProcessOptions()。 。 。 .
    • 验证关键参数,例如: version 财务报告和审定财务报表 access。 。 。 .
  3. 准备 Git 并构建 :
    • 将任何未承诺的更改与藏名相提并论(pre-release) (中文(简体) ).
    • 执行 npm run build 或者说 pnpm build 命令( 如果 pnpm (全球安装).
    • 创建 Git 标记为 v{version}
    • 按下指定的 Git 标记 origin 或到默认的 Git 仓库远程 .
  4. 发布到 npm( 可选) :
    • 使用 npm publish 若为 --npm 已设置了旗帜.
  5. 恢复 Stash :
    • 恢复在此过程中保存的隐藏更改 .
  6. 读取日志 :
    • 如果 --verbose 已设置了旗帜.

示例用途
使用函数参数

添加数据 release 您的脚本 package.json 文件可以方便地从终端运行.

{
  // ...
  "scripts": {
    // ...
    "release": "node my-scripts/release.ts"
  }
}

在你身边 release.ts 文件仅导入脚本并执行.

QQ 记得将此文件添加到 .npmignore 所以不会在你包里发表.

// my-scripts/release.ts
import { release } from '@alessiofrittoli/node-scripts/release'

release({
  verbose: true,
  npm: true,
  access: 'restricted',
})

使用 CLI 选项

添加数据 release 您的脚本 package.json 文件可以方便地从终端运行.

{
  // ...
  "scripts": {
    // ...
    "release": "node my-scripts/release.ts --verbose --npm --access restricted"
  }
}

在你身边 release.ts 文件仅导入脚本并执行.

QQ 记得将此文件添加到 .npmignore 所以不会在你包里发表.

// my-scripts/release.ts
import { release } from '@alessiofrittoli/node-scripts/release'

release()

由 所制

avatar
阿莱西奥·弗里托利
https://alessiofrittoli.it (英语) | (原始内容存档于2018-10-21) (英语). info.it

版本与发布记录

@alessiofrittoli/node-scripts 共发布 33 个版本,首次发布于 2024/12/25;过去 12 个月发布了 11 个版本。

版本发布日期距今
4.2.0latest2026/10/2414 天前
4.1.02026/10/1623 天前
4.0.02026/10/1028 天前
4.0.0-alpha.5alpha2026/10/071 个月前
4.0.0-alpha.32026/10/061 个月前
4.0.0-alpha.22026/10/061 个月前

关于 @alessiofrittoli/node-scripts 的常见问题

@alessiofrittoli/node-scripts 是什么?

具有常见节点.js脚本的用户库

如何安装 @alessiofrittoli/node-scripts?

在项目目录运行 npm install @alessiofrittoli/node-scripts,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@alessiofrittoli/tsconfig(^1.0.0)、@alessiofrittoli/typed-map(^1.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@alessiofrittoli/node-scripts 支持 TypeScript 吗?

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

@alessiofrittoli/node-scripts 支持 ESM 还是 CommonJS?

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

@alessiofrittoli/node-scripts 需要什么版本的 Node.js?

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

@alessiofrittoli/node-scripts 可以商用吗?

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

@alessiofrittoli/node-scripts 的下载量有多少?

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

@alessiofrittoli/node-scripts 还在维护吗?

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