[PF-2031] Upgrade TypeScript to 5.5 and align davinci tooling#4963
[PF-2031] Upgrade TypeScript to 5.5 and align davinci tooling#4963dulishkovych wants to merge 1 commit into
Conversation
… test Squashes all of #4952's changes onto a fresh branch from master to test whether a clean branch state publishes alpha packages successfully despite the structural project-graph cycle being present. The cycle-breaker hint on picasso-tailwind-merge is deliberately omitted to mirror the failing state of commit 8c7a7fd. This branch is meant to be discarded after the experiment. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
🦋 Changeset detectedLatest commit: d147f30 The changes in this PR will be included in the next version bump. This PR includes changesets to release 87 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
🎉 Alpha packages are ready! PR: #4963 Installation commands: These alpha packages were built from the latest commit in this PR. |
|
📖 Storybook Preview 🚀 Your Storybook preview is ready: View Storybook 📍 Preview URL: This preview is updated automatically when you push changes to this PR. |
03b35ee to
d147f30
Compare
|
📖 Storybook Preview 🚀 Your Storybook preview is ready: View Storybook 📍 Preview URL: This preview is updated automatically when you push changes to this PR. |
Summary
~4.7.0to~5.5.0across root + 10 publishable packages.syntax@24,engine@14,qa@19,ci@8,code@3— all from toptal/davinci#2677, commitf29e7d47). These are alphas because the corresponding stable releases on master only carry the pnpm-migration majors, not the TS 5.5 patches.@babel/preset-typescriptto^7.26.0(required bydavinci-engine@14).Public type changes
OverridableComponent<P>in@toptal/picasso-sharedgains a second call signature —<R = unknown>(props: P & RefAttributes<R>) => JSX.Element | null— soforwardRef<R, P>(...)assigns cleanly under TS 5.x's stricter assignability whenPhas required fields. Additive only; existingas-prop callers unaffected.BarChartIndicators(@toptal/picasso-charts) exports typedBarSeriesItem/RenderIndicatorParamsin place of the previousany-typed render-prop.BarChart.valueAxisTickFormatteris typed as(value: string | number, index: number) => string.composeValidators(@toptal/picasso-forms) is now generic overTValueso downstream inference propagates.Internal type cleanups (no public API impact)
Resolve
anyregressions surfaced by@typescript-eslintv8 in:picasso-codemod,picasso-shared,Tagselector,Container,Menu,PromptModal,List,Select,TreeView,NumberInput.OverviewBlock,Page,Breadcrumbs,Button,ButtonAction,ButtonBase,ButtonCircular,MenuItem,Link, andSidebarItemcompile cleanly without source changes onceOverridableComponentgains its forwardRef-compatible overload.Two
anys are retained witheslint-disableand inline rationale — both are at ReactChangeEventvariance boundaries (fire-on-change-event.onChange,Field.children) where a principled type can't be derived from the runtime contract.Test plan
pnpm tsc:all— 0 errorspnpm lint— 0 errors (184 warnings, same as master baseline)pnpm test:unit— 307 suites / 1292 tests / 274 snapshots passpnpm test:integration(Happo + Cypress) — needs CIFollow-up
Once toptal/davinci#2677 merges and the alpha tags promote to stable, swap the five pinned alpha versions in root
package.jsonto caret stable ranges (^24.0.0, etc.).Alpha packages
Manually trigger the publish.yml workflow to publish alpha packages. Specify pull request number as a parameter (only digits, e.g.
123).PR Review Guidelines
When to approve? ✅
You are OK with merging this PR and
nit:to your comment. (ex.nit: I'd rename this variable from makeCircle to getCircle)When to request changes? ❌
You are not OK with merging this PR because
When to comment (neither ✅ nor ❌)
You want your comments to be addressed before merging this PR in cases like:
How to handle the comments?