Conversation
Contributor
There was a problem hiding this comment.
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 rootlint-fixturbo script. - Enable multiple new TypeScript rules in
packages/oxlint-configand update frontend/backend.oxlintrcto extend plugin config directly (removing separate*-pluginconfigs + 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
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.
No description provided.