Registry / devops / prettier-plugin-solidity

prettier-plugin-solidity

JSON →
library2.3.1jsnpmunverified

A Prettier plugin for automatically formatting Solidity smart contract code. Current version is 2.3.1, with major version 2 (2024) switching from ANTLR to Nomic Foundation's Slang parser, improving correctness and comment handling. Requires Node >=20 and Prettier >=3.0.0. Formally maintained, with frequent patch releases. Key differentiator: it is the de facto standard formatter for Solidity, tightly integrated with Prettier's ecosystem.

npm install prettier-plugin-solidity
INSTALL
IMPORT
SIG · PRETTIER-PLUGIN-SO
P
prettier-plugin-solidity
devopsjavascriptv2.3.1
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

prettier-plugin-solidity
import solidityPlugin from 'prettier-plugin-solidity'
const solidityPlugin = require('prettier-plugin-solidity')
ESM default import; CommonJS require is possible for Node but not recommended.
standalone
import solidityPlugin from 'prettier-plugin-solidity/standalone'
import { standalone } from 'prettier-plugin-solidity'
Standalone build is a default export from a subpath, not a named export.
plugins
plugins: [require('prettier-plugin-solidity')]
plugins: ['prettier-plugin-solidity']
In .prettierrc, plugins must be string module names, not imported objects.

Installs the plugin, configures Prettier for Solidity using Slang parser, and runs formatting.

// Install: npm install --save-dev prettier prettier-plugin-solidity // .prettierrc (JSON) { "plugins": ["prettier-plugin-solidity"], "parser": "slang", "tabWidth": 4, "overrides": [{ "files": "*.sol", "options": { "compiler": "0.8.0" } }] } // Run: npx prettier --write 'contracts/**/*.sol'
prettier --version
Debug
Known issues
breakingv2.0.0 switched default parser from 'solidity-parse' (ANTLR) to 'slang'. Old configs with 'solidity-parse' will cause errors.
fix
Update .prettierrc: set parser to 'slang' (or remove explicit parser).
affects: <2.0.0
deprecatedThe 'solidity-parse' parser is deprecated in v2 and will be removed in a future major release.
fix
Use 'slang' parser instead.
affects: >=2.0.0
gotchaNode >=20 is required. Older Node versions will fail at install time.
fix
Upgrade Node to 20 or later.
affects: >=2.0.0
gotchaPeer dependency on Prettier >=3.0.0. Prettier v2 is not supported.
fix
Upgrade Prettier to 3.x.
affects: >=2.0.0
Errors
Common errors & fixes
Error: Couldn't resolve plugin "prettier-plugin-solidity"
Plugin not installed or not in node_modules.
fix
Run 'npm install --save-dev prettier prettier-plugin-solidity'.
Error: Cannot find module 'prettier-plugin-solidity'
Incorrect plugin name or path in .prettierrc.
fix
Set plugins array correctly: ["prettier-plugin-solidity"].
TypeError: Invalid Version: undefined
Missing or malformed compiler option in .prettierrc.
fix
Add a valid compiler version string, e.g., "compiler": "0.8.0".
Upgrade
Version history
2.3.1latest on npm
Audit
Dependencies
prettierrequiredrequired peer dependency
Agent activity
6 hits · last 30 days
node
6
Resources
prettier-plugin-solidity — npm install prettier-plugin-solidity · libregistry