From 35746f1c633430d0273fdc24d1010eaef1de40ca Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com> Date: Tue, 28 Mar 2023 08:43:35 -0700 Subject: [PATCH] fix no-import-of-default-export (#659) * fix message of no-import-of-default-export * run prettier * only check .d.ts files --- .../no-import-default-of-export-equals.ts | 47 ++++++++++--------- ...no-import-default-of-export-equals.test.ts | 1 + 2 files changed, 27 insertions(+), 21 deletions(-) diff --git a/packages/dtslint/src/rules/no-import-default-of-export-equals.ts b/packages/dtslint/src/rules/no-import-default-of-export-equals.ts index ca12d293..27566924 100644 --- a/packages/dtslint/src/rules/no-import-default-of-export-equals.ts +++ b/packages/dtslint/src/rules/no-import-default-of-export-equals.ts @@ -19,27 +19,32 @@ const rule = createRule({ create(context) { const parserServices = ESLintUtils.getParserServices(context); const checker = parserServices.program.getTypeChecker(); - return { - // eslint-disable-next-line @typescript-eslint/naming-convention - ImportDeclaration(node) { - const defaultName = node.specifiers.find((spec) => spec.type === "ImportDefaultSpecifier")?.local; - if (!defaultName) { - return; - } - const importName = defaultName.name; - const source = parserServices.esTreeNodeToTSNodeMap.get(node.source); - const sym = checker.getSymbolAtLocation(source); - if ( - sym?.declarations?.some((d) => getStatements(d)?.some((s) => ts.isExportAssignment(s) && !!s.isExportEquals)) - ) { - context.report({ - messageId: "noImportDefaultOfExportEquals", - data: { moduleName: node.source, importName }, - node: defaultName, - }); - } - }, - }; + if (context.getFilename().endsWith(".d.ts")) { + return { + // eslint-disable-next-line @typescript-eslint/naming-convention + ImportDeclaration(node) { + const defaultName = node.specifiers.find((spec) => spec.type === "ImportDefaultSpecifier")?.local; + if (!defaultName) { + return; + } + const importName = defaultName.name; + const source = parserServices.esTreeNodeToTSNodeMap.get(node.source); + const sym = checker.getSymbolAtLocation(source); + if ( + sym?.declarations?.some((d) => getStatements(d)?.some((s) => ts.isExportAssignment(s) && !!s.isExportEquals)) + ) { + context.report({ + messageId: "noImportDefaultOfExportEquals", + data: { moduleName: node.source.value, importName }, + node: defaultName, + }); + } + }, + }; + } + else { + return {}; + } }, }); diff --git a/packages/dtslint/test/no-import-default-of-export-equals.test.ts b/packages/dtslint/test/no-import-default-of-export-equals.test.ts index cb8caa51..7ddec562 100644 --- a/packages/dtslint/test/no-import-default-of-export-equals.test.ts +++ b/packages/dtslint/test/no-import-default-of-export-equals.test.ts @@ -27,6 +27,7 @@ import a from "a"; { line: 7, messageId: "noImportDefaultOfExportEquals", + data: { moduleName: "a", importName: "a" }, }, ], },