Javascript
Browser-targeted ?JavaScript benefits from being minified - i.e. reorganized to use fewest possible characters.
Minified code is functionally identical and still "source" from the point of view of code execution - i.e. it is not compiled into a different language (e.g. from TypeScript or CoffeeScript, or to WebAssembly) nor is it transpiled into a different language dialect (e.g. from ECMAScript 2015 a.k.a. ES6 to 5th edition).
Beware, however, that minified code is not the "preferred source for editing, and therefore not "source" for the purpose of Debian packaging.
Recommended
uglifyjs
?UglifyJS 3 is the conservative choice: Has fewer reverse dependencies so more likely to be kept up-to-date and less likely to be problematic to backport.
terser
?Terser is the fancier choice: Works directly with more modern dialects of ?JavaScript (UglifyJS 3 covers only ?EcmaScript 5 so newer code needs to be "transpiled e.g. using Babel).
discouraged
Less popular JavaScript minifier tools include these:
babel-minify - implemented in Nodejs with Babel libraries, described upstream as experimental
closure-compiler - implemented in Java, supporting https://stackoverflow.com/questions/28932/best-javascript-compressor#comment107612372_28932 competitive unsafe optimizations, but very outdated in Debian
esbuild - implemented in Go
shrinksafe - implemented in Java
yui-compressor - implemented in Java, inefficient, dead upstream
