You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Wow. Number of times this issue was raised probably is the best indicator that this deliberate decision are confusing and misleading for users.
esbuild is a great tool (thank you!) that have 3 documented functions: transpiling, bundling and minifying. All of them are optional. But now it happens that there is a speed optimizer also, that even in case when user provides precise target can make deliberate decision to change syntax from supported by the target. And not for bug fixing, etc, but for a performance optimization?
I understand you don't want to create a lot of switches of that features, but can we, similar to mangle/minify, have an option to switch off performance optimizations?
There are lot of similar performance optimization exists (almost with every iterable), why object spread was chosen as the only optimization target? Or there are other language syntax constructions that are transforming for performance reasons?
Object spread syntax is supported in Node starting 8.3 (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax#browser_compatibility) but esbuild currently outputs
__spreadValues
polyfill for anything higher than--target=node8.3.0
(I've checked withnode16
also) - see replCompare the output with
--target=es2018
that is what we should get for the Node target.The text was updated successfully, but these errors were encountered: