import-js/eslint-plugin-import

no-duplicates rule adds extra space

已关闭

#3,222 创建于 2025年12月11日

 (5 条评论) (0 个反应) (0 位负责人)JavaScript (1,549 个派生)batch import
help wantedrule proposal

仓库指标

星标
 (5,938 个星标)
PR 合并指标
 (平均合并 138天 22小时) (30 天内合并 3 个 PR)

描述

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.

贡献者指南