Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
2 Skipped Deployments
|
|
@claude review this |
|
Claude finished @thibaultleouay's task in 3m 37s —— View job PR Review: Oxc Migration
SummaryThis PR migrates the entire monorepo from Biome to oxlint (linting) + oxfmt (formatting). The scope is massive — 1167 files changed — but the vast majority of changes are purely mechanical: import reordering, Tailwind class sorting, and quote/indentation normalization. A few substantive issues are worth reviewing. Configuration Changes
Issues Found🔴 Type Error in
|
| Removed suppression | oxlint equivalent? |
|---|---|
lint/correctness/useExhaustiveDependencies |
Not in oxlint — these hooks may silently have incomplete deps now |
lint/suspicious/noExplicitAny |
Partially: typescript/no-explicit-any exists but is not enabled |
lint/performance/noAccumulatingSpread |
Yes: oxc/no-accumulating-spread is configured |
The useExhaustiveDependencies suppressions in sidebar.tsx and monitors/list/client.tsx are worth double-checking — the hooks were suppressed for a reason.
Positive Observations
toSorted()instead of.sort()inpackages/tracker/src/tracker.ts:158— uses the immutable sort method, correct improvementSet.has()instead ofArray.includes()— O(1) lookup is better (just needs the type fix above)- Biome completely removed — single source of truth for formatting/linting
- YAML workflow files cleaned up (indentation, quote consistency) — makes them more readable
- VS Code settings updated to use
nicolo-ribaudo.vscode-oxfmtformatter CLAUDE.mdupdated to reflect the new toolchain- Import grouping is now explicit and consistent across the codebase
Minor Observations
packages/utils/index.ts: An empty line between imports was removed — harmless but worth noting as it changes import readability slightlyralph/README.md: Missing newline at end of file added — good- CSS values normalized (
0.70→0.7,0.20→0.2) by oxfmt — correct CSS style
Verdict
The migration is well-executed for its scale. The one actionable item before merging is the type annotation bug in tracker.ts. Everything else is either a formatter quirk or a minor consideration worth tracking.
9ee2369 to
857f95e
Compare
|
@claude review this again |
|
Claude finished @thibaultleouay's task in 4m 32s —— View job PR Review: Oxc Migration (Re-review)
SummaryThis PR migrates the entire monorepo from Biome to oxlint@1.50.0 + oxfmt@0.35.0. 1,167 files changed, but the vast majority are mechanical: import reordering, Tailwind class sorting, indentation normalization (tabs→spaces in Correction from previous review: The Configuration Analysis
Issues Found🟡
|
| Suppression removed | File | Status |
|---|---|---|
useExhaustiveDependencies |
packages/ui/src/hooks/use-cookie-state.ts:26 |
Intentional empty-deps pattern — useEffect(fn, []) runs once on mount to read cookie. oxlint's react plugin doesn't enforce exhaustive-deps by default, so no regression |
useExhaustiveDependencies |
packages/ui/src/components/ui/sidebar.tsx |
Dependencies in both hooks are actually complete — removal is correct |
noExplicitAny |
Various server/dashboard files | typescript/no-explicit-any rule exists in oxlint but is not enabled in .oxlintrc.json, so these any usages will silently pass |
noAccumulatingSpread |
apps/server/src/routes/v1/monitors/post.ts + 4 other routes |
oxc/no-accumulating-spread is configured as warn — these .reduce((a, v) => ({ ...a, [v.key]: v.value }), {}) patterns will now trigger lint warnings |
noDangerouslySetInnerHtml |
apps/web/src/app/(landing)/** |
All usages are JSON-LD structured data injection — safe, no rule equivalent in oxlint config |
noUnusedVariables |
packages/tinybird/src/audit-log/examples.ts |
seed() and history() functions are now unguarded — eslint/no-unused-vars is set to warn in the new config, so these will generate warnings |
🟢 No-Op Change: tracker.ts
Previous review incorrectly flagged a type error here. The isOngoingReport() method uses a typed array with .includes() — always correct. The diff is purely formatting (multiline array, import reorder). ✅
Positive Observations
- Complete toolchain consolidation — single source of truth for formatting/linting
experimentalTailwindcsssorting oncn/clsx— consistent class ordering across the codebasenoAccumulatingSpreadnow warned on for the reduce patterns in server routes — these are real perf concerns worth addressing in a follow-up- VS Code settings properly updated to
nicolo-ribaudo.vscode-oxfmt CLAUDE.mdupdated to reflect the new toolchain conventions- YAML workflows normalized (quote style, indentation) — makes them more diffable
Verdict
Migration is well-executed. No blocking issues. Two things worth a follow-up after merging:
- Verify
nextjsoxlint plugin coverage vs. thenext lintrules you were running before — especially for the dashboard app where framework-specific lint rules matter most. - Address
noAccumulatingSpreadwarnings in the Hono server routes (5 files) — replace the.reduce((a, v) => ({...a, ...v}))pattern withObject.fromEntries()orObject.assign()for better performance.
857f95e to
250fc2d
Compare
|
@claude review it again |
|
Claude finished @thibaultleouay's task in 4m 13s —— View job PR Review: Oxc Migration (Third Pass)
What This PR DoesMigrates the entire monorepo from Issues Found🟡
|
250fc2d to
208503a
Compare
Deploying openstatus-docs with
|
| Latest commit: |
03fc051
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://622f8a56.openstatus-1sy.pages.dev |
| Branch Preview URL: | https://oxc-migration.openstatus-1sy.pages.dev |
|
@claude review this again |
|
Claude finished @thibaultleouay's task in 3m 3s —— View job PR Review: Oxc Migration (Fourth Pass)
SummaryMigrates the full monorepo from 🔴 Type Error:
|
| Item | Status |
|---|---|
deploy.yml YAML multi-line scalar reformatting |
✅ Semantically equivalent |
sidebar.tsx biome-ignore useExhaustiveDependencies removals |
✅ All deps were already complete |
use-cookie-state.ts empty-deps useEffect |
✅ Intentional mount-only pattern, no regression |
toSorted() usage in tracker.ts:155 |
✅ Correct immutable sort |
oxlint-tsgolint updated 0.10.1 → ^0.15.0 |
✅ Good version bump |
Proto gen files linting excluded via ignorePatterns |
✅ Correct in oxlintrc |
Verdict
One blocking issue before merge: the Set type annotation error in 7 files will fail tsc --noEmit (strict mode is enabled). Everything else is either a follow-up item or minor observation.
* chore: dashboard agents page * fix: test * feat: slack agent content for status-page product page
No description provided.