Babel
詳細情報
| タイトル | Babel |
|---|---|
| URL | https://babeljs.io/ |
| バージョン | ver 8.0.6 |
| 更新日 | 2026/09/19 |
| 追加日 | 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.3 (2026-06-27)
🐛 Bug Fix
-
babel-core,babel-plugin-syntax-typescript-
#18089 fix: Remove
isTSXfrombabel-plugin-syntax-typescripttypes (@liuxingbaoyu)
-
#18089 fix: Remove
-
babel-standalone-
#18086 fix: Use
runtime: 'classic'in the browser for React (@liuxingbaoyu)
-
#18086 fix: Use
Committers: 2
- Nicolò Ribaudo (@nicolo-ribaudo)
- @liuxingbaoyu
v8.0.2 (2026-06-18)
🐛 Bug Fix
- Other
-
#18083 Use the
@babel/coreversion when asserting version in@babel/standalone(@nicolo-ribaudo)
-
#18083 Use the
-
babel-helper-validator-identifier- #18075 fix(identifier): avoid double escaping slash (@JLHwung)
🏠 Internal
-
babel-plugin-proposal-decorators,babel-plugin-transform-regenerator,babel-preset-env-
#18081 Update
@babel/preset-modulesand polyfill packages (@nicolo-ribaudo)
-
#18081 Update
Committers: 2
- Huáng Jùnliàng (@JLHwung)
- Nicolò Ribaudo (@nic
v8.0.1 (2026-06-17)
This release includes a breaking change that was in the Babel 8 migration guide's Getting ready section and in the release post, but the actual removal of the feature from the codebase was accidentally not complete.
💥 Breaking Change
-
babel-core,babel-plugin-transform-object-rest-spread,babel-plugin-transform-runtime,babel-preset-env,babel-standalone-
#18079 Actually remove
preset-env'suseBuiltIns(@nicolo-ribaudo)
-
#18079 Actually remove
Committers: 2
- Huáng Jùnliàng (@JLHwung)
- Nicolò Ribaudo (@nicolo-ribaudo)
v8.0.0 (2026-06-16)
NOTE: The changelog below is relative to v8.0.0-rc.6. You can find a summary of all the breaking changes shipped in the Babel 8 release line in the migration guide for users and migration guide for plugin developers.
Read the release blog post at http://babeljs.io/blog/2026/06/16/8.0.0!
👓 Spec Compliance
-
babel-core- #18039 perf: Only extract source map comments at the end of the file (@liuxingbaoyu)
💥 Breaking Change
-
babel-cli,babel-node,babel-plugin-proposal-decorators,babel-plugin-transform-classes,babel-plugin-transform-function-name,babel-plugi
v8.0.0-rc.6 (2026-05-25)
🐛 Bug Fix
-
babel-generator- #18011 Catchup source map position in preserveFormat (@nicolo-ribaudo)
-
babel-core- #17999 fix: improve inputSourceMap URL handling (@JLHwung)
-
babel-core,babel-generator- #17992 Preserve original identifier names from input sourcemaps (@Andarist)
🏠 Internal
-
babel-core- #17970 Always use native Node.js TS support for config files (@nicolo-ribaudo)
v8.0.0-rc.5 (2026-05-12)
👓 Spec Compliance
-
babel-parser- #17949 Disallow decorators on abstract/declare fields (@nicolo-ribaudo)
💥 Breaking Change
-
babel-code-frame,babel-core,babel-parser,babel-traverse- #17849 fix(code-frame): use 0-based columns to match Babel AST locations (#1… (@nehemiyawicks)
-
All packages
-
#17969 Require Node.js
^22.18.0 || >=24.11.0(@nicolo-ribaudo)
-
#17969 Require Node.js
-
babel-plugin-t
v7.29.5 (2026-05-05)
🏠 Internal
-
babel-preset-env- Update
@babel/*dependencies
- Update