首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向NPM发布会增加依赖关系吗?

向NPM发布会增加依赖关系吗?
EN

Stack Overflow用户
提问于 2019-07-26 23:21:39
回答 1查看 83关注 0票数 0

反应画布在其package.json on GitHub中有以下内容:

代码语言:javascript
复制
  "dependencies": {
    "catenary-curve": "^1.0.1",
    "lazy-brush": "^1.0.1",
    "prop-types": "^15.6.2",
    "resize-observer-polyfill": "^1.5.0"
  },
  "peerDependencies": {
    "react": "16.x"
  },
  "devDependencies": {
    "all-contributors-cli": "^5.4.1",
    "babel-eslint": "^7.2.3",
    "css-loader": "^0.28.9",
    "enzyme": "^3.3.0",
    "enzyme-adapter-react-16": "^1.1.1",
    "eslint": "^4.1.1",
    "eslint-config-react-app": "^2.1.0",
    "eslint-plugin-flowtype": "^2.34.1",
    "eslint-plugin-import": "^2.6.0",
    "eslint-plugin-jsx-a11y": "^5.1.1",
    "eslint-plugin-react": "^7.1.0",
    "gh-pages": "^1.1.0",
    "nwb": "0.21.x",
    "react": "^16.2.0",
    "react-dom": "^16.2.0",
    "style-loader": "^0.19.1"
  },

但是,当我查看NPM上的包时,我看到:

代码语言:javascript
复制
            "dependencies": {
                "catenary-curve": "^1.0.1",
                "codecov": "^3.5.0",   // <-- note
                "coveralls": "^3.0.4", // <-- note
                "lazy-brush": "^1.0.1",
                "prop-types": "^15.6.2",
                "resize-observer-polyfill": "^1.5.0"
            },
            "peerDependencies": {
                "react": "16.x"
            },
            "devDependencies": {
                "all-contributors-cli": "^5.4.1",
                "babel-eslint": "^7.2.3",
                "css-loader": "^0.28.9",
                "enzyme": "^3.3.0",
                "enzyme-adapter-react-16": "^1.1.1",
                "eslint": "^4.1.1",
                "eslint-config-react-app": "^2.1.0",
                "eslint-plugin-flowtype": "^2.34.1",
                "eslint-plugin-import": "^2.6.0",
                "eslint-plugin-jsx-a11y": "^5.1.1",
                "eslint-plugin-react": "^7.1.0",
                "gh-pages": "^1.1.0",
                "nwb": "^0.21.5",
                "react": "^16.2.0",
                "react-dom": "^16.2.0",
                "style-loader": "^0.19.1"
            },

上面我注意到了我看到的另外两个包裹: codecov和工作服。它们也显示在用户友好网站中。

为什么这些都在NPM包条目中,而不在GitHub源代码中呢?

我唯一的想法是:codecovcoveralls这两个词只存在于.travis.yml文件中:

代码语言:javascript
复制
before_install:
- npm install codecov coveralls
- npm install nwb

...So,npm publish正在检测npm install命令并将依赖项添加到package.json?我找不到任何东西来支持这件事,但我没有更好的主意。

EN

回答 1

Stack Overflow用户

发布于 2019-07-27 16:24:57

您的假设是正确的,从NPM v5开始执行NPM v5会将它们作为依赖项添加到package.json中。然后,travis运行的后续npm publish将这个“更新”依赖项列表包含在包中。

有趣的是,它们是随这些包一起提供的,因为它们主要是"dev依赖项“,因此不需要包含在分布式包中。您可能希望打开一个问题或请求,该请求要么将这些请求声明为package.json中的dev依赖项,要么在.travis.yml中包含一个--save-dev

(虽然后者也不太好,因为它会“添加”那些未反映在github源代码中的已发布模块的dev dev)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57227940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档