-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reorganize the docs. #1041
Reorganize the docs. #1041
Changes from 10 commits
bcec0ee
1baca25
4cafd6e
5636f8a
67bb534
6a35a81
12e0fd3
d8b92f2
cd08951
000eb41
dc92f9c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,29 +1,29 @@ | ||
- title: Learn ES2015 | ||
url: /docs/learn-es2015/ | ||
- title: Setup | ||
url: /docs/setup/ | ||
- title: Plugins | ||
url: /docs/plugins/ | ||
- title: Usage | ||
url: /docs/usage/ | ||
url: /learn-es2015/ | ||
- title: Docs | ||
url: /docs | ||
subnav: | ||
- title: Options | ||
url: /docs/usage/options/ | ||
- title: Setup | ||
url: /docs/setup/ | ||
- title: Plugins | ||
url: /docs/plugins/ | ||
- title: Polyfill | ||
url: /docs/usage/polyfill/ | ||
- title: Caveats | ||
url: /docs/usage/caveats/ | ||
- title: babelrc | ||
url: /docs/usage/babelrc/ | ||
- title: Editors | ||
url: /docs/editors | ||
- title: API | ||
url: /docs/usage/api/ | ||
- title: CLI | ||
url: /docs/usage/cli/ | ||
- title: Polyfill | ||
url: /docs/usage/polyfill/ | ||
- title: babel-register | ||
url: /docs/usage/babel-register/ | ||
- title: API | ||
url: /docs/usage/api/ | ||
- title: Browser | ||
url: /docs/usage/browser/ | ||
- title: .babelrc | ||
url: /docs/usage/babelrc/ | ||
- title: Try it out | ||
url: /repl/ | ||
- title: Blog | ||
url: /blog/ | ||
- title: FAQ | ||
url: /docs/faq |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
--- | ||
layout: docs | ||
title: Editors | ||
description: Learn how to use Babel in the editor of choice | ||
permalink: /docs/editors | ||
--- | ||
|
||
## Syntax Highlighting | ||
|
||
These days, many popular editors support ES2015+ syntax highlighting | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Would it be interesting to have a screenshot of syntax highlighting somewhere on here? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Absolutely. I can add that. If you happen to have such a picture with various ES syntax constructs in it, let me know. Otherwise, I'll create it myself. |
||
out of the box, while some require installing additional extensions. | ||
This guide should help you get the syntax highlighting to work. | ||
|
||
If you're looking for more advanced integrations, you may want to | ||
take a look at the [Setup](/docs/setup) guide. | ||
|
||
### Atom | ||
|
||
Install [language-babel](https://atom.io/packages/language-babel) package | ||
and follow the [instructions](https://github.com/gandm/language-babel#installation). | ||
|
||
### Sublime Text 3 | ||
|
||
First, [install Package Control](https://packagecontrol.io/installation). | ||
Then install [Babel](https://packagecontrol.io/packages/Babel) package | ||
from the Package Control menu and follow | ||
the [instructions](https://github.com/babel/babel-sublime#installation). | ||
|
||
### Visual Studio Code | ||
|
||
Install [Babel ES6/ES7](https://marketplace.visualstudio.com/items?itemName=dzannotti.vscode-babel-coloring) | ||
extension and follow the instructions. | ||
|
||
### WebStorm | ||
|
||
Seems like WebStorm now ships with support for ES2015+ without requiring you | ||
to install additional extensions. You might need to | ||
[enable it](https://blog.jetbrains.com/webstorm/2015/05/ecmascript-6-in-webstorm-transpiling/) though. |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,6 +4,8 @@ title: API | |
description: How to use the Node.js API. | ||
permalink: /docs/usage/api/ | ||
package: babel-core | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I moved this doc in babel/babel (PR babel/babel#4938). It will be then included in the website at build-time (PR #1026) Could you apply your modifications in babel repo ? Thanks. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. For clarification this would mean making a pr to babel/babel in the babel-core readme and then adding we can do it in another pr too? |
||
redirect_from: | ||
- /docs/usage/options/ | ||
--- | ||
|
||
```javascript | ||
|
@@ -12,7 +14,7 @@ import { transform } from 'babel-core'; | |
import * as babel from 'babel-core'; | ||
``` | ||
|
||
## babel.transform(code: string, [options?](/docs/usage/options): Object) | ||
## babel.transform(code: string, [options?](/docs/usage/api/#options): Object) | ||
|
||
Transforms the passed in `code`. Returning an object with the generated code, | ||
source map, and AST. | ||
|
@@ -30,7 +32,7 @@ result.map; | |
result.ast; | ||
``` | ||
|
||
## babel.transformFile(filename: string, [options?](/docs/usage/options): Object, callback: Function) | ||
## babel.transformFile(filename: string, [options?](/docs/usage/api/#options): Object, callback: Function) | ||
|
||
Asynchronously transforms the entire contents of a file. | ||
|
||
|
@@ -46,7 +48,7 @@ babel.transformFile("filename.js", options, function (err, result) { | |
}); | ||
``` | ||
|
||
## babel.transformFileSync(filename: string, [options?](/docs/usage/options): Object) | ||
## babel.transformFileSync(filename: string, [options?](/docs/usage/api/#options): Object) | ||
|
||
Synchronous version of `babel.transformFile`. Returns the transformed contents of | ||
the `filename`. | ||
|
@@ -61,7 +63,7 @@ babel.transformFileSync(filename, options) // => { code, map, ast } | |
babel.transformFileSync("filename.js", options).code; | ||
``` | ||
|
||
## babel.transformFromAst(ast: Object, code?: string, [options?](/docs/usage/options): Object) | ||
## babel.transformFromAst(ast: Object, code?: string, [options?](/docs/usage/api/#options): Object) | ||
|
||
Given, an [AST](https://astexplorer.net/), transform it. | ||
|
||
|
@@ -70,3 +72,51 @@ const code = "if (true) return;"; | |
const ast = babylon.parse(code, { allowReturnOutsideFunction: true }); | ||
const { code, map, ast } = babel.transformFromAst(ast, code, options); | ||
``` | ||
|
||
## Options | ||
|
||
<blockquote class="babel-callout babel-callout-info"> | ||
<h4>Babel CLI</h4> | ||
<p> | ||
You can pass these options from the Babel CLI like so: | ||
</p> | ||
<p> | ||
<code>babel --name<span class="o">=</span>value</code> | ||
</p> | ||
</blockquote> | ||
|
||
Following is a table of the options you can use: | ||
|
||
| Option | Default | Description | | ||
| ------------------------ | -------------------- | ------------------------------- | | ||
| `filename` | `"unknown"` | Filename for use in errors etc. | | ||
| `filenameRelative` | `(filename)` | Filename relative to `sourceRoot`. | | ||
| `presets` | `[]` | List of [presets](/docs/plugins/#presets) (a set of plugins) to load and use. | | ||
| `plugins` | `[]` | List of [plugins](/docs/plugins/) to load and use. | | ||
| `parserOpts` | `{}` | An object containing the options to be passed down to the babel parser, babylon | | ||
| `generatorOpts` | `{}` | An object containing the options to be passed down to the babel code generator, babel-generator | | ||
| `highlightCode` | `true` | ANSI highlight syntax error code frames | | ||
| `only` | `null` | A [glob](https://github.com/isaacs/minimatch), regex, or mixed array of both, matching paths to **only** compile. Can also be an array of arrays containing paths to explicitly match. When attempting to compile a non-matching file it's returned verbatim. | | ||
| `ignore` | `null` | Opposite to the `only` option. `ignore` is disregarded if `only` is specified. | | ||
| `auxiliaryCommentBefore` | `null` | Attach a comment before all non-user injected code. | | ||
| `auxiliaryCommentAfter` | `null` | Attach a comment after all non-user injected code. | | ||
| `sourceMaps` | `false` | If truthy, adds a `map` property to returned output. If set to `"inline"`, a comment with a sourceMappingURL directive is added to the bottom of the returned code. If set to `"both"` then a `map` property is returned as well as a source map comment appended. **This does not emit sourcemap files by itself!** To have sourcemaps emitted using the CLI, you must pass it the `--source-maps` option. | | ||
| `inputSourceMap` | `null` | A source map object that the output source map will be based on. | | ||
| `sourceMapTarget` | `(filenameRelative)` | Set `file` on returned source map. | | ||
| `sourceFileName` | `(filenameRelative)` | Set `sources[0]` on returned source map. | | ||
| `sourceRoot` | `(moduleRoot)` | The root from which all sources are relative. | | ||
| `moduleRoot` | `(sourceRoot)` | Optional prefix for the AMD module formatter that will be prepend to the filename on module definitions. | | ||
| `moduleIds` | `false` | If truthy, insert an explicit id for modules. By default, all modules are anonymous. (Not available for `common` modules) | | ||
| `moduleId` | `null` | Specify a custom name for module ids. | | ||
| `getModuleId` | `null` | Specify a custom callback to generate a module id with. Called as `getModuleId(moduleName)`. If falsy value is returned then the generated module id is used. | | ||
| `resolveModuleSource` | `null` | Resolve a module source ie. `import "SOURCE";` to a custom value. Called as `resolveModuleSource(source, filename)`. | | ||
| `code` | `true` | Enable code generation | | ||
| `no-babelrc` | [CLI flag](http://babeljs.io/docs/usage/cli/#ignoring-babelrc) | Specify whether or not to use .babelrc and .babelignore files. Only available when using the CLI. | | ||
| `ast` | `true` | Include the AST in the returned object | | ||
| `compact` | `"auto"` | Do not include superfluous whitespace characters and line terminators. When set to `"auto"` compact is set to `true` on input sizes of >100KB. | | ||
| `minified` | `false` | Should the output be minified (not printing last semicolons in blocks, printing literal string values instead of escaped ones, stripping `()` from `new` when safe) | | ||
| `comments` | `true` | Output comments in generated output. | | ||
| `shouldPrintComment` | `null` | An optional callback that controls whether a comment should be output or not. Called as `shouldPrintComment(commentContents)`. **NOTE:** This overrides the `comment` option when used. | | ||
| `env` | `{}` | This is an object of keys that represent different environments. For example, you may have: `{ env: { production: { /* specific options */ } } }` which will use those options when the enviroment variable `BABEL_ENV` is set to `"production"`. If `BABEL_ENV` isn't set then `NODE_ENV` will be used, if it's not set then it defaults to `"development"` | | ||
| `retainLines` | `false` | Retain line numbers. This will lead to wacky code but is handy for scenarios where you can't use source maps. (**NOTE:** This will not retain the columns) | | ||
| `extends` | `null` | A path to an `.babelrc` file to extend | |
This file was deleted.
This file was deleted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be (emphasis mine):