A unified javascript build system
📦 Optimized bundler
Robust rollup based bundler that supports typescript and generates commonjs and module formats + type declarations.
📁 Bundleless build
Integration with mkdist for generating bundleless dists with file-to-file transpilation.
✨ Passive watcher
Stub dist once using jiti and you can try and link your project without needing to watch and rebuild during development.
✍ Untype Generator
Integration with untyped.
✔️ Build Validator
Automatically check for potential missing and unused dependencies. Also you can check output size and exports quickly in CLI output.
Usage
Create src/index.ts and build.config.ts:
export default { entries: [ './src/index' ] }
Configuration
You can either use unbuild key in package.json or build.config.{js,ts,json} to specify configuration.
See options here.
Example:
import { defineBuildConfig } from 'unbuild' export default defineBuildConfig({ // If entries is not provided, will be automatically inferred from package.json entries: [ // default './src/index', // mkdist builder transpiles file-to-file keeping original sources structure { builder: 'mkdist', input: './src/package/components/', outDir: './build/components' }, ], // Change outDir, default is 'dist' outDir: 'build', // Generates .d.ts declaration file declaration: true, })
💻 Development
- Clone this repository
- Enable Corepack using
corepack enable(usenpm i -g corepackfor Node.js < 16.10) - Install dependencies using
pnpm install - Run interactive tests using
pnpm dev