├── .github # github workflows
├── .husky # git hooks
├── packages # lib source
├── scripts # command scripts
├── src # dev source
- Support Vue2 and Vue3 with VueDemi
- Develop and build with Vite
- Unit Testing with Vitest
- Docs with VitePress
- Auto CI, Deploy, Publish with GitHub Actions
- Use this template
- Clear
CHANGELOG.md
- Replace author name in LICENSE file
- Global replace
vite-lib-starter
andViteLibStarter
to your own library name - Generate your github personal access token on https://github.com/settings/tokens (skip if you already have)
- Add your github personal access token named
ACCESS_TOKEN
(or any other name, it corresponds to.github/workflows/deploy.yml#L21
) to your repoSetting>Secrets>Actions
- Generate your npm access token (skip if you already have)
- Add your npm access token named
NPM_TOKEN
(or any other name, it corresponds to.github/workflows/publish.yml#L21
) to your repoSetting>Secrets>Actions
yarn
yarn dev
yarn dev # dev on vue3
yarn dev:2 # dev on vue2
yarn docs:dev # dev docs
yarn test # test on vue3 in watch mode
yarn test:2 # test on vue2 without watch
yarn test:3 # test on vue3 without watch
yarn test:all # test both of vue2 and vue3 without watch
yarn test:coverage # use c8 for coverage
yarn switch:2 # switch packages and vue-demi to vue2
yarn switch:3 # switch packages and vue-demi to vue3
yarn release # release by choicing a version
yarn typecheck # run vue-tsc with noEmit
yarn changelog # generate changelog
yarn ci # ci
Examples: see packages/components
Do not use SFC(.vue) files, just use the function h()
(encapsulated by h-demi) in .ts
files, no jsx of course.
Don't forget to add value,modelValue
to props options and add input,update:modelValue
to emits options at the same time.
yarn build
Automatic publish to npm using .github/workflows/publish.yml
, after running yarn release
and push to origin.
If you want to publish manually, remove publish.yml
and run
yarn release
yarn build
npm publish
Automatic deployment to gh-pages using .github/workflows/deploy.yml
.
If you want to deploy manually, remove deploy.yml
and run
yarn docs:build # packages/.vitepress/dist