Bueno, al menos no está prohibido. Así que lo que podemos hacer aquí y por qué lo hicimos al final es que queremos asegurarnos de que el empaquetador basado en Rust también funcione bien con el ecosistema de JavaScript. Cómo hicimos esto es que añadimos algunas palancas más para los autores de plugins. Y una de las cosas son los filtros de gancho para plugins. Así que los plugins funcionan tal como son, pero luego tienes que llamar al plugin de JavaScript para cada archivo para cada verificación, y eso es un poco meh, ¿verdad? Así que, en cambio, dijimos, mira, digamos que tenemos este plugin muy simple de rolldown o rollup. No son incompatibles, ¿verdad? Son compatibles. Así que vamos a crear un nuevo marco llamado Swangular. Y simplemente decimos, OK, transforma algo. Si el ID no termina con Swangular, entonces regresa. Y de lo contrario, haz alguna transformación real. Sí, Swangular es un gran nombre, lo sé. Pero el problema es que esta función de transformación se llama para cada archivo, y eso es un montón de archivos, te lo digo, en tus módulos de Node.
Así que, en cambio, lo que hacemos es, bueno, tomamos esto, pero lo extraemos en una función de filtro para decir, OK, solo ejecuta esto si el ID incluye Swangular. Y ahora esto también puede ser analizado por Rust para que Rust no tenga que llamarlo todo el tiempo y decir, OK, solo para estas condiciones, y estamos bien. Y esa es la magia detrás de esto. Así que menos sobrecarga, y funciona en rolldown, read, e incluso en rollup. Sí, es importante en todas partes, ¿verdad? Y si no está ahí, está bien. Simplemente será ignorado. Además, feed ha sido, bueno, Rustificado, por supuesto, así que los plugins nativos de Rust están cubiertos. Cosas como la resolución de módulos, sí, encontrar todos estos alias, etcétera, etcétera. Transformación de TypeScript JSX, lo mencioné antes.
Reemplazos definidos, ¿verdad? Como nodes n, por ejemplo. Importar metaglob, si necesitas una cierta expresión, por lo tanto. Todas las variables de importación dinámica, así que cosas como importar páginas y luego el nombre, .js o con la sintaxis de plantilla aquí. Así que y eso no es el final, por supuesto. Lo hicimos con el empaquetador. Tenemos el minificador subyacente, bueno, transformador, etc. Y basado en eso, tenemos un linter y un formateador. Todo eso junto, puedes usarlo en una cadena de herramientas llamada V+. Pero eso es tema para otra masterclass. Y eso es todo al respecto. Gracias por su atención. Gracias a todos.
Comments