@bed-and-breakfast/templates-open-source v4.2.18
Bed & Breakfast Open Source Repository Template
GitHub repository template to make developing typescript packages easier. Creates an out-of-the-box environment for best code practices and project management.
Features
- Complete GitHub CI/CD process
- Typescript builds for ESM and CommonJS
- Validate commit format (conventional commits)
- Check for broken Markdown links (markdown-link-check)
- Validate linting (typescript-eslint) and formatting (prettier)
- Test integration
- Test against all major node versions (18, LTS, latest)
- Test reports in all CI workflows (including PRs)
- Coverage reports in all CI workflows (including PRs)
- Coverage history and code quality analysis (Code Climate)
- Automatic releases based on git log (semantic-release)
- Only release when CI is successful
- Automatically creates semver versions
- Generates changelog
- Releases npm package
- Releases GitHub release
- Improved development
- Force conventional commits in pre-commit and CI
- Ability to use comittizen for guided commit messages
- Repository management
- Automatic PRs for dependency updates (renovate)
- Todo issue bot (todobot)
- Automatic issue labelling (issue-label-bot)
- Stale bot (stale)
- Documentation and templates
- README stub with configured badges
- Issue templates
- PR template
- CODEOWNERS, CODE_OF_CONDUCT, CONTRIBUTING, LICENSE, SECURITY, SUPPORT
Getting Started
Create a new repository using this template (instructions).
Initialize the repository
We can use @bed-and-breakfast/template-tools to initialize the repository. Execute the following command and follow the instructions on the screen.
npx template-initAdding a remote to pull updates
Bed & Breakfast repository templates will be updated over time. Start by setting up a remote with the template-add-remote command.
npx template-add-remotePulling updates from the template
You can then use the following command to pull these changes into an existing repository:
npx template-pullNote Be careful resolving conflicts when pulling from a template. Files like package.json, README.md, CHANGELOG.md etc. will have changes you don't want to accept.
Development
Making commits
| Action | Command |
|---|---|
| Build | npm run build |
| Test | npm run test, npm run test:coverage, npm run test:watch |
| Lint | npm run lint, npm run lint:fix |
| Format | npm run format, npm run format:fix |
| Format Package | npm run format:package |
| Check Markdown | npm run check:md |
Using commitizen
npm i -g commitizennpm run commitReleasing
Releasing is completely automated and is as simple as:
git pushIt will create a new release based on all commits since the last release.
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago