Was macht migrate-oxlint?
Anleitung zur Migration eines Projekts von ESLint zu Oxlint. Verwenden Sie dies, wenn Sie aufgefordert werden, den Linter eines JavaScript/TypeScript-Projekts von ESLint zu Oxlint zu migrieren, zu konvertieren oder umzustellen.
Übersicht
Dieses Dokument beschreibt die Schritte, die erforderlich sind, um ein bestehendes ESLint-Setup durch Oxlint zu ersetzen. Oxlint ist ein in Rust geschriebener, extrem schneller Linter, der eine drastische Leistungssteigerung bei gleicher oder besserer Regelabdeckung bietet. Die Migration erfolgt in der Regel durch:
- Entfernen von ESLint-Abhängigkeiten: Löschen Sie
eslintund alle zugehörigen Plugins aus Ihrerpackage.json. - Installieren von Oxlint: Fügen Sie das Oxlint-Paket (z.B.
oxlint) zu Ihren Dev-Dependencies hinzu. - Konfigurieren von Oxlint: Erstellen Sie eine
.oxlintrc.jsonoder.oxlintrc.yamlDatei, die die Regeln und Einstellungen aus Ihrer alten.eslintrcüberführt. - Anpassen von Skripten: Aktualisieren Sie Ihre
package.jsonSkripte, sodassoxlintanstelle voneslintverwendet wird. - Testen und Validieren: Führen Sie Oxlint aus und überprüfen Sie die Ausgabe, um sicherzustellen, dass alle gewünschten Regeln korrekt angewendet werden.
Vorteile von Oxlint
- Geschwindigkeit: Oxlint ist oft 10-100x schneller als ESLint, insbesondere bei großen Codebasen.
- Geringer Ressourcenverbrauch: Weniger Speicher- und CPU-Bedarf.
- Integrierte Unterstützung für moderne JavaScript/TypeScript-Features: Keine zusätzlichen Plugins für TypeScript, JSX oder ES2023+ erforderlich.
- Kompatibilität: Viele bekannte ESLint-Regeln (z.B.
no-unused-vars,no-console) sind direkt verfügbar oder über einfache Konfiguration nachbildbar.
Unterstützte Plattformen
- Node.js (CLI, CI/CD)
- VS Code (über Oxlint-Erweiterung)
- GitHub Actions (mit offiziellen Actions)
Beispielkonfiguration
Erstellen Sie eine .oxlintrc.json:
{
"rules": {
"no-unused-vars": "error",
"no-console": "warn",
"eqeqeq": "error"
},
"ignorePatterns": ["dist/", "node_modules/"]
}
Aktualisieren Sie package.json:
{
"scripts": {
"lint": "oxlint ."
}
}
Weitere Informationen finden Sie in der offiziellen Oxlint-Dokumentation.