(packageJsonInfo, options, host, cache, resolveJs)
| 43652 | } |
| 43653 | /* @internal */ |
| 43654 | function getEntrypointsFromPackageJsonInfo(packageJsonInfo, options, host, cache, resolveJs) { |
| 43655 | if (!resolveJs && packageJsonInfo.resolvedEntrypoints !== undefined) { |
| 43656 | // Cached value excludes resolutions to JS files - those could be |
| 43657 | // cached separately, but they're used rarely. |
| 43658 | return packageJsonInfo.resolvedEntrypoints; |
| 43659 | } |
| 43660 | var entrypoints; |
| 43661 | var extensions = resolveJs ? Extensions.JavaScript : Extensions.TypeScript; |
| 43662 | var features = getDefaultNodeResolutionFeatures(options); |
| 43663 | var requireState = { |
| 43664 | compilerOptions: options, |
| 43665 | host: host, |
| 43666 | traceEnabled: isTraceEnabled(options, host), |
| 43667 | failedLookupLocations: [], |
| 43668 | packageJsonInfoCache: cache === null || cache === void 0 ? void 0 : cache.getPackageJsonInfoCache(), |
| 43669 | conditions: ["node", "require", "types"], |
| 43670 | features: features, |
| 43671 | requestContainingDirectory: packageJsonInfo.packageDirectory, |
| 43672 | reportDiagnostic: ts.noop |
| 43673 | }; |
| 43674 | var requireResolution = loadNodeModuleFromDirectoryWorker(extensions, packageJsonInfo.packageDirectory, |
| 43675 | /*onlyRecordFailures*/ false, requireState, packageJsonInfo.packageJsonContent, packageJsonInfo.versionPaths); |
| 43676 | entrypoints = ts.append(entrypoints, requireResolution === null || requireResolution === void 0 ? void 0 : requireResolution.path); |
| 43677 | if (features & NodeResolutionFeatures.Exports && packageJsonInfo.packageJsonContent.exports) { |
| 43678 | for (var _i = 0, _a = [["node", "import", "types"], ["node", "require", "types"]]; _i < _a.length; _i++) { |
| 43679 | var conditions = _a[_i]; |
| 43680 | var exportState = __assign(__assign({}, requireState), { failedLookupLocations: [], conditions: conditions }); |
| 43681 | var exportResolutions = loadEntrypointsFromExportMap(packageJsonInfo, packageJsonInfo.packageJsonContent.exports, exportState, extensions); |
| 43682 | if (exportResolutions) { |
| 43683 | for (var _b = 0, exportResolutions_1 = exportResolutions; _b < exportResolutions_1.length; _b++) { |
| 43684 | var resolution = exportResolutions_1[_b]; |
| 43685 | entrypoints = ts.appendIfUnique(entrypoints, resolution.path); |
| 43686 | } |
| 43687 | } |
| 43688 | } |
| 43689 | } |
| 43690 | return packageJsonInfo.resolvedEntrypoints = entrypoints || false; |
| 43691 | } |
| 43692 | ts.getEntrypointsFromPackageJsonInfo = getEntrypointsFromPackageJsonInfo; |
| 43693 | function loadEntrypointsFromExportMap(scope, exports, state, extensions) { |
| 43694 | var entrypoints; |
nothing calls this directly
no test coverage detected