My NPM sandbox project.
Build ESM / CJS package with TypeScript.
- pnpm
- Vite
- Vitest
- ESLint
- Prettier
- Renovate
- GitHub Actions
- Changesets
- publint
- Create a new GitHub repository
- Download this repository
- Modify the Release Workflow in
.github/workflows/release.yml
- branches: - - main + branches-ignore: + - '**'
- Modify the Changesets config in
.changeset/config.json
- { "repo": "kamatte-me/npm-sandbox" } + { "repo": "<your-org>/<your-repo>" }
- Update the following package information in
package.json
name
version
:0.0.0
description
keywords
homepage
repository
license
author
- Update
README.md
- Update
LICENSE
- Push to GitHub
git init git add --all git commit -m "first commit" git branch -M main git remote add origin git@github.com:<user>/<repo>.git git push -u origin main
- Configure GitHub repository
Settings
Actions
>General
>Workflow permissions
- Enable
Allow GitHub Actions to create and approve pull requests
- Enable
Secrets and variables
>Actions
>New repository secret
NPM_TOKEN
: Your NPM Granular Access Token
- Install the following GitHub Apps
- DEVELOP YOUR LIBRARY
- First Release 🎉
- Set the
version
inpackage.json
- Revert the
.github/workflows/release.yml
changes
- Set the
- Before merging a pull request, either run
pnpm changeset
or follow the comments from changeset-bot on the pull request, decide on the release type and write the release notes. - Confirm that the changeset-bot has commented
🦋 Changeset detected
on the pull request before merging. - Merge the pull request.
Merge the pull request titled Version Packages
.