import-js/eslint-plugin-import

no-duplicates rule adds extra space

Fermée

#3 222 ouverte le 11 déc. 2025

 (5 commentaires) (0 réaction) (0 personne assignée)JavaScript (1 549 forks)batch import
help wantedrule proposal

Métriques du dépôt

Stars
 (5 940 étoiles)
Métriques de merge PR
 (Merge moyen 138j 22h) (3 PRs mergées en 30 j)

Description

The no-duplicates rule auto-fix logic is adding an extra space in some cases.

Example case:

import { Observable, Subscription } from 'rxjs';
import { of } from 'rxjs';

Auto-fixing this rule turns into:

import { Observable, Subscription , of } from 'rxjs';

Note the extra space after "Subscription" before the comma.

Some feedback I've received is to use the @stylistic/comma-spacing rule to fix it, and that does work in a vacuum. However, this doesn't work for my project because I have other rules that affect imports. Specifically, I'm using the imports rule from the plugin eslint-plugin-simple-import-sort which sorts the imports alphabetically, turning it into this:

import { Observable, of, Subscription  } from 'rxjs';

And then the comma-spacing rule doesn't clean up the double spaces before the closing curly brace.

Using comma-spacing as a fix is a workaround anyway to fix the extra space that was introduced by the no-duplicates rule. The cleanest solution then is to fix the original bug in eslint-plugin-import.

Guide contributeur