发布到npm的打包几乎为空:只需发布README,LICENSE和package.json

时间:2018-01-23 10:40:00

标签: npm travis-ci semantic-release nwb

我有一个用nwb创建的react组件项目。我正在使用Travis和语义释放来发布。

但是现在,当我发布一个新版本时,从Travis发布的包几乎是空的,只有三个文件:README,LICENSE和package.json。

我的.travis.yml配置......

sudo: false
language: node_js
cache:
  directories:
    - ~/.npm
notifications:
  email: false
node_js:
  - '8'
before_install:
  - npm install npm codecov.io coveralls
after_success:
  - cat ./coverage/lcov.info | ./node_modules/codecov.io/bin/codecov.io.js
  - cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js
  - npm run travis-deploy-once "npm run semantic-release"
branches:
  only:
    - master

travis构建看起来没问题,我看不到任何错误。它会发现新版本并发布它,但只发布这三个文件。

公共Github存储库就是这个......

https://github.com/rigobauer/react-abc2svg

...你可以在这里查看travis构建......

https://travis-ci.org/rigobauer/react-abc2svg/jobs/332199646

如果我在package.json中手动设置版本号并在我的电脑中运行npm publish,那么该软件包就会正确发布。

我已经尝试清理npm缓存,重新安装所有依赖项,使用semantic-release-cli setup重新创建.travis.yml等。但我总是得到相同的结果。当我尝试在另一个项目中升级或安装软件包时,node_modules中的目录只有这三个文件。

知道问题出在哪里?

更新:我从头开始使用nwb重新创建项目,重新安装依赖项等。我遇到了同样的问题。

更新2 :我在package.json中配置了这样的目录列表...

"files": [
    "css",
    "es",
    "lib",
    "umd"
]

...但我也尝试过制作.npmignore文件。问题依然存在。

3 个答案:

答案 0 :(得分:1)

如果有人遇到相同类型的问题,这里是Git问题的答案:https://github.com/semantic-release/semantic-release/issues/615

答案 1 :(得分:0)

我在Travis文档中找到了this,也许您应该将skip_cleanup: true选项添加到您的travis.yml(只是猜测)

答案 2 :(得分:0)

知道了!感谢语义释放人员,我意识到我必须手动指示Travis运行我的构建脚本(使用nwb生成)。所以只需将其改为.travis.yml就可以了......

.......
after_success:
  - cat ./coverage/lcov.info | ./node_modules/codecov.io/bin/codecov.io.js
  - cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js
  - npm run build
  - npm run travis-deploy-once "npm run semantic-release"
........

我认为Travis是自动执行此操作,因为我有另一个使用完全相同的流程制作的组件项目,并且该包正常(这就是让我发疯的原因)。在阅读完答案之后,我重新检查了所有内容,并意识到我手动首次发布了该软件包,之后我将语义释放合并。问题是下一次提交与功能或修复无关,因此语义释放不会生成新版本,原始包仍然存在。