Babel

詳細情報

タイトル Babel
URL https://babeljs.io/
バージョン ver 8.0.0-rc.3
更新日 2026/03/17
追加日 2016/03/04
種別 フリーソフト
説明 新しい仕様で記述されたJavaScriptコードを現状のWebブラウザで動作してくれるように変換するトランスパイラ。

レビュー

概要

Babelは、最新のJavaScript(ES2015以降)で記述されたコードを、現在のブラウザや旧式の環境でも動作する互換性のあるJavaScriptに変換するオープンソースのJavaScriptトランスパイラ(コンパイラ)です。「Use next generation JavaScript, today.(次世代のJavaScriptを今すぐ使おう)」をスローガンに、2014年にSebastian McKenzie氏によって開発が始まりました(当初は「6to5」という名称でした)。現在はボランティアのチームによってメンテナンスされており、Airbnb・Coinbaseなど多数の企業がスポンサーとして支援しています。モダンなJavaScript開発のツールチェーンに欠かせない存在となっており、React・Vue・Angularなどのフレームワークプロジェクトでも広く採用されています。

主要な特徴・機能

  • 新構文のトランスパイル: アロー関数・クラス構文・テンプレートリテラル・デストラクチャリング等のES2015+構文を旧環境向けに変換
  • ポリフィル対応: core-jsと組み合わせ、新しいAPIやメソッドをポリフィルとして注入
  • プリセット機能: @babel/preset-envでターゲットブラウザを指定し、必要な変換のみ自動適用
  • プラグインシステム: 変換処理をプラグインで細かくカスタマイズできる柔軟なアーキテクチャ
  • JSX対応: Reactで使われるJSX構文をJavaScriptに変換する@babel/preset-reactを提供
  • TypeScript対応: TypeScriptコードをJavaScriptに変換する@babel/preset-typescriptを提供
  • ソースマップ生成: デバッグを容易にするソースマップの生成をサポート
  • AST変換: 抽象構文木(AST)を操作するカスタムプラグインの作成が可能

対象ユーザー

  • 最新のJavaScript仕様を使いながら幅広いブラウザ互換性を確保したいフロントエンド開発者
  • React・Vue・Angularなどのモダンフレームワークを使ったWebアプリを開発するエンジニア
  • TypeScriptやJSXを含むプロジェクトをビルドパイプラインに組み込みたいチーム
  • カスタムコード変換ツールを作りたいJavaScript上級者

ライセンス情報

BabelはMITライセンスのもとで公開されているオープンソースソフトウェアです。無料で利用・改変・再配布が可能です。npmからインストール可能で、ソースコードはGitHub(babel/babel)で公開されています。

スクリーンショット

スクリーンショットはありません。

更新グラフ

バージョン履歴

v8.0.0-rc.3 Pre-release
Pre-release

v8.0.0-rc.3 (2026-03-16)

Thanks @rootvector2 and @veeceey for your first PRs!

👓 Spec Compliance

  • babel-parser
    • #17839 Fix(parser): async x => {} must be in leading pos (@JLHwung)
    • #17803 Disallow non-leading solo await within F# pipeline (@JLHwung)

💥 Breaking Change

  • babel-parser, babel-plugin-proposal-do-expressions, babel-plugin-proposal-pipeline-operator, babel-plugin-transform-exponentiation-operator, babel-plugin-transform-instanceof, babel-traverse
(省略されました)
v8.0.0-rc.2 Pre-release
Pre-release

v8.0.0-rc.2 (2026-02-15)

Thanks @YoussefHenna for your first PR!

💥 Breaking Change

  • Other
    • #17766 Remove unused code for old ESLint versions (@liuxingbaoyu)
  • babel-code-frame
    • #17772 Remove deprecated default export from @babel/code-frame (@fisker)

🐛 Bug Fix

  • babel-helpers, babel-plugin-transform-async-generator-functions, babel-runtime-corejs3
    • #17797 fix: Properly handle await in finally (@liuxingbaoyu)
(省略されました)
v7.29.1

v7.29.1 (2026-02-04)

🐛 Bug Fix

  • babel-standalone
    • #17771 [7.x backport] fix: ensure targets.esmodules is validated (@JLHwung)
  • babel-generator
    • #17776 [7.x backport] Fix undefined when 64 indents (@liuxingbaoyu)

Committers: 2

  • Huáng Jùnliàng (@JLHwung)
  • @liuxingbaoyu
v8.0.0-rc.1 Pre-release
Pre-release

v8.0.0-rc.1 (2026-01-31)

Thanks @ivonaest and @wulu007 for your first PRs!

