@@ -168,14 +168,14 @@ namespace ts {
168
168
} ) ;
169
169
170
170
describe ( "can detect when and what to rebuild" , ( ) => {
171
- function initializeWithBuild ( ) {
171
+ function initializeWithBuild ( opts ?: BuildOptions ) {
172
172
const fs = projFs . shadow ( ) ;
173
173
const host = new fakes . SolutionBuilderHost ( fs ) ;
174
174
const builder = createSolutionBuilder ( host , [ "/src/tests" ] , { verbose : true } ) ;
175
175
builder . buildAllProjects ( ) ;
176
176
host . clearDiagnostics ( ) ;
177
177
tick ( ) ;
178
- builder . resetBuildContext ( ) ;
178
+ builder . resetBuildContext ( opts ? { ... opts , verbose : true } : undefined ) ;
179
179
return { fs, host, builder } ;
180
180
}
181
181
@@ -254,6 +254,20 @@ namespace ts {
254
254
[ Diagnostics . Building_project_0 , "/src/tests/tsconfig.json" ] ,
255
255
) ;
256
256
} ) ;
257
+
258
+ it ( "rebuilds from start if --f is passed" , ( ) => {
259
+ const { host, builder } = initializeWithBuild ( { force : true } ) ;
260
+ builder . buildAllProjects ( ) ;
261
+ host . assertDiagnosticMessages (
262
+ getExpectedDiagnosticForProjectsInBuild ( "src/core/tsconfig.json" , "src/logic/tsconfig.json" , "src/tests/tsconfig.json" ) ,
263
+ [ Diagnostics . Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2 , "src/core/tsconfig.json" , "src/core/anotherModule.ts" , "src/core/anotherModule.js" ] ,
264
+ [ Diagnostics . Building_project_0 , "/src/core/tsconfig.json" ] ,
265
+ [ Diagnostics . Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies , "src/logic/tsconfig.json" ] ,
266
+ [ Diagnostics . Building_project_0 , "/src/logic/tsconfig.json" ] ,
267
+ [ Diagnostics . Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies , "src/tests/tsconfig.json" ] ,
268
+ [ Diagnostics . Building_project_0 , "/src/tests/tsconfig.json" ]
269
+ ) ;
270
+ } ) ;
257
271
} ) ;
258
272
259
273
describe ( "downstream-blocked compilations" , ( ) => {
0 commit comments