From c1c9dc2c77270f06995ea76a7ad5e1e7036ef96e Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Tue, 31 May 2022 07:07:07 +0800 Subject: [PATCH] fix(prefer-import-from-vue): skip side-effect import in `.d.ts` files (#1907) * fix(prefer-import-from-vue): skip side-effect import * fix: only skip in .d.ts * Update tests/lib/rules/prefer-import-from-vue.js Co-authored-by: Yosuke Ota Co-authored-by: Yosuke Ota --- lib/rules/prefer-import-from-vue.js | 7 +++++++ tests/lib/rules/prefer-import-from-vue.js | 6 +++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/rules/prefer-import-from-vue.js b/lib/rules/prefer-import-from-vue.js index 2b3fc5b86..3d5a1ebac 100644 --- a/lib/rules/prefer-import-from-vue.js +++ b/lib/rules/prefer-import-from-vue.js @@ -94,6 +94,13 @@ module.exports = { return { ImportDeclaration(node) { + // Skip imports without specifiers in `.d.ts` files + if ( + node.specifiers.length === 0 && + context.getFilename().endsWith('.d.ts') + ) + return + verifySource(node.source, () => { if (SUBSET_AT_VUE_MODULES.has(node.source.value)) { // If the module is a subset of 'vue', we can safely change it to 'vue'. diff --git a/tests/lib/rules/prefer-import-from-vue.js b/tests/lib/rules/prefer-import-from-vue.js index 64854fd87..5c87404c2 100644 --- a/tests/lib/rules/prefer-import-from-vue.js +++ b/tests/lib/rules/prefer-import-from-vue.js @@ -22,7 +22,11 @@ tester.run('prefer-import-from-vue', rule, { `export * from 'vue'`, `import Foo from 'foo'`, `import { createApp } from 'vue' - export { createApp }` + export { createApp }`, + { + filename: 'test.d.ts', + code: `import '@vue/runtime-dom'` + } ], invalid: [ {