Generates .prettierignore to exclude build outputs, dependencies, and generated files from Prettier formatting. Prevents formatting of dist/, node_modules/, and coverage/ directories.
Generate .prettierignore file to exclude build outputs, dependencies, and generated files from Prettier formatting.
Expected Output: 1 file
.prettierignore (standard format)Perform these checks in order before generating the file:
Prettier Version: Verify latest stable version and ignore file support
npm view prettier version.prettierignore format still supportedBuild Output Detection: Identify build directories from project config
vite.config.ts or vite.config.js:build.outDir property (default: dist)package.json scripts:dist/ if no custom output detectedTest Coverage Detection: Check if test framework generates coverage reports
jest.config.js exists → Check coverageDirectory (default: coverage/)vitest.config.ts exists → Check test.coverage.reportsDirectorypackage.json test scripts:--coverage flag or coverage directory referencescoverage/ in ignore patternsPackage Manager Detection: Identify which package manager is used
package-lock.json → npmyarn.lock → yarn pnpm-lock.yaml → pnpm.prettierignore (formatting not applicable)node_modules/Minified/Bundled Files: Check for generated JavaScript patterns
*.min.js, *.bundle.jsVerify Glob Pattern Support: Confirm pattern syntax compatibility
*/, **/*.ext, negation with !Cross-Skill Coordination: Verify consistency with other ignore files
.gitignore: Ensure .prettierignore doesn't format git-ignored generated files.eslintignore: Similar exclusion patterns should alignPerformance Optimization: Validate ignore patterns reduce unnecessary processing
node_modules/, dist/, build/ significantly impact performanceExecute in this order:
.prettierignore format is still supported by latest Prettierdist/)coverage/).gitignore for consistency.prettierignore with minimal essential exclusions.prettierignore# Build outputs
dist/
build/
# Dependencies
node_modules/
# Test coverage
coverage/
# Minified/bundled files
*.min.js
*.bundle.js
See: examples.md in this directory for complete template and detailed examples.
Run this script after generating .prettierignore to verify correctness:
#!/bin/bash
# Prettier Ignore Validation Script
echo "🔍 Validating .prettierignore..."
# Check if file exists
if [ ! -f ".prettierignore" ]; then
echo "❌ BLOCKING ERROR: .prettierignore file not found"
exit 1
fi
# Check if file is not empty
if [ ! -s ".prettierignore" ]; then
echo "❌ BLOCKING ERROR: .prettierignore is empty"
exit 1
fi
# Check for required patterns
REQUIRED_PATTERNS=("dist/" "node_modules/" "coverage/")
for pattern in "${REQUIRED_PATTERNS[@]}"; do
if ! grep -q "$pattern" .prettierignore; then
echo "⚠️ WARNING: Missing recommended pattern: $pattern"
fi
done
# Check glob pattern syntax (basic validation)
if grep -qE '^[^#].*\*\*.*\*\*' .prettierignore; then
echo "⚠️ WARNING: Potential invalid glob pattern (multiple **)"
fi
echo "✅ .prettierignore validation passed"
exit 0
Usage: bash validate-prettierignore.sh
After generation, manually verify:
ls -la .prettierignorecat .prettierignoreprettier --check "**/*" --ignore-path .prettierignore (should skip excluded paths).gitignore and .eslintignoresrc/ or application codedir/) over file globs when possible.prettierignore patterns