Skip to content

Comments

chore: upgrade oxc and enable a bunch of new rules (@miodec)#7517

Open
Miodec wants to merge 10 commits intomasterfrom
oxc
Open

chore: upgrade oxc and enable a bunch of new rules (@miodec)#7517
Miodec wants to merge 10 commits intomasterfrom
oxc

Conversation

@Miodec
Copy link
Member

@Miodec Miodec commented Feb 20, 2026

No description provided.

Copilot AI review requested due to automatic review settings February 20, 2026 17:26
@monkeytypegeorge monkeytypegeorge added backend Server stuff frontend User interface or web stuff packages Changes in local packages labels Feb 20, 2026
@github-actions github-actions bot added the waiting for review Pull requests that require a review before continuing label Feb 20, 2026
@socket-security
Copy link

socket-security bot commented Feb 20, 2026

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Upgrades the Oxc toolchain (oxlint/oxfmt) and folds plugin-based linting into the main oxlint configs, then applies repo-wide code edits required by newly enabled lint rules.

Changes:

  • Bump oxlint, oxlint-tsgolint, oxfmt (and lockfile) + add root lint-fix turbo script.
  • Enable multiple new TypeScript rules in packages/oxlint-config and update frontend/backend .oxlintrc to extend plugin config directly (removing separate *-plugin configs + plugin lint steps).
  • Mechanical refactors across FE/BE/packages to satisfy new rules (dot-notation, regexp exec, startsWith, no parameter properties, etc).

Reviewed changes

Copilot reviewed 70 out of 71 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
pnpm-lock.yaml Updates dependency graph for oxc toolchain + transitive bumps.
package.json Adds lint-fix; bumps devDependency versions for oxc tools.
.oxfmtrc.json Updates import sorting group configuration.
packages/oxlint-config/rules/ts-enabled.jsonc Enables additional TypeScript rules.
packages/oxlint-config/overrides.jsonc Adds/adjusts test and script overrides for new rules.
frontend/.oxlintrc.json Extends plugin config directly; adds compat + solid/tanstack plugin rules and overrides.
frontend/.oxlintrc-plugin.json Removed (plugin config folded into main config).
backend/.oxlintrc.json Extends plugin config directly; adds override for typescript/no-use-before-define.
backend/.oxlintrc-plugin.json Removed (plugin config folded into main config).
frontend/package.json Removes plugin-config lint step; bumps oxlint deps.
backend/package.json Removes plugin-config lint step; bumps oxlint deps.
packages/util/package.json Bumps oxlint deps.
packages/tsup-config/package.json Bumps oxlint deps.
packages/schemas/package.json Bumps oxlint deps.
packages/funbox/package.json Bumps oxlint deps.
packages/contracts/package.json Bumps oxlint deps.
packages/release/package.json Bumps oxlint deps.
packages/util/src/numbers.ts Reorders/adjusts mean/stdDev implementations.
packages/util/src/json.ts Hoists prettyErrorMessage helper.
packages/util/src/date-and-time.ts Reorders getCurrentDayTimestamp definition.
packages/schemas/src/validation/validation.ts Reorders profanity helpers; no logic change.
packages/funbox/src/list.ts Reorders exports / helper placement.
packages/contracts/src/util/api.ts Renames meta param to metadata.
frontend/vite.config.ts Hoists helper fns; keeps config logic same.
frontend/vite-plugins/oxlint-checker.ts Removes plugin-pass option; uses RegExp.exec.
frontend/vite-plugins/language-hashes.ts Reorders helper fns (calcHash / getHashes).
frontend/vite-plugins/fontawesome-subset.ts Reorders helpers; no functional change intended.
frontend/vite-plugins/font-preview.ts Reorders subset helper vs plugin export.
frontend/vite-plugins/env-config.ts Hoists fallback helper.
frontend/src/ts/utils/misc.ts Switches regex usage to .exec.
frontend/src/ts/utils/format.ts Removes TS parameter property; explicit private field.
frontend/src/ts/utils/date-and-time.ts Removes unnecessary cast around firstDay.
frontend/src/ts/utils/colors.ts Switches .match to .exec.
frontend/src/ts/test/test-ui.ts Uses startsWith for partial word check.
frontend/src/ts/test/result.ts Uses dot notation for chartData access.
frontend/src/ts/test/funbox/funbox-functions.ts Switches .match to .exec for Safari UA parsing.
frontend/src/ts/test/english-punctuation.ts Adds oxlint suppression for a capitalization check.
frontend/src/ts/test/british-english.ts Adds oxlint suppression for a capitalization check.
frontend/src/ts/pages/account.ts Uses dot notation for chartData assignment.
frontend/src/ts/modals/edit-result-tags.ts Uses dot notation for store updates.
frontend/src/ts/elements/settings/custom-font-picker.ts Switches file type checks to .exec.
frontend/src/ts/elements/settings/custom-background-picker.ts Switches file type checks to .exec.
frontend/src/ts/elements/psa.tsx Removes stray blank line.
frontend/src/ts/elements/profile.ts Switches .match to .exec for website parsing.
frontend/src/ts/db.ts Removes parameter property in error class.
frontend/src/ts/components/ui/table/Table.tsx Import spacing adjustment.
frontend/src/ts/components/ui/table/DataTable.tsx Removes stray blank line.
frontend/src/ts/components/pages/AboutPage.tsx Hoists prefetch() helper.
frontend/src/ts/components/mount.tsx Removes stray blank line.
frontend/src/ts/components/modals/VersionHistoryModal.tsx Hoists ReleaseItem component.
frontend/src/ts/components/layout/overlays/Overlays.tsx Removes stray blank line.
frontend/src/ts/components/layout/footer/Footer.tsx Removes stray blank line.
frontend/src/ts/components/core/Theme.tsx Removes stray blank line.
frontend/src/ts/components/common/User.tsx Reorders User export below helper components.
frontend/src/ts/components/common/LoadingCircle.tsx Removes stray blank line.
frontend/src/ts/components/common/Headers.tsx Removes stray blank line.
frontend/src/ts/components/common/DiscordAvatar.tsx Removes stray blank line.
frontend/src/ts/components/common/AsyncContent.tsx Hoists fromQueries helper.
frontend/src/ts/components/common/AnimatedModal.tsx Hoists helpers; keeps behavior same.
frontend/src/ts/commandline/lists/font-family.ts Switches file type checks to .exec.
frontend/src/ts/commandline/lists/custom-background.ts Switches file type checks to .exec.
frontend/src/ts/auth.tsx Reorders signOut export and provider helpers.
backend/src/workers/later-worker.ts Adds oxlint suppression + comment near destructuring.
backend/src/middlewares/rate-limit.ts Renames locals for clarity; minor formatting.
backend/src/middlewares/auth.ts Uses dot notation for metadata access.
backend/src/init/configuration.ts Renames param to avoid shadowing and clarifies usage.
backend/src/api/routes/index.ts Renames loop var to avoid shadowing.
backend/src/api/controllers/result.ts Uses dot notation; avoids modifier shadow naming.
backend/scripts/openapi.ts Refactors/hoists helper functions; no intended logic change.
backend/tests/utils/pb.spec.ts Uses dot notation for nested access.
backend/tests/integration/dal/leaderboards.isolated.spec.ts Uses dot notation for property mutation.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend Server stuff frontend User interface or web stuff packages Changes in local packages waiting for review Pull requests that require a review before continuing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants