jaredpalmer / tsdx

Zero-config CLI for TypeScript package development
https://tsdx.io
MIT License
11.2k stars 505 forks source link

Disable minification by default #1131

Open joepie91 opened 2 years ago

joepie91 commented 2 years ago

Current Behavior

tsdx currently creates minified builds by default. This is problematic because it makes auditing the produced libraries (as a third party) much more difficult, even though there's not really any purpose to building minified libraries - anybody using a module system is very likely to already have their own minification tooling set up, since they will need it for their own application code anyway.

Expected behavior

Only producing unminified builds by default, including for production builds.

Suggested solution(s)

Disabling minified builds by default, clearly documenting this, and allowing the user to re-enable minified builds (for which there is already a configuration option).

Additional context

I've written a more detailed article here about the issues with minified builds in packages, and why it's better to not include them, also addressing some common concerns. If you have a concern that isn't covered there, I'd be happy to address it, of course :)

Especially because tsdx isn't just a single library but rather a tool used to produce libraries, the default setting makes a lot of difference in how easy it is for people to audit their dependency trees - people tend to stick with defaults most of the time, and so whether a tool like this enables them by default or not can have a big overnight impact on many different packages.

Your environment

N/A