gpt4 book ai didi

node.js - 如何使用 GitHub Actions 自动发布 Typescript 包?

转载 作者:行者123 更新时间:2023-12-04 15:20:16 26 4
gpt4 key购买 nike

我正在使用 GitHub 操作自动发布我的 npm package每当我将代码推送到 master 分支时。问题出在我的 .gitignore 我添加了 /dist/ 文件夹。因此,当我将代码推送到云端时,它会忽略 dist 文件夹,我只想发布 dist 文件夹。我该怎么做?

我尝试使用 npm installnpm run build 创建一个 dist 文件夹并在云端然后发布包,但它没有工作。它不会创建编译版本。我看到的唯一解决方案是从 .gitignore 中删除 /dist/ 并将其上传到云端,但是还有其他方法可以忽略 dist 并自动发布它使用 Github Actions 到 npm?

这是我的.yml文件

name: NPM Publish

on:
push:
branches:
- master

jobs:
release:
name: Pubish
runs-on: ubuntu-latest
steps:
- name: ⏬ checkout
uses: actions/checkout@v2.1.1
- name: 📦 Node
uses: actions/setup-node@v1.4.2
with:
node-version: 12
registry-url: https://registry.npmjs.org
- name: 🚀 Publish
run: npm publish --access public
env:
NODE_AUTH_TOKEN: ${{secrets.NPM_AUTH_TOKEN}}

最佳答案

您必须在发布之前构建它或在 package.json 文件中添加预发布脚本。

即:

  - name: Build
run: npm run build
- name: 🚀 Publish
run: npm publish --access public

或者在 package.json 中

  ...
"scripts": {
...
"prepublish": "npm run build",
}

它没有构建的原因是它没有 node_modules,因此您还需要安装它们并最好使用缓存。

因此您需要在构建之前添加到您的 yaml 文件中。

- name: install
run: npm install

或者如果您使用的是锁定文件,(对于包来说不是理想的)

- name: install
run: npm ci

请尝试也使用缓存而不是重载 npm 注册表。

关于node.js - 如何使用 GitHub Actions 自动发布 Typescript 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63466747/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com