Reputation: 6474
In my package.json, I have the following
"build": "babel src --out-dir dist --source-maps",
In one of my js
files, I have
import { MyFunc } from 'package-example`
Then I run npm run build
. It builds, creates a dist folder.
Somehow, in my built file, I find this:
const package-example = require('package-example')
This somehow means that tree shaking doesn't work and the whole package-example
gets included in the built.
Q1. Is this the correct assumption ?
Q2. How can I still have tree shaking so that only MyFunc
gets imported ? I can't use webpack for now. is this not possible without webpack/rollup at all with only babel
?
Upvotes: 0
Views: 1057
Reputation: 161647
Babel processes files at an individual level. Tree-shaking requires project-wide awareness of what files are and aren't being used, so Babel does not, and cannot, do this. You would need Webpack or Rollup or some other build/bundling tool for this.
Upvotes: 3