这个项目好像已经很久没有更新了,npm提示好多安全问题,由此引发一系列疑问

来源:4-3 初始化项目 - TypeScript library starter

ShanaAE

2019-07-01

安全问题有好多,解决是解决了,但是不知道会不会和项目又不一样的地方,还有正常开发时,或者做开源项目时遇到这种状况应该怎么办?
这就是大家诟病npm的地方吗?是yarn、deno出现的原因之一?
还有yarn除了resolutions还针对npm解决了什么问题?
望老师解答下。

我的总体操作是

  1. 从npm换到了yarn
  2. 删除了travis-deploy-once依赖。

关于几个vulnerability

high好像是sematic-release依赖中npm的安全问题
Security Vulnerability in “tar” #1147
后来换了yarn安装并升级一些依赖包解决了,还有一个是moderate的marked版本,使用yarn的resolutions解决了

还有几个warn

其中jest和typedoc的会在下个版本解决

travis-deploy-once 好像已经deprecated,推荐使用Travis Build Stage,这个好像直接是直接把.travis.yml放到仓库然后在travis网上配置一下就行?

底下的warning是这个polyfill还可以使用的意思吧?
下面给的推荐操作是需要travis-deploy-once这个包的开发者引入的意思?我们可以进行的操作就是fork然后进行修改吧?

travis-deploy-once > @babel/polyfill@7.4.4: � As of Babel 7.4.0, this
package has been deprecated in favor of directly
including core-js/stable (to polyfill ECMAScript
features) and regenerator-runtime/runtime
(needed to use transpiled generator functions):

  > import "core-js/stable";
  > import "regenerator-runtime/runtime";

希望老师解答,谢谢!

写回答

1回答

ustbhuangyi

2019-07-02

通常依赖包有比较严重安全问题的时候,GitHub 会有类似的警告,比如
//img.mukewang.com/szimg/5d1adcf90001fbd819980262.jpg
当然这些警告的来源可能是你依赖包的依赖,所以可能需要等待依赖包的更新去解决。在安装过程中出现一些 warning,有些也是可以忽略的,只要不影响使用,因为很多包都是开发时的依赖,并非运行时的依赖。
另外,使用 typescript-library-starter 这样的脚手架去初始化项目固然方便,但是潜在问题就是它依赖包的版本问题,可能不会及时更新,所以需要库作者去不断维护和更新,能帮作者分担的是去提 pull request 参与共建,如果作者不再维护,也不妨把这个库的实现机制搞清楚 fork 一份自己维护也行。

0
1
ShanaAE
谢谢老师!
2019-07-02
共1条回复

下一代前端开发语言 TypeScript从零重构axios

课程从零开始重构功能完整的JS库,是学习造轮子的不二之选!

2631 学习 · 877 问题

查看课程