博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Yarn将用TypeScript重写,Flow惨遭亲爹抛弃!
阅读量:6001 次
发布时间:2019-06-20

本文共 1470 字,大约阅读时间需要 4 分钟。

1月25日,Yarn官方团队在GitHub issue中宣布将对Yarn进行重大更改,主要包括:将代码库从Flow移植到TypeScript,不再支持Node 4和Node 6,并为Yarn新增了一些功能等,这个更改项目代号为Berry,目的是增强Yarn优势,弥补弱势。

Yarn是Facebook开源的一款号称代替npm的js包管理工具,相对npm来说,Yarn具有安装模块的速度更快、支持离线模式、兼容npm与bower工作流以及支持两种软件仓库混用等优势。这次的改进主要是针对Yarn v2及其之后的版本,具体规划如下。

主要变化

  • lockfile(和配置)格式将成为YAML的严格子集;

  • 添加对插件的支持;

  • Yarn将被重新设计成为API,与CLI有相似的功能,当前,在使用Yarn时,开发者唯一的选择是命令行界面,Yarn不提供实现复杂逻辑的原语(无论是解析器、链接器还是访问配置),但是,这将会有改进,以后它将可以在脚本中使用组件-无需再解析package.json的内容,无需运行解决方案等,Yarn将能抽象这些所有繁杂的工作;

  • 不再支持Node 4和Node 6;

  • 日志系统进行大修改,改用TypeScript后可以获取诊断出来的错误代码,每个错误、警告和通知都会赋予一个独特的代码,该代码将会被记录下来,并附有解释;

  • 当前的一些功能如autoclean将被移动到contrib插件中,它们仍受支持,但可能与标准bundle的发布周期不同;

  • 缓存文件格式将从Tar切换到Zip,这为随机访问提供了更好的特性;

  • Yarn代码库将从Flow移植到TypeScript中,这也是jest用TS重写之后,Facebook的又一个代码库迁移的项目。

虽说Yarn现在用的Flow很友好,但Yarn团队希望第三方贡献者能更轻松帮助他们维护Yarn,很多开发者认为,这是因为TS有很好的社区,背后有更可靠更强大的公司——微软的支持,在调试上,它可以节省大量的时间,自然也就比JavaScript更受欢迎,而且,相对Flow来说,开发者对TS更为熟悉,上手更为容易。

新增功能

  • 嵌套工作区(Nested workspaces)将支持开箱即用;

  • 无论在哪个工作区,运行yarn run foo:bar将运行foo:bar脚本;

  • 引入新的命令yarn constraints,该命令允许你跨工作区执行约束(constraints);

  • 无论底层操作系统是怎样的,在脚本字段中编写posix命令行都将起作用;

  • 缓存将完全变成原子性,多个Yarn实例将能够在同一缓存上并发运行,而不会有破坏数据的风险等。

Yarn的价值观:开发优先

Yarn团队认为程序包管理器不应该是生产服务器上运行的工具,在那里运行的代码越多,出现问题的可能性就越高,最终会导致生产系统崩溃。而Yarn以开发优先,意味着Yarn是一个开发工具,它的应用最多就是到克隆代码库这一步了,其中包括即插即用,在设计时就考虑到了这一点。

过去几年中,JavaScript项目增加的复杂性以适应人们发现的越来越多的用例,Yarn团队认为包管理应该处于一个独特的地位,帮助减少一些负担,使用户能够轻松管理他们的项目。同时,在项目或应用程序处于不安全模式时,一个合格的包管理器应该有提示或警告的责任。

由于单个项目永远无法满足开发人员的所有需求,生态圈中出现了大量的项目,但是Yarn并不打算与他们竞争,而是加强自身,赋予开发者更好的能力。

详情请查看GitHub:

更多内容请关注前端之巅。

\"\"

转载地址:http://hodmx.baihongyu.com/

你可能感兴趣的文章
每天学一点Scala之sealed
查看>>
数据库查询一条语句就需要很长的时间
查看>>
nagios--check_redis监控redis
查看>>
静态化
查看>>
20.三层技术之OSPF区域划分与路由重分发(2)
查看>>
saltstack的master以及minion的安装
查看>>
docker笔记(转自:陈沙克日志)
查看>>
HDFS的linux下开发环境准备
查看>>
十、syslog日志与loganalyzer日志管理
查看>>
Python多进程并发写入PostgreSQL数据表
查看>>
mysql 优化
查看>>
2.4 salt grains与pillar jinja的模板
查看>>
简单的验证码程序
查看>>
MySQL主从(介绍,配置主机,配置从机,测试主从同步)
查看>>
不同版本的outlook客户端配置Office 365 exchange online帐户需要安装的补丁
查看>>
Java服务器-resin
查看>>
Linux下搭建JDK和TOMCAT环境
查看>>
关闭windows休眠
查看>>
Ansible之十一:变量详解
查看>>
那些SCOM 管理包开发中遇到的坑1–Powershell scriptBlock Invoke执行结果的类型
查看>>