Zum Hauptinhalt springen
ai-slop/duplicate-importautomatisch behebbar

Doppelter Import.

Zwei `import ... from`-Anweisungen für dasselbe Modul in einer Datei. Wer liest, muss an zwei Stellen nachsehen, was eine Anweisung sagen sollte.

Beanstandete und saubere Form.

Jedes Beispiel zeigt genau die Codeform, nach der die Regel sucht, und dann die kleinste Version, die die Absicht bewahrt, ohne Risiken zu verstecken oder Rauschen hinzuzufügen.

duplicate-import.ts
✗ Beanstandet
import { formatDate } from './dates'
import { Invoice } from './types'
import { parseDate } from './dates'

export const dueLabel = (invoice: Invoice) =>
  formatDate(parseDate(invoice.dueAt))
Warum das anschlägt

Deterministischer Zeilenabgleich: beanstandet in JS- oder TS-Dateien ein zweites einzeiliges `import ... from "x"` mit demselben Specifier, wobei Wert-, reine Typ- und Namespace-Imports getrennt gruppiert werden.

duplicate-import.ts
✓ Sauber
import { formatDate, parseDate } from './dates'
import { Invoice } from './types'

export const dueLabel = (invoice: Invoice) =>
  formatDate(parseDate(invoice.dueAt))
Was sich geändert hat

Führe die Bindings in einer Import-Anweisung zusammen. `aislop fix` erledigt das automatisch.

Agenten fügen jedes Mal oben einen Import hinzu, wenn sie ein neues Symbol nutzen, ohne zu prüfen, ob das Modul schon importiert ist. Merges und generierte Patches führen zur selben Aufspaltung.

Wie diese Regel begründet ist.

Regel-ID

ai-slop/duplicate-import

Prüfende Engine

ai-slop

Erkennungsstrategie

Deterministischer Zeilenabgleich: beanstandet in JS- oder TS-Dateien ein zweites einzeiliges `import ... from "x"` mit demselben Specifier, wobei Wert-, reine Typ- und Namespace-Imports getrennt gruppiert werden.

Legitimer Code, der NICHT beanstandet wird

Ein Wert-Import neben einem `import type` aus demselben Modul, ein Namespace-Import (`* as x`) neben benannten Imports sowie Side-Effect-Imports werden nicht beanstandet.

Belege

Erschienen in aislop v0.8.0 als JS/TS-Detektor für redundante Imports desselben Moduls.