@maneko/prettier-config
v0.1.2
Published
A shared, ESM-first Prettier config for our projects
Readme
@maneko/prettier-config
A shared, ESM-first Prettier config for our projects - small API, zero friction, and sensible defaults.
Why use this
- Unified style across our repositories.
- Zero-config:
export default prettier()works out of the box. - ESM-first: works naturally with modern JS/TS projects.
- Customizable: pass options or extend the factory for project needs.
- Prettier 3+ compatible and plays nicely with
lint-staged,husky, CI pipelines.
Installation
Install the package (choose your package manager):
# pnpm (recommended)
pnpm add -D prettier @maneko/prettier-config
# yarn
yarn add -D prettier @maneko/prettier-config
# npm
npm install -D prettier @maneko/prettier-configFor TailwindCSS users, install this optional plugin:
pnpm add -D prettier-plugin-tailwindcssQuick start
Create a Prettier config file in your project.
ESM project (.prettierrc.mjs):
import { prettier } from '@maneko/prettier-config';
export default prettier();CJS project (.prettierrc.cjs / .prettierrc.js):
const { prettier } = require('@maneko/prettier-config');
module.exports = prettier();Customize / override defaults
Pass options to override Prettier's defaults:
import { prettier } from '@maneko/prettier-config';
export default prettier({
printWidth: 100,
singleQuote: true,
trailingComma: 'none'
// any other Prettier options
});The function simply merges your options with the shared defaults — minimal API, familiar behavior.
Scripts & lint-staged
Add scripts to package.json:
{
"scripts": {
"format": "prettier --write .",
"format:check": "prettier --check ."
}
}Example lint-staged + husky:
{
"lint-staged": {
"**/*.{js,ts,jsx,tsx,mjs,cjs,json,md}": ["pnpm format"]
}
}IDE (VS Code) integration
Install the Prettier VS Code extension: esbenp.prettier-vscode.
Recommended .vscode/settings.json:
{
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"prettier.resolveGlobalModules": false,
"prettier.requireConfig": true
// If you use an ESLint config for formatting, you may want:
// "eslint.format.enable": false
}If you use both
@maneko/eslintand@maneko/prettier-config, let Prettier handle pure formatting (quotes, spacing, commas) and ESLint handle logic and style rules.
Contributing
PRs welcome. Keep changes small and document any new opinionated rules.
License
@maneko/prettier-config is licensed under the MIT License. See the LICENSE file in the repository.
