Tema: nodejs
-
Módulos ES frente a CommonJS en Node.js
CommonJS usa require sincrónico y module.exports; los módulos ES usan import/export estáticos, await de nivel superior e import.meta. Node decide por archivo según la extensión y el campo type del package.json más cercano; los módulos ES necesitan extensiones de archivo completas y carecen de __dirname y de require, que tienen sustitutos documentados.
-
«ERESOLVE unable to resolve dependency tree» de npm y los conflictos de peer dependencies
Desde npm 7, las peerDependencies se instalan automáticamente, y si ninguna versión puede satisfacer a la vez todos los rangos de peers, la instalación falla con 'npm error code ERESOLVE' ('npm ERR! code ERESOLVE' antes de npm 10.6). El artículo explica cómo leer las líneas Found/Could not resolve de npm para identificar los paquetes exactos en conflicto, y por qué --legacy-peer-deps o --force no deberían ser la respuesta por defecto.
-
«ENOSPC: System limit for number of file watchers reached» y los límites de inotify
Los observadores de archivos basados en la API inotify de Linux fallan con «ENOSPC: System limit for number of file watchers reached» cuando se agota un límite del kernel por usuario, normalmente al vigilar node_modules u otros árboles muy grandes. El artículo explica los dos sysctl relevantes, cómo aumentarlos de forma persistente y por qué los contenedores suelen compartir el límite del host.
-
Por qué las aplicaciones ignoran el almacén de confianza del SO: cacerts de Java, certifi de Python, Node.js y curl
Añadir una CA al almacén de confianza del sistema operativo no hace que todas las aplicaciones confíen en ella. Java, muchas instalaciones de Python, Node.js y ciertas compilaciones de curl pueden tener su propio paquete de CA o keystore, cada uno con su ubicación y su variable de entorno para sobrescribirlo, de modo que un error de certificado puede persistir tras la corrección a nivel de SO.
Legible por máquina: JSON