---
title: "@farmfe/js-plugin-babel"
locale: "zh"
version: "current"
canonicalUrl: "https://farmfe.org/zh/docs/plugins/official-plugins/js-babel"
publicationStatus: "prerelease"
---

<a id="farmfejs-plugin-babel"></a>
# @farmfe/js-plugin-babel


JavaScript plugin that runs Babel on matched Farm modules.


<a id="installation"></a>
## Installation


**npm**

```javascript
npm install @farmfe/js-plugin-babel --save-dev
```


**yarn**

```javascript
yarn add @farmfe/js-plugin-babel --dev
```


**pnpm**

```javascript
pnpm add @farmfe/js-plugin-babel --save-dev
```



<a id="usage"></a>
## Usage


```ts
import { defineConfig } from "@farmfe/core";
import { babel } from "@farmfe/js-plugin-babel";

export default defineConfig({
  plugins: [
    babel({
      priority: 99,
      transformOptions: {
        presets: ["@babel/preset-env"],
      },
    }),
  ],
});
```


<a id="options"></a>
## Options


- ` filters?: { moduleTypes?: ModuleType[]; resolvedPaths?: string[] } ` — modules to transform. Defaults to module types ` ["js", "jsx", "ts", "tsx"] ` and no path filters.
- ` transformOptions?: TransformOptions ` — passed to Babel ` transformAsync ` with ` filename ` set to the module id.
- ` priority: number ` — Farm plugin priority. ` babel() ` defaults to ` 99 `; include this option when passing an options object.
- ` name?: string ` — Farm plugin name. Defaults to ` "js-plugin:babel" `.