💥 Breaking Change

  • babel-eslint-parser
    • #17763 Drop support for eslint v7-v8 (@liuxingbaoyu)
    • #17755 Make eslint-parser/experimental-worker the default (@liuxingbaoyu)
  • babel-register
    • #17762 Remove browser entrypoint for @babel/register (@nicolo-ribaudo)
  • babel-parser, babel-plugin-proposal-partial-application, babel-plugin-syntax-partial-application
(省略されました)
v8.0.0-beta.4 Pre-release
Pre-release

v8.0.0-beta.4 (2026-01-12)

Thanks @ivonaest, @simbahax, and @sxzz for your first PRs!

💥 Breaking Change

  • babel-generator, babel-parser, babel-plugin-transform-typescript, babel-types
    • #17659 Drop support for TS module <identifier> (@nicolo-ribaudo)
  • babel-preset-env, babel-preset-typescript
    • #17670 breaking(preset-env): remove isPluginRequired export (@JLHwung)
  • babel-parser
    • #17666 [Babel 8]: Ensure
(省略されました)
v8.0.0-beta.3 Pre-release
Pre-release

v8.0.0-beta.3 (2025-10-23)

💥 Breaking Change

  • babel-parser
    • #17505 [Babel 8] Treat allowSuperOutsideMethod as top-level only (@JLHwung)

🐛 Bug Fix

  • babel-traverse, babel-types
    • #17499 Enable strictNullChecks for traverse (@liuxingbaoyu)
  • babel-plugin-transform-runtime
    • #17512 [babel 8] Update default @babel/runtime version (@nicolo-ribaudo)

💅 Polish

  • babel-c
(省略されました)
v8.0.0-beta.2 Pre-release
Pre-release

v8.0.0-beta.2 (2025-09-05)

💥 Breaking Change

  • babel-standalone
    • #17421 Do not enable default plugins in @babel/standalone (@gwillen)

🐛 Bug Fix

  • babel-types
    • #17495 fix: allow d and v flag in regExpLiteral builder (@JLHwung)
  • babel-parser
    • #17479 [Babel 8] Align TSMappedType AST (@JLHwung)

💅 Polish

  • babel-plugin-transform-block-scoping, babel-plugin-transfor
(省略されました)
v7.28.3

v7.28.3 (2025-08-14)

👓 Spec Compliance

  • babel-helper-create-class-features-plugin, babel-plugin-proposal-decorators, babel-plugin-transform-class-static-block, babel-preset-env
    • #17443 [static blocks] Do not inject new static fields after static code (@nicolo-ribaudo)

🐛 Bug Fix

  • babel-parser
    • #17465 fix(parser/typescript): parse import("./a", {with:{},}) (@easrng)
    • #17478 fix(parser): stop subscript parsing on async arrow (@JLHwung)

💅 Polish

  • babel-plugin-transform-regenerator, babel-plugin-transform-runti
(省略されました)
v7.28.2

v7.28.2 (2025-07-24)

Thanks @souhailaS for your first PR!

🐛 Bug Fix

  • babel-types
    • #17445 [babel 7] Make operator param in t.tsTypeOperator optional (@nicolo-ribaudo)
  • babel-helpers, babel-plugin-transform-async-generator-functions, babel-plugin-transform-regenerator, babel-preset-env, babel-runtime-corejs3
    • #17441 fix: regeneratorDefine compatibility with es5 strict mode (@liuxingbaoyu)

Committers: 4

  • Babel Bot (@babel-bot)
  • Nicolò Ribaudo (@nicolo-ribaudo)
  • SOUHAILA SERBOUT (@souhailaS
(省略されました)
v7.28.1

v7.28.1 (2025-07-12)

🐛 Bug Fix

  • babel-plugin-transform-async-generator-functions, babel-plugin-transform-regenerator
    • #17426 fix: regenerator correctly handles throw outside of try (@liuxingbaoyu)

📝 Documentation

  • babel-types
    • #17422 Add missing FunctionParameter docs (@JLHwung)

↩️ Revert

  • babel-plugin-proposal-destructuring-private, babel-plugin-proposal-do-expressions, babel-types
    • #17432 Do not mark OptionalMemberExpresion as LVal (@JLHwung)

Committe

(省略されました)
v8.0.0-beta.1 Pre-release
Pre-release

v8.0.0-beta.1 (2025-07-02)

💥 Breaking Change

  • babel-plugin-proposal-destructuring-private, babel-plugin-proposal-do-expressions, babel-plugin-transform-object-rest-spread, babel-traverse, babel-types
    • #17391 LVal coverage updates (Part 2) (@JLHwung)
  • babel-parser, babel-traverse, babel-types
    • #17378 Accept bigints in t.bigIntLiteral factory (@JLHwung)
  • babel-plugin-proposal-destructuring-private, babel-plugin-proposal-do-expressions, babel-pl
(省略されました)