Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
epidemian
GitHub Repository: epidemian/eslint-plugin-import
Path: blob/main/utils/module-require.js
828 views
1
'use strict';
2
exports.__esModule = true;
3
4
const Module = require('module');
5
const path = require('path');
6
7
// borrowed from babel-eslint
8
function createModule(filename) {
9
const mod = new Module(filename);
10
mod.filename = filename;
11
mod.paths = Module._nodeModulePaths(path.dirname(filename));
12
return mod;
13
}
14
15
exports.default = function moduleRequire(p) {
16
try {
17
// attempt to get espree relative to eslint
18
const eslintPath = require.resolve('eslint');
19
const eslintModule = createModule(eslintPath);
20
return require(Module._resolveFilename(p, eslintModule));
21
} catch (err) { /* ignore */ }
22
23
try {
24
// try relative to entry point
25
return require.main.require(p);
26
} catch (err) { /* ignore */ }
27
28
// finally, try from here
29
return require(p);
30
};
31
32