Introducci贸n

Apenas bastan unas pocas horas para darse cuenta de que Astro es un excelente marco de trabajo que facilita la construcci贸n de sitios web est谩ticos, especialmente de tipo SPA (Single-page application). Tampoco se necesita mucho m谩s tiempo para dominarlo, especialmente si se tienen conocimientos previos de React y Next.js o similares.

El hecho de que Astro sea agn贸stico a otros Frameworks lo convierte en una herramienta a煤n m谩s impresionante, especialmente porque es compatible con los m谩s utilizados hoy en d铆a. De hecho, una de las integraciones que m谩s se utilizan con Astro es precisamente la de @astrojs/tailwind. Esta, como ya habr谩s podido imaginar, permite el uso de Tailwind CSS en nuestro proyecto Astro.

Es entonces cuando, utilizar Astro con Prettier y a帽adir Tailwind CSS en la ecuaci贸n, se convierte en un paso pr谩cticamente obligatorio para optimizar al m谩ximo nuestra experiencia de desarrollo. A continuaci贸n te explico c贸mo llevar a cabo esta configuraci贸n de manera r谩pida y f谩cil.

Primeros pasos

Antes de empezar, revisa que tengas instaladas estas extensiones de Visual Studio Code: prettier-vscode, vscode-tailwindcss y astro-vscode.

A continuaci贸n, toca abrir ese proyecto de Astro en el que est谩s trabajando. Si todav铆a no tienes ninguno, siempre puedes crear uno desde cero con el siguiente comando:

npm create astro@latest

Instalar las dependencias

Una vez que ya tienes listo tu proyecto de Astro, vas a tener que instalar una serie de dependencias, no sin antes haber a帽adido la integraci贸n con Tailwind CSS a tu proyecto.

Con el siguiente comando, podr谩s hacer una instalaci贸n autom谩tica, pero puedes revisar la documentaci贸n si prefieres personalizar esta instalaci贸n:

npx astro add tailwind

Ahora s铆 est谩s listo para instalar las dependencias con el siguiente comando:

npm install prettier prettier-plugin-astro prettier-plugin-tailwindcss

Configuraci贸n de Prettier en el proyecto

Uno de los puntos m谩s importantes de este proceso es la configuraci贸n de Prettier para el proyecto o espacio de trabajo (Workspace). Te recomiendo enormemente revisar la documentaci贸n de Prettier para personalizar al m谩ximo su comportamiento.

Sin embargo, para este ejemplo nos va a servir con una configuraci贸n muy b谩sica que a帽adiremos a un nuevo archivo en el directorio ra铆z de nuestro proyecto, llamado .prettierrc:

{
  "plugins": ["prettier-plugin-astro", "prettier-plugin-tailwindcss"],
  "pluginSearchDirs": false
}

Ten en cuenta que el orden en que importas los plugins afecta al funcionamiento, as铆 que evita alterarlo.

Recuerda que tambi茅n puedes crear el archivo .prettierignore en el directorio ra铆z de tu proyecto para evitar que Prettier formatee archivos que no afectar谩n a la legibilidad de tu aplicaci贸n. Yo suelo a帽adir este contenido a este archivo:

**/.git
**/node_modules

No obstante, puedes revisar la documentaci贸n para personalizar a煤n m谩s este archivo.

Formateando al guardar

A m铆 me resulta muy inc贸modo tener que formatear manualmente mis archivos, as铆 que activando una caracter铆stica de Prettier le permito hacerlo autom谩ticamente cada vez que guardo un archivo.

Para hacer esto, tienes que acceder a la siguiente ruta en Visual Studio Code: Archivo > Preferencias > Configuraci贸n. En la interfaz que te aparece, escribe editor.formatOnSave en el buscador y solo deber铆a aparecerte un elemento, el cual deber谩s tener activo.

Ajuste editor.formatOnSave en Visual Studio Code

Adem谩s, deber谩s asegurarte de tener Prettier activo como formateador. Para ello, utiliza el mismo buscador y localiza el elemento que aparece al buscar editor.defaultFormatter. Ah铆, deber谩s seleccionar Prettier - Code formatter del listado.

Ajuste editor.defaultFormatter en Visual Studio Code

Valida los resultados

Ahora que has creado la configuraci贸n b谩sica, puedes hacer una prueba en tu proyecto para ver si est谩 funcionando esta integraci贸n.

Si creas un componente de prueba y le a帽ades el siguiente c贸digo:

<button
  class="sm:px-8 sm:py-3 px-4 hover:bg-sky-800 text-white py-2 bg-sky-700"
>
  ...
</button>

Al guardarlo, deber铆a formatearse de la siguiente manera:

<button
  class="bg-sky-700 px-4 py-2 text-white hover:bg-sky-800 sm:px-8 sm:py-3"
>
  ...
</button>

Conclusi贸n

Una vez aplicada esta configuraci贸n, podr谩s trabajar de una forma m谩s eficiente, colaborativa y profesional en el manejo y orden de las clases de los archivos de tu proyecto y siguiendo las recomendaciones.

Si quieres saber m谩s sobre c贸mo se ordenan las clases, visita este art铆culo.