Skip to content

[6.1] Migrate from ESLint to Biome#46125

Open
C-Lodder wants to merge 16 commits intojoomla:6.1-devfrom
C-Lodder:biome
Open

[6.1] Migrate from ESLint to Biome#46125
C-Lodder wants to merge 16 commits intojoomla:6.1-devfrom
C-Lodder:biome

Conversation

@C-Lodder
Copy link
Member

@C-Lodder C-Lodder commented Sep 19, 2025

Summary of Changes

This migrates linting from ESLint to Biome, for 2 simple reasons:

  1. Performance - Biome is at least 15x faster than ESLint due to the fact it's written in Rust and it multi-threadded.
  2. Less dependencies - ESLint requires multiple plugins to work with languages and frameworks/libraries, whereas Biome supports them out of the box.

As part of this PR, I've also run the built-in formatter to try and use concise coding standards across the board.

@Fedik @dgrammatiko Would be nice to get your thoughts

@joomla-cms-bot joomla-cms-bot added NPM Resource Changed This Pull Request can't be tested by Patchtester PR-6.0-dev labels Sep 19, 2025
@laoneo
Copy link
Member

laoneo commented Sep 19, 2025

Did you add a line length? Would probably make sense to increase it, to have less changes in this pr.

@C-Lodder
Copy link
Member Author

@laoneo The default is 80, which I believe is the same as ESLint.

Happy to increase this if you'd like a specific value, although 80 is generally considered a good number.

@laoneo
Copy link
Member

laoneo commented Sep 19, 2025

If I remember correctly we were going in the past with 150. But can't find any evidence right now. Perhaps @wilsonge can shed some light here. Personally, I find 80 to close.

@laoneo
Copy link
Member

laoneo commented Sep 19, 2025

These here are definitely incorrect.

@C-Lodder
Copy link
Member Author

@laoneo Biome doesn't support .scss files, only .css, so shall I re-add the stylelint to cater for them?

@laoneo
Copy link
Member

laoneo commented Sep 27, 2025

Looks like then, otherwise there is a better alternative.

@laoneo
Copy link
Member

laoneo commented Oct 21, 2025

There is still an issue with the line length, changes like this one look wrong to me.

@C-Lodder
Copy link
Member Author

C-Lodder commented Oct 21, 2025

@laoneo It wraps on a new line due to the default 80 character limit per line.

@C-Lodder
Copy link
Member Author

I've just realised that eslint isn't even being properly used. All rules were removed in (#45784) other than no-restricted-globals,

@laoneo
Copy link
Member

laoneo commented Oct 21, 2025

Nice. JS and vue files do look much better now.

@C-Lodder C-Lodder marked this pull request as ready for review October 21, 2025 09:38
@Bodge-IT
Copy link
Contributor

Thanks for the work on this everyone. Just a little additional push to get this over the line is needed. Moved to 6.1 as 6.0 only in bugfix mode.

@Bodge-IT Bodge-IT changed the title [6.0] Migrate from ESLint to Biome [6.1] Migrate from ESLint to Biome Dec 17, 2025
@Bodge-IT Bodge-IT changed the base branch from 6.0-dev to 6.1-dev December 17, 2025 07:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

NPM Resource Changed This Pull Request can't be tested by Patchtester PR-6.1-dev

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants