 c177363a19
			
		
	
	c177363a19
	
	
	
		
			
			🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
		
			
				
	
	
		
			37 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict';
 | |
| 
 | |
| exports.__esModule = true;
 | |
| 
 | |
| const Module = require('module');
 | |
| const path = require('path');
 | |
| 
 | |
| // borrowed from babel-eslint
 | |
| /** @type {(filename: string) => Module} */
 | |
| function createModule(filename) {
 | |
|   const mod = new Module(filename);
 | |
|   mod.filename = filename;
 | |
|   // @ts-expect-error _nodeModulesPaths are undocumented
 | |
|   mod.paths = Module._nodeModulePaths(path.dirname(filename));
 | |
|   return mod;
 | |
| }
 | |
| 
 | |
| /** @type {import('./module-require').default} */
 | |
| exports.default = function moduleRequire(p) {
 | |
|   try {
 | |
|     // attempt to get espree relative to eslint
 | |
|     const eslintPath = require.resolve('eslint');
 | |
|     const eslintModule = createModule(eslintPath);
 | |
|     // @ts-expect-error _resolveFilename is undocumented
 | |
|     return require(Module._resolveFilename(p, eslintModule));
 | |
|   } catch (err) { /* ignore */ }
 | |
| 
 | |
|   try {
 | |
|     // try relative to entry point
 | |
|     // @ts-expect-error TODO: figure out what this is
 | |
|     return require.main.require(p);
 | |
|   } catch (err) { /* ignore */ }
 | |
| 
 | |
|   // finally, try from here
 | |
|   return require(p);
 | |
| };
 |