Skip to content

A template repository for creating npm packages using TypeScript

License

Notifications You must be signed in to change notification settings

cameronhunter/typescript-project

Repository files navigation

@cameronhunter/typescript-project

npm package npm downloads main branch status

A template repository for creating npm packages using TypeScript

Features

  • TypeScript configured and ready (pnpm run build).
  • Vitest configured and ready (pnpm run test).
  • Prettier configured and ready (pnpm run format).
  • Changesets configured and ready (pnpm changeset) for versioning.
  • pre-merge action which builds and tests the change. It will also auto-merge @dependabot changes.
  • post-merge action which versions and publishes to both npm and Github packages along with generated changelogs.
  • Dependabot configured for automatic package updates. These will be auto-merged if they pass verification steps.
  • Automatically add your Github username as the scope for unscoped npm packages.

Setup

Repository Settings

General Settings

  • Turn off wikis and projects
  • Turn off merge commits and rebase merging
  • Set the default commit message for squash to be "pull request title and description".
  • Turn on "Always suggest updating pull request branches"
  • Turn on "Allow auto-merge"
  • Turn on "Automatically delete head branches"

Branches

  • Protect main branch
  • Turn on "Require status checks to pass before merging"
  • Turn on "Require branches to be up to date before merging"

Actions

  • Set Workflow Permissions to "Read and write permissions"
  • Turn on "Allow GitHub Actions to create and approve pull requests"

Secrets and variables

Files

  • Replace typescript-project across the project.
  • Remove private: true from package.json
  • Add a description to package.json

About

A template repository for creating npm packages using TypeScript

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published