{"id":20397,"library":"prettier-plugin-organize-class-members","title":"Prettier Plugin Organize Class Members","description":"A Prettier plugin that automatically organizes JavaScript and TypeScript class members into a consistent order. Version 1.0.0-beta.6 is the current stable release with no update cadence. It leverages Prettier's plugin system to reorder class members (public/private, methods/properties, etc.) without modifying AST nodes beyond ordering. Differentiators: focused solely on class member organization, supports custom ordering, respects access modifiers and static classification.","status":"active","version":"1.0.0-beta.6","language":"javascript","source_language":"en","source_url":"https://github.com/wdfinch/prettier-plugin-organize-class-members","tags":["javascript","prettier","prettier-plugin","typescript","classes","organize-classes"],"install":[{"cmd":"npm install prettier-plugin-organize-class-members","lang":"bash","label":"npm"},{"cmd":"yarn add prettier-plugin-organize-class-members","lang":"bash","label":"yarn"},{"cmd":"pnpm add prettier-plugin-organize-class-members","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency; requires Prettier ^2.6.2 to function","package":"prettier","optional":false}],"imports":[{"note":"In Prettier config, use plugin name string, not require().","wrong":"plugins: [require('prettier-plugin-organize-class-members')]","symbol":"default","correct":"module.exports = {\n  plugins: ['prettier-plugin-organize-class-members']\n}"},{"note":"The package does not export this symbol; it is a plugin for Prettier, not a standalone utility.","wrong":"const { organizeClassMembers } = require('prettier-plugin-organize-class-members')","symbol":"organizeClassMembers","correct":"import { organizeClassMembers } from 'prettier-plugin-organize-class-members'"},{"note":"In Prettier config, list plugin as a string. In Node.js code, use Prettier's API with plugins option.","wrong":"require('prettier-plugin-organize-class-members')","symbol":"prettier-plugin-organize-class-members","correct":"// .prettierrc\n{ \"plugins\": [\"prettier-plugin-organize-class-members\"] }"}],"quickstart":{"code":"// Add to .prettierrc\n{\n  \"plugins\": [\"prettier-plugin-organize-class-members\"],\n  \"organizeClassMembersOrder\": [\n    \"static-property\",\n    \"property\",\n    \"constructor\",\n    \"static-method\",\n    \"method\",\n    \"getter\",\n    \"setter\"\n  ]\n}\n\n// Then format a file:\n// npx prettier --write myfile.ts\n\n// Input:\nclass Example {\n  private b: number;\n  public a: string;\n  constructor() {}\n  private getC() { return 1; }\n  public getD() { return 2; }\n}\n\n// Output:\nclass Example {\n  public a: string;\n  private b: number;\n  constructor() {}\n  public getD() { return 2; }\n  private getC() { return 1; }\n}","lang":"typescript","description":"Demonstrates configuring plugin in .prettierrc with custom order and formatting a class."},"warnings":[{"fix":"Update Prettier to ^2.6.2 or later.","message":"Plugin version 1.0.0-beta.6 requires Prettier ^2.6.2. Using with older Prettier versions may cause errors.","severity":"breaking","affected_versions":">=1.0.0-beta.0"},{"fix":"Monitor repository for stable release and update configuration accordingly.","message":"The option 'organizeClassMembersOrder' may change in future stable releases. Current version is beta and not guaranteed stable.","severity":"deprecated","affected_versions":"<=1.0.0-beta.6"},{"fix":"Review formatted output to ensure no unexpected reordering of commented or decorated members.","message":"Plugin does not preserve original member ordering; it reorders all members based on configuration. Comments and decorators may be moved with their members.","severity":"gotcha","affected_versions":">=1.0.0-beta.0"},{"fix":"Ensure your files are recognized by Prettier as JS/TS or explicitly configure file extensions.","message":"Plugin only works on files that Prettier parses as TypeScript or JavaScript (including JSX). It does not affect other file types.","severity":"gotcha","affected_versions":">=1.0.0-beta.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run: npm install --save-dev prettier-plugin-organize-class-members","cause":"Plugin not installed or not in node_modules.","error":"Error: Cannot find module 'prettier-plugin-organize-class-members'"},{"fix":"Use 'organizeClassMembersOrder' (exact spelling) and provide an array of strings.","cause":"Configuration option name typo or incorrect format.","error":"Error: [prettier-plugin-organize-class-members] Invalid option 'organizeClassMembersOrder'"},{"fix":"Update Prettier to >=2.6.2: npm install --save-dev prettier@^2.6.2","cause":"Installed Prettier version is too old.","error":"Error: Requires Prettier version ^2.6.2"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}