发布 NodeJS 软件包
- 发布到 NPM 仓库,比 npm publish 更好用
- 支持任意工程类型,如 MonoRepo、PolyRepo、SingleRepo
- 支持任务包管理工具,如 npm、pnpm、yarn
- 支持同步新版本到 npmMirror.com
- 支持自动从根目录复制 License 到当前 package,如果当前软件包没有时
- 支持自动从根目录复制 README.md 到当前 package,如果当前软件包没有时
- 自动修剪 package.json 文件
- 删除多余属性,如 devDependencies、scripts等
- 继承相关属性,如 author、license等
 
- 删除多余属性,如 
- 确保您已在仓库中存储了 NPM Classic Token(即 "Automation" token)作为密钥。您可以在 https://www.npmjs.com/settings/your-username/tokens 生成一个。
- 如果您想发布作用域包,您需要在 npmjs.com 上申请创建一个组织,地址为 https://www.npmjs.com/org/create。
jobs:
  publish-npm:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      id-token: write
    steps:
      - uses: actions/checkout@v5
      - uses: actions/setup-node@v4
        with:
          node-version-file: .nvmrc
          cache: npm
          cache-dependency-path: package-lock.json
      - run: npm ci
      - run: npm run build
      - run: npm run test
      - uses: FrontEndDev-org/publish-node-package-action@v5
        with:
          token: ${{ secrets.NPM_TOKEN }}| 名称 | 必填 | 默认值 | 描述 | 
|---|---|---|---|
| token | 是 | 无 | 软件包源的授权令牌 | 
| registry | 否 | https://registry.npmjs.org | 软件包源地址 | 
| tag | 否 | latest | 版本标签,默认为 latest | 
| dryRun | 否 | false | 模拟发布 | 
| includePrivate | 否 | false | 同时发布私有包 | 
| disableProvenance | 否 | false | 禁用 npm 发布的来源证明 | 
| disableSync | 否 | false | 禁用同步到 npmMirror.com | 
| disableStrip | 否 | false | 禁用修剪软件包中 package.json 中的字段,workspace 模式时会继承相关字段 | 
| disableCopyLicense | 否 | false | 禁用复制根目录许可证文件(只在 workspace 模式启用,且软件包没有时) | 
| disableCopyReadme | 否 | false | 禁用复制根目录 README 文件(只在 workspace 模式启用,且软件包没有时) | 
| syncTimeout | 否 | 30 | 同步到 npmMirror.com 超时时间(秒),默认为 30 秒 | 
无