@moontai0724/package-template
v2.0.0
Published
An npm package template.
Downloads
13
Readme
@moontai0724/package-template
Features
- [x] TypeScript
- [x] Vitest: Tests and Coverage
- [x] ESLint + Prettier: Coding Style & Formatter
- Husky + Lint-staged: Pre-commit hooks
- ~~Airbnb Coding Style~~
- Auto organize imports.
- Auto sort imports.
- [x] Commitlint: Commit message linting to follow Conventional Commits
- [x] Auto versioning, Changelog and Release to GitHub release and NPM by using commit-and-tag-version
- Version is bumped by parsing conventional commit messages
- Changelog is generated based on the commit messages
- [x] Show code coverage by uploading to CodeCov when running deployment workflow
- [x] Typedoc: API documentation
Getting Started
1. Use this template to create a new repository.
Click the Use this template
button on the top right corner of the repository page.
2. Clone the repository, and install the dependencies.
Just clone your repo and install the dependencies with any package manager you like. This template does not strong bind to any package manager, but the used package manager in GitHub Actions workflow is pnpm
. You may need to modify the workflow file if you use other package managers.
3. Modify the package content to fit your project.
There are few places you need to modify to fit your project, like package.json
, README.md
. You can use the following command to replace most of the content:
YOUR_GITHUB_USER="your-user-name"
YOUR_REPO_NAME="your-awesome-package-name"
sed -i "s/moontai0724/${YOUR_GITHUB_USER}/g" package.json README.md .github/workflows/*
sed -i "s/package-template/${YOUR_REPO_NAME}/g" package.json README.md .github/workflows/*
4. Start coding!
Publish
This template uses CodeCov to check the code coverage. You can remove the CodeCov badge and the related scripts in package.json
if you don't need it.
If you want to use CodeCov, you need to set the CODECOV_TOKEN
in the repository secrets.
Once you done, you can push your codes to the main
branch.
The actions in this template will auto perform following steps when you push the code to the main
branch:
- Test: Run tests and generate coverage report
- Build: Generate bundled and minified esm, cjs version (for browser), and unminified esm version (for node).
- Release: Bump Version & Generate Changelog
- Publish the package to npm
- Publish docs to GitHub Pages: You may need to setup the GitHub Pages in the repository settings.
You can modify the workflow file to fit your needs.
Install
NPM
npm install @moontai0724/package-template
Yarn
yarn add @moontai0724/package-template
PNPM
pnpm add @moontai0724/package-template
Usage
import { add, divide, max } from "@moontai0724/package-template";
add(1, 2); // 3
divide(1, 2); // 0.5
max(1, 2); // 2
API Document
See the API documentation.