'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) }