'use strict'; exports.__esModule = true; const Module = require('module'); const path = require('path'); // borrowed from babel-eslint function createModule(filename) { const mod = new Module(filename); mod.filename = filename; mod.paths = Module._nodeModulePaths(path.dirname(filename)); return mod; } exports.default = function moduleRequire(p) { try { // attempt to get espree relative to eslint const eslintPath = require.resolve('eslint'); const eslintModule = createModule(eslintPath); return require(Module._resolveFilename(p, eslintModule)); } catch (err) { /* ignore */ } try { // try relative to entry point return require.main.require(p); } catch (err) { /* ignore */ } // finally, try from here return require(p); };