Babel三岁了
生日快乐 Babel! 🎂(9月28日)
自从塞巴斯蒂安三年前开始这个项目以来,Babel 真的是进步神速!不久前,它从6to5改名为Babel;原因很充分,因为它极大地促进了许多公司、库和开发者使用 ES2015+。
🌐 Babel has really come a long way since Sebastian started the project only 3 years ago! A while back it was renamed from 6to5 to Babel; for good reason as it has significantly contributed to the use of ES2015+ by many companies, libraries, and developers alike.
现在它甚至通过支持 TC39 提出的提案来推动语言的发展。我们期待能更多地参与 TC39 会议。
🌐 And now it's even helping move the language forward by supporting the proposals coming from TC39. We're looking forward to being able to participate more in TC39 meetings.
我们真的很高兴看到自从去年以来,这个项目本身已经成长了这么多!
🌐 We're really happy to see that the project itself has grown so much since last year!
According to BigQuery there's 110,000 websites using @babeljs. (At least using the classes plugin). pic.twitter.com/kOxlLsFKPX
— Sebastian McKenzie (@sebmck) September 22, 2017
- 我们主仓库的贡献者数量从200增加到400,翻了一番
- 我们把下载量到
babel-core翻了一番(从每月450万到每月1100万) - 我们的Slack社区用户从4500增长到了7500(在这里注册)
- 多达 2000 个社区
babel-plugin包 在 npm 上,以及超过 1000 个社区babel-preset包 在 npm 上
可持续性
🌐 Sustainability
从上面的各项指标来看,Babel 似乎表现得非常好,而且确实如此!很大程度上,这只是网络效应的结果,以及人们将 Babel 作为编译 JavaScript 的常规工具而使用它。然而,这个项目不仅仅关乎代码,还有所有参与其中的人。
🌐 By every metric above, it seems like Babel is doing really well, and it is! A lot of that is just the result of network effects and people coming to using Babel as the norm for compiling JavaScript. However the project isn't just about the code, but everyone involved in it.
今年我尝试做了一些演讲,不仅讲解babel是如何工作的,还讲了维护开源项目的感受。希望我能够传达出目前的状态,并像许多人一样开启对话,讨论我们该如何改进对开源软件的看法,不只是为维护者本身,还有围绕它的文化。
🌐 I tried to give some talks this year to explain not just how Babel works but what it's like to maintain an Open Source project. Hopefully I was able to get across the current state of things and start a dialog as many others have done about how we are to improve upon how we view OSS, not just for maintainers themselves but the culture around it.
我们已经取得了很多成就,但我们必须通过资助/支持维护者、增加新贡献者,以及与我们所属的社区合作,继续多方面努力让事情变得更好。
🌐 We've accomplished a lot, but we have to continue to work in multiple ways to make it better by funding/sponsoring maintainers, adding new contributors, and working with the community that we are a part of.
- 参与了 Summer of Code、Google 和 Rails Girls 项目,和 4 个超棒的实习生一起:Peeyush、Karl、Kara 和 Emma!
- 得到我团队在 Behance 的支持,可以把 工作时间的一半 用在 Babel 上!
- Justin 在谷歌的 AMP 团队 工作,他可以拿出 20% 的工作时间来做 Babel,同时还可以参加 TC39 会议(谷歌是委员之一)!
- 我们开了一个 Open Collective,希望将来能为维护者提供资金支持!
- 一支了不起的维护团队:我们中的一些人刚刚做了一个AMA。(团队部分需要更新)
如果你的公司希望在工作时间参与支持,请联系我们:请加入我们,让 Babel 成为一个可持续发展的项目,不仅为用户,也为我们的社区!
最近发生了什么?
🌐 What's been happening?
使用 babel-preset-env 部署原生 ES2015+ 的话题更多地被讨论
🌐 Deploying native ES2015+ is discussed more with babel-preset-env
新文章:如何在今天直接在生产环境中部署 ES2015+ 代码(无需转换为 ES5)以及你为什么应该这样做! https://t.co/jBMA8aKpyN pic.twitter.com/nmV4kXEKiI
— Phil Walton (@philwalton) 2017年9月13日
感谢 @brian_d_vaughn 在 React 中带来的新 babeljs.io/repl,以及感谢 @Daniel15 提供的 pull request 链接。
🌐 New babeljs.io/repl in React thanks to @brian_d_vaughn and pull request urls thanks to @Daniel15.
来试试全新的实验性 Babel REPL 吧!https://t.co/OAbvglsdoG pic.twitter.com/rVnNIOazvs
— Brian Vaughn (@brian_d_vaughn) 2017年8月17日
很快,对 @babeljs 的拉取请求将会链接到REPL,让测试变得很容易!先来看看预览吧: https://t.co/6rzvjlnb1w cc @left_pad pic.twitter.com/NH7PiFYKaG
— Daniel Lo Nigro (@Daniel15) 2017年8月12日
test262 由 @JugglinMike 测试 Babylon(很快也包括 Babel)
🌐 test262 tests against Babylon (and soon Babel) by @JugglinMike
看起来大概有 ~97.76% 通过率(5.5万次测试!!) pic.twitter.com/KlGeFM2a1r
—— Henry Zhu (@left_pad) 2017年8月7日
在 TC39 的参与度增加
🌐 Increased participation on TC39
很多委员会成员一直在帮忙处理 GitHub 问题、跟进/实现/审查提案、在 Slack 讨论等等:@rwaldron, @ljharb, @littledan, @mathias, @benjamn, @leobalter, @gsathya, @gisenberg, @kentcdodds, @bakkoting
✍️ 本周 9 月 TC39 会议的更新,以及我们在 @babeljs 中需要更新的内容(链接指向不同的问题) https://t.co/4nvusNIeJX pic.twitter.com/RP444BvZnO
— Henry Zhu (@left_pad) 2017年9月30日
Babel 7 很快就来了!
🌐 Babel 7 is soon!
刚刚发布了第一条帖子 @babeljs 7.0 测试版发布 https://t.co/DnEfR4e8qb
—— Henry Zhu (@left_pad) 2017年9月12日
未来的想法
🌐 Future Ideas
- 为用户提供一个 "metadata" 插件,让他们可以在代码库中搜索模式。这对于了解人们如何使用某些提案会很有用(类似于在 tc39/proposal-optional-chaining#17 中针对 CoffeeScript 的
?.所做的事情)。 - 为所有提案提供更好的 codemod 支持:理想情况下,每个提案插件都应该附带一个插件,用来在提案被放弃或语法发生变化时移除/编译该提案。同样,我们也可以提供一个 codemod 自动将语法转换为新的提案(理想情况下使用 lebab)。
- 搞清楚发布 ES2015+ 的工具,以及它如何与 polyfills、transform-runtime、babel-preset-env、npm 和 .mjs 配合
- 修复插件顺序、遍历边缘情况、
babel包、babel --init、性能/大小统计。
谢谢
🌐 Thanks
再次感谢大家使用并回馈给 Babel!我们非常期待这个项目的未来发展!
🌐 Again, thanks to all for using and contributing back to Babel! We're looking forward to what's in store for the project!