{"id":20394,"library":"prettier-plugin-one-line-imports","title":"prettier-plugin-one-line-imports","description":"Prettier plugin (v1.0.3) that forces TypeScript imports to remain on a single line, overriding Prettier's default multi-line import formatting. Requires Prettier >=3.0.0. It preserves comments inside imports by keeping them multi-line. Installation requires adding the plugin to the Prettier plugins array in config. Ships with TypeScript types. Release cadence: sporadic bug fixes. Key differentiator: solves an age-old Prettier issue (GitHub #5995) by offering a simple override without configuration options.","status":"active","version":"1.0.3","language":"javascript","source_language":"en","source_url":"https://github.com/martinzima/prettier-plugin-one-line-imports","tags":["javascript","prettier","prettier-plugin","typescript","plugin","formatting","code style","imports"],"install":[{"cmd":"npm install prettier-plugin-one-line-imports","lang":"bash","label":"npm"},{"cmd":"yarn add prettier-plugin-one-line-imports","lang":"bash","label":"yarn"},{"cmd":"pnpm add prettier-plugin-one-line-imports","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency required (>=3.0.0)","package":"prettier","optional":false}],"imports":[{"note":"This is not imported as a JS module; it is discovered by Prettier via its name in the plugins array.","wrong":"import prettierPluginOneLineImports from 'prettier-plugin-one-line-imports' (no JS import needed)","symbol":"default (plugin registration)","correct":"Add \"plugins\": [\"prettier-plugin-one-line-imports\"] to Prettier config (e.g., .prettierrc)"},{"note":"Direct require() does not work; the plugin is loaded by Prettier using its own mechanism. However, if you must load it programmatically, Prettier's documentation recommends using the name string.","wrong":"const prettierPluginOneLineImports = require('prettier-plugin-one-line-imports')","symbol":"N/A (CommonJS require mistake)","correct":"N/A (no require needed)"}],"quickstart":{"code":"// 1. Install\nnpm install --save-dev prettier prettier-plugin-one-line-imports\n\n// 2. Create .prettierrc\n{\n  \"plugins\": [\"prettier-plugin-one-line-imports\"]\n}\n\n// 3. Run Prettier on a file with multi-line imports\n// Input:\n// import {\n//   useState,\n//   useEffect\n// } from \"react\";\n// Output:\n// import { useState, useEffect } from \"react\";\n\n// 4. Use with TypeScript\n// The plugin only affects import statements; other code is unchanged.\n// Imports with comments inside are preserved as multi-line.","lang":"typescript","description":"Install the plugin, configure Prettier, and see single-line imports."},"warnings":[{"fix":"No action needed. If you want to force single-line default imports, consider other tools.","message":"Plugin only affects import statements with named imports on multiple lines; default imports or side-effect imports are not changed.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Remove any comments inside import braces to enable single-line formatting.","message":"Imports containing comments inside the braces are intentionally left multi-line. This may be unexpected if you rely on all imports becoming single-line.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Upgrade Prettier to version 3 or later: npm install prettier@latest","message":"Requires Prettier version >=3.0.0. Using with Prettier 2.x will cause errors or be ignored.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Upgrade to 1.0.3: npm install prettier-plugin-one-line-imports@latest","message":"Plugin versions before 1.0.3 had ESM runtime issues; version 1.0.2 had bundling problems with Prettier compatibility.","severity":"deprecated","affected_versions":"<1.0.3"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Upgrade to version 1.0.3 or later: npm install prettier-plugin-one-line-imports@latest","cause":"Plugin version <1.0.3 tried to require() Prettier's package.json, which is ESM-only in Prettier 3.","error":"Error [ERR_REQUIRE_ESM]: require() of ES Module /path/to/prettier/package.json from /path/to/prettier-plugin-one-line-imports/index.js not supported."},{"fix":"Ensure the package is installed as a dev dependency: npm install --save-dev prettier-plugin-one-line-imports","cause":"Plugin not installed or not in node_modules, or Prettier cannot resolve it.","error":"Cannot find module 'prettier-plugin-one-line-imports'"},{"fix":"Add the plugin string exactly as \"prettier-plugin-one-line-imports\" under the \"plugins\" array in your .prettierrc, package.json, or other config file.","cause":"Plugin may be registered incorrectly in Prettier config (e.g., missing quotes or wrong spelling).","error":"The plugin \"prettier-plugin-one-line-imports\" is not recognized by Prettier."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}