{"id":20403,"library":"prettier-plugin-pkgsort","title":"prettier-plugin-pkgsort","description":"Prettier plugin that sorts package.json keys and fields using prettier-package-json. Current stable version 0.3.0 requires Prettier ^3.0.0 as a peer dependency. It provides consistent key ordering, sensible script sorting, expand/contract for author/contributors, and file field filtering/sorting. Ships TypeScript types. Released under MIT license.","status":"active","version":"0.3.0","language":"javascript","source_language":"en","source_url":"https://github.com/so1ve/prettier-plugin-pkgsort","tags":["javascript","format","formatter","json","package","package-json","prettier","typescript"],"install":[{"cmd":"npm install prettier-plugin-pkgsort","lang":"bash","label":"npm"},{"cmd":"yarn add prettier-plugin-pkgsort","lang":"bash","label":"yarn"},{"cmd":"pnpm add prettier-plugin-pkgsort","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency required to run","package":"prettier","optional":true}],"imports":[{"note":"Use require.resolve for reliable resolution in CommonJS Prettier configs","wrong":"plugins: ['prettier-plugin-pkgsort'] (CommonJS resolve may fail)","symbol":"default","correct":"plugins: [require.resolve('prettier-plugin-pkgsort')] in .prettierrc.js"},{"note":"Plugin is ESM-only. Use ESM import syntax or require.resolve for CJS configs.","wrong":"const prettierPluginPkgsort = require('prettier-plugin-pkgsort'); (no default export in ESM)","symbol":"module","correct":"import prettierPluginPkgsort from 'prettier-plugin-pkgsort'; plugins: [prettierPluginPkgsort]"},{"note":"TypeScript types are provided; import type for plugin type if needed.","wrong":null,"symbol":"type","correct":"import type { Plugin } from 'prettier'; import prettierPluginPkgsort from 'prettier-plugin-pkgsort'; const plugin: Plugin = prettierPluginPkgsort;"}],"quickstart":{"code":"// .prettierrc.cjs (CommonJS)\nmodule.exports = {\n  plugins: [require.resolve('prettier-plugin-pkgsort')],\n  pkgsortExpandUsers: true,\n  pkgsortKeyOrder: ['name', 'version', 'description', 'main', 'scripts', 'dependencies', 'devDependencies'],\n};","lang":"javascript","description":"Configure Prettier to use prettier-plugin-pkgsort with custom expandUsers and keyOrder options."},"warnings":[{"fix":"Upgrade Prettier to version 3.x. If stuck on Prettier 2, use version 0.1.x.","message":"Version 0.2.0 dropped support for Prettier 2; requires Prettier ^3.0.0.","severity":"breaking","affected_versions":">=0.2.0"},{"fix":"Use import expression or require.resolve in CommonJS configs: plugins: [require.resolve('prettier-plugin-pkgsort')]","message":"CommonJS require() of the package directly may not work in v0.2.1+. Package became ESM-only.","severity":"deprecated","affected_versions":">=0.2.1"},{"fix":"Add options directly to the Prettier config object with the `pkgsort` prefix. Do not nest under plugin options.","message":"Options like `pkgsortExpandUsers` and `pkgsortKeyOrder` must be placed in Prettier config, not in plugin options.","severity":"gotcha","affected_versions":"all"},{"fix":"Rename file to package.json or use Prettier's file match patterns to include it.","message":"Plugin identifies package.json files by filename only. If your file has a different name (e.g., .package.json), it will not be processed.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run `npm install prettier-plugin-pkgsort --save-dev` and ensure node_modules is present. Use require.resolve in config.","cause":"Missing package installation or incorrect module resolution","error":"Error: Cannot find module 'prettier-plugin-pkgsort'"},{"fix":"Ensure config exports an object correctly: module.exports = { plugins: [...] };","cause":"Prettier config module.exports returns undefined or invalid object","error":"TypeError: Cannot read properties of undefined (reading 'plugins')"},{"fix":"Change plugins: ['prettier-plugin-pkgsort'] to plugins: [require.resolve('prettier-plugin-pkgsort')]","cause":"Using string literal instead of require.resolve in CommonJS config","error":"Error: Could not resolve 'prettier-plugin-pkgsort' from '...'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}