CI/CD Pipeline
"The difference between a senior engineer and a junior engineer is that a senior engineer is obsessed with automation."
Overview
Once you're happy with a set of local changes and ready to push to your remote or cut a new release for publication, it's critical that your pipeline take the error-prone / repetitive work off your plate.
HaTs provides an intuitive starting point for CI/CD. This design saves you time and enables you focus solely on writing your new features and unit tests.
Task | Node Modules / Command Line Tools |
---|---|
🧯 Test ⤵ | ts-jest |
⚖️ Lint ⤵ | @typescript-eslint/parser |
📐 Enforce Style ⤵ | prettier + doctoc‡ |
♻️ Sync Local Changes to your Remote ⤵ | git + gh cli |
📝 Prep for Release† ⤵ | auto-changelog‡ |
🎁 Build† ⤵ | tsc |
🚀 Publish† | npm |
† only invoked when cutting a new release
‡ global npm install required
Executing CI/CD Tasks
In HaTs projects, the package.json scripts
property contains the implementation details for each of these CI/CD tasks:
- Shell command
- Triggers
- Invocation cadence
To execute any of these CI/CD tasks from the command line simply use the npm run X
syntax.