Tree shakable Checker.
check your module is tree-shakable or not, in each module and reduce bundle size!!
- typescript support
- you can check in each file
- you can check with the unique entrypoint
- glob pattern support
- pretty diagnostics report.
npm install treeche -D // TBD
treeche "**/*.ts" --excludes "node_modules" "**/*.test.ts"
// this is not tree-shakable because have side-effect
const currentYear = new Date().getFullYear();
export function getCurrentYear() {
return `Year ${currentYear}`
}
treeche "~~~"
log
🚨 ~/application/side_effect.ts is not tree-shakable due to the following code:
\`\`\`
const currentYear = new Date().getFullYear();
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
\`\`\`
if you fix this code such above
// this is tree-shakable because this does not have side-effect
export function getCurrentYear(currentYear: string) {
return `Year ${currentYear}`
}
log
Congratulation 🎉 All files are tree-shakeable ✨
kind | name | description | example |
---|---|---|---|
argument | inputs | input files to check tree-shakable. you can use Node glob pattern | treeche "src/**/*.ts" |
option | excludes | excludes files to filter from inputs. you can use Node glob pattern | treeche "src/**/*.ts" --e "node_modules" |
option | entry point | the unique entry point to check tree-shakable. if you specify input with this, treeche will bundle so you can check tree-shakable also in node_modules | treeche --entry-point ./src/main.ts |