Skip to content

build(solidity): upgrade Prettier 3 and reformat sources - #4303

Merged
piotr-roslaniec merged 4 commits into
codex/solidity-eslint-10from
codex/solidity-prettier-3
Sep 13, 2026
Merged

piotr-roslaniec merged 4 commits into
codex/solidity-eslint-10from
codex/solidity-prettier-3

Conversation

@mswilkison

Copy link
Copy Markdown
Contributor

Both Solidity packages now use Prettier 3 and prettier-plugin-solidity 2, with explicit plugin loading and trailingComma: "all". ECDSA's shell-formatting plugin is updated to the compatible line. The first commit contains only dependency/configuration changes; the second contains only formatter output.

Part of #4214; stacked on #4302 (ESLint 10). Solhint 6 follows in the final toolchain PR. This stack builds on #4208; stacked-branch CI is addressed by #4217, and Node 24 rollout by #4205.

Validation on Node 24.11.1:

  • Both packages pass a forced Solidity rebuild with the generated TypeChain directories removed, strict typechecks, prepack, and full lint.
  • All 159 compiled contract ABIs and deployed runtime bytecodes are identical to the baseline after stripping Solidity metadata. Both packages regenerate TypeChain successfully with Prettier 3 installed (166 beacon and 218 ECDSA typings).
  • All 108 reformatted TypeScript files preserve emitted JavaScript apart from whitespace.
  • The prerequisite functional stack passed all 955 beacon and 673 ECDSA tests (44 existing pending). The formatting-only changes are additionally covered by the ABI/runtime and JavaScript comparisons above.

@coderabbitai

coderabbitai Bot commented Sep 8, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 703e6eb2-0755-4678-8ed6-5fd109a72265

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

…4304)

Both Solidity packages now use Solhint 6.2.4. The Git-pinned
`solhint-config-keep` dependency is replaced with explicit local rules,
preserving its error/warning policy and the existing
constructor/assembly overrides. The removed event-naming rule is
migrated to `event-name-capwords`.

Closes #4214 together with the prerequisite ESLint PR #4302 and Prettier
PR #4303. This is stacked on #4303. The stack depends on #4208;
coordinate the Node 24 runtime rollout in #4205 and stacked-branch CI
support in #4217 before merging the toolchain stack.

Warnings remain deliberately non-blocking in this migration. Solhint 6
reports 14 beacon and 12 ECDSA warnings, primarily declaration ordering
and state counts, with no errors. The new analyzer detects a few
additional ordering cases; the existing error rules are not weakened to
accommodate the upgrade. ESLint's existing warning policy is likewise
retained in #4302.

Validation: both packages pass Solidity lint and formatting/config
checks. Targeted probes confirm missing state visibility still fails,
valid source passes, and event naming remains a warning. No contract or
TypeScript source changes are included. The preceding stack passed
strict typechecks, prepack, fresh TypeChain generation, full lint,
comparison of all 159 contract ABIs/runtimes and emitted JavaScript, and
both functional suites (955 beacon and 673 ECDSA, 44 existing pending).
@piotr-roslaniec
piotr-roslaniec merged commit 7d83971 into codex/solidity-eslint-10 Sep 13, 2026
17 checks passed
@piotr-roslaniec
piotr-roslaniec deleted the codex/solidity-prettier-3 branch September 13, 2026 12:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants