{"id":20451,"library":"prettier-plugin-unused-imports-configurable","title":"prettier-plugin-unused-imports-configurable","description":"A Prettier plugin that automatically removes unused imports from JavaScript, TypeScript, and React files during formatting. Version 1.15.0 is the latest stable release, actively maintained with monthly updates. Key differentiators: configurable to ignore specific directories (ideal for monorepos), supports exclusion comments per file, handles namespace imports, aliases, and qualified usages, merges duplicate imports, and has extensive test coverage (>80%). Compared to similar plugins like `prettier-plugin-unused-imports`, this one offers more granular control over which folders to exclude.","status":"active","version":"1.15.0","language":"javascript","source_language":"en","source_url":"https://github.com/Lisba/prettier-plugin-unused-imports-configurable","tags":["javascript","prettier","plugin","unused imports","typescript","monorepo","configurable"],"install":[{"cmd":"npm install prettier-plugin-unused-imports-configurable","lang":"bash","label":"npm"},{"cmd":"yarn add prettier-plugin-unused-imports-configurable","lang":"bash","label":"yarn"},{"cmd":"pnpm add prettier-plugin-unused-imports-configurable","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency - plugin requires Prettier >=3.4.2 to function","package":"prettier","optional":false}],"imports":[{"note":"This is a Prettier plugin, not a programmatic API. Configure via .prettierrc or Prettier options.","wrong":"import prettierPluginUnusedImports from 'prettier-plugin-unused-imports-configurable'","symbol":"Plugin","correct":"Not directly imported; placed in .prettierrc: { \"plugins\": [\"prettier-plugin-unused-imports-configurable\"] }"},{"note":"The option is camelCase 'ignoreDirectories', not 'ignoredDirectories'. Case-sensitive.","wrong":"Set via environment variable or as a separate option","symbol":"ignoreDirectories","correct":"Add to .prettierrc: { \"ignoreDirectories\": [\"src/generated\"] }"},{"note":"The comment must be exactly 'prettier-ignore-unused-imports-configurable' and placed before the first import. Other comments are ignored.","wrong":"// prettier-ignore-unused-imports","symbol":"Exclusion comment","correct":"// prettier-ignore-unused-imports-configurable (above the first import declaration)"}],"quickstart":{"code":"npm install --save-dev prettier prettier-plugin-unused-imports-configurable\necho '{\"plugins\": [\"prettier-plugin-unused-imports-configurable\"], \"ignoreDirectories\": [\"src/generated\"]}' > .prettierrc\necho 'import { unusedVar } from \"./module\"' > src/test.ts\nprettier --write src/test.ts\n# src/test.ts now has: (empty file, unused import removed)","lang":"typescript","description":"Installs the plugin, configures .prettierrc to enable it and ignore a directory, then formats a TypeScript file to remove an unused import."},"warnings":[{"fix":"Review your TypeScript imports after upgrading. The new parser may detect usage differently.","message":"Version 1.15.0 replaced babel-ts parser with TypeScript parser for .ts/.tsx files. May cause differences in import detection for complex TypeScript features.","severity":"breaking","affected_versions":">=1.15.0"},{"fix":"Use 'ignoreDirectories' exactly as documented in .prettierrc.","message":"The option name is 'ignoreDirectories' (camelCase), not 'ignoredDirectories' or 'ignore-directories'. Incorrect casing will be silently ignored.","severity":"gotcha","affected_versions":"*"},{"fix":"Place the comment on its own line above the first import statement in the file.","message":"Exclusion comment must be exactly '// prettier-ignore-unused-imports-configurable' and placed before the first import declaration. Comments after the first import are ignored.","severity":"gotcha","affected_versions":"*"},{"fix":"Ensure you have Prettier ^3.4.2 installed. If you encounter parsing errors, downgrade to <1.15.0.","message":"Version 1.15.0 deprecated the babel-ts parser; the new TypeScript parser may require Prettier >=3.4.2.","severity":"deprecated","affected_versions":">=1.15.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Use 'ignoreDirectories' (without 'd' in 'ignore') in .prettierrc.","cause":"The option name 'ignoredDirectories' is misspelled; correct is 'ignoreDirectories'.","error":"Ignore directories option not working; imports in ignored folder are still removed"},{"fix":"Upgrade prettier to ^3.4.2. If issues persist, downgrade to 1.14.0 or file an issue on GitHub.","cause":"Parser changed from babel-ts to TypeScript, which may parse JSX or type-only imports differently.","error":"Import removal broken after upgrading to v1.15.0; TypeScript errors for some imports"},{"fix":"Check the comment spelling and ensure it appears on its own line above the first import.","cause":"Comment must be exactly 'prettier-ignore-unused-imports-configurable' and placed before the first import declaration.","error":"Exclusion comment not working; import still removed"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}