Skip to content

WS-1385: move to biome from eslint and prettier 2#14044

Draft
eagerterrier wants to merge 51 commits into
latestfrom
spikes/biome2
Draft

WS-1385: move to biome from eslint and prettier 2#14044
eagerterrier wants to merge 51 commits into
latestfrom
spikes/biome2

Conversation

@eagerterrier
Copy link
Copy Markdown
Contributor

@eagerterrier eagerterrier commented May 20, 2026

Seeing if biome is a good fit

Current Rules that don't exist in biome:

  • import/prefer-default-export (well, noDefaultExport exists, but generates 1,120 errors so it's either not set up the same way or we weren't doing it properly before. No point putting >1k suppressions in)
  • import/named

Current Rules that don't seem to work in biome (or don't work well)

  • camelcase (it does support useNamingConvention but there were so many exceptions in our codebase I couldn't put the time in to sort out the rules and suppressions)
  • no-restricted-syntax (uses noLoopFunc and noForIn instead, but doesn't seem to cover enough)
  • @typescript-eslint/no-var-requires (probably taken care of with noCommonJs and noVar

Instructions for VSCode

https://biomejs.dev/guides/editors/first-party-extensions/

You might want to play around with the settings, but a good start is

"editor.codeActionsOnSave": {
    "source.fixAll.biome": "explicit",
    "source.organizeImports.biome": "explicit"
}

Expected impact

It's a long PR, but here's the break down of what's expected:

  1. No change in terms of the linting rules apart from caveats above.
  2. No change in any functionality. All tests pass, all changes should be formatting, escaping rules etc.
  3. Faster builds - biome is very fast
  4. Lighter builds - on localhost, the builds come out smaller. This isn't happening when run through github builds. Might be one to investigate

@eagerterrier eagerterrier changed the title Spikes/biome2 WS-1385: move to biome from eslint and prettier 2 May 20, 2026
Comment thread biome.json
Comment thread biome.json
Comment thread biome.json
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants