Node Just Run

This ad is not shown to multipass and full ticket holders
React Summit
React Summit 2026
June 11 - 15, 2026
Amsterdam & Online
The biggest React conference worldwide
Upcoming event
React Summit 2026
React Summit 2026
June 11 - 15, 2026. Amsterdam & Online
Learn more
Bookmark
Rate this content
Sentry
Promoted
Code breaks, fix it faster

Crashes, slowdowns, regressions in prod. Seer by Sentry unifies traces, replays, errors, profiles to find root causes fast.

Ejecuta tu proyecto sin ahogarte en configuraciones. Para escenarios comunes, puedes hacerlo sin configuración a través de simples extensiones usando la API de Customización de Node (no necesitas saber qué es eso). Puede ser tan simple como decirle a Node que quieres usar CSS modules y tsx: module.register('@nodejs-loaders/css-module').

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

Jacob Smith
Jacob Smith
16 min
26 Mar, 2026

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Usar Node para simplificar tareas comunes en entornos locales y CI. Jacob Smith discute los hooks de personalización y la extensión de Node para tipos de archivos adicionales. La necesidad de Node de entender diferentes tipos de archivos para main.tsx. Evitar el uso de bundlers para entornos locales. Se discute la extensión de Node con hooks de personalización para trabajo asincrónico. Es crucial desplegar infraestructura para trabajo asincrónico. Utilizar el principio de responsabilidad única para manejar funcionalidades específicas como CSS modules y URLs de medios. La colección de loaders/hooks de personalización simplifica la integración con Node para varias tareas. No necesitas un conocimiento extenso del funcionamiento interno. Una demostración destaca la utilidad de este enfoque en el desarrollo web. Usar hooks de personalización puede mejorar significativamente la eficiencia y velocidad de las pruebas. Node puede iniciarse rápidamente sin necesitar tiempo adicional. Se requiere una configuración mínima, enfocándose en CSS modules y URLs de medios. Funcionalidades pequeñas y encapsuladas hacen una cosa, sin interactuar mucho entre sí. Alternativas como Vite y Vitest son populares pero pueden no ofrecer el mismo rendimiento que Node solo. Los hooks de personalización permiten un uso preciso, a diferencia de soluciones con un alcance más amplio. La diferencia de impacto en el tamaño es significativa, con pequeños hooks de personalización en comparación con alternativas más grandes, mostrando un rendimiento similar en pruebas.
Available in English: Node Just Run

1. Using Node for Common Development Tasks

Short description:

Usar Node para simplificar tareas comunes en entornos locales y CI. Jacob Smith discute los ganchos de personalización y la extensión de Node para tipos de archivos adicionales.

Muy bien. Así que esta charla trata sobre el uso de Node para facilitar cosas muy comunes que los ingenieros hacen hoy en día en su entorno local y también en CI. Muchas de esas cosas que hoy en día requieren bastante configuración y cosas así, no queremos eso. Solo queremos que funcione. Así que, sí, idealmente, solo dices Node y le das lo que quieres ejecutar, y simplemente lo hace. Nos estamos acercando a eso, como hemos visto con TypeScripting y cosas así. A medida que más cosas se integran para las cosas que aún no están integradas en Node, tenemos ganchos de personalización.

Antes de profundizar demasiado en eso, un poco sobre mí. Soy Jacob Smith. Puede que me hayas visto en GitHub o por ahí como JacobJingleheimer. Soy delegado de TC39, delegado de invierno de TC55. He sido mantenedor principal, colaborador principal de Node.js durante entre medio y una década ahora. Organizo el code bar de Ámsterdam, y en mi trabajo diario, soy ingeniero de software principal. Así que el objetivo aquí es que solo quiero ejecutar mis cosas.

Por ejemplo, Node main TSX. Si esto fuera solo un archivo TS, Node podría hacerlo por sí mismo. Pero como tiene un montón de otros tipos de archivos en él, si intentaras hacer esto ahora mismo, Node obviamente fallaría. Este es un archivo bastante simple, así que es como, solo hazlo. No hay nada realmente loco sucediendo aquí, y todas estas cosas que queríamos hacer son bastante estándar. Así que el problema es que Node solo entiende cuatro tipos de cosas. C++ a través de plugins y a través del Node N API, JSON, Javascript, que es en el sabor de CommonJS o ESM, o Wasm.

2. Extending Node for Additional File Types

Short description:

La necesidad de Node de entender diferentes tipos de archivos para main.tsx. Evitar el uso de bundlers para entornos locales. Se discute la extensión de Node con ganchos de personalización para trabajo asincrónico.

Node necesita entender tres otros tipos de cosas para hacer que main.tsx funcione. Así que JSX o TSX, un módulo CSS, y una URL de medios. Así que lo que muchos de ustedes podrían buscar es un bundler. Los bundlers son para producción. Realmente no quieres usar eso en tu entorno local solo para ejecutar tus cosas o para ejecutar pruebas, CI, ese tipo de cosas. Puedes, pero esa no es realmente la solución.

Así que podemos extender Node a través de los ganchos de personalización que han existido en Node durante bastante tiempo. Ahora se están volviendo un poco más estables, y puedes ver cómo se ven en solo un segundo. Así que hay dos versiones de esto. Está el original async hooks, más comúnmente ahora hecho por module register, y tenemos sync hooks a través de register hooks. Se ven bastante similares, y el diablo está en los detalles.

Los async hooks facilitan hacer trabajo asincrónico de una manera que parece ser sincrónica. Cómo hacemos eso bajo el capó es súper loco. Lo llamo el upside down. Involucra un worker y atomics y cosas así. No necesitas preocuparte por eso. Nosotros sudamos ese dolor por ti. Pero si no necesitas nada particularmente especial, entonces podrías simplemente usar los ganchos sincrónicos disponibles. Esos son mucho más eficientes, porque entonces no tienes que ir y venir entre el upside down, que tiene un costo no trivial.

Available in other languages:

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

Cómo Bun Hace que Construir Aplicaciones React Sea Más Simple y Rápido
React Day Berlin 2022React Day Berlin 2022
9 min
Cómo Bun Hace que Construir Aplicaciones React Sea Más Simple y Rápido
Top Content
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.
Nunca te preocupes por CORS nuevamente
JSNation US 2025JSNation US 2025
28 min
Nunca te preocupes por CORS nuevamente
Talk on Bund: Overview of Bund, its speed optimization, components like runtime, package manager, test runner, and bundler. Efficient features include fast npm manager, pnpm lockfile support, Jest-compatible test runner, and optimized runtime components. Built-in features like modern password hashing, WebSocket server, file glob API, and database clients. API design focuses on common use cases and optimization. Enhanced JavaScript functionality with SIMD, native code, and performance improvements. Challenges in JavaScript productivity, BUN adoption, deployment, and support. React support, community involvement, security, Next.js compatibility, and transition.
Compatibilidad con Node.js en Deno
Node Congress 2022Node Congress 2022
34 min
Compatibilidad con Node.js en Deno
Deno aims to provide Node.js compatibility to make migration smoother and easier. While Deno can run apps and libraries offered for Node.js, not all are supported yet. There are trade-offs to consider, such as incompatible APIs and a less ideal developer experience. Deno is working on improving compatibility and the transition process. Efforts include porting Node.js modules, exploring a superset approach, and transparent package installation from npm.
Bun, Deno, Node.js? Recreando un runtime de JavaScript desde cero - Entender la magia detrás de Node.js
Node Congress 2023Node Congress 2023
29 min
Bun, Deno, Node.js? Recreando un runtime de JavaScript desde cero - Entender la magia detrás de Node.js
Top Content
The Talk explores the magic behind Node.js and delves into its components, including V8, libuv, and the C++ bridge. It discusses the workflow and execution process, the use of NodeMod, and the understanding of console functions. The Talk also covers Node.js functions and scheduling, the introduction of runtimes, and the collaboration between JavaScript runtimes. It concludes with insights on content production, the choice of Node.js, and the inspiration behind it.
Evaluar todas las cadenas! - JavaScript endurecido
Node Congress 2023Node Congress 2023
8 min
Evaluar todas las cadenas! - JavaScript endurecido
NPM packages can be potentially dangerous, so it's important to be proactive in managing them. Lava Mode allows you to detect and investigate suspicious packages before deploying your app. Lavamote prevents unauthorized access to sensitive resources by isolating dependencies and using hardened JavaScript. Lava Mode makes it easier to analyze obfuscated files and understand their actions.
Crea tu propio tiempo de ejecución de JavaScript
Node Congress 2023Node Congress 2023
21 min
Crea tu propio tiempo de ejecución de JavaScript
This Talk introduces Deno, a custom JavaScript runtime similar to Node.js, and discusses the benefits of using a custom runtime. It explores the process of building a custom runtime with Deno in Rust, including the integration with Cargo and the ability to mix and match crates and APIs. The Talk also covers the implementation of the setTimeout function in both Run.js and Runtime.js, and provides examples of how to fix errors and implement additional functions. Overall, the Talk highlights the flexibility and possibilities of creating custom runtimes with Deno.

Workshops on related topic

Build Peer-to-Peer Applications with Pear Runtime
JSNation 2024JSNation 2024
152 min
Build Peer-to-Peer Applications with Pear Runtime
Top Content
WorkshopFree
David Mark Clements
David Mark Clements
Aprende a construir rápidamente aplicaciones peer-to-peer con Pear Runtime. No se requieren servidores. Comprende los paradigmas peer-to-peer y construye aplicaciones a partir de bloques de construcción bien definidos. Esta masterclass cubrirá cómo crear aplicaciones tanto para Desktop como para Terminal (con discusión para Mobile) que funcionen completamente peer-to-peer desde cualquier lugar del mundo. Al final de esta masterclass deberías saber cómo construir un nuevo tipo de aplicación altamente escalable con costos de infraestructura completamente reducidos (~0) junto con arquitecturas adecuadas y mejores prácticas para aplicaciones peer-to-peer. Del creador de Pear Runtime y la empresa que nos trae keet.io. Tabla de contenido:- Introducción a Pear- Preguntas y Respuestas Iniciales- Configuración Inicial- Creación de una Aplicación Pear para Desktop- Compartiendo una Aplicación Pear- Ejecutando una Aplicación Pear- Creación de una Aplicación Pear para Terminal- Lanzamiento de una Aplicación Pear- Discusiones Arquitectónicas- Preguntas y Respuestas de Cierre