Prettier shareable configuration.
Creating a Prettier configuration should be easier.
@szum-tech/prettier-config provides a ready-to-use Prettier configuration that will fit your project.
- Opinionated code formatter with support for: JavaScript, Typescript, JSX, ...
 - Sort the keys of a 
package.jsonfile - Automatically sorts classes for Tailwind CSS v3.0+ based on recommended class order. This feature is OPTIONAL - is automatically enabled if tailwindcss package is used in project
 
- π Features
 - π Table of Contents
 - π― Getting Started
 - π» Scripts
 - π Minimal GitHub Prettier check workflow
 - π οΈ Developer Info
 - π Changelog
 - π License
 
@szum-tech/prettier-config is available as npm package.
# NPM
npm install --save-dev prettier @szum-tech/prettier-config
# YARN
yarn add -D prettier @szum-tech/prettier-config
# PNPM
pnpm add --save-dev prettier @szum-tech/prettier-config
# BUN
bun add --dev prettier @szum-tech/prettier-configFull documentation on how to create a Prettier configuration can be found in Prettier docs.
Configuration could be set via either:
- A 
.prettierrcfile, written in YAML or JSON, with optional extensions:.yaml/.yml/.json/.json5/.js/.cjs/.mjs/.ts/.mts/.cts - A 
prettier.config.(js|cjs|mjs|ts|cts|mts)file that exports an object - A 
prettierkey in the project'spackage.jsonfile 
The following examples show how to integrate predefined configuration in project:
- Via 
prettier.config.mtsfile: 
export { default } from "@szum-tech/prettier-config";Configurations also could be used to extends:
import { type Config } from "prettier";
import szumTechPrettierConfig from "@szum-tech/prettier-config";
export default {
  ...szumTechPrettierConfig,
  semi: false
} satisfies Config;- Via 
prettier.config.mjsfile: 
export { default } from "@szum-tech/prettier-config";Configurations also could be used to extends:
import szumTechPrettierConfig from "@szum-tech/prettier-config";
/**
 * @type {import("prettier").Config}
 */
export default {
  ...szumTechPrettierConfig,
  semi: false
};- Via 
prettier.config.cjsfile: 
module.exports = require("@szum-tech/prettier-config");OR extend configuration:
const szumTechPrettierConfig = require("@szum-tech/prettier-config");
/**
 * @type {import("prettier").Config}
 */
module.exports = {
  ...szumTechPrettierConfig,
  semi: false
};- Via 
prettierkey in the project'spackage.jsonfile: 
{
  "prettier": "@szum-tech/prettier-config"
}- Via 
.prettierrcfile: 
"@szum-tech/prettier-config"Tip
You can ignore files by adding it to .prettierignore.
Suggested scripts you can add to package.json file:
{
  "scripts": {
    "prettier:check": "prettier --check .",
    "prettier:write": "prettier --write ."
  }
}Here are the minimal steps required to run an Prettier check. Creating or adding any content to a PR will trigger this event. This action validate the code and return its results.
name: PR Checks β
on:
  pull_request:
env:
  NODE_VERSION: 22.x
  
jobs:
  prettier:
    name: Prettier π§Ή
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code π
        uses: actions/checkout@v4
      - name: Set up Node π’
        uses: actions/setup-node@v4
        with:
          node-version: ${{ env.NODE_VERSION }}
          cache: "npm"
      - name: Install packages βοΈ
        run: npm ci
      - name: Prettier Check π§Ή
        run: npm run prettier:checkThe changelog is regularly updated to reflect what's changed in each new release.
This project is licensed under the terms of the MIT license.