chore: update high-risk dependencies#440
chore: update high-risk dependencies#440gabitoesmiapodo wants to merge 12 commits intochore/update-medium-risk-depsfrom
Conversation
Remove baseUrl (deprecated in TS6), enable esModuleInterop, and drop options that are now always-on (allowSyntheticDefaultImports, isolatedModules, useDefineForClassFields).
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Pull request overview
Updates several major “high-risk” build/runtime dependencies (TypeScript, Vite, Zod, GraphQL Codegen) and adjusts project configuration/lint/docs to stay compatible with the new versions.
Changes:
- Upgrades key dependencies in
package.json(Zod v4, GraphQL Codegen CLI v6, TypeScript v6, Vite v8) and adds a pnpm override for@graphql-codegen/cli. - Migrates Vite config to the new plugin and build options (Rolldown + native tsconfig paths resolution).
- Fixes upgrade-surfaced lint/doc issues (Biome ignore explanations, Typedoc warnings) and minor parsing/typing tweaks.
Reviewed changes
Copilot reviewed 11 out of 13 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
vite.config.ts |
Switches React plugin, drops vite-tsconfig-paths, migrates build chunking config to Rolldown, enables native resolve.tsconfigPaths. |
typedoc.json |
Adjusts Typedoc exclude globs to change what gets included in generated docs. |
tsconfig.json |
Updates TS interop/options for the TypeScript major bump. |
src/utils/suspenseWrapper.tsx |
Updates Typedoc annotations to eliminate warnings. |
src/providers/TransactionNotificationProvider.tsx |
Removes Biome suppressions and leaves assignment-in-expression callbacks. |
src/main.tsx |
Replaces placeholder Biome suppression explanation with a real one. |
src/lib/wagmi/plugins/reactSuspenseRead.ts |
Replaces placeholder Biome suppression explanations with real ones. |
src/hooks/useTokens.ts |
Adds explicit radix to parseInt, adjusts Biome suppression explanations, and removes an unused suppression. |
src/env.ts |
Updates Zod default to match transformed output type (boolean). |
src/components/sharedComponents/TokenSelect/TopTokens/index.tsx |
Replaces placeholder Biome suppression explanation with a real one. |
src/components/pageComponents/home/Examples/demos/TransactionButton/index.tsx |
Adds a Biome suppression for a fragment requirement. |
package.json |
Bumps major versions and adds pnpm.overrides to force Codegen CLI v6. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| const receipt = await readOnlyClient.waitForTransactionReceipt({ | ||
| hash, | ||
| // biome-ignore lint/suspicious/noAssignInExpressions: <explanation> | ||
| onReplaced: (replacedTxData) => (replacedTx = replacedTxData), |
There was a problem hiding this comment.
onReplaced: (replacedTxData) => (replacedTx = replacedTxData) relies on assignment-in-expression. This is easy to miss and was previously suppressed by Biome; without the suppression it may reintroduce the lint warning. Prefer a block-bodied callback (assign + return void) or keep a Biome ignore with a real explanation.
| onReplaced: (replacedTxData) => (replacedTx = replacedTxData), | |
| onReplaced: (replacedTxData) => { | |
| replacedTx = replacedTxData | |
| }, |
There was a problem hiding this comment.
Fixed in 29dc29f. Converted to block-bodied callback.
| signaturePromise: txPromise, | ||
| showSuccessToast: false, | ||
| // biome-ignore lint/suspicious/noAssignInExpressions: <explanation> | ||
| onToastId: (id) => (toastId = id), |
There was a problem hiding this comment.
onToastId: (id) => (toastId = id) uses assignment-in-expression (previously suppressed). Consider switching to a block-bodied callback for clarity / to avoid Biome's noAssignInExpressions, or re-add a properly-explained suppression if this pattern is intentional.
| onToastId: (id) => (toastId = id), | |
| onToastId: (id) => { | |
| toastId = id | |
| }, |
There was a problem hiding this comment.
Fixed in 29dc29f. Converted to block-bodied callback.
Summary
Updates four core dependencies to their next major versions. Each is isolated in its own commit for rollback granularity.
Closes #436
Changes
esModuleInterop, removes always-on flags (isolatedModules,useDefineForClassFields,allowSyntheticDefaultImports,baseUrl).default()value type insrc/env.ts(must match output type after transform)pnpm.overridesto unblock@bootnodedev/db-subgraphwhich pins^5; upstream issue filed at Support @graphql-codegen/cli v6 db-subgraph#1rolldownOptions), replaces@vitejs/plugin-react-swcwith@vitejs/plugin-react, replacesvite-tsconfig-pathswith nativeresolve.tsconfigPaths: true@paramtags insuspenseWrapper.tsx, includesTokensMapin docs outputAcceptance criteria
tsc --noEmitpasses, no new type errors introducedsrc/env.tsworks correctly, @t3-oss/env-core compatiblepnpm subgraph-codegenproduces valid output (if subgraph vars configured)pnpm lint && pnpm test && pnpm buildpassTest plan
pnpm lint-- 216 files, no errorspnpm test-- 170/170 passpnpm build-- tsc clean, Rolldown build succeeds, vendor chunks present indist/assets/pnpm typedoc:build-- 0 warningsBreaking changes
None for consumers of this template. Internal build tooling changes are transparent.
Checklist