@@ -242,6 +242,13 @@ namespace ts {
242
242
export type ReportEmitErrorSummary = ( errorCount : number ) => void ;
243
243
244
244
export interface SolutionBuilderHostBase < T extends BuilderProgram > extends ProgramHost < T > {
245
+ createDirectory ?( path : string ) : void ;
246
+ /**
247
+ * Should provide create directory and writeFile if done of invalidatedProjects is not invoked with
248
+ * writeFileCallback
249
+ */
250
+ writeFile ?( path : string , data : string , writeByteOrderMark ?: boolean ) : void ;
251
+
245
252
getModifiedTime ( fileName : string ) : Date | undefined ;
246
253
setModifiedTime ( fileName : string , date : Date ) : void ;
247
254
deleteFile ( fileName : string ) : void ;
@@ -673,7 +680,7 @@ namespace ts {
673
680
/**
674
681
* To dispose this project and ensure that all the necessary actions are taken and state is updated accordingly
675
682
*/
676
- done ( cancellationToken ?: CancellationToken ) : ExitStatus ;
683
+ done ( cancellationToken ?: CancellationToken , writeFile ?: WriteFileCallback , customTransformers ?: CustomTransformers ) : ExitStatus ;
677
684
getCompilerOptions ( ) : CompilerOptions ;
678
685
getCurrentDirectory ( ) : string ;
679
686
}
@@ -861,8 +868,8 @@ namespace ts {
861
868
done,
862
869
} ;
863
870
864
- function done ( cancellationToken ?: CancellationToken ) {
865
- executeSteps ( Step . Done , cancellationToken ) ;
871
+ function done ( cancellationToken ?: CancellationToken , writeFile ?: WriteFileCallback , customTransformers ?: CustomTransformers ) {
872
+ executeSteps ( Step . Done , cancellationToken , writeFile , customTransformers ) ;
866
873
return doneInvalidatedProject ( state , projectPath ) ;
867
874
}
868
875
@@ -1127,7 +1134,7 @@ namespace ts {
1127
1134
return { emitSkipped : false , diagnostics : emitDiagnostics } ;
1128
1135
}
1129
1136
1130
- function executeSteps ( till : Step , cancellationToken ?: CancellationToken ) {
1137
+ function executeSteps ( till : Step , cancellationToken ?: CancellationToken , writeFile ?: WriteFileCallback , customTransformers ?: CustomTransformers ) {
1131
1138
while ( step <= till && step < Step . Done ) {
1132
1139
const currentStep = step ;
1133
1140
switch ( step ) {
@@ -1144,11 +1151,11 @@ namespace ts {
1144
1151
break ;
1145
1152
1146
1153
case Step . Emit :
1147
- emit ( /*writeFileCallback*/ undefined , cancellationToken ) ;
1154
+ emit ( writeFile , cancellationToken , customTransformers ) ;
1148
1155
break ;
1149
1156
1150
1157
case Step . EmitBundle :
1151
- emitBundle ( ) ;
1158
+ emitBundle ( writeFile , customTransformers ) ;
1152
1159
break ;
1153
1160
1154
1161
case Step . BuildInvalidatedProjectOfBundle :
0 commit comments