Simplifying Dual-Module Package Setup for JavaScript Libraries with esbuild
The article introduces a simple setup for JavaScript library authors using TypeScript and esbuild to develop, type check, debug, and build dual-module packages. The author emphasizes the complexity of JavaScript development and the need for a streamlined process. They provide a folder-tree structure and explain the setup using package exports and scripts. During development, a dev script is used to run the library in the background, focusing on ESM. The author also mentions the option of using the TypeScript API instead of running tsc in a subprocess. For building, a build script is used to transform the library and create the necessary entry-points for dual-package usage. The author highlights the importance of bundling and minifying, depending on the type of package. Overall, this article offers a practical approach for JavaScript library authors to simplify their workflow and ensure compatibility with both ESM and CommonJS modules.