Skip to content

Update to the latest ESLint and Prettier#1114

Merged
steveluscher merged 1 commit into
mainfrom
12-16-update_to_the_latest_eslint_and_prettier
Dec 16, 2025
Merged

Update to the latest ESLint and Prettier#1114
steveluscher merged 1 commit into
mainfrom
12-16-update_to_the_latest_eslint_and_prettier

Conversation

@steveluscher
Copy link
Copy Markdown
Contributor

@steveluscher steveluscher commented Dec 16, 2025

Problem

This stuff was all super behind, and required updating of the upstream configs, some reorganizing of how we import the eslint.config, and some fixing of new lint violations.

Test Plan

pnpm turbo test:lint
pnpm style:fix

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Dec 16, 2025

⚠️ No Changeset found

Latest commit: 95820e2

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copy link
Copy Markdown
Contributor Author

steveluscher commented Dec 16, 2025

@bundlemon
Copy link
Copy Markdown

bundlemon Bot commented Dec 16, 2025

BundleMon

Unchanged files (133)
Status Path Size Limits
@solana/kit production bundle
kit/dist/index.production.min.js
39.06KB -
rpc-graphql/dist/index.browser.mjs
18.82KB -
rpc-graphql/dist/index.native.mjs
18.81KB -
rpc-graphql/dist/index.node.mjs
18.81KB -
errors/dist/index.node.mjs
17.07KB -
errors/dist/index.browser.mjs
17.04KB -
errors/dist/index.native.mjs
17.04KB -
transaction-messages/dist/index.browser.mjs
7.29KB -
transaction-messages/dist/index.native.mjs
7.29KB -
transaction-messages/dist/index.node.mjs
7.29KB -
offchain-messages/dist/index.browser.mjs
4.89KB -
offchain-messages/dist/index.native.mjs
4.89KB -
offchain-messages/dist/index.node.mjs
4.89KB -
codecs-data-structures/dist/index.browser.mjs
4.69KB -
codecs-data-structures/dist/index.native.mjs
4.69KB -
codecs-data-structures/dist/index.node.mjs
4.69KB -
instruction-plans/dist/index.browser.mjs
3.71KB -
instruction-plans/dist/index.native.mjs
3.71KB -
instruction-plans/dist/index.node.mjs
3.71KB -
codecs-core/dist/index.browser.mjs
3.61KB -
codecs-core/dist/index.native.mjs
3.61KB -
codecs-core/dist/index.node.mjs
3.61KB -
webcrypto-ed25519-polyfill/dist/index.node.mj
s
3.61KB -
webcrypto-ed25519-polyfill/dist/index.browser
.mjs
3.59KB -
webcrypto-ed25519-polyfill/dist/index.native.
mjs
3.57KB -
rpc-subscriptions/dist/index.browser.mjs
3.37KB -
rpc-subscriptions/dist/index.node.mjs
3.34KB -
rpc-subscriptions/dist/index.native.mjs
3.31KB -
rpc-transformers/dist/index.browser.mjs
2.93KB -
rpc-transformers/dist/index.native.mjs
2.93KB -
rpc-transformers/dist/index.node.mjs
2.93KB -
addresses/dist/index.browser.mjs
2.93KB -
addresses/dist/index.native.mjs
2.92KB -
addresses/dist/index.node.mjs
2.92KB -
signers/dist/index.browser.mjs
2.9KB -
signers/dist/index.native.mjs
2.9KB -
signers/dist/index.node.mjs
2.9KB -
transactions/dist/index.browser.mjs
2.87KB -
transactions/dist/index.native.mjs
2.86KB -
transactions/dist/index.node.mjs
2.86KB -
codecs-strings/dist/index.browser.mjs
2.53KB -
codecs-strings/dist/index.node.mjs
2.49KB -
codecs-strings/dist/index.native.mjs
2.45KB -
transaction-confirmation/dist/index.node.mjs
2.41KB -
transaction-confirmation/dist/index.native.mj
s
2.36KB -
transaction-confirmation/dist/index.browser.m
js
2.35KB -
sysvars/dist/index.browser.mjs
2.35KB -
sysvars/dist/index.native.mjs
2.34KB -
sysvars/dist/index.node.mjs
2.34KB -
react/dist/index.browser.mjs
2.31KB -
react/dist/index.native.mjs
2.31KB -
react/dist/index.node.mjs
2.31KB -
rpc-subscriptions-spec/dist/index.node.mjs
2.18KB -
rpc-subscriptions-spec/dist/index.native.mjs
2.13KB -
rpc-subscriptions-spec/dist/index.browser.mjs
2.13KB -
keys/dist/index.browser.mjs
2.1KB -
keys/dist/index.native.mjs
2.1KB -
keys/dist/index.node.mjs
2.1KB -
rpc/dist/index.node.mjs
1.95KB -
codecs-numbers/dist/index.browser.mjs
1.95KB -
codecs-numbers/dist/index.native.mjs
1.95KB -
codecs-numbers/dist/index.node.mjs
1.94KB -
rpc-transport-http/dist/index.browser.mjs
1.91KB -
rpc-transport-http/dist/index.native.mjs
1.9KB -
rpc/dist/index.native.mjs
1.81KB -
rpc/dist/index.browser.mjs
1.8KB -
subscribable/dist/index.node.mjs
1.8KB -
subscribable/dist/index.native.mjs
1.75KB -
subscribable/dist/index.browser.mjs
1.74KB -
rpc-transport-http/dist/index.node.mjs
1.72KB -
kit/dist/index.browser.mjs
1.69KB -
kit/dist/index.native.mjs
1.68KB -
kit/dist/index.node.mjs
1.68KB -
rpc-types/dist/index.browser.mjs
1.53KB -
rpc-types/dist/index.native.mjs
1.53KB -
rpc-types/dist/index.node.mjs
1.53KB -
rpc-subscriptions-channel-websocket/dist/inde
x.node.mjs
1.33KB -
rpc-subscriptions-channel-websocket/dist/inde
x.native.mjs
1.27KB -
rpc-subscriptions-channel-websocket/dist/inde
x.browser.mjs
1.26KB -
options/dist/index.browser.mjs
1.18KB -
options/dist/index.native.mjs
1.18KB -
options/dist/index.node.mjs
1.17KB -
accounts/dist/index.browser.mjs
1.13KB -
accounts/dist/index.native.mjs
1.12KB -
accounts/dist/index.node.mjs
1.12KB -
rpc-api/dist/index.browser.mjs
976B -
rpc-api/dist/index.native.mjs
975B -
rpc-api/dist/index.node.mjs
973B -
compat/dist/index.browser.mjs
969B -
compat/dist/index.native.mjs
968B -
compat/dist/index.node.mjs
966B -
rpc-spec-types/dist/index.browser.mjs
962B -
rpc-spec-types/dist/index.native.mjs
961B -
rpc-spec-types/dist/index.node.mjs
959B -
rpc-subscriptions-api/dist/index.native.mjs
870B -
rpc-subscriptions-api/dist/index.node.mjs
869B -
rpc-subscriptions-api/dist/index.browser.mjs
868B -
rpc-spec/dist/index.browser.mjs
852B -
rpc-spec/dist/index.native.mjs
851B -
rpc-spec/dist/index.node.mjs
850B -
promises/dist/index.browser.mjs
799B -
promises/dist/index.native.mjs
798B -
promises/dist/index.node.mjs
797B -
assertions/dist/index.browser.mjs
783B -
instructions/dist/index.browser.mjs
771B -
instructions/dist/index.native.mjs
770B -
instructions/dist/index.node.mjs
768B -
fast-stable-stringify/dist/index.browser.mjs
726B -
fast-stable-stringify/dist/index.native.mjs
725B -
assertions/dist/index.native.mjs
724B -
fast-stable-stringify/dist/index.node.mjs
724B -
assertions/dist/index.node.mjs
723B -
programs/dist/index.browser.mjs
329B -
programs/dist/index.native.mjs
327B -
programs/dist/index.node.mjs
325B -
event-target-impl/dist/index.node.mjs
230B -
functional/dist/index.browser.mjs
154B -
functional/dist/index.native.mjs
152B -
text-encoding-impl/dist/index.native.mjs
152B -
functional/dist/index.node.mjs
151B -
codecs/dist/index.browser.mjs
137B -
codecs/dist/index.native.mjs
136B -
codecs/dist/index.node.mjs
134B -
event-target-impl/dist/index.browser.mjs
133B -
ws-impl/dist/index.node.mjs
131B -
text-encoding-impl/dist/index.browser.mjs
122B -
text-encoding-impl/dist/index.node.mjs
119B -
ws-impl/dist/index.browser.mjs
113B -
crypto-impl/dist/index.node.mjs
111B -
crypto-impl/dist/index.browser.mjs
109B -
rpc-parsed-types/dist/index.browser.mjs
66B -
rpc-parsed-types/dist/index.native.mjs
65B -
rpc-parsed-types/dist/index.node.mjs
63B -

No change in files bundle size

Final result: ✅

View report in BundleMon website ➡️


Current branch size history | Target branch size history

@steveluscher steveluscher force-pushed the 12-16-update_to_the_latest_eslint_and_prettier branch from 1a19470 to 49cbea4 Compare December 16, 2025 06:06
@socket-security
Copy link
Copy Markdown

socket-security Bot commented Dec 16, 2025

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
Obfuscated code: npm safer-buffer is 94.0% likely obfuscated

Confidence: 0.94

Location: Package overview

From: docs/pnpm-lock.yamlnpm/safer-buffer@2.1.2

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/safer-buffer@2.1.2. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

Copy link
Copy Markdown
Contributor Author

@lorisleiva, I think I heard you complaining about Prettier in another repo? This pr might be helpful.

@steveluscher steveluscher changed the base branch from main to graphite-base/1114 December 16, 2025 08:13
@steveluscher steveluscher force-pushed the 12-16-update_to_the_latest_eslint_and_prettier branch from 49cbea4 to f5e96ab Compare December 16, 2025 08:13
@steveluscher steveluscher changed the base branch from graphite-base/1114 to 12-16-enforce_that_any_sharedarraybuffers_passed_to_crypto_operations_get_cloned_as_non-shared December 16, 2025 08:14
@steveluscher steveluscher force-pushed the 12-16-update_to_the_latest_eslint_and_prettier branch from f5e96ab to d320734 Compare December 16, 2025 08:24
@steveluscher steveluscher force-pushed the 12-16-enforce_that_any_sharedarraybuffers_passed_to_crypto_operations_get_cloned_as_non-shared branch from dfb2fab to ae1c4e9 Compare December 16, 2025 08:24
@steveluscher steveluscher force-pushed the 12-16-update_to_the_latest_eslint_and_prettier branch 2 times, most recently from 64c455d to e11a5d3 Compare December 16, 2025 08:40
Copy link
Copy Markdown
Contributor Author

