跳至主要内容

功能时间线

我们在每个 Babel 版本中引入了哪些主要的新功能?本页包含每个*次要*版本的简短摘要,您也可以阅读GitHub 上的完整变更日志!此外,使用此时间线跟踪其他一些重要工作,例如 babel-polyfills 项目。

  1. Babel 7.24.0

    博客文章

  2. Babel 7.23.0

    博客文章

  3. Babel 7.22.0

    博客文章

    • 默认启用第 4 阶段 RegExp v 标志 提案
    • 支持 显式资源管理 提案第 3 阶段提案,包括 异步版本
      JavaScript
      {
      await using db = connect(databaseURL);
      let user = await db.getUserById(userId);
      await db.createPost(user.name, "Hi! :)");
      } // Automatically close the db
    • 支持在 2023 年 3 月和 2023 年 5 月的 TC39 会议上达成共识的 装饰器 提案的更新
    • 解析支持第 3 阶段 导入属性 提案,以前称为“导入断言”
      JavaScript
      import data from "./data.json" with { type: "json" };
  4. Babel 7.21.0

    博客文章

  5. Babel 7.20.0

    博客文章

    • 支持 TypeScript 4.9
    • 解析器支持 显式资源管理 第 2 阶段提案
      JavaScript
      {
      using handle = openFile(name, "w+");
      write(handle, "Hi!\n");
      write(handle, ":)\n");
      } // Automatically close the file
    • 解析器支持 导入反射 第 2 阶段提案
      JavaScript
      import module mod from "./mod.js";

      // later ...
      import(mod);

    babel-loader 9.0.0

    发布

  6. Babel 7.19.0

    博客文章

    • 支持 装饰器 提案的第 3 阶段版本
    • 转换支持 重复命名捕获组 第 3 阶段提案
      JavaScript
      /(?<year>\d\d\d\d)-(?<month>\d\d)|(?<month>\d\d)-(?<year>\d\d\d\d)/
  7. Babel 7.18.0

    博客文章

    • 支持 TypeScript 4.7
    • 转换支持 私有解构 第 2 阶段提案
      JavaScript
      class A {
      #x = 2;
      method() {
      const { #x: x } = this;
      }
      }
    • 编译生成器时不再需要手动包含 regenerator-runtime 辅助函数
  8. Babel 7.17.0

    博客文章

    • 支持新版本的 装饰器 第 2 阶段提案
      JavaScript
      class A {
      @reactive #x = 2;

      @logger
      method() {
      this.#x++;
      }
      }
    • 支持 RegExp 集合表示法和字符串属性 第 2 阶段提案
      JavaScript
      /[\p{RGI_Emoji}&&[\0-\uFFFF]]/v;
    • 解析器支持 私有解构 第 2 阶段提案
      JavaScript
      class A {
      #x = 2;
      method() {
      const { #x: x } = this;
      }
      }
  9. Babel 7.16.0

    博客文章

  10. Babel 7.15.0

    博客文章

    • 默认启用对 顶级 await 第 4 阶段提案的解析支持
      JavaScript
      import db from "db";
      await db.connect();
    • 默认启用 私有品牌检查 第 4 阶段提案
      JavaScript
      class A {
      static { initialize(A); } // static block
      #field;
      is(obj) {
      return #field in obj; // private brand check
      }
      }
    • 支持“Hack 风格”的 管道运算符 第 2 阶段提案
      JavaScript
      const result = "World" |> `Hello, ${%}!` |> alert(%);
    • 支持 TypeScript 4.4
  11. Babel 7.14.0

    博客文章

  12. Babel 7.13.0

    博客文章

  13. Babel 7.12.0

    博客文章

  14. Babel 7.11.0

    博客文章

  15. @babel/eslint-parser

    博客文章

  16. Babel 7.10.0

    博客文章

  17. babel-polyfills

    存储库

  18. Babel 7.9.0

    博客文章

    • @babel/preset-env 中的 bugfixes 选项,用于解决浏览器错误,而不是编译整个功能
    • 支持 TypeScript 3.8
    • 支持 Flow declare 类字段
    • 支持 自动 JSX 运行时
  19. Babel 7.8.0

    博客文章

  20. Babel 7.7.0

    博客文章

    • 解析器支持 顶级 await 提案
      JavaScript
      import db from "./database.js";

      await db.connect();
    • @babel/parser 中为早期错误添加错误恢复支持
    • 支持 .json.cjs 配置文件
    • 支持 TypeScript 3.7
  21. Babel 7.6.0

    博客文章

    • 对静态私有访问器的支持,静态类特性提案的一部分
      JavaScript
      class Dog {
      static get #className() { return "Dog"; }
      }
  22. Babel 7.5.0

    博客文章

    • 支持 F# 管道运算符 提案
      JavaScript
      num |> add(2) |> double
    • 支持 TypeScript namespace
  23. Babel 7.4.0

    博客文章

    • 支持注入 core-js@3 polyfill
    • 支持 部分应用 提案
      JavaScript
      strings.map(parseInt(?));
    • 支持静态私有方法,静态类特性提案的一部分
      JavaScript
      class Dog {
      static #register() { /* ... */ }
      }
    • 支持 TypeScript 3.4
  24. Babel 7.3.0

    博客文章

    • 支持实例私有访问器,私有方法提案的一部分
      JavaScript
      class Dog {
      get #randomId() { return Math.random(); }
      }
    • 支持 智能管道运算符 提案
      JavaScript
      num |> add(2, #) |> double
    • 支持在正则表达式中使用 命名捕获组
      JavaScript
      str.match({String.raw`/^(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})$/`})
    • 支持 TypeScript 3.2 和 2.9
  25. Babel 7.2.0

    博客文章

    • 支持实例私有方法,私有方法提案的一部分
      JavaScript
      class Dog {
      #bark() { console.log("Mew!") }
      }
  26. Babel 7.1.0

    博客文章

    • 支持 装饰器 提案,该提案于 2018 年 9 月指定
      JavaScript
      class Person {
      @autoIncrement age;
      }
    • 支持静态私有字段,静态类特性提案的一部分
      JavaScript
      class Person {
      static #classId = 3;
      }
  27. Babel 7

    博客文章

    自 2 年的预发布版本以来,这有更多变化。