{"id":26103,"library":"prettier-resolver","title":"Prettier","description":"Prettier is an opinionated code formatter that supports JavaScript, TypeScript, CSS, HTML, GraphQL, Markdown, and more. Current stable version is 3.x (npm package name 'prettier', not 'prettier-resolver'). Prettier is actively maintained with frequent releases. It differs from other formatters by being opinionated (few options), rewriting entire AST, and integrating into editors, pre-commit hooks, and CI. Available as CLI and API; ships as ESM-only since v3, requires Node >=18.","status":"active","version":"1.2.2","language":"javascript","source_language":"en","source_url":null,"tags":["javascript","prettier","lint","side-effect"],"install":[{"cmd":"npm install prettier-resolver","lang":"bash","label":"npm"},{"cmd":"yarn add prettier-resolver","lang":"bash","label":"yarn"},{"cmd":"pnpm add prettier-resolver","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Use namespace import for all exports; no default export since v3.","wrong":"import prettier from 'prettier'","symbol":"Prettier","correct":"import * as prettier from 'prettier'"},{"note":"Named exports available; CommonJS require not supported in v3.","wrong":"const { format } = require('prettier')","symbol":"format","correct":"import { format } from 'prettier'"},{"note":"Works with ESM; config resolution is async.","wrong":"","symbol":"resolveConfig","correct":"import { resolveConfig } from 'prettier'"},{"note":"CLI is invoked via npx or global install; path-based execution is common.","wrong":"prettier --write .","symbol":"prettier (CLI)","correct":"npx prettier --write ."},{"note":"Use type import for TypeScript options; Options type exists since v2.","wrong":"import { Options } from 'prettier'","symbol":"PrettierOptions","correct":"import type { Options } from 'prettier'"}],"quickstart":{"code":"import { format } from 'prettier';\n\nconst code = `foo(reallyLongArg(), omgSoManyParameters(), IShouldRefactorThis(), isThereSeriouslyAnotherOne());`;\nconst formatted = await format(code, {\n  parser: 'babel',\n  semi: true,\n  singleQuote: true,\n  tabWidth: 2,\n});\nconsole.log(formatted);","lang":"typescript","description":"Demonstrates using Prettier's format() API to format JavaScript code with custom options."},"warnings":[{"fix":"Switch to ESM imports (import { format } from 'prettier') or use dynamic import().","message":"Prettier v3 drops CommonJS support; require() will not work.","severity":"breaking","affected_versions":">=3.0.0"},{"fix":"Upgrade Node.js to version 18 or later.","message":"Node.js >=18 required as of v3; older Node versions cause errors.","severity":"breaking","affected_versions":">=3.0.0"},{"fix":"Use `const config = (await resolveConfig(filePath)) ?? {};` to avoid undefined errors.","message":"Formatting with 'resolveConfig' returns null if no config found; must handle null case.","severity":"gotcha","affected_versions":">=2.0.0"},{"fix":"Use '--semi false' instead of '--no-semi'.","message":"The '--no-semi' CLI flag is deprecated in favor of '--semi false'.","severity":"deprecated","affected_versions":">=2.3.0"},{"fix":"List plugins in order of application (e.g., prettier-plugin-svelte first).","message":"Using prettier-plugin-svelte or prettier-plugin-tailwindcss may conflict with each other; order matters.","severity":"gotcha","affected_versions":">=2.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run `npm install prettier@latest` and use ESM import syntax.","cause":"Prettier not installed or used via CommonJS in v3.","error":"Cannot find module 'prettier'"},{"fix":"Use `import { format } from 'prettier'` instead of `import prettier from 'prettier'`.","cause":"Incorrect import style; default import does not exist in v3.","error":"TypeError: prettier.format is not a function"},{"fix":"Use `import { format } from 'prettier'` or update to v2 for CommonJS support.","cause":"Using older require() path that is removed in v3.","error":"Error: Cannot find module 'prettier/package.json'"},{"fix":"Install parser: `npm install --save-dev @prettier/plugin-babel` and add to config.","cause":"Missing parser plugin (e.g., @prettier/plugin-babel).","error":"Error: Couldn't resolve parser 'babel'. Plugins don't seem to be installed."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}