MCPcopy Index your code
hub / github.com/nodejs/node / loadModuleFromExports

Function loadModuleFromExports

test/fixtures/snapshot/typescript.js:43945–43978  ·  view source on GitHub ↗
(scope, extensions, subpath, state, cache, redirectedReference)

Source from the content-addressed store, hash-verified

43943 return loadModuleFromExports(scope, extensions, !ts.length(trailingParts) ? "." : ".".concat(ts.directorySeparator).concat(trailingParts.join(ts.directorySeparator)), state, cache, redirectedReference);
43944 }
43945 function loadModuleFromExports(scope, extensions, subpath, state, cache, redirectedReference) {
43946 if (!scope.packageJsonContent.exports) {
43947 return undefined;
43948 }
43949 if (subpath === ".") {
43950 var mainExport = void 0;
43951 if (typeof scope.packageJsonContent.exports === "string" || Array.isArray(scope.packageJsonContent.exports) || (typeof scope.packageJsonContent.exports === "object" && noKeyStartsWithDot(scope.packageJsonContent.exports))) {
43952 mainExport = scope.packageJsonContent.exports;
43953 }
43954 else if (ts.hasProperty(scope.packageJsonContent.exports, ".")) {
43955 mainExport = scope.packageJsonContent.exports["."];
43956 }
43957 if (mainExport) {
43958 var loadModuleFromTargetImportOrExport = getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirectedReference, subpath, scope, /*isImports*/ false);
43959 return loadModuleFromTargetImportOrExport(mainExport, "", /*pattern*/ false);
43960 }
43961 }
43962 else if (allKeysStartWithDot(scope.packageJsonContent.exports)) {
43963 if (typeof scope.packageJsonContent.exports !== "object") {
43964 if (state.traceEnabled) {
43965 trace(state.host, ts.Diagnostics.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1, subpath, scope.packageDirectory);
43966 }
43967 return toSearchResult(/*value*/ undefined);
43968 }
43969 var result = loadModuleFromImportsOrExports(extensions, state, cache, redirectedReference, subpath, scope.packageJsonContent.exports, scope, /*isImports*/ false);
43970 if (result) {
43971 return result;
43972 }
43973 }
43974 if (state.traceEnabled) {
43975 trace(state.host, ts.Diagnostics.Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1, subpath, scope.packageDirectory);
43976 }
43977 return toSearchResult(/*value*/ undefined);
43978 }
43979 function loadModuleFromImports(extensions, moduleName, directory, state, cache, redirectedReference) {
43980 var _a, _b;
43981 if (moduleName === "#" || ts.startsWith(moduleName, "#/")) {

Callers 2

loaderFunction · 0.85

Calls 7

noKeyStartsWithDotFunction · 0.85
allKeysStartWithDotFunction · 0.85
traceFunction · 0.85
toSearchResultFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…