From 520f797080b8bcdaa9175dc4e825af761d3f8e0d Mon Sep 17 00:00:00 2001 From: Toru Nagashima Date: Mon, 2 Jul 2018 16:20:31 +0900 Subject: [PATCH] Fix: crash on WebStorm (fixes #14) (#15) --- lib/internal/get-linters.js | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/lib/internal/get-linters.js b/lib/internal/get-linters.js index 5e4a443..2482662 100644 --- a/lib/internal/get-linters.js +++ b/lib/internal/get-linters.js @@ -5,7 +5,7 @@ "use strict" const path = require("path") -const needle = `${path.sep}eslint${path.sep}` +const needle = `${path.sep}node_modules${path.sep}eslint${path.sep}` module.exports = () => { const eslintPaths = new Set( @@ -13,5 +13,21 @@ module.exports = () => { .filter(id => id.includes(needle)) .map(id => id.slice(0, id.indexOf(needle) + needle.length)) ) - return Array.from(eslintPaths).map(eslintPath => require(eslintPath).Linter) + const linters = [] + + for (const eslintPath of eslintPaths) { + try { + const linter = require(eslintPath).Linter + + if (linter) { + linters.push(linter) + } + } catch (error) { + if (error.code !== "MODULE_NOT_FOUND") { + throw error + } + } + } + + return linters }