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 (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 (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)
-
#17772 Remove deprecated default export from
🐛 Bug Fix
-
babel-helpers,babel-plugin-transform-async-generator-functions,babel-runtime-corejs3-
#17797 fix: Properly handle
awaitinfinally(@liuxingbaoyu)
-
#17797 fix: Properly handle
v7.29.1 (2026-02-04)
🐛 Bug Fix
-
babel-standalone-
#17771 [7.x backport] fix: ensure
targets.esmodulesis validated (@JLHwung)
-
#17771 [7.x backport] fix: ensure
-
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 (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-workerthe default (@liuxingbaoyu)
-
babel-register-
#17762 Remove
browserentrypoint for@babel/register(@nicolo-ribaudo)
-
#17762 Remove
-
babel-parser,babel-plugin-proposal-partial-application,babel-plugin-syntax-partial-application
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)
-
#17659 Drop support for TS
-
babel-preset-env,babel-preset-typescript-
#17670 breaking(preset-env): remove
isPluginRequiredexport (@JLHwung)
-
#17670 breaking(preset-env): remove
-
babel-parser- #17666 [Babel 8]: Ensure
v8.0.0-beta.3 (2025-10-23)
💥 Breaking Change
-
babel-parser-
#17505 [Babel 8] Treat
allowSuperOutsideMethodas top-level only (@JLHwung)
-
#17505 [Babel 8] Treat
🐛 Bug Fix
-
babel-traverse,babel-types-
#17499 Enable
strictNullChecksfortraverse(@liuxingbaoyu)
-
#17499 Enable
-
babel-plugin-transform-runtime-
#17512 [babel 8] Update default
@babel/runtimeversion (@nicolo-ribaudo)
-
#17512 [babel 8] Update default
💅 Polish
-
babel-c
v8.0.0-beta.2 (2025-09-05)
💥 Breaking Change
-
babel-standalone-
#17421 Do not enable default plugins in
@babel/standalone(@gwillen)
-
#17421 Do not enable default plugins in
🐛 Bug Fix
-
babel-types-
#17495 fix: allow
dandvflag inregExpLiteralbuilder (@JLHwung)
-
#17495 fix: allow
-
babel-parser- #17479 [Babel 8] Align TSMappedType AST (@JLHwung)
💅 Polish
-
babel-plugin-transform-block-scoping,babel-plugin-transfor
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)
-
#17465 fix(parser/typescript): parse
💅 Polish
-
babel-plugin-transform-regenerator,babel-plugin-transform-runti
v7.28.2 (2025-07-24)
Thanks @souhailaS for your first PR!
🐛 Bug Fix
-
babel-types-
#17445 [babel 7] Make
operatorparam int.tsTypeOperatoroptional (@nicolo-ribaudo)
-
#17445 [babel 7] Make
-
babel-helpers,babel-plugin-transform-async-generator-functions,babel-plugin-transform-regenerator,babel-preset-env,babel-runtime-corejs3-
#17441 fix:
regeneratorDefinecompatibility with es5 strict mode (@liuxingbaoyu)
-
#17441 fix:
Committers: 4
- Babel Bot (@babel-bot)
- Nicolò Ribaudo (@nicolo-ribaudo)
- SOUHAILA SERBOUT (@souhailaS
v7.28.1 (2025-07-12)
🐛 Bug Fix
-
babel-plugin-transform-async-generator-functions,babel-plugin-transform-regenerator-
#17426 fix:
regeneratorcorrectly handlesthrowoutside oftry(@liuxingbaoyu)
-
#17426 fix:
📝 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 (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.bigIntLiteralfactory (@JLHwung)
-
#17378 Accept bigints in
-
babel-plugin-proposal-destructuring-private,babel-plugin-proposal-do-expressions,babel-pl