@@ -127196,7 +127196,7 @@ function createCreateProgramOptions(rootNames, options, host, oldProgram, config
127196127196 };
127197127197}
127198127198function createProgram(_rootNamesOrOptions, _options, _host, _oldProgram, _configFileParsingDiagnostics) {
127199- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;
127199+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q ;
127200127200 let _createProgramOptions = isArray(_rootNamesOrOptions) ? createCreateProgramOptions(_rootNamesOrOptions, _options, _host, _oldProgram, _configFileParsingDiagnostics) : _rootNamesOrOptions;
127201127201 const { rootNames, options, configFileParsingDiagnostics, projectReferences, typeScriptVersion: typeScriptVersion2, host: createProgramOptionsHost } = _createProgramOptions;
127202127202 let { oldProgram } = _createProgramOptions;
@@ -127331,6 +127331,8 @@ function createProgram(_rootNamesOrOptions, _options, _host, _oldProgram, _confi
127331127331 let redirectTargetsMap = createMultiMap();
127332127332 let usesUriStyleNodeCoreModules;
127333127333 const filesByName = /* @__PURE__ */ new Map();
127334+ let shouldLoadNodeTypes = false;
127335+ let foundNodeTypes = false;
127334127336 let missingFileNames = /* @__PURE__ */ new Map();
127335127337 const filesByNameIgnoreCase = host.useCaseSensitiveFileNames() ? /* @__PURE__ */ new Map() : void 0;
127336127338 let resolvedProjectReferences;
@@ -127438,13 +127440,6 @@ function createProgram(_rootNamesOrOptions, _options, _host, _oldProgram, _confi
127438127440 );
127439127441 } else {
127440127442 forEach(options.lib, (libFileName, index) => {
127441- if (libFileName === "lib.node.d.ts") {
127442- for (const path of filesByName.keys()) {
127443- if (deno_exports.isTypesNodePkgPath(path)) {
127444- return;
127445- }
127446- }
127447- }
127448127443 processRootFile(
127449127444 pathForLibFile(libFileName),
127450127445 /*isDefaultLib*/
@@ -127456,6 +127451,25 @@ function createProgram(_rootNamesOrOptions, _options, _host, _oldProgram, _confi
127456127451 });
127457127452 }
127458127453 }
127454+ const hasTypesNodePackage = () => {
127455+ for (const path of filesByName.keys()) {
127456+ if (deno_exports.isTypesNodePkgPath(path)) {
127457+ return true;
127458+ }
127459+ }
127460+ return false;
127461+ };
127462+ if (foundNodeTypes && !hasTypesNodePackage()) {
127463+ shouldLoadNodeTypes = true;
127464+ processRootFile(
127465+ "asset:///lib.node.d.ts",
127466+ /*isDefaultLib*/
127467+ true,
127468+ /*ignoreNoDefaultLib*/
127469+ false,
127470+ { kind: 6 /* LibFile */, index: ((_o = options.lib) == null ? void 0 : _o.length) ?? 0 }
127471+ );
127472+ }
127459127473 files = toSorted(processingDefaultLibFiles, compareDefaultLibFiles).concat(processingOtherFiles);
127460127474 processingDefaultLibFiles = void 0;
127461127475 processingOtherFiles = void 0;
@@ -127576,7 +127590,7 @@ function createProgram(_rootNamesOrOptions, _options, _host, _oldProgram, _confi
127576127590 readFile,
127577127591 directoryExists,
127578127592 getSymlinkCache,
127579- realpath: (_o = host.realpath) == null ? void 0 : _o .bind(host),
127593+ realpath: (_p = host.realpath) == null ? void 0 : _p .bind(host),
127580127594 useCaseSensitiveFileNames: () => host.useCaseSensitiveFileNames(),
127581127595 getCanonicalFileName,
127582127596 getFileIncludeReasons: () => programDiagnostics.getFileReasons(),
@@ -127590,7 +127604,7 @@ function createProgram(_rootNamesOrOptions, _options, _host, _oldProgram, _confi
127590127604 }
127591127605 mark("afterProgram");
127592127606 measure("Program", "beforeProgram", "afterProgram");
127593- (_p = tracing) == null ? void 0 : _p .pop();
127607+ (_q = tracing) == null ? void 0 : _q .pop();
127594127608 return program;
127595127609 function getResolvedModule(file, moduleName, mode) {
127596127610 var _a2;
@@ -128812,6 +128826,10 @@ function createProgram(_rootNamesOrOptions, _options, _host, _oldProgram, _confi
128812128826 }
128813128827 }
128814128828 function processSourceFile(fileName, isDefaultLib, ignoreNoDefaultLib, packageId, reason) {
128829+ if (fileName === "asset:///lib.node.d.ts" && !shouldLoadNodeTypes) {
128830+ foundNodeTypes = true;
128831+ return;
128832+ }
128815128833 getSourceFileFromReferenceWorker(
128816128834 fileName,
128817128835 (fileName2) => findSourceFile(fileName2, isDefaultLib, ignoreNoDefaultLib, reason, packageId),
0 commit comments