Skip to content

maneko-org/prettier-config

Repository files navigation

@maneko/prettier-config

Stars Forks Pull Requests Issues Contributors License

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-config

For TailwindCSS users, install this optional plugin:

pnpm add -D prettier-plugin-tailwindcss

Quick 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/eslint and @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.

About

A shared, ESM-first Prettier config for our projects

Resources

License

Stars

Watchers

Forks

Packages

No packages published