mkdist

Lightweight file-to-file transformer
âś… Copies all assets
âś… Supports Vue Single File Components
âś… Fast and minimal transform by esbuild
âś… .d.ts generation for .ts, .js and .vue files
âť“ Why?
Bundling libraries isn't always the best choice:
- We lose original file structure
- We lose modern syntax by transpiling in bundle
- We lose critical-css by extracting css to a global dist (vue)
- Dependencies will be always imported from bundle even if not used (a second bundling step might fix this but it usually won't happen in development and for dependencies with side-effects)
While there are tools like tsc and @babel/cli, they mostly focus on transpiling rather than keeping source level quality. Also they lack support for handling custom extensions like .vue and copying assets.
🚀 Usage
npx mkdist [rootDir] [--src=src] [--dist=dist] [--pattern=glob [--pattern=more-glob]] [--format=cjs|esm] [-d|--declaration] [--ext=mjs|js|ts]
License
MIT