esbuild
esbuild copied to clipboard
feat: drop unused local variables
This PR partially implements dropping unused local variables.
Multi-level dropping (for example: a
is unused and b
depends on a
) is not implemented.
This is useful for some cases like minifying IIFE wrapped output.
Example
Input
(function () {
'use strict';
const const1 = 0;
let let1 = 0;
var var1 = 0;
const const2 = 0;
let let2 = 0;
var var2 = 0;
console.log(const2, let2, var2);
})();
Current Output
(function() {
"use strict";
let let1 = 0;
var var1 = 0;
const const2 = 0;
let let2 = 0;
var var2 = 0;
console.log(const2, let2, var2);
})();
New Output
(function() {
"use strict";
const const2 = 0;
let let2 = 0;
var var2 = 0;
console.log(const2, let2, var2);
})();