Biome, Herramienta para Proyectos Web

Rate this content
Bookmark

Biome quiere proporcionar una experiencia todo en uno para los desarrolladores web manteniendo el rendimiento y la calidad. Emanuele, el principal responsable del proyecto Biome, presentará las herramientas de Biome:

- Un formateador con un 97% de compatibilidad con Prettier para archivos JavaScript, JSX, TypeScript y TSX.

- Un linter que ofrece diagnósticos informativos y descriptivos, con reglas de lint modernas exclusivas de Biome y otras inspiradas en los plugins más famosos de ESlint.

- Un ordenamiento de importaciones con opiniones. Una excelente herramienta ofrecida por Biome Analyser.

- Soporte de primera clase para editores que admiten LSP. Lo que obtienes desde la CLI, lo obtienes en tu editor.


Al final, Emanuele discutirá los planes para 2024 y lo que el equipo desea lograr este año.

This talk has been presented at Node Congress 2024, check out the latest edition of this JavaScript Conference.

Emanuele Stoppa
Emanuele Stoppa
19 min
04 Apr, 2024

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Biome es una herramienta para proyectos web que proporciona formateo y análisis. Ofrece diagnósticos de alta calidad y es compatible con Prettier. El analizador de Biome incluye más de 200 roles de lint únicos y proporciona mensajes de error informativos. Pion, una parte de Biome, tiene como objetivo ser rápido y eficiente, superando a otras herramientas. Biome está explorando la inferencia de tipos y el soporte de complementos, y tiene planes de renovar su configuración en la versión dos.
Available in English: Biome, Toolchain of the Web

1. Introducción a Biome

Short description:

Hoy voy a hablar de Biome, la cadena de herramientas web. Biome es una cadena de herramientas que busca proporcionar una única experiencia para tus proyectos web. Ofrece un Formateador y un Analizador, y tiene como objetivo proporcionar diagnósticos de alta calidad. Biome es compatible con Prettier y ofrece formato para archivos JavaScript, TypeScript, JSX y TSX. También tiene la capacidad de formatear código roto como una función opcional.

Hola a todos. Hoy voy a hablar de Biome, la cadena de herramientas web. Antes de continuar con las presentaciones, voy a presentarme. Mi nombre es Emanuele Stoppa. Soy uno de los colaboradores principales del proyecto Biome y colaborador principal del proyecto Astra. Vivo en Irlanda, soy italiano, me gusta viajar y soy un ávido jugador de console que actualmente está jugando Final Fantasy VII.

Así que vamos con Biome. ¿Qué es Biome? Biome es una cadena de herramientas que busca proporcionar una única experiencia para tus proyectos web. En este momento, Biome ofrece un Formateador y un Analizador, y vamos a ver qué son esos. Además, como misión, debo trabajar y ofrecer la misma developer experience en la CLI y el LSP, para editores, y quiere ofrecer diagnósticos de alta calidad.

Ahora, ¿qué es una cadena de herramientas moderna? Bueno, el año pasado fui a la GIA nation y hablé sobre la antigua Biome que era Rome y ahora Biome y Rome querían tomar todas estas herramientas que queríamos que tú pudieras tener en tus proyectos web y ofrecer solo una única cadena de herramientas y usar solo teóricamente, solo usar eso para todo. Aunque, bueno, quiero decir, seamos realistas. Eso no es posible en este momento. Quiero ofrecer un punto de vista diferente de la cadena de herramientas moderna. Como una cadena de herramientas moderna, queremos ser los dueños de las operaciones clave que posee el software. Así que el análisis, diagnósticos, formato, el linter y las code suggestions, asistencias. Básicamente, las cosas que realmente nos importan en la cadena de herramientas. Como una cadena de herramientas moderna, también seremos informativos, innovadores y queremos ofrecer características que no has visto antes. Es realmente interesante. Quiero decir, veamos más a fondo lo que Biome puede ofrecer.

