From bb686defa4199d5c1f77980b165907b9d3c0971b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Fermann?= Date: Sat, 27 Apr 2019 11:59:30 +0200 Subject: [PATCH] [fix] `no-unused-modules`: don't crash when lint file outside src-folder --- src/rules/no-unused-modules.js | 8 ++++++++ tests/src/rules/no-unused-modules.js | 10 ++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/rules/no-unused-modules.js b/src/rules/no-unused-modules.js index d91411bf2..3d59e850e 100644 --- a/src/rules/no-unused-modules.js +++ b/src/rules/no-unused-modules.js @@ -302,6 +302,14 @@ module.exports = { return } + // refresh list of source files + const srcFiles = resolveFiles(getSrc(src), ignoreExports) + + // make sure file to be linted is included in source files + if (!srcFiles.has(file)) { + return + } + exports = exportList.get(file) // special case: export * from diff --git a/tests/src/rules/no-unused-modules.js b/tests/src/rules/no-unused-modules.js index 8069479ae..c9e7fde15 100644 --- a/tests/src/rules/no-unused-modules.js +++ b/tests/src/rules/no-unused-modules.js @@ -592,3 +592,13 @@ describe('do not report missing export for ignored file', () => { invalid: [], }) }) + +// lint file not available in `src` +ruleTester.run('no-unused-modules', rule, { + valid: [ + test({ options: unusedExportsOptions, + code: `export const jsxFoo = 'foo'; export const jsxBar = 'bar'`, + filename: testFilePath('../jsx/named.jsx')}), + ], + invalid: [], +}) \ No newline at end of file