npm 语义发布没有发布正确的文件夹

1rhkuytd  于 2022-12-23  发布在  其他
关注(0)|答案(1)|浏览(152)

在过去的几天里,我尝试用semantic-release把我的包发布到github上,不幸的是,我不能把github上npm包的源代码(zip)文件发布到正确的文件夹中。
我的github行动管道:

on:
  push:
    branches:
      - main

env:
  NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

defaults:
  run:
    working-directory: ./frontend

jobs:
  release:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: 18
          cache: 'npm'
          cache-dependency-path: ./frontend
      - name: Install packages
        run: npm install
      - name: Build frontend
        run: npm run build
      - name: Copy json file to dist dir
        run: cp package.json ./dist
      - name: Run semantic release and publish package
        run: |
          cd ./dist
          pwd
          npm run semantic-release

它应该发布dist文件夹,但我看到整个项目目录作为源代码输出到npm,它没有发布我的build文件夹,当我运行pwd时,我在正确的路径上:/主页/跑步者/工作/测试/测试/前端/远端
Semantic-release也不尊重我的package.json文件中的属性:

"files": [
  "/dist"
]

我特别想输出dist文件夹,但不幸的是,除了dist文件夹,所有的东西都在output文件夹中。
我还尝试向'@semantic-release/npm'模块添加一个pkgRoot属性,但仍然没有发布dist文件夹。

['@semantic-release/npm', { 'pkgRoot': './dist' }],

这个问题会有什么问题呢?

xdyibdwo

xdyibdwo1#

我昨天也遇到了这个问题,这对我很有效。请注意,我从提到的文件中省略了很多配置内容,以免"膨胀"答案。如果这对你有效,请告诉我!

    • 包. json**

删除"files"键。

"main": "dist/index.js",
"types": "dist/index.d.ts",
"scripts": {
  "build": "rm -rf dist && tsc --project tsconfig.build.json && cp package.json dist/package.json",
}
    • 语义释放/npm配置**
"@semantic-release/npm", { "pkgRoot": "./dist" }],
    • 语义释放/git配置**
[
   "@semantic-release/git",
   {
      "assets": [
         "package.json",
         "README.md",
         "CHANGELOG.md",
         "dist/**/*.{js}"
      ],
      "message": "chore: Release ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
        }
]
    • 系统配置json**
"compilerOptions": {
  "rootDir": "src",
  "outDir": "./dist",
}

相关问题