Comparison
Build targetvsTranspilation
Build target
you narrowed the supported browser list and the output shrank without you deleting any code.
The declared set of browsers a build must run in, which drives how much transpilation and how many polyfills are included. It is usually inherited from a template and never revisited, which is how projects end up shipping generator helpers to browsers that have had async functions for years. Widening it is a size decision, not a compatibility formality.
Full entry →Transpilation
you wrote modern syntax and the build rewrote it into something older browsers can parse.
Translating source into equivalent code using older syntax, so that a language feature can be used before every target browser supports it. It is syntax only: a new method like `Array.prototype.at` cannot be rewritten and needs a polyfill instead. Every year the target list stays unchanged, the output gets larger and slower relative to what modern browsers could have run directly.
Full entry →