@jmlweb/prettier-config-base
v2.0.2
Published
Base Prettier configuration for jmlweb projects
Maintainers
Readme
@jmlweb/prettier-config-base
Shared Prettier configuration for consistent code style across projects.
🔧 Maintenance mode: dependency and security updates only, no new rules. New projects should use
@jmlweb/oxfmt-config-base. To migrate, see the migration guide.
✨ Features
- 🎯 Consistent: one code style for every project
- 🔧 Zero config: sensible defaults out of the box
- 📦 Extensible: base for
@jmlweb/prettier-config-tailwind - 🔀 Dual format: ESM and CommonJS builds
📦 Installation
npm install --save-dev @jmlweb/prettier-config-base prettier💡 Upgrading? See the Migration Guide.
🚀 Quick Start
Create .prettierrc.mjs (works for ESM and CommonJS projects):
export { default } from '@jmlweb/prettier-config-base';Alternatives:
{
"prettier": "@jmlweb/prettier-config-base"
}⚠️ In projects with
"type": "module", thepackage.jsonfield can make Prettier warnIgnored unknown option { default: ... }and skip the config. Use.prettierrc.mjsinstead.
For CommonJS (.prettierrc.cjs):
module.exports = require('@jmlweb/prettier-config-base');💡 Examples
Before:
const user = { name: 'John', age: 30, email: '[email protected]' };After:
const user = { name: 'John', age: 30, email: '[email protected]' };📋 Configuration Details
| Option | Value | Description |
| --------------- | ------------ | ------------------------------- |
| semi | true | Semicolons at end of statements |
| singleQuote | true | Single quotes |
| tabWidth | 2 | 2-space indentation |
| trailingComma | 'all' | Trailing commas everywhere |
| useTabs | false | Spaces, not tabs |
| endOfLine | 'lf' | LF line endings |
| proseWrap | 'preserve' | Keep prose wrapping in Markdown |
🎯 When to Use
- ✅ Existing projects already on Prettier
- ✅ Zero-config, consistent formatting
- ✅ A base to extend with your own options
Not for you if:
- Tailwind class sorting: use
@jmlweb/prettier-config-tailwind - New projects: use
@jmlweb/oxfmt-config-base
🔧 Extending the Configuration
// .prettierrc.mjs
import baseConfig from '@jmlweb/prettier-config-base';
export default {
...baseConfig,
printWidth: 100,
};📝 Usage with Scripts
{
"scripts": {
"format": "prettier --write .",
"format:check": "prettier --check ."
}
}npm run format # format all files
npm run format:check # check without writing📋 Requirements
- Node.js >= 22.12.0
- Prettier >= 3.0.0
📦 Peer Dependencies
prettier(^3.0.0)
🔗 Related Packages
@jmlweb/prettier-config-tailwind- Extends this config with Tailwind class sorting@jmlweb/oxfmt-config-base- Recommended Oxfmt replacement
🔄 Migration Guide
1.x to 2.0
Breaking: Node.js >= 22.12.0 is required (18 and 20 are end-of-life).
- Upgrade Node.js to 22.12.0 or later.
- Update:
npm install --save-dev @jmlweb/prettier-config-base@latest
See the Changelog for details.
📄 License
MIT
