|
|
"use strict"; |
|
|
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true }); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const _patch_base_1 = require("./_patch-base"); |
|
|
|
|
|
const isInvalidImporterPath = (ex) => (ex === null || ex === void 0 ? void 0 : ex.code) === 'ERR_INVALID_ARG_VALUE'; |
|
|
if (!_patch_base_1.configArrayFactory.__loadPluginPatched) { |
|
|
_patch_base_1.configArrayFactory.__loadPluginPatched = true; |
|
|
|
|
|
const originalLoadPlugin = _patch_base_1.configArrayFactory.prototype._loadPlugin; |
|
|
if (_patch_base_1.ESLINT_MAJOR_VERSION === 6) { |
|
|
|
|
|
|
|
|
_patch_base_1.configArrayFactory.prototype._loadPlugin = function (name, importerPath, importerName) { |
|
|
const originalResolve = _patch_base_1.ModuleResolver.resolve; |
|
|
try { |
|
|
_patch_base_1.ModuleResolver.resolve = function (moduleName, relativeToPath) { |
|
|
try { |
|
|
|
|
|
return originalResolve.call(this, moduleName, importerPath); |
|
|
} |
|
|
catch (e) { |
|
|
if ((0, _patch_base_1.isModuleResolutionError)(e) || isInvalidImporterPath(e)) { |
|
|
return originalResolve.call(this, moduleName, relativeToPath); |
|
|
} |
|
|
throw e; |
|
|
} |
|
|
}; |
|
|
return originalLoadPlugin.apply(this, arguments); |
|
|
} |
|
|
finally { |
|
|
_patch_base_1.ModuleResolver.resolve = originalResolve; |
|
|
} |
|
|
}; |
|
|
} |
|
|
else { |
|
|
|
|
|
|
|
|
_patch_base_1.configArrayFactory.prototype._loadPlugin = function (name, ctx) { |
|
|
const originalResolve = _patch_base_1.ModuleResolver.resolve; |
|
|
try { |
|
|
_patch_base_1.ModuleResolver.resolve = function (moduleName, relativeToPath) { |
|
|
try { |
|
|
|
|
|
return originalResolve.call(this, moduleName, ctx.filePath); |
|
|
} |
|
|
catch (e) { |
|
|
if ((0, _patch_base_1.isModuleResolutionError)(e) || isInvalidImporterPath(e)) { |
|
|
return originalResolve.call(this, moduleName, relativeToPath); |
|
|
} |
|
|
throw e; |
|
|
} |
|
|
}; |
|
|
return originalLoadPlugin.apply(this, arguments); |
|
|
} |
|
|
finally { |
|
|
_patch_base_1.ModuleResolver.resolve = originalResolve; |
|
|
} |
|
|
}; |
|
|
} |
|
|
} |
|
|
|