34 lines
1.1 KiB
JavaScript
34 lines
1.1 KiB
JavaScript
"use strict";
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.resolveFrom = void 0;
|
|
const node_fs_1 = __importDefault(require("node:fs"));
|
|
const node_path_1 = __importDefault(require("node:path"));
|
|
const Module = require("module");
|
|
const resolveFrom = (fromDirectory, moduleId) => {
|
|
try {
|
|
fromDirectory = node_fs_1.default.realpathSync(fromDirectory);
|
|
}
|
|
catch (error) {
|
|
if (error.code === 'ENOENT') {
|
|
fromDirectory = node_path_1.default.resolve(fromDirectory);
|
|
}
|
|
else {
|
|
throw error;
|
|
}
|
|
}
|
|
const fromFile = node_path_1.default.join(fromDirectory, 'noop.js');
|
|
const resolveFileName = () =>
|
|
// @ts-expect-error
|
|
Module._resolveFilename(moduleId, {
|
|
id: fromFile,
|
|
filename: fromFile,
|
|
// @ts-expect-error
|
|
paths: Module._nodeModulePaths(fromDirectory),
|
|
});
|
|
return resolveFileName();
|
|
};
|
|
exports.resolveFrom = resolveFrom;
|