Pretty sure that documentation build error will go away once we publish a new canary from the previous PR and then update this PR to use it.

Comment on lines +1 to +29
import solanaConfig from '@solana/eslint-config-solana';
import solanaJestConfig from '@solana/eslint-config-solana/jest';

export default [
...solanaConfig,
...solanaJestConfig,
{
rules: {
'@typescript-eslint/no-base-to-string': 'off',
'@typescript-eslint/no-unsafe-argument': 'off',
'@typescript-eslint/no-unsafe-assignment': 'off',
'@typescript-eslint/no-unsafe-call': 'off',
'@typescript-eslint/no-unsafe-enum-comparison': 'off',
'@typescript-eslint/no-unsafe-member-access': 'off',
'@typescript-eslint/no-unsafe-return': 'off',
'@typescript-eslint/only-throw-error': 'off',
'@typescript-eslint/prefer-promise-reject-errors': 'error',
'@typescript-eslint/restrict-plus-operands': 'error',
'@typescript-eslint/restrict-template-expressions': 'error',
'@typescript-eslint/unbound-method': 'off',
'jest/expect-expect': [
'error',
{
assertFunctionNames: ['expect', 'expectNewPreOffset', 'expectNewPostOffset'],
},
],
},
},
];
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we consider updating @solana/eslint-config-solana with these? I've been using @solana/eslint-config-solana directly lately for Codama & program repos and it would be nice if we were aligned on all these projects out-of-the-box.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, that was totally the idea. You'll notice that most of these are 'off' and the reason for that is this: #13

The ones that ended up 'error' are, as you've noticed, just things that should have been moved into the common config.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@steveluscher steveluscher force-pushed the 12-16-enforce_that_any_sharedarraybuffers_passed_to_crypto_operations_get_cloned_as_non-shared branch from ae1c4e9 to 0769816 Compare December 16, 2025 19:20
@steveluscher steveluscher force-pushed the 12-16-update_to_the_latest_eslint_and_prettier branch from e11a5d3 to a59b071 Compare December 16, 2025 19:20
@steveluscher steveluscher changed the base branch from 12-16-enforce_that_any_sharedarraybuffers_passed_to_crypto_operations_get_cloned_as_non-shared to graphite-base/1114 December 16, 2025 19:25
@steveluscher steveluscher force-pushed the 12-16-update_to_the_latest_eslint_and_prettier branch from a59b071 to 2d88dd5 Compare December 16, 2025 19:39
@steveluscher steveluscher changed the base branch from graphite-base/1114 to main December 16, 2025 19:39
@steveluscher steveluscher force-pushed the 12-16-update_to_the_latest_eslint_and_prettier branch from 2d88dd5 to 8332305 Compare December 16, 2025 20:41
@steveluscher steveluscher force-pushed the 12-16-update_to_the_latest_eslint_and_prettier branch from 8332305 to 95820e2 Compare December 16, 2025 20:44
@github-actions
Copy link
Copy Markdown
Contributor

Documentation Preview: https://kit-docs-4i3brt09z-anza-tech.vercel.app

@steveluscher steveluscher merged commit 8e63dcf into main Dec 16, 2025
14 checks passed
@steveluscher steveluscher deleted the 12-16-update_to_the_latest_eslint_and_prettier branch December 16, 2025 20:55
@github-actions
Copy link
Copy Markdown
Contributor

Because there has been no activity on this PR for 14 days since it was merged, it has been automatically locked. Please open a new issue if it requires a follow up.

@github-actions github-actions Bot locked as resolved and limited conversation to collaborators Dec 31, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants