节点.js 脚本
具有常见节点.js脚本的用户库
目录
开始
运行以下命令开始使用 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 赞助商。 。 。 .
警卫
如果你认为你发现了安全漏洞 我们鼓励你 负责地披露此事,不公开问题我们将调查所有合法的报告。 电子邮件 [email protected] 披露任何安全弱点.
API 参考
安装后脚本
类型脚本类型参考管理
这个 addTypesReference 函数允许您创建和管理 TypeScript 参考文件并更新相关的 tsconfig.json 用于安装您节点模块的项目的文件.
以下详细描述包含的接口和功能.
类型参考接口
CommonOptions
属性
| 财产 | 类型 | 说明 |
|---|---|---|
root | string | 安装您节点模块的项目的根目录 . |
name | string | 您的节点模块的名称 . |
outputFile | string | 输出文件名 . |
AddTypesReferenceOptions
属性
| 财产 | 类型 | 默认 | 说明 |
|---|---|---|---|
name | string | - 说吧 | 项目名称目前执行脚本 . |
scopes | string[] | - 说吧 | 包上使用的一系列范围参考 name。 。 。 . |
outputFile | string | "全球之声" | *.d.ts输出文件名. |
类型引用函数
createReferenceFile
创建或更新带有项目类型定义的参考文件.
掷出
Error - 如果出现创建或更新文件的问题,则丢出错误.
updateTsConfig
更新 tsconfig.json 文件,将指定的输出文件添加到 include 阵列.
掷出
Error- 如果 tsconfig.json 文件无法读取或更新,则丢出错误 .
addTypesReference
添加 TypeScript 参考文件并更新 tsconfig.json 用于工程安装您的节点模块.
如果 options.outputFile 如果其中没有新的软件包参考,则将更新该软件包.
错误
以代码退出进程 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),要么工作于函数参数(功能参数优先于进程选项).
参数
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
version | string | --version 进程选项或软件包。json. | 要发布的版本. |
从 --version 进程选项或 package.json 如果省略. | |||
build | string | 建设 | 自定义构建命令, 可以在发布前构建您的工程 . |
从 --build 进程选项或返回到 build 如果省略,则删除. | |||
verbose | boolean | 虚假 | 启用详细日志 . |
从 --verbose 进程选项或返回到 false 如果省略,则删除. | |||
origin | string | 原产地 | 用于推进版本标记的 Git 源名称 . |
从 --origin 或者说 --o 进程选项或返回到 origin 如果省略,则删除. | |||
npm | boolean | 虚假 | 表示是否将软件包发布到 npm . |
从 --npm 进程选项或返回到 false 如果省略,则删除. | |||
access | public|restricted | "公开" | 设置 npm 包访问级别 . |
从 --access 进程选项或返回到 public 如果省略,则删除. |
进程选项 - CLI
| 选项 | 类型 | 默认 | 说明 |
|---|---|---|---|
--version | string | 来自 package.json 的值 | 要发布的版本. 从 package.json 中获取如果省略 . |
| 从 package.json 中获取如果省略 . | |||
--build | string | build | 自定义构建命令, 可以在发布前构建您的工程 . |
--verbose | boolean | false | 启用详细日志 . |
--origin, (中文(简体) ), -o | string | 原产地 | 用于推进版本标记的 Git 源名称 . |
--npm | boolean | false | 表示是否将软件包发布到 npm . |
--access | public|restricted | "公开" | 设置 npm 包访问级别 . |
已执行的步骤
-
获取软件包
- 试图加载和解析
package.json文档. - 如果文件不可用或无效,则以代码"1"退出进程.
- 获取该版本, 如无则用作倒置
--version选项已提供.
- 试图加载和解析
-
解析选项 :
- 使用
getProcessOptions()。 。 。 . - 验证关键参数,例如:
version财务报告和审定财务报表access。 。 。 .
- 使用
-
准备 Git 并构建 :
- 将任何未承诺的更改与藏名相提并论(
pre-release) (中文(简体) ). - 执行
npm run build或者说pnpm build命令( 如果pnpm(全球安装). - 创建 Git 标记为
v{version} - 按下指定的 Git 标记
origin或到默认的 Git 仓库远程 .
- 将任何未承诺的更改与藏名相提并论(
-
发布到 npm( 可选) :
- 使用
npm publish若为--npm已设置了旗帜.
- 使用
-
恢复 Stash :
- 恢复在此过程中保存的隐藏更改 .
-
读取日志 :
- 如果
--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()
由 所制
|
|
|