Skip to content

Conversation

@birkskyum
Copy link
Member

@birkskyum birkskyum commented Oct 19, 2025

Putting up a draft PR for oxlint, so that we can keep track of it's ability to lint the GL JS codebase.

So far, what I can see is that it's fast (I see locally ~200-300ms instead of 5-6 seconds), but there are some issues still:

When running a migration from eslint (https://github.com/oxc-project/oxlint-migrate), this is the output.

ignore list inside overrides is not supported
unsupported rule: @stylistic/member-delimiter-style
unsupported rule, but in development: no-undef
unsupported rule: array-bracket-spacing
unsupported rule: key-spacing
unsupported rule: no-restricted-properties
unsupported rule: no-warning-comments
unsupported rule: object-curly-spacing
unsupported rule: prefer-arrow-callback
unsupported rule: prefer-const
unsupported rule: @stylistic/quotes
unsupported rule: template-curly-spacing
unsupported rule: @stylistic/indent
unsupported rule: @stylistic/semi
unsupported rule: no-multiple-empty-lines
unsupported rule: tsdoc/syntax
unsupported rule: react/jsx-uses-vars

Most of above originates from Oxlint not having full support for using js plugins, but this is being worked on (blog post here). The eslint js plugins we use are:

@typescript-eslint/eslint-plugin
@vitest/eslint-plugin
@stylistic/eslint-plugin
eslint-plugin-tsdoc
eslint-plugin-html

Some of the eslint plugins we used have been reimplemented in rust for better performance:

eslint-plugin-import
eslint-plugin-react

Status of plugins is tracked here

  • Confirm your changes do not include backports from Mapbox projects (unless with compliant license) - if you are not sure about this, please ask!
  • Briefly describe the changes in this PR.
  • Link to related issues.
  • Include before/after visuals or gifs if this PR includes visual changes.
  • Write tests for all new functionality.
  • Document any changes to public APIs.
  • Post benchmark scores.
  • Add an entry to CHANGELOG.md under the ## main section.

@socket-security

This comment was marked as resolved.

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.

1 participant