Prettier Integration in CI/CD Pipelines
Integrating Prettier into CI/CD pipelines ensures that all committed code follows unified formatting standards, improving code quality and team collaboration efficiency.
Git Hooks Integration
Use Husky and lint-staged to automatically format code before Git commits:
-
Install Dependencies
bashnpm install --save-dev husky lint-staged prettier npx husky install npm pkg set scripts.prepare="husky install" -
Configure lint-staged Add to
package.json:json{ "lint-staged": { "*.{js,jsx,ts,tsx,json,css,scss,md}": [ "prettier --write" ] } } -
Create Git Hook
bashnpx husky add .husky/pre-commit "npx lint-staged"
CI/CD Configuration
GitHub Actions
Create .github/workflows/prettier.yml:
yamlname: Prettier Check on: [push, pull_request] jobs: prettier: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: '18' - run: npm install - run: npx prettier --check "**/*.{js,jsx,ts,tsx,json,css,scss,md}"
GitLab CI
Add to .gitlab-ci.yml:
yamlprettier: stage: test script: - npm install - npx prettier --check "**/*.{js,jsx,ts,tsx,json,css,scss,md}" only: - merge_requests - main
Common Commands
- Format Files:
npx prettier --write "src/**/*.js" - Check Format:
npx prettier --check "src/**/*.js" - Format All Files:
npx prettier --write . - View Differences:
npx prettier --list-different "src/**/*.js"
Best Practices
- Unified Team Configuration: Ensure all developers use the same Prettier configuration
- Automated Checking: Enforce code format checking in CI/CD
- Auto-Fix: Use
--writeoption to automatically fix format issues - Ignore Files: Properly configure
.prettierignoreto avoid unnecessary formatting - Version Locking: Lock Prettier version to ensure consistency
By integrating Prettier in CI/CD, you ensure the codebase always maintains unified formatting standards, reducing format disputes during code reviews.