{"id":20419,"library":"prettier-plugin-solgrid","title":"prettier-plugin-solgrid","description":"Prettier plugin for Solidity that leverages solgrid's Rust-based formatter for fast, reliable formatting and linting. Currently at v0.0.14, released weekly with active development. Key differentiators: native Rust performance, integrated linting with autofix (including import ordering, naming conventions, and NatSpec validation), and VS Code save-time stability. Unlike prettier-plugin-solidity, it uses a native parser for better edge-case handling and offers configurable operator line breaks, import grouping, and doc comment rules.","status":"active","version":"0.0.14","language":"javascript","source_language":"en","source_url":"https://github.com/TateB/solgrid","tags":["javascript"],"install":[{"cmd":"npm install prettier-plugin-solgrid","lang":"bash","label":"npm"},{"cmd":"yarn add prettier-plugin-solgrid","lang":"bash","label":"yarn"},{"cmd":"pnpm add prettier-plugin-solgrid","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency: required to load as a plugin","package":"prettier","optional":false}],"imports":[{"note":"Plugin is ESM-only; use dynamic import or add to prettier plugins array as string.","wrong":"const prettierPluginSolgrid = require('prettier-plugin-solgrid')","symbol":"prettier-plugin-solgrid","correct":"import prettierPluginSolgrid from 'prettier-plugin-solgrid'"},{"note":"Plugin options are defined in Prettier config under the 'solidity' namespace.","wrong":"require('prettier-plugin-solgrid') in config","symbol":"options","correct":"// In .prettierrc:\n{ \"plugins\": [\"prettier-plugin-solgrid\"], \"solidityOperatorLineBreak\": true }"},{"note":"The plugin is not a standalone formatter; use Prettier's API with parser 'solidity'.","wrong":"import { format } from 'prettier-plugin-solgrid'","symbol":"prettier","correct":"import { format } from 'prettier';\nconst code = await format(soliditySource, { parser: 'solidity', plugins: ['prettier-plugin-solgrid'] });"}],"quickstart":{"code":"// Install\n// npm install --save-dev prettier prettier-plugin-solgrid\n\n// .prettierrc\n{\n  \"plugins\": [\"prettier-plugin-solgrid\"],\n  \"parser\": \"solidity\",\n  \"solidityOperatorLineBreak\": true,\n  \"overrides\": [{\n    \"files\": \"*.sol\",\n    \"options\": {\n      \"parser\": \"solidity\"\n    }\n  }]\n}\n\n// Format a file\n// npx prettier --write contract.sol","lang":"javascript","description":"Installs the plugin, configures Prettier for Solidity files, and formats a .sol file."},"warnings":[{"fix":"Upgrade prettier to v3 or later.","message":"Requires prettier ^3.0.0; does not work with prettier v2.","severity":"breaking","affected_versions":"<0.0.1"},{"fix":"Set options at top level of .prettierrc.","message":"Plugin options like `solidityOperatorLineBreak` must be in the Prettier config root, not under a `solidity` subkey.","severity":"gotcha","affected_versions":">=0.0.10"},{"fix":"Upgrade to v0.0.7 or later.","message":"Import ordering fix may be reverted on save in VS Code if not using the latest version (v0.0.7+).","severity":"gotcha","affected_versions":"<0.0.7"},{"fix":"Use `solidityOperatorLineBreak` instead.","message":"The `operator_line_break` option v0.0.10 renamed to `solidityOperatorLineBreak` in later versions for Prettier consistency.","severity":"deprecated","affected_versions":">=0.0.10"},{"fix":"Upgrade to v0.0.12+ to get validation errors.","message":"Config loading silently ignores unknown rule settings before v0.0.12.","severity":"gotcha","affected_versions":"<0.0.12"}],"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-solgrid` and ensure it's in the plugins array.","cause":"Plugin not installed or not in node_modules.","error":"Error: Cannot find module 'prettier-plugin-solgrid'"},{"fix":"Add `\"parser\": \"solidity\"` and `\"plugins\": [\"prettier-plugin-solgrid\"]` to .prettierrc.","cause":"Prettier config missing parser or plugin not loaded.","error":"Error: [prettier] Cannot resolve parser 'solidity'"},{"fix":"Upgrade prettier to v3: `npm install prettier@^3.0.0`.","cause":"Using prettier v2 API with v3 plugin.","error":"TypeError: prettier.resolveConfig is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}