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