Permalink
Cannot retrieve contributors at this time
50 lines (44 sloc)
1.73 KB
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
codeql-action/node_modules/eslint/lib/shared/relative-module-resolver.js
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* STOP!!! DO NOT MODIFY. | |
* | |
* This file is part of the ongoing work to move the eslintrc-style config | |
* system into the @eslint/eslintrc package. This file needs to remain | |
* unchanged in order for this work to proceed. | |
* | |
* If you think you need to change this file, please contact @nzakas first. | |
* | |
* Thanks in advance for your cooperation. | |
*/ | |
/** | |
* Utility for resolving a module relative to another module | |
* @author Teddy Katz | |
*/ | |
"use strict"; | |
const { createRequire } = require("module"); | |
module.exports = { | |
/** | |
* Resolves a Node module relative to another module | |
* @param {string} moduleName The name of a Node module, or a path to a Node module. | |
* @param {string} relativeToPath An absolute path indicating the module that `moduleName` should be resolved relative to. This must be | |
* a file rather than a directory, but the file need not actually exist. | |
* @throws {Error} Any error from `module.createRequire` or its `resolve`. | |
* @returns {string} The absolute path that would result from calling `require.resolve(moduleName)` in a file located at `relativeToPath` | |
*/ | |
resolve(moduleName, relativeToPath) { | |
try { | |
return createRequire(relativeToPath).resolve(moduleName); | |
} catch (error) { | |
// This `if` block is for older Node.js than 12.0.0. We can remove this block in the future. | |
if ( | |
typeof error === "object" && | |
error !== null && | |
error.code === "MODULE_NOT_FOUND" && | |
!error.requireStack && | |
error.message.includes(moduleName) | |
) { | |
error.message += `\nRequire stack:\n- ${relativeToPath}`; | |
} | |
throw error; | |
} | |
} | |
}; |