MCPcopy Index your code
hub / github.com/nodejs/node / getNextInvalidatedProject

Function getNextInvalidatedProject

test/fixtures/snapshot/typescript.js:124800–124881  ·  view source on GitHub ↗
(state, buildOrder, reportQueue)

Source from the content-addressed store, hash-verified

124798 !ts.isIncrementalCompilation(config.options);
124799 }
124800 function getNextInvalidatedProject(state, buildOrder, reportQueue) {
124801 if (!state.projectPendingBuild.size)
124802 return undefined;
124803 if (isCircularBuildOrder(buildOrder))
124804 return undefined;
124805 if (state.currentInvalidatedProject) {
124806 // Only if same buildOrder the currentInvalidated project can be sent again
124807 return ts.arrayIsEqualTo(state.currentInvalidatedProject.buildOrder, buildOrder) ?
124808 state.currentInvalidatedProject :
124809 undefined;
124810 }
124811 var options = state.options, projectPendingBuild = state.projectPendingBuild;
124812 for (var projectIndex = 0; projectIndex < buildOrder.length; projectIndex++) {
124813 var project = buildOrder[projectIndex];
124814 var projectPath = toResolvedConfigFilePath(state, project);
124815 var reloadLevel = state.projectPendingBuild.get(projectPath);
124816 if (reloadLevel === undefined)
124817 continue;
124818 if (reportQueue) {
124819 reportQueue = false;
124820 reportBuildQueue(state, buildOrder);
124821 }
124822 var config = parseConfigFile(state, project, projectPath);
124823 if (!config) {
124824 reportParseConfigFileDiagnostic(state, projectPath);
124825 projectPendingBuild.delete(projectPath);
124826 continue;
124827 }
124828 if (reloadLevel === ts.ConfigFileProgramReloadLevel.Full) {
124829 watchConfigFile(state, project, projectPath, config);
124830 watchExtendedConfigFiles(state, projectPath, config);
124831 watchWildCardDirectories(state, project, projectPath, config);
124832 watchInputFiles(state, project, projectPath, config);
124833 watchPackageJsonFiles(state, project, projectPath, config);
124834 }
124835 else if (reloadLevel === ts.ConfigFileProgramReloadLevel.Partial) {
124836 // Update file names
124837 config.fileNames = ts.getFileNamesFromConfigSpecs(config.options.configFile.configFileSpecs, ts.getDirectoryPath(project), config.options, state.parseConfigFileHost);
124838 ts.updateErrorForNoInputFiles(config.fileNames, project, config.options.configFile.configFileSpecs, config.errors, ts.canJsonReportNoInputFiles(config.raw));
124839 watchInputFiles(state, project, projectPath, config);
124840 watchPackageJsonFiles(state, project, projectPath, config);
124841 }
124842 var status = getUpToDateStatus(state, config, projectPath);
124843 verboseReportProjectStatus(state, project, status);
124844 if (!options.force) {
124845 if (status.type === ts.UpToDateStatusType.UpToDate) {
124846 reportAndStoreErrors(state, projectPath, ts.getConfigFileParsingDiagnostics(config));
124847 projectPendingBuild.delete(projectPath);
124848 // Up to date, skip
124849 if (options.dry) {
124850 // In a dry build, inform the user of this fact
124851 reportStatus(state, ts.Diagnostics.Project_0_is_up_to_date, project);
124852 }
124853 continue;
124854 }
124855 if (status.type === ts.UpToDateStatusType.UpToDateWithUpstreamTypes) {
124856 reportAndStoreErrors(state, projectPath, ts.getConfigFileParsingDiagnostics(config));
124857 return createUpdateOutputFileStampsProject(state, project, projectPath, config, buildOrder);

Callers 3

buildFunction · 0.85

Calls 15

isCircularBuildOrderFunction · 0.85
toResolvedConfigFilePathFunction · 0.85
reportBuildQueueFunction · 0.85
parseConfigFileFunction · 0.85
watchConfigFileFunction · 0.85
watchExtendedConfigFilesFunction · 0.85
watchWildCardDirectoriesFunction · 0.85
watchInputFilesFunction · 0.85
watchPackageJsonFilesFunction · 0.85
getUpToDateStatusFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…