@@ -57,11 +57,17 @@ export async function transformFiles(
5757 strict : true ,
5858 } ;
5959
60+ // Merge environment types and custom types
61+ // Store environment types with .d.ts extension for consistent TypeScript resolution
6062 const allTypes : Record < string , string > = {
61- ...envTypesCache ,
6263 ...types ,
6364 } ;
6465
66+ // Add environment types with .d.ts extension
67+ for ( const [ key , value ] of Object . entries ( envTypesCache ) ) {
68+ allTypes [ `${ key } .d.ts` ] = value ;
69+ }
70+
6571 const host : ts . CompilerHost = {
6672 getSourceFile : ( name ) => {
6773 if ( files [ name ] !== undefined ) {
@@ -75,7 +81,7 @@ export async function transformFiles(
7581 if ( name === "lib.d.ts" || name . endsWith ( "/lib.d.ts" ) ) {
7682 return ts . createSourceFile (
7783 name ,
78- allTypes . es2023 || "" ,
84+ allTypes [ " es2023.d.ts" ] || "" ,
7985 compilerOptions . target ! ,
8086 true ,
8187 ) ;
@@ -113,7 +119,7 @@ export async function transformFiles(
113119 readFile : ( name ) => {
114120 if ( files [ name ] ) return files [ name ] ;
115121 if ( name === "lib.d.ts" || name . endsWith ( "/lib.d.ts" ) ) {
116- return allTypes . es2023 ;
122+ return allTypes [ " es2023.d.ts" ] ;
117123 }
118124 if ( allTypes [ name ] ) return allTypes [ name ] ;
119125 const baseName = baseNameFromPath ( name ) ;
@@ -160,7 +166,14 @@ export async function transformFiles(
160166 } ) ,
161167 } ;
162168
163- const program = ts . createProgram ( Object . keys ( files ) , compilerOptions , host ) ;
169+ // Include type definition files in the program so their global declarations are loaded
170+ // This is critical for JSX.IntrinsicElements and other global type augmentations
171+ const typeDefFiles = Object . keys ( allTypes ) . filter ( ( name ) =>
172+ name . endsWith ( ".d.ts" )
173+ ) ;
174+ const rootFiles = [ ...Object . keys ( files ) , ...typeDefFiles ] ;
175+
176+ const program = ts . createProgram ( rootFiles , compilerOptions , host ) ;
164177
165178 if ( logger ) {
166179 const diagnostics = ts . getPreEmitDiagnostics ( program ) ;
0 commit comments