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.