| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
parent directory.. | ||||
A monorepo, muhahahahahaha. See the monorepo design doc for reasoning.
| Package | Version | Dependencies |
|---|---|---|
| @babel/core | ||
| @babel/parser | ||
| @babel/traverse | ||
| @babel/generator |
@babel/core is the Babel compiler itself; it exposes the babel.transform method, where transformedCode = transform(src).code.
The compiler can be broken down into 3 parts:
The flow goes like this:
input string -> @babel/parser parser -> AST -> transformer[s] -> AST -> @babel/generator -> output string
Check out the babel-handbook for more information on this.
| Package | Version | Dependencies |
|---|---|---|
| @babel/cli | ||
| @babel/types | ||
| @babel/runtime | ||
| @babel/register | ||
| @babel/template | ||
| @babel/helpers | ||
| @babel/code-frame |
After Babel 6, the default transforms were removed; if you don't specify any plugins/presets, Babel will just return the original source code.
The transformer[s] used in Babel are the independent pieces of code that transform specific things. For example: the es2015-arrow-functions transform specifically changes arrow functions into regular functions. A preset is simply an array of plugins that make it easier to run a whole a set of transforms without specifying each one manually.
| Package | Version | Dependencies | Description |
|---|---|---|---|
| @babel/preset-env | automatically determines plugins and polyfills you need based on your supported environments |
You can find community maintained presets on npm
Plugins are the heart of Babel and what make it work.
You can find community plugins on npm.
There are many kinds of plugins: ones that convert ES6/ES2015 to ES5, transform to ES3, minification, JSX, flow, experimental features, and more. Check out our website for more.
These just enable the transform plugins to be able to parse certain features (the transform plugins already include the syntax plugins so you don't need both): @babel/plugin-syntax-x. Check out our website for more.
These are mostly for internal use in various plugins: @babel/helper-x.
| Back | FazBrowse Home | New Git URL |