@@ -55,6 +55,7 @@ import {
5555 HostForComputeHash ,
5656 isArray ,
5757 isDeclarationFileName ,
58+ isIncrementalCompilation ,
5859 isJsonSourceFile ,
5960 isNumber ,
6061 isString ,
@@ -376,7 +377,7 @@ function createBuilderProgramState(
376377 }
377378 else {
378379 // We arent using old state, so atleast emit buildInfo with current information
379- state . buildInfoEmitPending = true ;
380+ state . buildInfoEmitPending = isIncrementalCompilation ( compilerOptions ) ;
380381 }
381382
382383 // Update changed files and copy semantic diagnostics if we can
@@ -1184,14 +1185,17 @@ export function isIncrementalBuildInfo(info: BuildInfo): info is IncrementalBuil
11841185/**
11851186 * Gets the program information to be emitted in buildInfo so that we can use it to create new program
11861187 */
1187- function getBuildInfo ( state : BuilderProgramStateWithDefinedProgram ) : IncrementalBuildInfo {
1188+ function getBuildInfo ( state : BuilderProgramStateWithDefinedProgram ) : BuildInfo {
11881189 const currentDirectory = state . program . getCurrentDirectory ( ) ;
11891190 const buildInfoDirectory = getDirectoryPath ( getNormalizedAbsolutePath ( getTsBuildInfoEmitOutputFilePath ( state . compilerOptions ) ! , currentDirectory ) ) ;
11901191 // Convert the file name to Path here if we set the fileName instead to optimize multiple d.ts file emits and having to compute Canonical path
11911192 const latestChangedDtsFile = state . latestChangedDtsFile ? relativeToBuildInfoEnsuringAbsolutePath ( state . latestChangedDtsFile ) : undefined ;
11921193 const fileNames : string [ ] = [ ] ;
11931194 const fileNameToFileId = new Map < string , IncrementalBuildInfoFileId > ( ) ;
11941195 const rootFileNames = new Set ( state . program . getRootFileNames ( ) . map ( f => toPath ( f , currentDirectory , state . program . getCanonicalFileName ) ) ) ;
1196+
1197+ if ( ! isIncrementalCompilation ( state . compilerOptions ) ) return { version } ;
1198+
11951199 const root : IncrementalBuildInfoRoot [ ] = [ ] ;
11961200 if ( state . compilerOptions . outFile ) {
11971201 // Copy all fileInfo, version and impliedFormat
@@ -1204,7 +1208,7 @@ function getBuildInfo(state: BuilderProgramStateWithDefinedProgram): Incremental
12041208 { version : value . version , impliedFormat : value . impliedFormat , signature : undefined , affectsGlobalScope : undefined } :
12051209 value . version ;
12061210 } ) ;
1207- return {
1211+ const buildInfo : IncrementalBundleEmitBuildInfo = {
12081212 fileNames,
12091213 fileInfos,
12101214 root,
@@ -1221,7 +1225,8 @@ function getBuildInfo(state: BuilderProgramStateWithDefinedProgram): Incremental
12211225 false : // Pending emit is same as deteremined by compilerOptions
12221226 state . programEmitPending , // Actual value
12231227 version,
1224- } satisfies IncrementalBundleEmitBuildInfo ;
1228+ } ;
1229+ return buildInfo ;
12251230 }
12261231
12271232 let fileIdsList : ( readonly IncrementalBuildInfoFileId [ ] ) [ ] | undefined ;
@@ -1295,7 +1300,7 @@ function getBuildInfo(state: BuilderProgramStateWithDefinedProgram): Incremental
12951300 }
12961301 }
12971302
1298- return {
1303+ const buildInfo : IncrementalMultiFileEmitBuildInfo = {
12991304 fileNames,
13001305 fileIdsList,
13011306 fileInfos,
@@ -1310,7 +1315,8 @@ function getBuildInfo(state: BuilderProgramStateWithDefinedProgram): Incremental
13101315 emitSignatures,
13111316 latestChangedDtsFile,
13121317 version,
1313- } satisfies IncrementalMultiFileEmitBuildInfo ;
1318+ } ;
1319+ return buildInfo ;
13141320
13151321 function relativeToBuildInfoEnsuringAbsolutePath ( path : string ) {
13161322 return relativeToBuildInfo ( getNormalizedAbsolutePath ( path , currentDirectory ) ) ;
0 commit comments