L'auteur a développé une utilité ciblant à la fois les environnements Node.js et navigateur, et a choisi Babel pour la transpilation. Bien qu'il reconnaisse la complexité et les défis de configuration de Babel, l'auteur met en avant sa capacité à équilibrer les fonctionnalités modernes d'ECMAScript avec la compatibilité ascendante. Le projet vise à écrire du code source en utilisant les modules ES et à le compiler en CommonJS pour Node.js. Le processus de build implique des scripts npm run imbriqués et des commandes bash pour préparer des distributions séparées pour le navigateur et Node.js. La build pour le navigateur utilise une requête browserslist pour déterminer quels sont les fonctionnalités de navigateur à prendre en charge. La build pour Node.js cible la version 20, transpilant en CommonJS avec un script supplémentaire pour le support des modules ES. Le résultat final comprend un script ciblant le navigateur dans le répertoire lib/ et un script ciblant Node.js dans le répertoire dist/. L'auteur insiste sur le fait que ce setup est basé sur des expérimentations personnelles, et non nécessairement sur les meilleures pratiques. L'auteur encourage les lecteurs à mener leurs propres recherches pour déterminer la solution optimale pour leurs besoins spécifiques.
dev.to
Supporting multiple Javascript environments