Así que hablemos del formateador. El formateador de Biome es compatible con Prettier. Esto significa que se formatea como Prettier y todos sabemos que Prettier ofrece una experiencia de formato muy agradable y con opiniones. Biome es un 97 por ciento compatible en el formato de archivos JavaScript, TypeScript, JSX y TSX. Y también ofrece las mismas opciones que Prettier, excepto algunas que decidimos eliminar porque consideramos que son antiguas y ya no son necesarias. Y algo que el formateador de Biome hace y que Prettier no puede hacer es formatear código roto. Sí, exactamente. Eso es lo que el formateador de Biome puede hacer. Es una función opcional y realmente funciona. En este video, tenemos la declaración while que está rota y le falta un paréntesis.

2. Analizador de Biome y Roles Únicos

Short description:

Puedes optar por usar Biome y tener tu formato listo para usar. El analizador ofrece un linter y clasificación de importaciones, con más de 200 roles de lint, algunos de los cuales son exclusivos de Biome. Biome también ofrece clasificación de importaciones y sigue los pilares de reglas para mensajes de error informativos y útiles.

Usarías Prettier y no podrías hacer eso. Puedes optar por usar Biome y ahí lo tienes, tu formato funcionando justo, ya sabes, listo para usar. Esta es una de las características que una cadena de herramientas moderna como Biome puede proporcionar.

Avancemos con el analizador. El analizador es una característica bastante completa que ofrece cosas como linter y clasificación de importaciones. Como linter, Biome ofrece más de doscientos roles de lint. Algunos de ellos son bastante exclusivos de Biome. Muchos de ellos son tomados de ESLint y los complementos más populares de ESLint. El analizador también ofrece clasificación de importaciones lista para usar y los roles de lint de Biome son informativos y realmente te enseñan algo. Así que veamos qué significa.

Entre todos los demás roles, quiero mostrarte algunos roles exclusivos de Biome. Que no puedes encontrar en otros linters y esperemos que los otros linters los adopten. Por ejemplo, use while o otro realmente bueno es no cost enum, que es bastante bueno y veremos qué hace. Así que quiero decir, no solo copiamos y pegamos lo que tenemos, sino que Biome ofrece algo más de lo que las herramientas existentes tienen para ofrecer. También ofrece una clasificación de importaciones, por lo que la clasificación de importaciones de Biome es solo un rol de asistencia. Es solo una regla diferente de un rol de lint, pero aún una regla que hace esencialmente la clasificación de importaciones. Y Biome tiene su propia lógica, que se explica en la documentation. Y esencialmente es una prueba de cuán poderosa es la infraestructura del analizador de Biome. Y también es informativo. Internamente tenemos esto que llamamos pilares de reglas. Cuando creamos el rol, tratamos de adherirnos a estos pilares. ¿Y cuáles son esos? Entonces, una regla podría explicarse como una primera regla que te explica el error, como, okay, se activó una regla. Realmente quieres saber por qué se activó. Pero en realidad, queremos saber el error real. Pero también quieres saber por qué se activó. No puedes simplemente decir, okay, esto es un error. Una regla debería decirte por qué. Para que sepas y aprendas de la regla real. Y luego, como tercer pilar, una regla siempre debería explicarte qué debes hacer. Okay, obtienes el error, sabes por qué, pero ahora ¿qué hago? Así que la mayoría de las veces obtienes la code solución.

