A Python script that automatically configures Prettier, ESLint, and Git pre-commit hooks for JavaScript projects, with special handling for Vue.js and React.
- Auto-detects project type (Vue/React/vanilla JS)
- Uses existing package manager (npm/yarn)
- Installs required dependencies
- Creates/updates configuration files
- Sets up Git pre-commit hooks with husky
- Framework-specific optimizations
# copy to a location in your path from https://raw.githubusercontent.com/paperscissors/Setup-Prettier/setup_prettier.py
# make sure it's executable
setup_prettier <project_directory>
-
Auto-Detection
- Project type (Vue/React/JS)
- Package manager (npm/yarn)
-
Package Installation
- prettier
- eslint-plugin-prettier
- Framework-specific ESLint configs
- husky
- lint-staged
-
Configuration Files
.prettierrc
with framework optimizations.prettierignore
.eslintrc.json
package.json
scripts and lint-staged config
-
Git Hooks
- husky pre-commit setup
- lint-staged configuration
- Vue template indentation
- Component name rules
- Vue-specific ESLint config
- JSX formatting
- React-specific ESLint config
- Basic JS/TS formatting
- General ESLint setup
- Python 3.6+
- npm or yarn
- Git repository initialized
-
Permission Issues
chmod +x setup_prettier.py
-
Package Manager Errors
- Verify package.json exists
- Check write permissions
-
Git Hook Errors
- Ensure Git is initialized
- Verify husky installation