import-js/eslint-plugin-import

no-duplicates rule adds extra space

Closed

#3,222 opened on Dec 11, 2025

 (5 comments) (0 reactions) (0 assignees)JavaScript (1,547 forks)batch import
help wantedrule proposal

Repository metrics

Stars
 (5,937 stars)
PR merge metrics
 (Avg merge 138d 22h) (3 merged PRs in 30d)

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.

Contributor guide