Sujet : nodejs
-
Modules ES contre CommonJS dans Node.js
CommonJS utilise require de façon synchrone et module.exports ; les modules ES utilisent import/export statiques, le await de premier niveau et import.meta. Node décide par fichier selon l'extension et le champ type du package.json le plus proche ; les modules ES exigent l'extension complète des fichiers et ne disposent ni de __dirname ni de require, dont les remplacements sont documentés.
-
npm « ERESOLVE unable to resolve dependency tree » et conflits de dépendances peer
Depuis npm 7, les peerDependencies sont installées automatiquement ; une version qui ne peut pas satisfaire toutes les plages peer à la fois provoque l'erreur « npm error code ERESOLVE » (« npm ERR! code ERESOLVE » avant npm 10.6). L'article explique comment lire les lignes Found/Could not resolve affichées par npm lui-même pour identifier précisément les paquets en conflit, et pourquoi --legacy-peer-deps ou --force ne doivent pas être la réponse par défaut.
-
« ENOSPC: System limit for number of file watchers reached » et les limites d'inotify
Les surveillants de fichiers reposant sur l'API inotify de Linux échouent avec « ENOSPC: System limit for number of file watchers reached » lorsqu'une limite du noyau par utilisateur est épuisée, le plus souvent en surveillant node_modules ou d'autres arborescences volumineuses. L'article présente les deux paramètres sysctl concernés, la façon de relever les limites de manière persistante et la raison pour laquelle les conteneurs partagent en général la limite de l'hôte.
-
Pourquoi les applications ignorent le magasin de confiance de l'OS : cacerts de Java, certifi de Python, Node.js et curl
Ajouter une autorité de certification (AC) au magasin de confiance du système d'exploitation ne suffit pas pour que toutes les applications lui fassent confiance. Java, de nombreuses installations Python, Node.js et certaines builds de curl peuvent utiliser leur propre bundle d'AC ou leur propre keystore, chacun avec son emplacement et sa variable d'environnement de surcharge ; l'erreur de certificat peut donc persister après la correction au niveau de l'OS.
Lisible par machine : JSON