I want to tree shake lodash
as well as my unused multiply
function from the generated bundle from webpack
I have 2 main files
I found the answer
To use lodash
with tree shaking we should first install lodash-es
& then remove the lodash
dependency
Also, it should not be transpiled first, so we make our .babelrc
file as follows -
{
"presets": [
[
"env",
{
"modules": false
}
]
]
}
Notice, that setting modules
to false
makes it not transpile
And now the bundle reduces to 16.2kB & 5.79kB gzip
Some code from lodash
module will still be used because it is required to run lodash
itself, other than that multiply
function from ./math.js
isn't added in the resulting bundle
I also needed lodash-webpack-plugin for it to be working
Treeshaking works