Blame view

node_modules/eslint-module-utils/module-require.js 762 Bytes
ce4c83ff   wxy   初始提交
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
  "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)
  }