0.0.6 • Published 1 year ago

tree-shake-this v0.0.6

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

Tree Shake This

This is a cli package to tree shake imports of the libraries that are used in your projects, in order to reduce the build time and bundle size as well as enhance performance in some cases.

What is tree shaking?

Well MUI has an extensive description about it here

how ever here is the tldr;

// ❌ Bad
import { Add } from "@mui/icons-material";
import { Tabs } from "@mui/material";

// ✅ Good
import AddIcon from "@mui/icons-material/Add";
import Tabs from "@mui/material/Tabs";

where what bad means, importing all the of the package, which increases the bundle size, thus increasing loading time, and more work for garbage collector which means bad for performance

Usage

you can use it in the cli as such

npx tree-shake-this <...paths>

where path is either a directory or a specific file that you want to shake the imports with, for example you

# shake all js, ts, & tsx files in the `src` that exists in the current directory
npx tree-shake-this src

# shake a specific file
npx tree-shake-this pages/home.tsx


# shake with a glob pattern
npx tree-shake-this src/components/**/*.js


# shake with multiple paths 
npx tree-shake-this src pages/home.tsx src/components/**/*.js

Tree shake only staged files

You can perform tree shaking on the staged files only, this could be useful to use with pre-commit tools such as husky's pre-commit.

npx tree-shake-this --staged-only

Supported Shakable Libraries

  • Mui v5
  • Font Awesome Svg Icons

Feel free to contact me if you want more libraries to be supported, you may contact me on my email or on twitter @SpideymanThe1st

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago