Skip to content

Commit 73bb862

Browse files
committed
Dont create program for composite projects to find default project
1 parent 9d22523 commit 73bb862

File tree

1,056 files changed

+17401
-20514
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,056 files changed

+17401
-20514
lines changed

src/compiler/commandLineParser.ts

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3233,13 +3233,25 @@ function shouldReportNoInputFiles(fileNames: string[], canJsonReportNoInutFiles:
32333233
return fileNames.length === 0 && canJsonReportNoInutFiles && (!resolutionStack || resolutionStack.length === 0);
32343234
}
32353235

3236+
/** @internal */
3237+
export function isSolutionConfig(config: ParsedCommandLine) {
3238+
return !config.fileNames.length &&
3239+
hasProperty(config.raw, "references");
3240+
}
3241+
32363242
/** @internal */
32373243
export function canJsonReportNoInputFiles(raw: any) {
32383244
return !hasProperty(raw, "files") && !hasProperty(raw, "references");
32393245
}
32403246

32413247
/** @internal */
3242-
export function updateErrorForNoInputFiles(fileNames: string[], configFileName: string, configFileSpecs: ConfigFileSpecs, configParseDiagnostics: Diagnostic[], canJsonReportNoInutFiles: boolean) {
3248+
export function updateErrorForNoInputFiles(
3249+
fileNames: string[],
3250+
configFileName: string,
3251+
configFileSpecs: ConfigFileSpecs,
3252+
configParseDiagnostics: Diagnostic[],
3253+
canJsonReportNoInutFiles: boolean,
3254+
) {
32433255
const existingErrors = configParseDiagnostics.length;
32443256
if (shouldReportNoInputFiles(fileNames, canJsonReportNoInutFiles)) {
32453257
configParseDiagnostics.push(getErrorForNoInputFiles(configFileSpecs, configFileName));
@@ -3936,7 +3948,8 @@ export function matchesExclude(
39363948
);
39373949
}
39383950

3939-
function matchesExcludeWorker(
3951+
/** @internal */
3952+
export function matchesExcludeWorker(
39403953
pathToCheck: string,
39413954
excludeSpecs: readonly string[] | undefined,
39423955
useCaseSensitiveFileNames: boolean,

src/compiler/tsbuildPublic.ts

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ import {
7979
isIncrementalBuildInfo,
8080
isIncrementalCompilation,
8181
isPackageJsonInfo,
82+
isSolutionConfig,
8283
loadWithModeAwareCache,
8384
maybeBind,
8485
missingFileModifiedTime,
@@ -1223,7 +1224,13 @@ function getNextInvalidatedProjectCreateInfo<T extends BuilderProgram>(
12231224
else if (updateLevel === ProgramUpdateLevel.RootNamesAndUpdate) {
12241225
// Update file names
12251226
config.fileNames = getFileNamesFromConfigSpecs(config.options.configFile!.configFileSpecs!, getDirectoryPath(project), config.options, state.parseConfigFileHost);
1226-
updateErrorForNoInputFiles(config.fileNames, project, config.options.configFile!.configFileSpecs!, config.errors, canJsonReportNoInputFiles(config.raw));
1227+
updateErrorForNoInputFiles(
1228+
config.fileNames,
1229+
project,
1230+
config.options.configFile!.configFileSpecs!,
1231+
config.errors,
1232+
canJsonReportNoInputFiles(config.raw),
1233+
);
12271234
watchInputFiles(state, project, projectPath, config);
12281235
watchPackageJsonFiles(state, project, projectPath, config);
12291236
}
@@ -1448,11 +1455,7 @@ function checkConfigFileUpToDateStatus<T extends BuilderProgram>(state: Solution
14481455

14491456
function getUpToDateStatusWorker<T extends BuilderProgram>(state: SolutionBuilderState<T>, project: ParsedCommandLine, resolvedPath: ResolvedConfigFilePath): UpToDateStatus {
14501457
// Container if no files are specified in the project
1451-
if (!project.fileNames.length && !canJsonReportNoInputFiles(project.raw)) {
1452-
return {
1453-
type: UpToDateStatusType.ContainerOnly,
1454-
};
1455-
}
1458+
if (isSolutionConfig(project)) return { type: UpToDateStatusType.ContainerOnly };
14561459

14571460
// Fast check to see if reference projects are upto date and error free
14581461
let referenceStatuses;

src/compiler/watchPublic.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -912,7 +912,15 @@ export function createWatchProgram<T extends BuilderProgram>(host: WatchCompiler
912912

913913
updateLevel = ProgramUpdateLevel.Update;
914914
rootFileNames = getFileNamesFromConfigSpecs(compilerOptions.configFile!.configFileSpecs!, getNormalizedAbsolutePath(getDirectoryPath(configFileName), currentDirectory), compilerOptions, parseConfigFileHost, extraFileExtensions);
915-
if (updateErrorForNoInputFiles(rootFileNames, getNormalizedAbsolutePath(configFileName, currentDirectory), compilerOptions.configFile!.configFileSpecs!, configFileParsingDiagnostics!, canConfigFileJsonReportNoInputFiles)) {
915+
if (
916+
updateErrorForNoInputFiles(
917+
rootFileNames,
918+
getNormalizedAbsolutePath(configFileName, currentDirectory),
919+
compilerOptions.configFile!.configFileSpecs!,
920+
configFileParsingDiagnostics!,
921+
canConfigFileJsonReportNoInputFiles,
922+
)
923+
) {
916924
hasChangedConfigFileParsingErrors = true;
917925
}
918926

0 commit comments

Comments
 (0)