From 3f1e89646c05a9fe39f44bade3e1b61a11f0ae37 Mon Sep 17 00:00:00 2001 From: Zamiell <5511220+Zamiell@users.noreply.github.com> Date: Tue, 10 Sep 2024 11:35:06 -0400 Subject: [PATCH 1/5] update --- src/rules/no-rename-default.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/rules/no-rename-default.ts b/src/rules/no-rename-default.ts index e52ef03d..2c713b52 100644 --- a/src/rules/no-rename-default.ts +++ b/src/rules/no-rename-default.ts @@ -181,6 +181,11 @@ export = createRule<[Options?], MessageId>({ return } + // Some packages have a default export that is meant to be renamed, like "typescript-eslint". + if (defaultExportName === "_default") { + return; + } + context.report({ node, messageId: 'renameDefault', From fa7620017866e49551b11abd6782d898c8e2b873 Mon Sep 17 00:00:00 2001 From: Zamiell <5511220+Zamiell@users.noreply.github.com> Date: Tue, 10 Sep 2024 11:45:06 -0400 Subject: [PATCH 2/5] update --- .changeset/young-pants-warn.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/young-pants-warn.md diff --git a/.changeset/young-pants-warn.md b/.changeset/young-pants-warn.md new file mode 100644 index 00000000..4895c6ce --- /dev/null +++ b/.changeset/young-pants-warn.md @@ -0,0 +1,5 @@ +--- +"eslint-plugin-import-x": patch +--- + +fix false positive for no-rename-default From 70fe36a7ec40a123372b6bf9e49e01246dd64900 Mon Sep 17 00:00:00 2001 From: Zamiell <5511220+Zamiell@users.noreply.github.com> Date: Tue, 10 Sep 2024 11:48:28 -0400 Subject: [PATCH 3/5] update --- src/rules/no-rename-default.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/rules/no-rename-default.ts b/src/rules/no-rename-default.ts index 2c713b52..af090af6 100644 --- a/src/rules/no-rename-default.ts +++ b/src/rules/no-rename-default.ts @@ -182,8 +182,8 @@ export = createRule<[Options?], MessageId>({ } // Some packages have a default export that is meant to be renamed, like "typescript-eslint". - if (defaultExportName === "_default") { - return; + if (defaultExportName === '_default') { + return } context.report({ From 2c8ac8fc938830916e85c5dc1656dd1c4b157c0c Mon Sep 17 00:00:00 2001 From: Zamiell <5511220+Zamiell@users.noreply.github.com> Date: Wed, 11 Sep 2024 01:21:12 -0400 Subject: [PATCH 4/5] update --- src/rules/no-rename-default.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/rules/no-rename-default.ts b/src/rules/no-rename-default.ts index af090af6..acc70c86 100644 --- a/src/rules/no-rename-default.ts +++ b/src/rules/no-rename-default.ts @@ -142,6 +142,14 @@ export = createRule<[Options?], MessageId>({ return } + // Some packages have a default export that is meant to be renamed. For example, + // "typescript-eslint" has a default export of "_default" and "eslint-plugin-jsdoc" has a + // default export of "index". + const defaultExportNameTrimmed = defaultExportName.replace(/^_+/, '') // Trim leading underscores. + if (defaultExportNameTrimmed === 'default' || defaultExportNameTrimmed == 'index') { + return + } + const importTarget = node.parent.source?.value const importBasename = path.basename(exportMap.path) @@ -181,11 +189,6 @@ export = createRule<[Options?], MessageId>({ return } - // Some packages have a default export that is meant to be renamed, like "typescript-eslint". - if (defaultExportName === '_default') { - return - } - context.report({ node, messageId: 'renameDefault', From b2d29e010d4998bcb36c111817bb0794640c8786 Mon Sep 17 00:00:00 2001 From: Zamiell <5511220+Zamiell@users.noreply.github.com> Date: Wed, 11 Sep 2024 01:25:03 -0400 Subject: [PATCH 5/5] update --- src/rules/no-rename-default.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/rules/no-rename-default.ts b/src/rules/no-rename-default.ts index acc70c86..f8e9eec5 100644 --- a/src/rules/no-rename-default.ts +++ b/src/rules/no-rename-default.ts @@ -146,7 +146,10 @@ export = createRule<[Options?], MessageId>({ // "typescript-eslint" has a default export of "_default" and "eslint-plugin-jsdoc" has a // default export of "index". const defaultExportNameTrimmed = defaultExportName.replace(/^_+/, '') // Trim leading underscores. - if (defaultExportNameTrimmed === 'default' || defaultExportNameTrimmed == 'index') { + if ( + defaultExportNameTrimmed === 'default' || + defaultExportNameTrimmed == 'index' + ) { return }