create-vite-lib
v0.9.0
Published
create lib with vite
Downloads
7
Readme
create-vite-lib
A modern CLI for scaffolding TypeScript libraries with Vite.
Features
- Vite-powered builds: Outputs both ESM and CJS bundles.
- TypeScript-first: Strict, up-to-date configuration.
- Testing ready: Preconfigured with Vitest and @testing-library.
- Linting & Formatting: Includes ESLint, Prettier, and lint-staged.
- Git Hooks: Husky for pre-commit checks.
- Unified type declarations: Generates a single
index.d.tsusing API Extractor. - Flexible templates: Choose between pure TypeScript or React TypeScript library templates.
- Instant publishing: Ready for npm publish with zero extra config.
Quick Start
pnpm dlx create-vite-libFollow the prompts to select a template and name your library.
Example session:
? [PLOP] Please choose a generator. (Use arrow keys)
❯ lib
react-lib
? lib name please my-lib
✔ +! 14 files added
-> /my-lib/.eslintrc.yml
-> /my-lib/.lintstagedrc.yml
-> /my-lib/.prettierignore
-> /my-lib/.prettierrc.yml
-> /my-lib/api-extractor.json
-> /my-lib/index.d.ts
-> /my-lib/package.json
-> /my-lib/tsconfig.json
-> /my-lib/vite.config.ts
-> /my-lib/.gitignore
-> /my-lib/.husky/pre-commit
-> /my-lib/src/index.ts
-> /my-lib/src/my-lib.test.ts
-> /my-lib/src/my-lib.ts
✔ ->
Done! Next steps:
cd my-lib
git init; git add .; git commit -m "initial commit"
pnpm install
pnpm buildScripts
pnpm format— Format code with Prettierpnpm lint— Lint code with ESLintpnpm test— Run tests with Vitestpnpm build— Build ESM, CJS, and type declarations
Template Structure
Each generated library includes:
src/— Source code and testsvite.config.ts— Vite build configtsconfig.json— TypeScript config.eslintrc.yml,.prettierrc.yml,.lintstagedrc.yml— Linting/formatting configs.husky/— Git hooksapi-extractor.json— API Extractor config
Requirements
- Node.js v18+
- pnpm (recommended)
History
See the history of generated libraries in create-vite-lib-history
