The starter is built on top of Vite 7.x and prepared for writing libraries in TypeScript. It generates a package with support for ESM modules and IIFE.
- ESM modules
- IIFE bundle for direct browser support without bundler
- Typings bundle
- ESLint - scripts linter
- Stylelint - styles linter
- Prettier - formatter
- Vitest - test framework
- Husky + lint-staged - pre-commit git hook set up for formatting
This is a template repo. Click the green Use this template button to get started.
If you prefer to do it manually with the cleaner git history
git clone https://github.com/kbysiec/vite-vanilla-ts-lib-starter.git
cd vite-vanilla-ts-lib-starter
npm iWhen you use this template, update the following:
- Remove
.gitdirectory and rungit initto clean up the history - Change the name in
package.json- it will be the name of the IIFE bundle global variable and bundle files name (.mjs,.iife.js,d.ts) - Change the author name in
LICENSE - Clean up the
READMEandCHANGELOGfiles
And, enjoy 😊
The starter contains the following scripts:
dev- starts dev serverbuild- generates the following bundles: ESM (.js) and IIFE (.iife.js). The name of bundle is automatically taken frompackage.jsonname propertytest- starts vitest and runs all teststest:coverage- starts vitest and run all tests with code coverage reportlint:scripts- lint.tsfiles with eslintlint:styles- lint.cssand.scssfiles with stylelintformat:scripts- format.ts,.htmland.jsonfiles with prettierformat:styles- format.csand.scssfiles with stylelintformat- format all with prettier and stylelintprepare- script for setting up husky pre-commit hookuninstall-husky- script for removing husky from repository
If you found it useful somehow, I would be grateful if you could leave a star in the project's GitHub repository.
Thank you.