QnA

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Vite: Repensando las Herramientas de Frontend
JSNation Live 2021JSNation Live 2021
31 min
Vite: Repensando las Herramientas de Frontend
Top Content
Vite is a next-generation build tool that leverages native ES modules for improved performance. It eliminates the need for bundling and improves hot module replacement. Vite provides an opinionated default configuration while still allowing advanced customization through plugins. It is framework agnostic and can be used for React and other applications. Vite is being adopted by Next.js and Create React App, and integration with Nuxt 3 offers significant speed improvements.
Compilador React Forget - Entendiendo React Idiomático
React Advanced Conference 2023React Advanced Conference 2023
33 min
Compilador React Forget - Entendiendo React Idiomático
Top Content
Joe Savona
Mofei Zhang
2 authors
The Talk discusses React Forget, a compiler built at Meta that aims to optimize client-side React development. It explores the use of memoization to improve performance and the vision of Forget to automatically determine dependencies at build time. Forget is named with an F-word pun and has the potential to optimize server builds and enable dead code elimination. The team plans to make Forget open-source and is focused on ensuring its quality before release.
Cómo Bun hace que la construcción de aplicaciones React sea más simple y rápida
React Day Berlin 2022React Day Berlin 2022
9 min
Cómo Bun hace que la construcción de aplicaciones React sea más simple y rápida
BUN is a modern all-in-one JavaScript runtime environment that achieves new levels of performance. It includes BUN dev, a fast front-end dev server, BUN install, a speedy package manager, and BUN run, a fast package runner. BUN supports JSX, has optimized React server-side rendering, and offers hot module reloading on the server. The priorities for BUN include stability, node compatibility, documentation improvement, missing features in BUN install, AST plugin API, native Windows support, Bundler and Minifier optimization, and easier deployment to production. BUN's AST plugin API allows for bundle-time JavaScript execution and embedding code, potentially inspiring new frameworks.
Turbopack. ¿Por qué? ¿Cómo? ¿Cuándo? y la Visión...
React Day Berlin 2022React Day Berlin 2022
32 min
Turbopack. ¿Por qué? ¿Cómo? ¿Cuándo? y la Visión...
The Talk discusses TurboPack, a successor to Webpack, aiming to create a framework-independent, flexible, and extensible tool for the open-source community. It addresses performance challenges by integrating SWC into Next.js. The challenges with Next.js and Webpack include orchestration issues, backward compatibility constraints, and cache invalidation problems. TurboEngine and TurboPack provide constant performance in incremental builds, leveraging Rust's predictable performance and parallelism. The Talk also covers topics like dependency tracking, task graphs, cache invalidation, lazy asset graphs, and the integration of TurboPack with Next.js. The future plans involve reconfiguring Webpack and TurboEngine, moving computations to the cloud, providing insights into builds, and facilitating migration and integration with JavaScript projects.
El Núcleo de Turbopack Explicado (Codificación en Vivo)
JSNation 2023JSNation 2023
29 min
El Núcleo de Turbopack Explicado (Codificación en Vivo)
Tobias Koppers introduces TurboPack and TurboEngine, addressing the limitations of Webpack. He demonstrates live coding to showcase the optimization of cache validation and build efficiency. The talk covers adding logging and memorization, optimizing execution and tracking dependencies, implementing invalidation and watcher, and storing and deleting invalidators. It also discusses incremental compilation, integration with other monorepo tools, error display, and the possibility of a plugin system for Toolpag. Lastly, the comparison with Bunn's Builder is mentioned.
El funcionamiento interno de la construcción de Vite
DevOps.js Conf 2022DevOps.js Conf 2022
31 min
El funcionamiento interno de la construcción de Vite
Welcome to vidBuild, a tool that optimizes your application for production by offering fast hodgemodule replacement and support for various technologies. The build process in vidBuild involves optimizing and minifying assets, bundling JS and CSS, and generating chunks for dynamic imports. The pipeline in vidBuild includes plugins for alias, resolution, CSS modules, and asset handling. Vid is a complete build tool with a flexible plugin system and support from a vibrant community. Vite's plugin API is compatible with Rollup, and Vite aims for simplicity while pushing complexity to the plugin system.

Workshops on related topic

Uso de CodeMirror para construir un editor de JavaScript con Linting y AutoCompletado
React Day Berlin 2022React Day Berlin 2022
86 min
Uso de CodeMirror para construir un editor de JavaScript con Linting y AutoCompletado
Top Content
WorkshopFree
Hussien Khayoon
Kahvi Patel
2 authors
Usar una biblioteca puede parecer fácil a primera vista, pero ¿cómo eliges la biblioteca correcta? ¿Cómo actualizas una existente? ¿Y cómo te abres camino a través de la documentación para encontrar lo que quieres?
En esta masterclass, discutiremos todos estos puntos finos mientras pasamos por un ejemplo general de construcción de un editor de código usando CodeMirror en React. Todo mientras compartimos algunas de las sutilezas que nuestro equipo aprendió sobre el uso de esta biblioteca y algunos problemas que encontramos.