(state, configFileName, status)
| 125533 | } |
| 125534 | } |
| 125535 | function reportUpToDateStatus(state, configFileName, status) { |
| 125536 | if (state.options.force && (status.type === ts.UpToDateStatusType.UpToDate || status.type === ts.UpToDateStatusType.UpToDateWithUpstreamTypes)) { |
| 125537 | return reportStatus(state, ts.Diagnostics.Project_0_is_being_forcibly_rebuilt, relName(state, configFileName)); |
| 125538 | } |
| 125539 | switch (status.type) { |
| 125540 | case ts.UpToDateStatusType.OutOfDateWithSelf: |
| 125541 | return reportStatus(state, ts.Diagnostics.Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2, relName(state, configFileName), relName(state, status.outOfDateOutputFileName), relName(state, status.newerInputFileName)); |
| 125542 | case ts.UpToDateStatusType.OutOfDateWithUpstream: |
| 125543 | return reportStatus(state, ts.Diagnostics.Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2, relName(state, configFileName), relName(state, status.outOfDateOutputFileName), relName(state, status.newerProjectName)); |
| 125544 | case ts.UpToDateStatusType.OutputMissing: |
| 125545 | return reportStatus(state, ts.Diagnostics.Project_0_is_out_of_date_because_output_file_1_does_not_exist, relName(state, configFileName), relName(state, status.missingOutputFileName)); |
| 125546 | case ts.UpToDateStatusType.UpToDate: |
| 125547 | if (status.newestInputFileTime !== undefined) { |
| 125548 | return reportStatus(state, ts.Diagnostics.Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2, relName(state, configFileName), relName(state, status.newestInputFileName || ""), relName(state, status.oldestOutputFileName || "")); |
| 125549 | } |
| 125550 | // Don't report anything for "up to date because it was already built" -- too verbose |
| 125551 | break; |
| 125552 | case ts.UpToDateStatusType.OutOfDateWithPrepend: |
| 125553 | return reportStatus(state, ts.Diagnostics.Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed, relName(state, configFileName), relName(state, status.newerProjectName)); |
| 125554 | case ts.UpToDateStatusType.UpToDateWithUpstreamTypes: |
| 125555 | return reportStatus(state, ts.Diagnostics.Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies, relName(state, configFileName)); |
| 125556 | case ts.UpToDateStatusType.UpstreamOutOfDate: |
| 125557 | return reportStatus(state, ts.Diagnostics.Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date, relName(state, configFileName), relName(state, status.upstreamProjectName)); |
| 125558 | case ts.UpToDateStatusType.UpstreamBlocked: |
| 125559 | return reportStatus(state, status.upstreamProjectBlocked ? |
| 125560 | ts.Diagnostics.Project_0_can_t_be_built_because_its_dependency_1_was_not_built : |
| 125561 | ts.Diagnostics.Project_0_can_t_be_built_because_its_dependency_1_has_errors, relName(state, configFileName), relName(state, status.upstreamProjectName)); |
| 125562 | case ts.UpToDateStatusType.Unbuildable: |
| 125563 | return reportStatus(state, ts.Diagnostics.Failed_to_parse_file_0_Colon_1, relName(state, configFileName), status.reason); |
| 125564 | case ts.UpToDateStatusType.TsVersionOutputOfDate: |
| 125565 | return reportStatus(state, ts.Diagnostics.Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_current_version_2, relName(state, configFileName), status.version, ts.version); |
| 125566 | case ts.UpToDateStatusType.ContainerOnly: |
| 125567 | // Don't report status on "solution" projects |
| 125568 | // falls through |
| 125569 | case ts.UpToDateStatusType.ComputingUpstream: |
| 125570 | // Should never leak from getUptoDateStatusWorker |
| 125571 | break; |
| 125572 | default: |
| 125573 | ts.assertType(status); |
| 125574 | } |
| 125575 | } |
| 125576 | /** |
| 125577 | * Report the up-to-date status of a project if we're in verbose mode |
| 125578 | */ |
no test coverage detected