Skip to content

Switch to use Oxc for linting and formatting#6689

Draft
jbrunton96 wants to merge 3 commits into
mainfrom
oxc
Draft

Switch to use Oxc for linting and formatting#6689
jbrunton96 wants to merge 3 commits into
mainfrom
oxc

Conversation

@jbrunton96

@jbrunton96 jbrunton96 commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Description of Changes

Oxc is TS tooling made in Rust designed to directly replace ESLint (with Oxlint) and Prettier (with Oxfmt). This PR converts us to using the Oxc tooling to test how difficult it would be to transition over, and find out how much quicker it would be. From my testing:

Speed of tools

The conversion should be running all the equivalent rules and settings in the tools. Here are the results I got running the tools all timed via time, spawned through task (the actual Oxc commands are even faster than these results, but ESLint doesn't print its execution time and Oxc also replaces dpdm in the single run, so this test is more fair).

ESLint/Prettier Oxlint/Oxfmt Speed-up
Typed lint 89.32s 2.15s ~42x
Untyped lint 19.33s 0.69s ~28x
Formatting 18.37s 1.11s ~17x

Notes

  • Before merge, we'll want to remove the ESLint/Prettier tools and swap out the Tasks with the Oxc commands, but I've left them in for now to help test that the tools do the same thing.
  • To do type-aware linting, Oxlint uses TS7, which we haven't yet converted to (it's still in beta). Our tsconfig.json files all use baseUrl which isn't supported in TS7 (it was deprecated in TS6) so we might want to convert to TS6 (or even TS7 if it seems stable on our codebase) before this PR instead of doing it all at once.
  • The list of rules in Oxlint looks pretty horrible, but it's a direct migration from our ESLint config. Oxlint has its own sets of rules which are inconsistent with ESLint's recommended set, which we might want to consider changing to use, but for the initial work I think I'd rather keep the settings identical and then later decide which rules we actually care about.

@jbrunton96 jbrunton96 self-assigned this Jun 16, 2026
@stirlingbot stirlingbot Bot added the Front End Issues or pull requests related to front-end development label Jun 16, 2026
@stirlingbot

stirlingbot Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

✅ Frontend License Check Passed

All frontend licenses have been validated and no compatibility warnings were detected.

The frontend license report has been updated successfully.

@stirlingbot

stirlingbot Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

🚀 V2 Auto-Deployment Complete!

Your V2 PR with embedded architecture has been deployed!

🔗 Direct Test URL (non-SSL) http://54.175.155.236:6689

🔐 Secure HTTPS URL: https://6689.ssl.stirlingpdf.cloud

This deployment will be automatically cleaned up when the PR is closed.

🔄 Auto-deployed for approved V2 contributors.

@github-actions

Copy link
Copy Markdown
Contributor

📦 Tauri Desktop Builds Ready!

The desktop applications have been built and are ready for testing.

Download Artifacts:

🐧 Linux x64: Download Stirling-PDF-linux-x86_64 (.deb, .rpm, .AppImage) - 830.5 MB
🍎 macOS Universal: Download Stirling-PDF-macos-universal (.dmg) - 318.9 MB
🪟 Windows x64: Download Stirling-PDF-windows-x86_64 (.exe, .msi) - 249.2 MB


Built from commit e1a96b6
Artifacts expire in 7 days

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

Labels

Front End Issues or pull requests related to front-end development

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant