1"use strict";(self.webpackChunkfarm_docs=self.webpackChunkfarm_docs||[]).push([[6122],{77573:(s,e,i)=>{i.r(e),i.d(e,{assets:()=>d,contentTitle:()=>c,default:()=>a,frontMatter:()=>l,metadata:()=>o,toc:()=>t});var n=i(49214),r=i(36906);const l={},c="Overview",o={id:"plugins/official-plugins/overview",title:"Overview",description:"Farm officially provides a lot of useful plugins, including Rust plugins and JS plugins. Rust plugins are much faster than Js plugins, we recommend to use Rust plugins whenever possible.",source:"@site/docs/plugins/official-plugins/overview.md",sourceDirName:"plugins/official-plugins",slug:"/plugins/official-plugins/overview",permalink:"/docs/plugins/official-plugins/overview",draft:!1,unlisted:!1,editUrl:"https://github.com/farm-fe/farm-fe.github.io/tree/main/docs/plugins/official-plugins/overview.md",tags:[],version:"current",frontMatter:{},sidebar:"pluginSidebar",next:{title:"@farmfe/plugin-react",permalink:"/docs/plugins/official-plugins/react"}},d={},t=[{value:"Rust Plugins",id:"rust-plugins",level:2},{value:"Js Plugins",id:"js-plugins",level:2},{value:"Community Plugins",id:"community-plugins",level:2}];function u(s){const e={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,r.R)(),...s.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.header,{children:(0,n.jsx)(e.h1,{id:"overview",children:"Overview"})}),"\n",(0,n.jsx)(e.p,{children:"Farm officially provides a lot of useful plugins, including Rust plugins and JS plugins. Rust plugins are much faster than Js plugins, we recommend to use Rust plugins whenever possible."}),"\n",(0,n.jsx)(e.admonition,{type:"tip",children:(0,n.jsxs)(e.p,{children:["Refer to ",(0,n.jsx)(e.a,{href:"/docs/using-plugins",children:"Using Plugins"})," for how to use plugins in Farm."]})}),"\n",(0,n.jsx)(e.h2,{id:"rust-plugins",children:"Rust Plugins"}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:(0,n.jsx)(e.a,{href:"./react",children:(0,n.jsx)(e.code,{children:"@farmfe/plugin-react"})})}),"\uff1aSupport React ",(0,n.jsx)(e.code,{children:"jsx"})," and ",(0,n.jsx)(e.code,{children:"react-refresh"}),"."]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:(0,n.jsx)(e.a,{href:"./sass",children:(0,n.jsx)(e.code,{children:"@farmfe/plugin-sass"})})}),"\uff1aSupport compiling ",(0,n.jsx)(e.code,{children:"sass/scss"})," files."]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:(0,n.jsx)(e.a,{href:"./strip",children:(0,n.jsx)(e.code,{children:"@farmfe/plugin-strip"})})}),"\uff1aA Farm rust plugin to remove ",(0,n.jsx)(e.code,{children:"debugger"})," statements and functions like ",(0,n.jsx)(e.code,{children:"assert.equal"})," and ",(0,n.jsx)(e.code,{children:"console.log"})," from your code."]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:(0,n.jsx)(e.a,{href:"./dsv",children:(0,n.jsx)(e.code,{children:"@farmfe/plugin-dsv"})})}),"\uff1aA Farm plugin which converts ",(0,n.jsx)(e.code,{children:".csv"})," and ",(0,n.jsx)(e.code,{children:".tsv"})," files into JavaScript modules."]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:(0,n.jsx)(e.a,{href:"./yaml",children:(0,n.jsx)(e.code,{children:"@farmfe/plugin-yaml"})})}),"\uff1aA Farm plugin which Converts YAML files to ES6 modules."]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:(0,n.jsx)(e.a,{href:"./virtual",children:(0,n.jsx)(e.code,{children:"@farmfe/plugin-virtual"})})}),"\uff1aA rust plugin for farm to easily use virtual module."]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:(0,n.jsx)(e.a,{href:"./react-components",children:(0,n.jsx)(e.code,{children:"@farmfe/plugin-react-components"})})}),"\uff1aOn-demand components auto importing for React."]}),"\n"]}),"\n",(0,n.jsx)(e.h2,{id:"js-plugins",children:"Js Plugins"}),"\n",(0,n.jsxs)(e.ul,{children:["\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:(0,n.jsx)(e.a,{href:"./js-postcss",children:(0,n.jsx)(e.code,{children:"@farmfe/js-plugin-postcss"})})}),"\uff1aSupport ",(0,n.jsx)(e.code,{children:"postcss"})," in your project."]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:(0,n.jsx)(e.a,{href:"./js-less",children:(0,n.jsx)(e.code,{children:"@farmfe/js-plugin-less"})})}),"\uff1aSupport compiling ",(0,n.jsx)(e.code,{children:"less"})," files."]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:(0,n.jsx)(e.a,{href:"./js-svgr",children:(0,n.jsx)(e.code,{children:"@farmfe/js-plugin-svgr"})})}),"\uff1aSupport compiling ",(0,n.jsx)(e.code,{children:"svg"})," files."]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:(0,n.jsx)(e.a,{href:"./js-dts",children:(0,n.jsx)(e.code,{children:"@farmfe/js-plugin-dts"})})}),"\uff1aSupport compiling ",(0,n.jsx)(e.code,{children:"*.d.ts"})," files."]}),"\n",(0,n.jsxs)(e.li,{children:[(0,n.jsx)(e.strong,{children:(0,n.jsx)(e.a,{href:"./js-sass",children:(0,n.jsx)(e.code,{children:"@farmfe/js-plugin-sass"})})}),"\uff1aSupport compiling ",(0,n.jsx)(e.code,{children:"sass/scss"})," files."]}),"\n"]}),"\n",(0,n.jsx)(e.h2,{id:"community-plugins",children:"Community Plugins"}),"\n",(0,n.jsxs)(e.p,{children:["If official plugins doesn't meet your needs, you can try ",(0,n.jsx)(e.a,{href:"../community-plugins",children:"Community Plugins"})]}),"\n",(0,n.jsxs)(e.p,{children:["And of course check out ",(0,n.jsx)(e.a,{href:"https://github.com/farm-fe/awesome-farm",children:"awesome-farm"})," - you can also submit a PR to list your plugins there."]})]})}function a(s={}){const{wrapper:e}={...(0,r.R)(),...s.components};return e?(0,n.jsx)(e,{...s,children:(0,n.jsx)(u,{...s})}):u(s)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.