@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-init
Adding 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-remote
Pulling updates from the template
You can then use the following command to pull these changes into an existing repository:
npx template-pull
Note 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 commitizen
npm run commit
Releasing
Releasing is completely automated and is as simple as:
git push
It will create a new release based on all commits since the last release.
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago