Herramienta Gratis Activo
Farm
Para acelerar el arranque en desarrollo y los builds de producción de proyectos web usando un bundler en Rust compatible con Vite.
Herramienta de build web ultrarrápida escrita en Rust y compatible con plugins de Vite.
Notas y contexto
Qué es
Farm es una herramienta de build web (bundler) de alto rendimiento escrita en Rust, mantenida por el equipo farm-fe. Está construida sobre SWC para el parseo y la transformación de código, y usa NAPI-RS para sus enlaces con Node. Su objetivo es ofrecer arranques en milisegundos y HMR casi instantáneo manteniendo compatibilidad con el ecosistema de plugins de Vite.
Para qué sirve
- Compilar aplicaciones web de React, Vue o Solid mediante sus plugins oficiales.
- Reducir el tiempo de arranque en desarrollo y los builds de producción en proyectos grandes.
- Reutilizar plugins de Vite ya existentes sin reescribirlos.
- Procesar HTML, CSS, CSS Modules, JS/JSX/TS/TSX, JSON y assets estáticos sin configuración adicional.
Cuándo usarlo
- Cuando el tiempo de build o de arranque en desarrollo se ha convertido en un cuello de botella y buscas una alternativa más rápida a Vite o Webpack.
- Cuando quieres aprovechar el rendimiento de un bundler en Rust pero sin perder la compatibilidad con plugins del ecosistema Vite.
- Si tu equipo prioriza la velocidad y la paridad entre desarrollo y producción frente a la madurez de herramientas más asentadas.
Ejemplo
Crear un proyecto nuevo con la plantilla oficial:
npm create farm@latest
# elegir framework (React, Vue, Solid...)
cd mi-proyecto
npm install
npm run dev # arranque en milisegundos con HMR
npm run build # build de producción
Configuración básica en farm.config.ts:
import { defineConfig } from '@farmfe/core';
export default defineConfig({
compilation: {
input: { index: './index.html' },
output: { path: 'dist' },
},
});
Puntos clave
- Núcleo escrito en Rust y apoyado en SWC para máxima velocidad de compilación.
- Compatibilidad con plugins de Vite, además de plugins propios en Rust y JavaScript.
- Caché persistente en disco y compilación incremental a nivel de módulo activadas por defecto.
- Estrategia de “partial bundling” que equilibra rendimiento y granularidad de caché.
- Paridad entre desarrollo y producción, con soporte de navegadores modernos y legacy (ES5).
Ten en cuenta
- El proyecto es open source con licencia MIT y se encuentra activo (alcanzó la versión estable 1.0). La versión publicada de referencia es una nightly, así que conviene fijar versiones en producción.
- Aunque es compatible con muchos plugins de Vite, no todos funcionan al 100%; verifica los que uses antes de migrar un proyecto completo.
- Su ecosistema y comunidad son menores que los de Vite o Webpack, lo que puede implicar menos recursos y soluciones ante problemas concretos.