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

Function verifyProjectReferences

test/fixtures/snapshot/typescript.js:119067–119103  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

119065 return configFileNode && ts.createDiagnosticForNodeInSourceFile(options.configFile, configFileNode, message);
119066 }
119067 function verifyProjectReferences() {
119068 var buildInfoPath = !options.suppressOutputPathCheck ? ts.getTsBuildInfoEmitOutputFilePath(options) : undefined;
119069 forEachProjectReference(projectReferences, resolvedProjectReferences, function (resolvedRef, parent, index) {
119070 var ref = (parent ? parent.commandLine.projectReferences : projectReferences)[index];
119071 var parentFile = parent && parent.sourceFile;
119072 if (!resolvedRef) {
119073 createDiagnosticForReference(parentFile, index, ts.Diagnostics.File_0_not_found, ref.path);
119074 return;
119075 }
119076 var options = resolvedRef.commandLine.options;
119077 if (!options.composite || options.noEmit) {
119078 // ok to not have composite if the current program is container only
119079 var inputs = parent ? parent.commandLine.fileNames : rootNames;
119080 if (inputs.length) {
119081 if (!options.composite)
119082 createDiagnosticForReference(parentFile, index, ts.Diagnostics.Referenced_project_0_must_have_setting_composite_Colon_true, ref.path);
119083 if (options.noEmit)
119084 createDiagnosticForReference(parentFile, index, ts.Diagnostics.Referenced_project_0_may_not_disable_emit, ref.path);
119085 }
119086 }
119087 if (ref.prepend) {
119088 var out = ts.outFile(options);
119089 if (out) {
119090 if (!host.fileExists(out)) {
119091 createDiagnosticForReference(parentFile, index, ts.Diagnostics.Output_file_0_from_project_1_does_not_exist, out, ref.path);
119092 }
119093 }
119094 else {
119095 createDiagnosticForReference(parentFile, index, ts.Diagnostics.Cannot_prepend_project_0_because_it_does_not_have_outFile_set, ref.path);
119096 }
119097 }
119098 if (!parent && buildInfoPath && buildInfoPath === ts.getTsBuildInfoEmitOutputFilePath(options)) {
119099 createDiagnosticForReference(parentFile, index, ts.Diagnostics.Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1, buildInfoPath, ref.path);
119100 hasEmitBlockingDiagnostics.set(toPath(buildInfoPath), true);
119101 }
119102 });
119103 }
119104 function createDiagnosticForOptionPathKeyValue(key, valueIndex, message, arg0, arg1, arg2) {
119105 var needCompilerDiagnostic = true;
119106 var pathsSyntax = getOptionPathsSyntax();

Callers 1

verifyCompilerOptionsFunction · 0.85

Calls 4

forEachProjectReferenceFunction · 0.85
toPathFunction · 0.85
setMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…