chore: modernize dev toolchain (TypeScript 5.9, vitest 3, tsup 8, ESLint stack)#359
Open
dawsbot wants to merge 1 commit into
Open
chore: modernize dev toolchain (TypeScript 5.9, vitest 3, tsup 8, ESLint stack)#359dawsbot wants to merge 1 commit into
dawsbot wants to merge 1 commit into
Conversation
Bumps the stale dev toolchain: - typescript ^4.9.4 -> ^5.9.3 - vitest ^0.34.6 -> ^3.2.7 (vite ^4.5.0 -> ^7.3.6) - tsup ^7.2.0 -> ^8.5.1 - typedoc ^0.24.5 -> ^0.28.20 - eslint ^8.16.0 -> ^8.57.1 (kept eslintrc format; flat-config migration deliberately deferred to keep this diff reviewable) - @typescript-eslint/* ^5.59.0 -> ^8.63.0 - eslint-plugin-jsdoc ^47 -> ^50, eslint-plugin-vitest ^0.1.5 -> ^0.5.4 (extends switched to plugin:vitest/legacy-recommended, the eslintrc-format config in 0.5.x) - @types/node ^18 -> ^22, @types/eslint ^8.37 -> ^8.56 Source fixes required by typescript-eslint v8 recommended rules: - clean-log.ts: `cleanedLog[key] === false;` was a no-op comparison where an assignment was intended (caught by no-unused-expressions) - encode-decode-transaction.ts, is-address.ts: drop unused catch bindings Verified: vitest run (174 passed, 33 pre-existing auth failures identical to master), tsup build, tsgo --noEmit, eslint (0 errors), typedoc. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The dev toolchain was several major versions behind. This bumps it pragmatically, with the smallest source changes needed to keep everything green.
This supersedes the open Dependabot PRs that target the root lockfile — most directly #344 (vite + vitest), and the root-lockfile security bumps (#356 qs, #348 postcss, #335 flatted, #331 minimatch, #330 rollup) whose transitive versions are regenerated here. The
/docs-siteDependabot PRs are unaffected.Version bumps (devDependencies only — zero runtime/consumer impact)
Source/config changes required by the bumps
.eslintrc.cjs:plugin:vitest/recommended→plugin:vitest/legacy-recommended(eslint-plugin-vitest ≥0.5 ships flat configs under the old names; thelegacy-variant is the eslintrc-format equivalent)src/classes/utils/clean-log.ts: typescript-eslint v8'sno-unused-expressionscaught a real bug —cleanedLog[key] === false;was a no-op comparison where an assignment was intended. Fixed tocleanedLog[key] = false;(normalizes anullremovedfield tofalse, as the surrounding code intends).src/classes/utils/encode-decode-transaction.ts,src/utils/is-address.ts: dropped unusedcatchbindings (no-unused-vars)readme.md: bundle-size table refresh, auto-generated by the repo's pre-commit hookDeliberately left out
.eslintrc.cjs(jsdoc overrides, BaseProvider description matcher) migrates fine but would balloon this diff; typescript-eslint v8 + eslint 8.57 work with the existing eslintrc format, so that migration can be its own PR.husky^7,lint-staged^13,markdown-magic,@size-limit/*left as-is (working, orthogonal to the build/test/type toolchain).Verification (all run locally)
vitest run: 174 passed, 33 failed — the 33 failures are identical on unmodified master (integration tests hitting authenticated RPC endpoints without a localALCHEMY_API_KEY). Zero regressions.tsupbuild: success (output sizes unchanged: index.js 43.75 kB)tsgo --noEmittypecheck: cleaneslint: 0 errors (warnings are pre-existing)typedoc: generates successfully🤖 Generated with Claude Code