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

Function loadEntrypointsFromExportMap

test/fixtures/snapshot/typescript.js:43693–43745  ·  view source on GitHub ↗
(scope, exports, state, extensions)

Source from the content-addressed store, hash-verified

43691 }
43692 ts.getEntrypointsFromPackageJsonInfo = getEntrypointsFromPackageJsonInfo;
43693 function loadEntrypointsFromExportMap(scope, exports, state, extensions) {
43694 var entrypoints;
43695 if (ts.isArray(exports)) {
43696 for (var _i = 0, exports_1 = exports; _i < exports_1.length; _i++) {
43697 var target = exports_1[_i];
43698 loadEntrypointsFromTargetExports(target);
43699 }
43700 }
43701 // eslint-disable-next-line no-null/no-null
43702 else if (typeof exports === "object" && exports !== null && allKeysStartWithDot(exports)) {
43703 for (var key in exports) {
43704 loadEntrypointsFromTargetExports(exports[key]);
43705 }
43706 }
43707 else {
43708 loadEntrypointsFromTargetExports(exports);
43709 }
43710 return entrypoints;
43711 function loadEntrypointsFromTargetExports(target) {
43712 var _a, _b;
43713 if (typeof target === "string" && ts.startsWith(target, "./") && target.indexOf("*") === -1) {
43714 var partsAfterFirst = ts.getPathComponents(target).slice(2);
43715 if (partsAfterFirst.indexOf("..") >= 0 || partsAfterFirst.indexOf(".") >= 0 || partsAfterFirst.indexOf("node_modules") >= 0) {
43716 return false;
43717 }
43718 var resolvedTarget = ts.combinePaths(scope.packageDirectory, target);
43719 var finalPath = ts.getNormalizedAbsolutePath(resolvedTarget, (_b = (_a = state.host).getCurrentDirectory) === null || _b === void 0 ? void 0 : _b.call(_a));
43720 var result = loadJSOrExactTSFileName(extensions, finalPath, /*recordOnlyFailures*/ false, state);
43721 if (result) {
43722 entrypoints = ts.appendIfUnique(entrypoints, result, function (a, b) { return a.path === b.path; });
43723 return true;
43724 }
43725 }
43726 else if (Array.isArray(target)) {
43727 for (var _i = 0, target_1 = target; _i < target_1.length; _i++) {
43728 var t = target_1[_i];
43729 var success = loadEntrypointsFromTargetExports(t);
43730 if (success) {
43731 return true;
43732 }
43733 }
43734 }
43735 // eslint-disable-next-line no-null/no-null
43736 else if (typeof target === "object" && target !== null) {
43737 return ts.forEach(ts.getOwnKeys(target), function (key) {
43738 if (key === "default" || ts.contains(state.conditions, key) || isApplicableVersionedTypesKey(state.conditions, key)) {
43739 loadEntrypointsFromTargetExports(target[key]);
43740 return true;
43741 }
43742 });
43743 }
43744 }
43745 }
43746 /**
43747 * A function for locating the package.json scope for a given path
43748 */

Callers 1

Calls 2

allKeysStartWithDotFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…