码迷,mamicode.com
首页 > 其他好文 > 详细

Yarn将用TypeScript重写,Flow惨遭亲爹抛弃!

时间:2020-12-24 12:38:25      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:开发者   代码   foo   链接   警告   pos   配置   命令行界面   alt   

Yarn将用TypeScript重写,Flow惨遭亲爹抛弃!

技术图片
整理|覃云
今天,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 :
    https://github.com/yarnpkg/yarn/issues/6953

Yarn将用TypeScript重写,Flow惨遭亲爹抛弃!

标签:开发者   代码   foo   链接   警告   pos   配置   命令行界面   alt   

原文地址:https://blog.51cto.com/15057848/2567758

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!