Tree shaking not working with RollupJS
Created by: astagi
Prerequisites
-
I have searched for duplicate or closed issues -
I have validated any HTML to avoid common problems -
I have read the contributing guidelines
Describe the issue
I can't make tree shaking working using Bootstrap. If I try something like
import { Button } from 'bootstrap'
I get the whole library included in my bundle.
Reduced test cases
The Rollup.js configuration I'm using is the following:
// rollup.config.js
import { babel } from '@rollup/plugin-babel'
import scss from 'rollup-plugin-scss'
import uglify from '@lopatnov/rollup-plugin-uglify'
import nodeResolve from '@rollup/plugin-node-resolve'
import commonjs from '@rollup/plugin-commonjs'
import injectProcessEnv from 'rollup-plugin-inject-process-env'
export default [
{
input: 'demo.entry.js',
output: {
file: 'dist/js/demo.bundle.min.js',
format: 'iife',
compact: true
},
plugins: [
babel({
babelHelpers: 'bundled',
exclude: 'node_modules/**',
}),
scss({
output: 'dist/css/demo.min.css',
outputStyle: 'compressed',
sourceMap: true,
}),
nodeResolve(),
commonjs(),
injectProcessEnv({
NODE_ENV: 'production',
}),
uglify()
],
}
]
What operating system(s) are you seeing the problem on?
macOS
What browser(s) are you seeing the problem on?
Chrome
What version of Bootstrap are you using?
v5.1.3