15 points par GN⁺ 2025-06-17 | 4 commentaires | Partager sur WhatsApp
  • Oxlint, un outil de lint pour JavaScript/TypeScript développé en Rust, est officiellement lancé en version 1.0
  • Des performances 50 à 100 fois supérieures à ESLint, la prise en charge de plus de 500 règles ESLint, et des cas d’usage réels dans de grandes entreprises (Shopify, Airbnb, Mercedes-Benz, etc.)
  • Utilisable immédiatement sans configuration, avec prise en charge de la portabilité et de l’utilisation conjointe avec les configurations ESLint existantes
  • Intégration avec les principaux éditeurs (VSCode, IntelliJ, Zed, etc.) et fourniture d’un LSP, avec des messages de diagnostic d’erreur détaillés et visuels
  • La feuille de route à venir a également été dévoilée, avec notamment des règles personnalisées, des optimisations de performances et des réglages plus fins

Principaux points d’Oxlint 1.0

Performances et déploiement à grande échelle

  • Implémenté en Rust, il permet de linter des dizaines de milliers de fichiers à très grande vitesse en exécution parallèle
  • Exemples : lint de 126�000 fichiers chez Airbnb en 7 secondes ; chez Mercedes-Benz, gain de vitesse de 71 à 97 %
  • Sur le plus grand dépôt testé, analyse de 265�000 fichiers et 101 règles en seulement 22,5 secondes

Utilisation immédiate & adoption facile

  • Une fois installé, il peut être exécuté immédiatement sans configuration
    • Utilisable directement avec npx oxlint@latest ou via pnpm/yarn/bun/deno
  • Prise en charge d’une configuration personnalisée .oxlintrc.json pour les grands projets et les environnements d’équipe
    • Basée sur le format flat config d’ESLint v8, donc familière
    • Migration de la configuration ESLint existante avec oxlint-migrate, et possibilité de désactiver les règles en doublon avec eslint-plugin-oxlint
  • Approche recommandée : faire tourner oxlint et eslint ensemble pour obtenir un feedback plus rapide

Prise en charge étendue des règles

  • Prise en charge de l’ensemble des règles ESLint ainsi que de nombreuses règles issues des plugins typescript-eslint, unicorn, jsdoc, react, jest et import
  • Inclut aussi des règles propres à Oxlint : bad comparison sequence, const comparisons, etc.

Configuration flexible

  • Prise en charge de configurations imbriquées par dossier, d’overrides par glob et de l’extension de configurations partagées
  • Permet de maintenir des standards cohérents de qualité de code selon les équipes

Intégration éditeur

  • Extensions disponibles pour VSCode, IntelliJ/WebStorm, Zed, etc., avec prise en charge du LSP
  • Diagnostic immédiat des erreurs et suggestions de correction dans différents IDE

Messages de diagnostic

  • Au-delà d’une simple description d’erreur, Oxlint fournit une visualisation des causes et des pistes de résolution

Benchmark

Outil Temps d’exécution
oxlint (multithread) 615ms
oxlint (single-thread) 1,8 s
eslint 33,5 s

Feuille de route

  • Prise en charge prévue des règles personnalisées basées sur JavaScript
  • Ajout continu d’optimisations de performances et de réglages plus fins par glob dans le style d’ESLint v9

4 commentaires

 
whitelips 2025-06-17

Rust, c’est le cheat code pour améliorer les performances ?

 
blizard4479 2025-06-17

On dirait que la prise en charge de Vue ou de NestJS n’est pas encore totalement aboutie.