Production mode tree shaking in webpack by default
I've been experimenting with noconfig webpack (version 4.43) recently and was pleased to see tree shaking is on by default.
If I have a module maths.js
:
export const add = (a, b) => a + b;
export const subtract = (a, b) => a - b;
And in my index.js
file I import only add
:
import { add } from './maths'
Then when I run webpack in production mode with -p
, choose to display the used exports with --display-used-exports
and choose to display the provided exports with --display-provided-exports
then I get an output for the maths
module that indicates tree shaking is taking place:
$ npx webpack -p --display-used-exports --display-provided-exports
| ./src/maths.js 78 bytes [built]
| [exports: add, subtract]
| [only some exports used: add]
The output [only some exports used: add]
indicates that subtract
has not been included in the final output.