Skip to content

cyberaroom/prettierrc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cyberaroom-prettierrc

Advanced Prettier configuration with multi-filetype support and plugin ecosystem integration.

✨ Features

  • 🎨 Tailwind CSS class sorting and formatting
  • 📦 Automatic import organization for JS/TS
  • 🏷 HTML/JSX attribute ordering with custom groups
  • 📝 JSDoc documentation formatting
  • 🗄 Prisma schema auto-formatting
  • 🌐 Nginx config syntax support
  • 📄 Multi-parser support for 10+ file types
  • 🔧 Consistent code style across entire project

📦 Installation

npm install --save-dev cyberaroom-prettierrc prettier

Install plugins:

npm install --save-dev
  prettier-plugin-tailwindcss
  prettier-plugin-organize-imports
  prettier-plugin-organize-attributes
  prettier-plugin-jsdoc
  prettier-plugin-prisma
  prettier-plugin-nginx

⚙️ Configuration

  1. Basic setup (package.json):
{
	"prettier": "cyberaroom-prettierrc"
}
  1. Advanced setup (.prettierrc.js):
module.exports = {
	extends: "cyberaroom-prettierrc",
	// Optional plugin-specific configs
	tailwindConfig: "./tailwind.config.js",
	prisma: {
		schema: "./prisma/schema.prisma",
	},
}

📋 Supported File Types

File Patterns Parser Plugins
*.ts, *.tsx TypeScript Import sorting, JSDoc, Tailwind
*.js, *.jsx, *.mjs Babel Import sorting, JSDoc
*.json JSON -
nginx*.conf Nginx Nginx syntax support
*.html HTML Attribute sorting
*.prisma Prisma Schema formatting
*.css, *.scss, *.sass CSS/SCSS Tailwind class sorting

🛠 Plugin Configuration

Tailwind CSS

Add Tailwind config path in your project's Prettier config:

// .prettierrc.js
module.exports = {
	tailwindConfig: "./tailwind.config.js",
}

HTML/JSX Attribute Ordering

Attributes are sorted in this order:

  1. class
  2. id, name
  3. Default group
  4. aria-* attributes

Enable case-insensitive sorting:

// .prettierrc.js
module.exports = {
	attributeIgnoreCase: false, // default: true
}

🚀 Usage

Format all supported files:

npx prettier --write .

Check formatting:

npx prettier --check .

Format specific file types:

npx prettier --write '**/*.tsx'

⚠️ Troubleshooting

Common issues:

  1. Plugins not working:

    • Ensure all plugins are in devDependencies
    • Clear Prettier cache: npx prettier --clear-cache
  2. Tailwind class sorting:

    • Verify tailwind.config.js exists
    • Restart IDE after configuration changes
  3. Nginx config support:

    • Install prettier-plugin-nginx separately if using npm <7

🔄 Version Policy

  • Compatible with Prettier 3.x
  • Tested with Node.js 18+
  • Semantic versioning (breaking changes in major versions)

📄 License

MIT © cyberaroom