import-js/eslint-plugin-import

no-duplicates rule adds extra space

Closed

#3,222 建立於 2025年12月11日

在 GitHub 查看
 (5 留言) (0 反應) (0 負責人)JavaScript (4,946 star) (1,540 fork)batch import
help wantedrule proposal

描述

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.

貢獻者指南

no-duplicates rule adds extra space · import-js/eslint-plugin-import#3222 | Good First Issue