typescript 5.3.0-dev.20231009 → 5.3.0-dev.20231011
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/tsc.js +168 -76
- package/lib/tsserver.js +265 -179
- package/lib/typescript.d.ts +15 -3
- package/lib/typescript.js +265 -179
- package/lib/typingsInstaller.js +39 -16
- package/package.json +4 -3
package/lib/typescript.js
CHANGED
|
@@ -35,7 +35,7 @@ var ts = (() => {
|
|
|
35
35
|
"src/compiler/corePublic.ts"() {
|
|
36
36
|
"use strict";
|
|
37
37
|
versionMajorMinor = "5.3";
|
|
38
|
-
version = `${versionMajorMinor}.0-dev.
|
|
38
|
+
version = `${versionMajorMinor}.0-dev.20231011`;
|
|
39
39
|
Comparison = /* @__PURE__ */ ((Comparison3) => {
|
|
40
40
|
Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
|
|
41
41
|
Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
|
|
@@ -14864,6 +14864,7 @@ ${lanes.join("\n")}
|
|
|
14864
14864
|
true
|
|
14865
14865
|
))) == null ? void 0 : _a.arguments[0];
|
|
14866
14866
|
case 272 /* ImportDeclaration */:
|
|
14867
|
+
case 278 /* ExportDeclaration */:
|
|
14867
14868
|
return tryCast(node.moduleSpecifier, isStringLiteralLike);
|
|
14868
14869
|
case 271 /* ImportEqualsDeclaration */:
|
|
14869
14870
|
return tryCast((_b = tryCast(node.moduleReference, isExternalModuleReference)) == null ? void 0 : _b.expression, isStringLiteralLike);
|
|
@@ -14875,6 +14876,8 @@ ${lanes.join("\n")}
|
|
|
14875
14876
|
return tryCast(node.parent.parent.moduleSpecifier, isStringLiteralLike);
|
|
14876
14877
|
case 276 /* ImportSpecifier */:
|
|
14877
14878
|
return tryCast(node.parent.parent.parent.moduleSpecifier, isStringLiteralLike);
|
|
14879
|
+
case 205 /* ImportType */:
|
|
14880
|
+
return isLiteralImportTypeNode(node) ? node.argument.literal : void 0;
|
|
14878
14881
|
default:
|
|
14879
14882
|
Debug.assertNever(node);
|
|
14880
14883
|
}
|
|
@@ -39250,7 +39253,7 @@ ${lanes.join("\n")}
|
|
|
39250
39253
|
Debug.assert(extensionIsTS(resolved.extension));
|
|
39251
39254
|
return { fileName: resolved.path, packageId: resolved.packageId };
|
|
39252
39255
|
}
|
|
39253
|
-
function createResolvedModuleWithFailedLookupLocationsHandlingSymlink(moduleName, resolved, isExternalLibraryImport, failedLookupLocations, affectingLocations, diagnostics, state, legacyResult) {
|
|
39256
|
+
function createResolvedModuleWithFailedLookupLocationsHandlingSymlink(moduleName, resolved, isExternalLibraryImport, failedLookupLocations, affectingLocations, diagnostics, state, cache, legacyResult) {
|
|
39254
39257
|
if (!state.resultFromCache && !state.compilerOptions.preserveSymlinks && resolved && isExternalLibraryImport && !resolved.originalPath && !isExternalModuleNameRelative(moduleName)) {
|
|
39255
39258
|
const { resolvedFileName, originalPath } = getOriginalAndResolvedFileName(resolved.path, state.host, state.traceEnabled);
|
|
39256
39259
|
if (originalPath)
|
|
@@ -39263,15 +39266,25 @@ ${lanes.join("\n")}
|
|
|
39263
39266
|
affectingLocations,
|
|
39264
39267
|
diagnostics,
|
|
39265
39268
|
state.resultFromCache,
|
|
39269
|
+
cache,
|
|
39266
39270
|
legacyResult
|
|
39267
39271
|
);
|
|
39268
39272
|
}
|
|
39269
|
-
function createResolvedModuleWithFailedLookupLocations(resolved, isExternalLibraryImport, failedLookupLocations, affectingLocations, diagnostics, resultFromCache, legacyResult) {
|
|
39273
|
+
function createResolvedModuleWithFailedLookupLocations(resolved, isExternalLibraryImport, failedLookupLocations, affectingLocations, diagnostics, resultFromCache, cache, legacyResult) {
|
|
39270
39274
|
if (resultFromCache) {
|
|
39271
|
-
|
|
39272
|
-
|
|
39273
|
-
|
|
39274
|
-
|
|
39275
|
+
if (!(cache == null ? void 0 : cache.isReadonly)) {
|
|
39276
|
+
resultFromCache.failedLookupLocations = updateResolutionField(resultFromCache.failedLookupLocations, failedLookupLocations);
|
|
39277
|
+
resultFromCache.affectingLocations = updateResolutionField(resultFromCache.affectingLocations, affectingLocations);
|
|
39278
|
+
resultFromCache.resolutionDiagnostics = updateResolutionField(resultFromCache.resolutionDiagnostics, diagnostics);
|
|
39279
|
+
return resultFromCache;
|
|
39280
|
+
} else {
|
|
39281
|
+
return {
|
|
39282
|
+
...resultFromCache,
|
|
39283
|
+
failedLookupLocations: initializeResolutionFieldForReadonlyCache(resultFromCache.failedLookupLocations, failedLookupLocations),
|
|
39284
|
+
affectingLocations: initializeResolutionFieldForReadonlyCache(resultFromCache.affectingLocations, affectingLocations),
|
|
39285
|
+
resolutionDiagnostics: initializeResolutionFieldForReadonlyCache(resultFromCache.resolutionDiagnostics, diagnostics)
|
|
39286
|
+
};
|
|
39287
|
+
}
|
|
39275
39288
|
}
|
|
39276
39289
|
return {
|
|
39277
39290
|
resolvedModule: resolved && {
|
|
@@ -39299,6 +39312,13 @@ ${lanes.join("\n")}
|
|
|
39299
39312
|
to.push(...value);
|
|
39300
39313
|
return to;
|
|
39301
39314
|
}
|
|
39315
|
+
function initializeResolutionFieldForReadonlyCache(fromCache, value) {
|
|
39316
|
+
if (!(fromCache == null ? void 0 : fromCache.length))
|
|
39317
|
+
return initializeResolutionField(value);
|
|
39318
|
+
if (!value.length)
|
|
39319
|
+
return fromCache.slice();
|
|
39320
|
+
return [...fromCache, ...value];
|
|
39321
|
+
}
|
|
39302
39322
|
function readPackageJsonField(jsonContent, fieldName, typeOfTag, state) {
|
|
39303
39323
|
if (!hasProperty(jsonContent, fieldName)) {
|
|
39304
39324
|
if (state.traceEnabled) {
|
|
@@ -39524,15 +39544,15 @@ ${lanes.join("\n")}
|
|
|
39524
39544
|
affectingLocations: initializeResolutionField(affectingLocations),
|
|
39525
39545
|
resolutionDiagnostics: initializeResolutionField(diagnostics)
|
|
39526
39546
|
};
|
|
39527
|
-
if (containingDirectory) {
|
|
39528
|
-
cache
|
|
39547
|
+
if (containingDirectory && cache && !cache.isReadonly) {
|
|
39548
|
+
cache.getOrCreateCacheForDirectory(containingDirectory, redirectedReference).set(
|
|
39529
39549
|
typeReferenceDirectiveName,
|
|
39530
39550
|
/*mode*/
|
|
39531
39551
|
resolutionMode,
|
|
39532
39552
|
result
|
|
39533
39553
|
);
|
|
39534
39554
|
if (!isExternalModuleNameRelative(typeReferenceDirectiveName)) {
|
|
39535
|
-
cache
|
|
39555
|
+
cache.getOrCreateCacheForNonRelativeName(typeReferenceDirectiveName, resolutionMode, redirectedReference).set(containingDirectory, result);
|
|
39536
39556
|
}
|
|
39537
39557
|
}
|
|
39538
39558
|
if (traceEnabled)
|
|
@@ -39739,7 +39759,8 @@ ${lanes.join("\n")}
|
|
|
39739
39759
|
getMapOfCacheRedirects,
|
|
39740
39760
|
getOrCreateMapOfCacheRedirects,
|
|
39741
39761
|
update,
|
|
39742
|
-
clear: clear2
|
|
39762
|
+
clear: clear2,
|
|
39763
|
+
getOwnMap: () => ownMap
|
|
39743
39764
|
};
|
|
39744
39765
|
function getMapOfCacheRedirects(redirectedReference) {
|
|
39745
39766
|
return redirectedReference ? getOrCreateMap(
|
|
@@ -39846,7 +39867,8 @@ ${lanes.join("\n")}
|
|
|
39846
39867
|
getFromDirectoryCache,
|
|
39847
39868
|
getOrCreateCacheForDirectory,
|
|
39848
39869
|
clear: clear2,
|
|
39849
|
-
update
|
|
39870
|
+
update,
|
|
39871
|
+
directoryToModuleNameMap
|
|
39850
39872
|
};
|
|
39851
39873
|
function clear2() {
|
|
39852
39874
|
directoryToModuleNameMap.clear();
|
|
@@ -40120,9 +40142,11 @@ ${lanes.join("\n")}
|
|
|
40120
40142
|
if (result && result.resolvedModule)
|
|
40121
40143
|
(_b = perfLogger) == null ? void 0 : _b.logInfoEvent(`Module "${moduleName}" resolved to "${result.resolvedModule.resolvedFileName}"`);
|
|
40122
40144
|
(_c = perfLogger) == null ? void 0 : _c.logStopResolveModule(result && result.resolvedModule ? "" + result.resolvedModule.resolvedFileName : "null");
|
|
40123
|
-
cache
|
|
40124
|
-
|
|
40125
|
-
|
|
40145
|
+
if (cache && !cache.isReadonly) {
|
|
40146
|
+
cache.getOrCreateCacheForDirectory(containingDirectory, redirectedReference).set(moduleName, resolutionMode, result);
|
|
40147
|
+
if (!isExternalModuleNameRelative(moduleName)) {
|
|
40148
|
+
cache.getOrCreateCacheForNonRelativeName(moduleName, resolutionMode, redirectedReference).set(containingDirectory, result);
|
|
40149
|
+
}
|
|
40126
40150
|
}
|
|
40127
40151
|
}
|
|
40128
40152
|
if (traceEnabled) {
|
|
@@ -40424,6 +40448,7 @@ ${lanes.join("\n")}
|
|
|
40424
40448
|
affectingLocations,
|
|
40425
40449
|
diagnostics,
|
|
40426
40450
|
state,
|
|
40451
|
+
cache,
|
|
40427
40452
|
legacyResult
|
|
40428
40453
|
);
|
|
40429
40454
|
function tryResolve(extensions2, state2) {
|
|
@@ -40824,7 +40849,7 @@ ${lanes.join("\n")}
|
|
|
40824
40849
|
return packageJsonInfo.contents.versionPaths || void 0;
|
|
40825
40850
|
}
|
|
40826
40851
|
function getPackageJsonInfo(packageDirectory, onlyRecordFailures, state) {
|
|
40827
|
-
var _a, _b, _c, _d, _e, _f
|
|
40852
|
+
var _a, _b, _c, _d, _e, _f;
|
|
40828
40853
|
const { host, traceEnabled } = state;
|
|
40829
40854
|
const packageJsonPath = combinePaths(packageDirectory, "package.json");
|
|
40830
40855
|
if (onlyRecordFailures) {
|
|
@@ -40852,15 +40877,17 @@ ${lanes.join("\n")}
|
|
|
40852
40877
|
trace(host, Diagnostics.Found_package_json_at_0, packageJsonPath);
|
|
40853
40878
|
}
|
|
40854
40879
|
const result = { packageDirectory, contents: { packageJsonContent, versionPaths: void 0, resolvedEntrypoints: void 0 } };
|
|
40855
|
-
(
|
|
40856
|
-
|
|
40880
|
+
if (state.packageJsonInfoCache && !state.packageJsonInfoCache.isReadonly)
|
|
40881
|
+
state.packageJsonInfoCache.setPackageJsonInfo(packageJsonPath, result);
|
|
40882
|
+
(_e = state.affectingLocations) == null ? void 0 : _e.push(packageJsonPath);
|
|
40857
40883
|
return result;
|
|
40858
40884
|
} else {
|
|
40859
40885
|
if (directoryExists && traceEnabled) {
|
|
40860
40886
|
trace(host, Diagnostics.File_0_does_not_exist, packageJsonPath);
|
|
40861
40887
|
}
|
|
40862
|
-
(
|
|
40863
|
-
|
|
40888
|
+
if (state.packageJsonInfoCache && !state.packageJsonInfoCache.isReadonly)
|
|
40889
|
+
state.packageJsonInfoCache.setPackageJsonInfo(packageJsonPath, directoryExists);
|
|
40890
|
+
(_f = state.failedLookupLocations) == null ? void 0 : _f.push(packageJsonPath);
|
|
40864
40891
|
}
|
|
40865
40892
|
}
|
|
40866
40893
|
function loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, jsonContent, versionPaths) {
|
|
@@ -41649,7 +41676,8 @@ ${lanes.join("\n")}
|
|
|
41649
41676
|
failedLookupLocations,
|
|
41650
41677
|
affectingLocations,
|
|
41651
41678
|
diagnostics,
|
|
41652
|
-
state
|
|
41679
|
+
state,
|
|
41680
|
+
cache
|
|
41653
41681
|
);
|
|
41654
41682
|
function tryResolve(extensions) {
|
|
41655
41683
|
const resolvedUsingSettings = tryLoadModuleUsingOptionalResolutionSettings(extensions, moduleName, containingDirectory, loadModuleFromFileNoPackageId, state);
|
|
@@ -41768,7 +41796,9 @@ ${lanes.join("\n")}
|
|
|
41768
41796
|
failedLookupLocations,
|
|
41769
41797
|
affectingLocations,
|
|
41770
41798
|
diagnostics,
|
|
41771
|
-
state.resultFromCache
|
|
41799
|
+
state.resultFromCache,
|
|
41800
|
+
/*cache*/
|
|
41801
|
+
void 0
|
|
41772
41802
|
);
|
|
41773
41803
|
}
|
|
41774
41804
|
function toSearchResult(value) {
|
|
@@ -68211,7 +68241,7 @@ ${lanes.join("\n")}
|
|
|
68211
68241
|
return createFlowType(narrowedType, isIncomplete(flowType));
|
|
68212
68242
|
}
|
|
68213
68243
|
function getTypeAtSwitchClause(flow) {
|
|
68214
|
-
const expr = flow.switchStatement.expression;
|
|
68244
|
+
const expr = skipParentheses(flow.switchStatement.expression);
|
|
68215
68245
|
const flowType = getTypeAtFlowNode(flow.antecedent);
|
|
68216
68246
|
let type = getTypeFromFlowType(flowType);
|
|
68217
68247
|
if (isMatchingReference(reference, expr)) {
|
|
@@ -75827,8 +75857,20 @@ ${lanes.join("\n")}
|
|
|
75827
75857
|
let hasReturnWithNoExpression = functionHasImplicitReturn(func);
|
|
75828
75858
|
let hasReturnOfTypeNever = false;
|
|
75829
75859
|
forEachReturnStatement(func.body, (returnStatement) => {
|
|
75830
|
-
|
|
75860
|
+
let expr = returnStatement.expression;
|
|
75831
75861
|
if (expr) {
|
|
75862
|
+
expr = skipParentheses(
|
|
75863
|
+
expr,
|
|
75864
|
+
/*excludeJSDocTypeAssertions*/
|
|
75865
|
+
true
|
|
75866
|
+
);
|
|
75867
|
+
if (functionFlags & 2 /* Async */ && expr.kind === 223 /* AwaitExpression */) {
|
|
75868
|
+
expr = skipParentheses(
|
|
75869
|
+
expr.expression,
|
|
75870
|
+
/*excludeJSDocTypeAssertions*/
|
|
75871
|
+
true
|
|
75872
|
+
);
|
|
75873
|
+
}
|
|
75832
75874
|
if (expr.kind === 213 /* CallExpression */ && expr.expression.kind === 80 /* Identifier */ && checkExpressionCached(expr.expression).symbol === func.symbol) {
|
|
75833
75875
|
hasReturnOfTypeNever = true;
|
|
75834
75876
|
return;
|
|
@@ -84805,7 +84847,16 @@ ${lanes.join("\n")}
|
|
|
84805
84847
|
}
|
|
84806
84848
|
return !sym.exports ? [] : nodeBuilder.symbolTableToDeclarationStatements(sym.exports, node, flags, tracker, bundled);
|
|
84807
84849
|
},
|
|
84808
|
-
isImportRequiredByAugmentation
|
|
84850
|
+
isImportRequiredByAugmentation,
|
|
84851
|
+
tryFindAmbientModule: (moduleReferenceExpression) => {
|
|
84852
|
+
const node = getParseTreeNode(moduleReferenceExpression);
|
|
84853
|
+
const moduleSpecifier = node && isStringLiteralLike(node) ? node.text : void 0;
|
|
84854
|
+
return moduleSpecifier !== void 0 ? tryFindAmbientModule(
|
|
84855
|
+
moduleSpecifier,
|
|
84856
|
+
/*withAugmentations*/
|
|
84857
|
+
true
|
|
84858
|
+
) : void 0;
|
|
84859
|
+
}
|
|
84809
84860
|
};
|
|
84810
84861
|
function isImportRequiredByAugmentation(node) {
|
|
84811
84862
|
const file = getSourceFileOfNode(node);
|
|
@@ -110045,6 +110096,17 @@ ${lanes.join("\n")}
|
|
|
110045
110096
|
const container = getSourceFileOfNode(node);
|
|
110046
110097
|
refs.set(getOriginalNodeId(container), container);
|
|
110047
110098
|
}
|
|
110099
|
+
function trackReferencedAmbientModuleFromImport(node) {
|
|
110100
|
+
const moduleSpecifier = tryGetModuleSpecifierFromDeclaration(node);
|
|
110101
|
+
const symbol = moduleSpecifier && resolver.tryFindAmbientModule(moduleSpecifier);
|
|
110102
|
+
if (symbol == null ? void 0 : symbol.declarations) {
|
|
110103
|
+
for (const decl of symbol.declarations) {
|
|
110104
|
+
if (isAmbientModule(decl) && getSourceFileOfNode(decl) !== currentSourceFile) {
|
|
110105
|
+
trackReferencedAmbientModule(decl, symbol);
|
|
110106
|
+
}
|
|
110107
|
+
}
|
|
110108
|
+
}
|
|
110109
|
+
}
|
|
110048
110110
|
function handleSymbolAccessibilityError(symbolAccessibilityResult) {
|
|
110049
110111
|
if (symbolAccessibilityResult.accessibility === 0 /* Accessible */) {
|
|
110050
110112
|
if (symbolAccessibilityResult && symbolAccessibilityResult.aliasesToMakeVisible) {
|
|
@@ -110992,6 +111054,7 @@ ${lanes.join("\n")}
|
|
|
110992
111054
|
case 205 /* ImportType */: {
|
|
110993
111055
|
if (!isLiteralImportTypeNode(input))
|
|
110994
111056
|
return cleanup(input);
|
|
111057
|
+
trackReferencedAmbientModuleFromImport(input);
|
|
110995
111058
|
return cleanup(factory2.updateImportTypeNode(
|
|
110996
111059
|
input,
|
|
110997
111060
|
factory2.updateLiteralTypeNode(input.argument, rewriteModuleSpecifier(input, input.argument.literal)),
|
|
@@ -111043,6 +111106,7 @@ ${lanes.join("\n")}
|
|
|
111043
111106
|
resultHasExternalModuleIndicator = true;
|
|
111044
111107
|
}
|
|
111045
111108
|
resultHasScopeMarker = true;
|
|
111109
|
+
trackReferencedAmbientModuleFromImport(input);
|
|
111046
111110
|
return factory2.updateExportDeclaration(
|
|
111047
111111
|
input,
|
|
111048
111112
|
input.modifiers,
|
|
@@ -111117,10 +111181,18 @@ ${lanes.join("\n")}
|
|
|
111117
111181
|
return;
|
|
111118
111182
|
switch (input.kind) {
|
|
111119
111183
|
case 271 /* ImportEqualsDeclaration */: {
|
|
111120
|
-
|
|
111184
|
+
const transformed = transformImportEqualsDeclaration(input);
|
|
111185
|
+
if (transformed) {
|
|
111186
|
+
trackReferencedAmbientModuleFromImport(input);
|
|
111187
|
+
}
|
|
111188
|
+
return transformed;
|
|
111121
111189
|
}
|
|
111122
111190
|
case 272 /* ImportDeclaration */: {
|
|
111123
|
-
|
|
111191
|
+
const transformed = transformImportDeclaration(input);
|
|
111192
|
+
if (transformed) {
|
|
111193
|
+
trackReferencedAmbientModuleFromImport(input);
|
|
111194
|
+
}
|
|
111195
|
+
return transformed;
|
|
111124
111196
|
}
|
|
111125
111197
|
}
|
|
111126
111198
|
if (isDeclaration(input) && isDeclarationAndNotVisible(input))
|
|
@@ -117607,7 +117679,8 @@ ${lanes.join("\n")}
|
|
|
117607
117679
|
getSymbolOfExternalModuleSpecifier: notImplemented,
|
|
117608
117680
|
isBindingCapturedByNode: notImplemented,
|
|
117609
117681
|
getDeclarationStatementsForSourceFile: notImplemented,
|
|
117610
|
-
isImportRequiredByAugmentation: notImplemented
|
|
117682
|
+
isImportRequiredByAugmentation: notImplemented,
|
|
117683
|
+
tryFindAmbientModule: notImplemented
|
|
117611
117684
|
};
|
|
117612
117685
|
createPrinterWithDefaults = /* @__PURE__ */ memoize(() => createPrinter({}));
|
|
117613
117686
|
createPrinterWithRemoveComments = /* @__PURE__ */ memoize(() => createPrinter({ removeComments: true }));
|
|
@@ -118119,17 +118192,17 @@ ${lanes.join("\n")}
|
|
|
118119
118192
|
function closeFileWatcherOf(objWithWatcher) {
|
|
118120
118193
|
objWithWatcher.watcher.close();
|
|
118121
118194
|
}
|
|
118122
|
-
var
|
|
118195
|
+
var ProgramUpdateLevel, WatchLogLevel;
|
|
118123
118196
|
var init_watchUtilities = __esm({
|
|
118124
118197
|
"src/compiler/watchUtilities.ts"() {
|
|
118125
118198
|
"use strict";
|
|
118126
118199
|
init_ts2();
|
|
118127
|
-
|
|
118128
|
-
|
|
118129
|
-
|
|
118130
|
-
|
|
118131
|
-
return
|
|
118132
|
-
})(
|
|
118200
|
+
ProgramUpdateLevel = /* @__PURE__ */ ((ProgramUpdateLevel2) => {
|
|
118201
|
+
ProgramUpdateLevel2[ProgramUpdateLevel2["Update"] = 0] = "Update";
|
|
118202
|
+
ProgramUpdateLevel2[ProgramUpdateLevel2["RootNamesAndUpdate"] = 1] = "RootNamesAndUpdate";
|
|
118203
|
+
ProgramUpdateLevel2[ProgramUpdateLevel2["Full"] = 2] = "Full";
|
|
118204
|
+
return ProgramUpdateLevel2;
|
|
118205
|
+
})(ProgramUpdateLevel || {});
|
|
118133
118206
|
WatchLogLevel = /* @__PURE__ */ ((WatchLogLevel2) => {
|
|
118134
118207
|
WatchLogLevel2[WatchLogLevel2["None"] = 0] = "None";
|
|
118135
118208
|
WatchLogLevel2[WatchLogLevel2["TriggerOnly"] = 1] = "TriggerOnly";
|
|
@@ -124092,6 +124165,10 @@ ${lanes.join("\n")}
|
|
|
124092
124165
|
function getRootPathSplitLength(rootPath) {
|
|
124093
124166
|
return rootPath.split(directorySeparator).length - (hasTrailingDirectorySeparator(rootPath) ? 1 : 0);
|
|
124094
124167
|
}
|
|
124168
|
+
function getModuleResolutionHost(resolutionHost) {
|
|
124169
|
+
var _a;
|
|
124170
|
+
return ((_a = resolutionHost.getCompilerHost) == null ? void 0 : _a.call(resolutionHost)) || resolutionHost;
|
|
124171
|
+
}
|
|
124095
124172
|
function createModuleResolutionLoaderUsingGlobalCache(containingFile, redirectedReference, options, resolutionHost, moduleResolutionCache) {
|
|
124096
124173
|
return {
|
|
124097
124174
|
nameAndMode: moduleResolutionNameAndModeGetter,
|
|
@@ -124107,8 +124184,7 @@ ${lanes.join("\n")}
|
|
|
124107
124184
|
};
|
|
124108
124185
|
}
|
|
124109
124186
|
function resolveModuleNameUsingGlobalCache(resolutionHost, moduleResolutionCache, moduleName, containingFile, compilerOptions, redirectedReference, mode) {
|
|
124110
|
-
|
|
124111
|
-
const host = ((_a = resolutionHost.getCompilerHost) == null ? void 0 : _a.call(resolutionHost)) || resolutionHost;
|
|
124187
|
+
const host = getModuleResolutionHost(resolutionHost);
|
|
124112
124188
|
const primaryResult = resolveModuleName(moduleName, containingFile, compilerOptions, host, moduleResolutionCache, redirectedReference, mode);
|
|
124113
124189
|
if (!resolutionHost.getGlobalCache) {
|
|
124114
124190
|
return primaryResult;
|
|
@@ -124279,6 +124355,10 @@ ${lanes.join("\n")}
|
|
|
124279
124355
|
};
|
|
124280
124356
|
}
|
|
124281
124357
|
function startCachingPerDirectoryResolution() {
|
|
124358
|
+
moduleResolutionCache.isReadonly = void 0;
|
|
124359
|
+
typeReferenceDirectiveResolutionCache.isReadonly = void 0;
|
|
124360
|
+
libraryResolutionCache.isReadonly = void 0;
|
|
124361
|
+
moduleResolutionCache.getPackageJsonInfoCache().isReadonly = void 0;
|
|
124282
124362
|
moduleResolutionCache.clearAllExceptPackageJsonInfoCache();
|
|
124283
124363
|
typeReferenceDirectiveResolutionCache.clearAllExceptPackageJsonInfoCache();
|
|
124284
124364
|
libraryResolutionCache.clearAllExceptPackageJsonInfoCache();
|
|
@@ -124336,6 +124416,10 @@ ${lanes.join("\n")}
|
|
|
124336
124416
|
directoryWatchesOfFailedLookups.forEach(closeDirectoryWatchesOfFailedLookup);
|
|
124337
124417
|
fileWatchesOfAffectingLocations.forEach(closeFileWatcherOfAffectingLocation);
|
|
124338
124418
|
hasChangedAutomaticTypeDirectiveNames = false;
|
|
124419
|
+
moduleResolutionCache.isReadonly = true;
|
|
124420
|
+
typeReferenceDirectiveResolutionCache.isReadonly = true;
|
|
124421
|
+
libraryResolutionCache.isReadonly = true;
|
|
124422
|
+
moduleResolutionCache.getPackageJsonInfoCache().isReadonly = true;
|
|
124339
124423
|
}
|
|
124340
124424
|
function closeDirectoryWatchesOfFailedLookup(watcher, path) {
|
|
124341
124425
|
if (watcher.refCount === 0) {
|
|
@@ -124364,7 +124448,6 @@ ${lanes.join("\n")}
|
|
|
124364
124448
|
shouldRetryResolution,
|
|
124365
124449
|
logChanges
|
|
124366
124450
|
}) {
|
|
124367
|
-
var _a;
|
|
124368
124451
|
const path = resolutionHost.toPath(containingFile);
|
|
124369
124452
|
const resolutionsInFile = perFileCache.get(path) || perFileCache.set(path, createModeAwareCache()).get(path);
|
|
124370
124453
|
const resolvedModules = [];
|
|
@@ -124396,7 +124479,7 @@ ${lanes.join("\n")}
|
|
|
124396
124479
|
logChanges = false;
|
|
124397
124480
|
}
|
|
124398
124481
|
} else {
|
|
124399
|
-
const host = (
|
|
124482
|
+
const host = getModuleResolutionHost(resolutionHost);
|
|
124400
124483
|
if (isTraceEnabled(options, host) && !seenNamesInFile.has(name, mode)) {
|
|
124401
124484
|
const resolved = getResolutionWithResolvedFileName(resolution);
|
|
124402
124485
|
trace(
|
|
@@ -124448,7 +124531,6 @@ ${lanes.join("\n")}
|
|
|
124448
124531
|
}
|
|
124449
124532
|
}
|
|
124450
124533
|
function resolveTypeReferenceDirectiveReferences(typeDirectiveReferences, containingFile, redirectedReference, options, containingSourceFile, reusedNames) {
|
|
124451
|
-
var _a;
|
|
124452
124534
|
return resolveNamesWithLocalCache({
|
|
124453
124535
|
entries: typeDirectiveReferences,
|
|
124454
124536
|
containingFile,
|
|
@@ -124461,7 +124543,7 @@ ${lanes.join("\n")}
|
|
|
124461
124543
|
containingFile,
|
|
124462
124544
|
redirectedReference,
|
|
124463
124545
|
options,
|
|
124464
|
-
(
|
|
124546
|
+
getModuleResolutionHost(resolutionHost),
|
|
124465
124547
|
typeReferenceDirectiveResolutionCache
|
|
124466
124548
|
),
|
|
124467
124549
|
getResolutionWithResolvedFileName: getResolvedTypeReferenceDirective,
|
|
@@ -124493,8 +124575,7 @@ ${lanes.join("\n")}
|
|
|
124493
124575
|
});
|
|
124494
124576
|
}
|
|
124495
124577
|
function resolveLibrary2(libraryName, resolveFrom, options, libFileName) {
|
|
124496
|
-
|
|
124497
|
-
const host = ((_a = resolutionHost.getCompilerHost) == null ? void 0 : _a.call(resolutionHost)) || resolutionHost;
|
|
124578
|
+
const host = getModuleResolutionHost(resolutionHost);
|
|
124498
124579
|
let resolution = resolvedLibraries == null ? void 0 : resolvedLibraries.get(libFileName);
|
|
124499
124580
|
if (!resolution || resolution.isInvalidated) {
|
|
124500
124581
|
const existingResolution = resolution;
|
|
@@ -124528,6 +124609,7 @@ ${lanes.join("\n")}
|
|
|
124528
124609
|
return resolution;
|
|
124529
124610
|
}
|
|
124530
124611
|
function resolveSingleModuleNameWithoutWatching(moduleName, containingFile) {
|
|
124612
|
+
var _a, _b;
|
|
124531
124613
|
const path = resolutionHost.toPath(containingFile);
|
|
124532
124614
|
const resolutionsInFile = resolvedModuleNames.get(path);
|
|
124533
124615
|
const resolution = resolutionsInFile == null ? void 0 : resolutionsInFile.get(
|
|
@@ -124537,7 +124619,17 @@ ${lanes.join("\n")}
|
|
|
124537
124619
|
);
|
|
124538
124620
|
if (resolution && !resolution.isInvalidated)
|
|
124539
124621
|
return resolution;
|
|
124540
|
-
|
|
124622
|
+
const data = (_a = resolutionHost.beforeResolveSingleModuleNameWithoutWatching) == null ? void 0 : _a.call(resolutionHost, moduleResolutionCache);
|
|
124623
|
+
const host = getModuleResolutionHost(resolutionHost);
|
|
124624
|
+
const result = resolveModuleName(
|
|
124625
|
+
moduleName,
|
|
124626
|
+
containingFile,
|
|
124627
|
+
resolutionHost.getCompilationSettings(),
|
|
124628
|
+
host,
|
|
124629
|
+
moduleResolutionCache
|
|
124630
|
+
);
|
|
124631
|
+
(_b = resolutionHost.afterResolveSingleModuleNameWithoutWatching) == null ? void 0 : _b.call(resolutionHost, moduleResolutionCache, moduleName, containingFile, result, data);
|
|
124632
|
+
return result;
|
|
124541
124633
|
}
|
|
124542
124634
|
function isNodeModulesAtTypesDirectory(dirPath) {
|
|
124543
124635
|
return endsWith(dirPath, "/node_modules/@types");
|
|
@@ -125721,7 +125813,7 @@ ${lanes.join("\n")}
|
|
|
125721
125813
|
}
|
|
125722
125814
|
function createWatchProgram(host) {
|
|
125723
125815
|
let builderProgram;
|
|
125724
|
-
let
|
|
125816
|
+
let updateLevel;
|
|
125725
125817
|
let missingFilesMap;
|
|
125726
125818
|
let watchedWildcardDirectories;
|
|
125727
125819
|
let timerToUpdateProgram;
|
|
@@ -126080,7 +126172,7 @@ ${lanes.join("\n")}
|
|
|
126080
126172
|
}
|
|
126081
126173
|
function scheduleProgramReload() {
|
|
126082
126174
|
Debug.assert(!!configFileName);
|
|
126083
|
-
|
|
126175
|
+
updateLevel = 2 /* Full */;
|
|
126084
126176
|
scheduleProgramUpdate();
|
|
126085
126177
|
}
|
|
126086
126178
|
function updateProgramWithWatchStatus() {
|
|
@@ -126090,8 +126182,8 @@ ${lanes.join("\n")}
|
|
|
126090
126182
|
}
|
|
126091
126183
|
function updateProgram() {
|
|
126092
126184
|
var _a, _b, _c, _d;
|
|
126093
|
-
switch (
|
|
126094
|
-
case 1 /*
|
|
126185
|
+
switch (updateLevel) {
|
|
126186
|
+
case 1 /* RootNamesAndUpdate */:
|
|
126095
126187
|
(_a = perfLogger) == null ? void 0 : _a.logStartUpdateProgram("PartialConfigReload");
|
|
126096
126188
|
reloadFileNamesFromConfigFile();
|
|
126097
126189
|
break;
|
|
@@ -126111,7 +126203,7 @@ ${lanes.join("\n")}
|
|
|
126111
126203
|
writeLog("Reloading new file names and options");
|
|
126112
126204
|
Debug.assert(compilerOptions);
|
|
126113
126205
|
Debug.assert(configFileName);
|
|
126114
|
-
|
|
126206
|
+
updateLevel = 0 /* Update */;
|
|
126115
126207
|
rootFileNames = getFileNamesFromConfigSpecs(compilerOptions.configFile.configFileSpecs, getNormalizedAbsolutePath(getDirectoryPath(configFileName), currentDirectory), compilerOptions, parseConfigFileHost, extraFileExtensions);
|
|
126116
126208
|
if (updateErrorForNoInputFiles(rootFileNames, getNormalizedAbsolutePath(configFileName, currentDirectory), compilerOptions.configFile.configFileSpecs, configFileParsingDiagnostics, canConfigFileJsonReportNoInputFiles)) {
|
|
126117
126209
|
hasChangedConfigFileParsingErrors = true;
|
|
@@ -126121,7 +126213,7 @@ ${lanes.join("\n")}
|
|
|
126121
126213
|
function reloadConfigFile() {
|
|
126122
126214
|
Debug.assert(configFileName);
|
|
126123
126215
|
writeLog(`Reloading config file: ${configFileName}`);
|
|
126124
|
-
|
|
126216
|
+
updateLevel = 0 /* Update */;
|
|
126125
126217
|
if (cachedDirectoryStructureHost) {
|
|
126126
126218
|
cachedDirectoryStructureHost.clearCache();
|
|
126127
126219
|
}
|
|
@@ -126158,9 +126250,9 @@ ${lanes.join("\n")}
|
|
|
126158
126250
|
const configPath = toPath3(configFileName2);
|
|
126159
126251
|
let config = parsedConfigs == null ? void 0 : parsedConfigs.get(configPath);
|
|
126160
126252
|
if (config) {
|
|
126161
|
-
if (!config.
|
|
126253
|
+
if (!config.updateLevel)
|
|
126162
126254
|
return config.parsedCommandLine;
|
|
126163
|
-
if (config.parsedCommandLine && config.
|
|
126255
|
+
if (config.parsedCommandLine && config.updateLevel === 1 /* RootNamesAndUpdate */ && !host.getParsedCommandLine) {
|
|
126164
126256
|
writeLog("Reloading new file names and options");
|
|
126165
126257
|
Debug.assert(compilerOptions);
|
|
126166
126258
|
const fileNames = getFileNamesFromConfigSpecs(
|
|
@@ -126170,7 +126262,7 @@ ${lanes.join("\n")}
|
|
|
126170
126262
|
parseConfigFileHost
|
|
126171
126263
|
);
|
|
126172
126264
|
config.parsedCommandLine = { ...config.parsedCommandLine, fileNames };
|
|
126173
|
-
config.
|
|
126265
|
+
config.updateLevel = void 0;
|
|
126174
126266
|
return config.parsedCommandLine;
|
|
126175
126267
|
}
|
|
126176
126268
|
}
|
|
@@ -126178,7 +126270,7 @@ ${lanes.join("\n")}
|
|
|
126178
126270
|
const parsedCommandLine = host.getParsedCommandLine ? host.getParsedCommandLine(configFileName2) : getParsedCommandLineFromConfigFileHost(configFileName2);
|
|
126179
126271
|
if (config) {
|
|
126180
126272
|
config.parsedCommandLine = parsedCommandLine;
|
|
126181
|
-
config.
|
|
126273
|
+
config.updateLevel = void 0;
|
|
126182
126274
|
} else {
|
|
126183
126275
|
(parsedConfigs || (parsedConfigs = /* @__PURE__ */ new Map())).set(configPath, config = { parsedCommandLine });
|
|
126184
126276
|
}
|
|
@@ -126275,8 +126367,8 @@ ${lanes.join("\n")}
|
|
|
126275
126367
|
toPath: toPath3
|
|
126276
126368
|
}))
|
|
126277
126369
|
return;
|
|
126278
|
-
if (
|
|
126279
|
-
|
|
126370
|
+
if (updateLevel !== 2 /* Full */) {
|
|
126371
|
+
updateLevel = 1 /* RootNamesAndUpdate */;
|
|
126280
126372
|
scheduleProgramUpdate();
|
|
126281
126373
|
}
|
|
126282
126374
|
},
|
|
@@ -126302,11 +126394,11 @@ ${lanes.join("\n")}
|
|
|
126302
126394
|
return;
|
|
126303
126395
|
projects.forEach((projectPath) => {
|
|
126304
126396
|
if (configFileName && toPath3(configFileName) === projectPath) {
|
|
126305
|
-
|
|
126397
|
+
updateLevel = 2 /* Full */;
|
|
126306
126398
|
} else {
|
|
126307
126399
|
const config = parsedConfigs == null ? void 0 : parsedConfigs.get(projectPath);
|
|
126308
126400
|
if (config)
|
|
126309
|
-
config.
|
|
126401
|
+
config.updateLevel = 2 /* Full */;
|
|
126310
126402
|
resolutionCache.removeResolutionsFromProjectReferenceRedirects(projectPath);
|
|
126311
126403
|
}
|
|
126312
126404
|
scheduleProgramUpdate();
|
|
@@ -126327,7 +126419,7 @@ ${lanes.join("\n")}
|
|
|
126327
126419
|
updateCachedSystemWithFile(configFileName2, configPath, eventKind);
|
|
126328
126420
|
const config = parsedConfigs == null ? void 0 : parsedConfigs.get(configPath);
|
|
126329
126421
|
if (config)
|
|
126330
|
-
config.
|
|
126422
|
+
config.updateLevel = 2 /* Full */;
|
|
126331
126423
|
resolutionCache.removeResolutionsFromProjectReferenceRedirects(configPath);
|
|
126332
126424
|
scheduleProgramUpdate();
|
|
126333
126425
|
},
|
|
@@ -126365,8 +126457,8 @@ ${lanes.join("\n")}
|
|
|
126365
126457
|
toPath: toPath3
|
|
126366
126458
|
}))
|
|
126367
126459
|
return;
|
|
126368
|
-
if (config.
|
|
126369
|
-
config.
|
|
126460
|
+
if (config.updateLevel !== 2 /* Full */) {
|
|
126461
|
+
config.updateLevel = 1 /* RootNamesAndUpdate */;
|
|
126370
126462
|
scheduleProgramUpdate();
|
|
126371
126463
|
}
|
|
126372
126464
|
},
|
|
@@ -126840,12 +126932,12 @@ ${lanes.join("\n")}
|
|
|
126840
126932
|
state.projectStatus.delete(resolved);
|
|
126841
126933
|
state.diagnostics.delete(resolved);
|
|
126842
126934
|
}
|
|
126843
|
-
function addProjToQueue({ projectPendingBuild }, proj,
|
|
126935
|
+
function addProjToQueue({ projectPendingBuild }, proj, updateLevel) {
|
|
126844
126936
|
const value = projectPendingBuild.get(proj);
|
|
126845
126937
|
if (value === void 0) {
|
|
126846
|
-
projectPendingBuild.set(proj,
|
|
126847
|
-
} else if (value <
|
|
126848
|
-
projectPendingBuild.set(proj,
|
|
126938
|
+
projectPendingBuild.set(proj, updateLevel);
|
|
126939
|
+
} else if (value < updateLevel) {
|
|
126940
|
+
projectPendingBuild.set(proj, updateLevel);
|
|
126849
126941
|
}
|
|
126850
126942
|
}
|
|
126851
126943
|
function setupInitialBuild(state, cancellationToken) {
|
|
@@ -126859,7 +126951,7 @@ ${lanes.join("\n")}
|
|
|
126859
126951
|
buildOrder.forEach(
|
|
126860
126952
|
(configFileName) => state.projectPendingBuild.set(
|
|
126861
126953
|
toResolvedConfigFilePath(state, configFileName),
|
|
126862
|
-
0 /*
|
|
126954
|
+
0 /* Update */
|
|
126863
126955
|
)
|
|
126864
126956
|
);
|
|
126865
126957
|
if (cancellationToken) {
|
|
@@ -127295,8 +127387,8 @@ ${lanes.join("\n")}
|
|
|
127295
127387
|
for (let projectIndex = 0; projectIndex < buildOrder.length; projectIndex++) {
|
|
127296
127388
|
const project = buildOrder[projectIndex];
|
|
127297
127389
|
const projectPath = toResolvedConfigFilePath(state, project);
|
|
127298
|
-
const
|
|
127299
|
-
if (
|
|
127390
|
+
const updateLevel = state.projectPendingBuild.get(projectPath);
|
|
127391
|
+
if (updateLevel === void 0)
|
|
127300
127392
|
continue;
|
|
127301
127393
|
if (reportQueue) {
|
|
127302
127394
|
reportQueue = false;
|
|
@@ -127308,13 +127400,13 @@ ${lanes.join("\n")}
|
|
|
127308
127400
|
projectPendingBuild.delete(projectPath);
|
|
127309
127401
|
continue;
|
|
127310
127402
|
}
|
|
127311
|
-
if (
|
|
127403
|
+
if (updateLevel === 2 /* Full */) {
|
|
127312
127404
|
watchConfigFile(state, project, projectPath, config);
|
|
127313
127405
|
watchExtendedConfigFiles(state, projectPath, config);
|
|
127314
127406
|
watchWildCardDirectories(state, project, projectPath, config);
|
|
127315
127407
|
watchInputFiles(state, project, projectPath, config);
|
|
127316
127408
|
watchPackageJsonFiles(state, project, projectPath, config);
|
|
127317
|
-
} else if (
|
|
127409
|
+
} else if (updateLevel === 1 /* RootNamesAndUpdate */) {
|
|
127318
127410
|
config.fileNames = getFileNamesFromConfigSpecs(config.options.configFile.configFileSpecs, getDirectoryPath(project), config.options, state.parseConfigFileHost);
|
|
127319
127411
|
updateErrorForNoInputFiles(config.fileNames, project, config.options.configFile.configFileSpecs, config.errors, canJsonReportNoInputFiles(config.raw));
|
|
127320
127412
|
watchInputFiles(state, project, projectPath, config);
|
|
@@ -127901,7 +127993,7 @@ ${lanes.join("\n")}
|
|
|
127901
127993
|
break;
|
|
127902
127994
|
}
|
|
127903
127995
|
}
|
|
127904
|
-
addProjToQueue(state, nextProjectPath, 0 /*
|
|
127996
|
+
addProjToQueue(state, nextProjectPath, 0 /* Update */);
|
|
127905
127997
|
break;
|
|
127906
127998
|
}
|
|
127907
127999
|
}
|
|
@@ -127970,7 +128062,7 @@ ${lanes.join("\n")}
|
|
|
127970
128062
|
filesToDelete.push(output);
|
|
127971
128063
|
} else {
|
|
127972
128064
|
host.deleteFile(output);
|
|
127973
|
-
invalidateProject(state, resolvedPath, 0 /*
|
|
128065
|
+
invalidateProject(state, resolvedPath, 0 /* Update */);
|
|
127974
128066
|
}
|
|
127975
128067
|
}
|
|
127976
128068
|
}
|
|
@@ -127981,22 +128073,22 @@ ${lanes.join("\n")}
|
|
|
127981
128073
|
}
|
|
127982
128074
|
return 0 /* Success */;
|
|
127983
128075
|
}
|
|
127984
|
-
function invalidateProject(state, resolved,
|
|
127985
|
-
if (state.host.getParsedCommandLine &&
|
|
127986
|
-
|
|
128076
|
+
function invalidateProject(state, resolved, updateLevel) {
|
|
128077
|
+
if (state.host.getParsedCommandLine && updateLevel === 1 /* RootNamesAndUpdate */) {
|
|
128078
|
+
updateLevel = 2 /* Full */;
|
|
127987
128079
|
}
|
|
127988
|
-
if (
|
|
128080
|
+
if (updateLevel === 2 /* Full */) {
|
|
127989
128081
|
state.configFileCache.delete(resolved);
|
|
127990
128082
|
state.buildOrder = void 0;
|
|
127991
128083
|
}
|
|
127992
128084
|
state.needsSummary = true;
|
|
127993
128085
|
clearProjectStatus(state, resolved);
|
|
127994
|
-
addProjToQueue(state, resolved,
|
|
128086
|
+
addProjToQueue(state, resolved, updateLevel);
|
|
127995
128087
|
enableCache(state);
|
|
127996
128088
|
}
|
|
127997
|
-
function invalidateProjectAndScheduleBuilds(state, resolvedPath,
|
|
128089
|
+
function invalidateProjectAndScheduleBuilds(state, resolvedPath, updateLevel) {
|
|
127998
128090
|
state.reportFileChangeDetected = true;
|
|
127999
|
-
invalidateProject(state, resolvedPath,
|
|
128091
|
+
invalidateProject(state, resolvedPath, updateLevel);
|
|
128000
128092
|
scheduleBuildInvalidatedProject(
|
|
128001
128093
|
state,
|
|
128002
128094
|
250,
|
|
@@ -128127,7 +128219,7 @@ ${lanes.join("\n")}
|
|
|
128127
128219
|
toPath: (fileName) => toPath2(state, fileName)
|
|
128128
128220
|
}))
|
|
128129
128221
|
return;
|
|
128130
|
-
invalidateProjectAndScheduleBuilds(state, resolvedPath, 1 /*
|
|
128222
|
+
invalidateProjectAndScheduleBuilds(state, resolvedPath, 1 /* RootNamesAndUpdate */);
|
|
128131
128223
|
},
|
|
128132
128224
|
flags,
|
|
128133
128225
|
parsed == null ? void 0 : parsed.watchOptions,
|
|
@@ -128146,7 +128238,7 @@ ${lanes.join("\n")}
|
|
|
128146
128238
|
createNewValue: (_path, input) => watchFile(
|
|
128147
128239
|
state,
|
|
128148
128240
|
input,
|
|
128149
|
-
() => invalidateProjectAndScheduleBuilds(state, resolvedPath, 0 /*
|
|
128241
|
+
() => invalidateProjectAndScheduleBuilds(state, resolvedPath, 0 /* Update */),
|
|
128150
128242
|
250 /* Low */,
|
|
128151
128243
|
parsed == null ? void 0 : parsed.watchOptions,
|
|
128152
128244
|
WatchType.SourceFile,
|
|
@@ -128166,7 +128258,7 @@ ${lanes.join("\n")}
|
|
|
128166
128258
|
createNewValue: (path, _input) => watchFile(
|
|
128167
128259
|
state,
|
|
128168
128260
|
path,
|
|
128169
|
-
() => invalidateProjectAndScheduleBuilds(state, resolvedPath, 0 /*
|
|
128261
|
+
() => invalidateProjectAndScheduleBuilds(state, resolvedPath, 0 /* Update */),
|
|
128170
128262
|
2e3 /* High */,
|
|
128171
128263
|
parsed == null ? void 0 : parsed.watchOptions,
|
|
128172
128264
|
WatchType.PackageJson,
|
|
@@ -128237,7 +128329,7 @@ ${lanes.join("\n")}
|
|
|
128237
128329
|
const configFilePath = toResolvedConfigFilePath(state, configFileName);
|
|
128238
128330
|
return getUpToDateStatus(state, parseConfigFile(state, configFileName, configFilePath), configFilePath);
|
|
128239
128331
|
},
|
|
128240
|
-
invalidateProject: (configFilePath,
|
|
128332
|
+
invalidateProject: (configFilePath, updateLevel) => invalidateProject(state, configFilePath, updateLevel || 0 /* Update */),
|
|
128241
128333
|
close: () => stopWatching(state)
|
|
128242
128334
|
};
|
|
128243
128335
|
}
|
|
@@ -172600,7 +172692,7 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
172600
172692
|
return fileName[0] === "^" || (fileName.includes("walkThroughSnippet:/") || fileName.includes("untitled:/")) && getBaseFileName(fileName)[0] === "^" || fileName.includes(":^") && !fileName.includes(directorySeparator);
|
|
172601
172693
|
}
|
|
172602
172694
|
function ensurePrimaryProjectKind(project) {
|
|
172603
|
-
if (!project || project
|
|
172695
|
+
if (!project || isBackgroundProject(project)) {
|
|
172604
172696
|
return Errors.ThrowNoProject();
|
|
172605
172697
|
}
|
|
172606
172698
|
return project;
|
|
@@ -173062,7 +173154,7 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
173062
173154
|
isContainedByBackgroundProject() {
|
|
173063
173155
|
return some(
|
|
173064
173156
|
this.containingProjects,
|
|
173065
|
-
|
|
173157
|
+
isBackgroundProject
|
|
173066
173158
|
);
|
|
173067
173159
|
}
|
|
173068
173160
|
/**
|
|
@@ -173298,6 +173390,9 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
173298
173390
|
function isExternalProject(project) {
|
|
173299
173391
|
return project.projectKind === 2 /* External */;
|
|
173300
173392
|
}
|
|
173393
|
+
function isBackgroundProject(project) {
|
|
173394
|
+
return project.projectKind === 3 /* AutoImportProvider */ || project.projectKind === 4 /* Auxiliary */;
|
|
173395
|
+
}
|
|
173301
173396
|
var ProjectKind, Project3, InferredProject2, AuxiliaryProject, _AutoImportProviderProject, AutoImportProviderProject, ConfiguredProject2, ExternalProject2;
|
|
173302
173397
|
var init_project = __esm({
|
|
173303
173398
|
"src/server/project.ts"() {
|
|
@@ -173414,9 +173509,10 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
173414
173509
|
this.disableLanguageService(lastFileExceededProgramSize);
|
|
173415
173510
|
}
|
|
173416
173511
|
this.markAsDirty();
|
|
173417
|
-
if (
|
|
173512
|
+
if (!isBackgroundProject(this)) {
|
|
173418
173513
|
this.projectService.pendingEnsureProjectForOpenFiles = true;
|
|
173419
173514
|
}
|
|
173515
|
+
this.projectService.onProjectCreation(this);
|
|
173420
173516
|
}
|
|
173421
173517
|
/** @internal */
|
|
173422
173518
|
getResolvedProjectReferenceToRedirect(_fileName) {
|
|
@@ -173586,6 +173682,7 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
173586
173682
|
resolveModuleNameLiterals(moduleLiterals, containingFile, redirectedReference, options, containingSourceFile, reusedNames) {
|
|
173587
173683
|
return this.resolutionCache.resolveModuleNameLiterals(moduleLiterals, containingFile, redirectedReference, options, containingSourceFile, reusedNames);
|
|
173588
173684
|
}
|
|
173685
|
+
/** @internal */
|
|
173589
173686
|
getModuleResolutionCache() {
|
|
173590
173687
|
return this.resolutionCache.getModuleResolutionCache();
|
|
173591
173688
|
}
|
|
@@ -173851,12 +173948,12 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
173851
173948
|
}
|
|
173852
173949
|
return { ...newTypeAcquisition, include: this.removeExistingTypings(newTypeAcquisition.include) };
|
|
173853
173950
|
}
|
|
173854
|
-
getExternalFiles() {
|
|
173951
|
+
getExternalFiles(updateLevel) {
|
|
173855
173952
|
return sort(flatMap(this.plugins, (plugin) => {
|
|
173856
173953
|
if (typeof plugin.module.getExternalFiles !== "function")
|
|
173857
173954
|
return;
|
|
173858
173955
|
try {
|
|
173859
|
-
return plugin.module.getExternalFiles(this);
|
|
173956
|
+
return plugin.module.getExternalFiles(this, updateLevel || 0 /* Update */);
|
|
173860
173957
|
} catch (e) {
|
|
173861
173958
|
this.projectService.logger.info(`A plugin threw an exception in getExternalFiles: ${e}`);
|
|
173862
173959
|
if (e.stack) {
|
|
@@ -174591,6 +174688,7 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
174591
174688
|
}
|
|
174592
174689
|
/** @internal */
|
|
174593
174690
|
getChangesSinceVersion(lastKnownVersion, includeProjectReferenceRedirectInfo) {
|
|
174691
|
+
var _a, _b;
|
|
174594
174692
|
const includeProjectReferenceRedirectInfoIfRequested = includeProjectReferenceRedirectInfo ? (files) => arrayFrom(files.entries(), ([fileName, isSourceOfProjectReferenceRedirect]) => ({
|
|
174595
174693
|
fileName,
|
|
174596
174694
|
isSourceOfProjectReferenceRedirect
|
|
@@ -174613,10 +174711,10 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
174613
174711
|
return { info, projectErrors: this.getGlobalProjectErrors() };
|
|
174614
174712
|
}
|
|
174615
174713
|
const lastReportedFileNames = this.lastReportedFileNames;
|
|
174616
|
-
const externalFiles = this.
|
|
174714
|
+
const externalFiles = ((_a = this.externalFiles) == null ? void 0 : _a.map((f) => ({
|
|
174617
174715
|
fileName: toNormalizedPath(f),
|
|
174618
174716
|
isSourceOfProjectReferenceRedirect: false
|
|
174619
|
-
}));
|
|
174717
|
+
}))) || emptyArray2;
|
|
174620
174718
|
const currentFiles = arrayToMap(
|
|
174621
174719
|
this.getFileNamesWithRedirectInfo(!!includeProjectReferenceRedirectInfo).concat(externalFiles),
|
|
174622
174720
|
(info2) => info2.fileName,
|
|
@@ -174658,10 +174756,10 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
174658
174756
|
};
|
|
174659
174757
|
} else {
|
|
174660
174758
|
const projectFileNames = this.getFileNamesWithRedirectInfo(!!includeProjectReferenceRedirectInfo);
|
|
174661
|
-
const externalFiles = this.
|
|
174759
|
+
const externalFiles = ((_b = this.externalFiles) == null ? void 0 : _b.map((f) => ({
|
|
174662
174760
|
fileName: toNormalizedPath(f),
|
|
174663
174761
|
isSourceOfProjectReferenceRedirect: false
|
|
174664
|
-
}));
|
|
174762
|
+
}))) || emptyArray2;
|
|
174665
174763
|
const allFiles = projectFileNames.concat(externalFiles);
|
|
174666
174764
|
this.lastReportedFileNames = arrayToMap(
|
|
174667
174765
|
allFiles,
|
|
@@ -174863,32 +174961,15 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
174863
174961
|
return this.projectService.getIncompleteCompletionsCache();
|
|
174864
174962
|
}
|
|
174865
174963
|
/** @internal */
|
|
174866
|
-
getNoDtsResolutionProject(
|
|
174964
|
+
getNoDtsResolutionProject(rootFile) {
|
|
174867
174965
|
Debug.assert(this.projectService.serverMode === 0 /* Semantic */);
|
|
174868
174966
|
if (!this.noDtsResolutionProject) {
|
|
174869
174967
|
this.noDtsResolutionProject = new AuxiliaryProject(this.projectService, this.documentRegistry, this.getCompilerOptionsForNoDtsResolutionProject(), this.currentDirectory);
|
|
174870
174968
|
}
|
|
174871
|
-
|
|
174872
|
-
|
|
174873
|
-
this.noDtsResolutionProject.
|
|
174874
|
-
|
|
174875
|
-
(pathToAdd) => {
|
|
174876
|
-
const info = this.projectService.getOrCreateScriptInfoNotOpenedByClient(
|
|
174877
|
-
pathToAdd,
|
|
174878
|
-
this.currentDirectory,
|
|
174879
|
-
this.noDtsResolutionProject.directoryStructureHost
|
|
174880
|
-
);
|
|
174881
|
-
if (info) {
|
|
174882
|
-
this.noDtsResolutionProject.addRoot(info, pathToAdd);
|
|
174883
|
-
}
|
|
174884
|
-
},
|
|
174885
|
-
(pathToRemove) => {
|
|
174886
|
-
const info = this.noDtsResolutionProject.getScriptInfo(pathToRemove);
|
|
174887
|
-
if (info) {
|
|
174888
|
-
this.noDtsResolutionProject.removeRoot(info);
|
|
174889
|
-
}
|
|
174890
|
-
}
|
|
174891
|
-
);
|
|
174969
|
+
if (this.noDtsResolutionProject.rootFile !== rootFile) {
|
|
174970
|
+
this.projectService.setFileNamesOfAutpImportProviderOrAuxillaryProject(this.noDtsResolutionProject, [rootFile]);
|
|
174971
|
+
this.noDtsResolutionProject.rootFile = rootFile;
|
|
174972
|
+
}
|
|
174892
174973
|
return this.noDtsResolutionProject;
|
|
174893
174974
|
}
|
|
174894
174975
|
/** @internal */
|
|
@@ -175195,7 +175276,7 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
175195
175276
|
this.getCompilationSettings()
|
|
175196
175277
|
);
|
|
175197
175278
|
}
|
|
175198
|
-
this.projectService.
|
|
175279
|
+
this.projectService.setFileNamesOfAutpImportProviderOrAuxillaryProject(this, rootFileNames);
|
|
175199
175280
|
this.rootFileNames = rootFileNames;
|
|
175200
175281
|
const oldProgram = this.getCurrentProgram();
|
|
175201
175282
|
const hasSameSetOfFiles = super.updateGraph();
|
|
@@ -175340,18 +175421,18 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
175340
175421
|
updateGraph() {
|
|
175341
175422
|
const isInitialLoad = this.isInitialLoadPending();
|
|
175342
175423
|
this.isInitialLoadPending = returnFalse;
|
|
175343
|
-
const
|
|
175344
|
-
this.
|
|
175424
|
+
const updateLevel = this.pendingUpdateLevel;
|
|
175425
|
+
this.pendingUpdateLevel = 0 /* Update */;
|
|
175345
175426
|
let result;
|
|
175346
|
-
switch (
|
|
175347
|
-
case 1 /*
|
|
175427
|
+
switch (updateLevel) {
|
|
175428
|
+
case 1 /* RootNamesAndUpdate */:
|
|
175348
175429
|
this.openFileWatchTriggered.clear();
|
|
175349
175430
|
result = this.projectService.reloadFileNamesOfConfiguredProject(this);
|
|
175350
175431
|
break;
|
|
175351
175432
|
case 2 /* Full */:
|
|
175352
175433
|
this.openFileWatchTriggered.clear();
|
|
175353
|
-
const reason = Debug.checkDefined(this.
|
|
175354
|
-
this.
|
|
175434
|
+
const reason = Debug.checkDefined(this.pendingUpdateReason);
|
|
175435
|
+
this.pendingUpdateReason = void 0;
|
|
175355
175436
|
this.projectService.reloadConfiguredProject(
|
|
175356
175437
|
this,
|
|
175357
175438
|
reason,
|
|
@@ -176018,6 +176099,8 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
176018
176099
|
this.verifyDocumentRegistry = noop;
|
|
176019
176100
|
/** @internal */
|
|
176020
176101
|
this.verifyProgram = noop;
|
|
176102
|
+
/** @internal */
|
|
176103
|
+
this.onProjectCreation = noop;
|
|
176021
176104
|
var _a;
|
|
176022
176105
|
this.host = opts.host;
|
|
176023
176106
|
this.logger = opts.logger;
|
|
@@ -176185,20 +176268,20 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
176185
176268
|
}
|
|
176186
176269
|
delayUpdateProjectGraph(project) {
|
|
176187
176270
|
project.markAsDirty();
|
|
176188
|
-
if (project
|
|
176189
|
-
|
|
176190
|
-
|
|
176191
|
-
|
|
176192
|
-
|
|
176193
|
-
|
|
176194
|
-
|
|
176195
|
-
|
|
176196
|
-
|
|
176197
|
-
|
|
176198
|
-
|
|
176271
|
+
if (isBackgroundProject(project))
|
|
176272
|
+
return;
|
|
176273
|
+
const projectName = project.getProjectName();
|
|
176274
|
+
this.pendingProjectUpdates.set(projectName, project);
|
|
176275
|
+
this.throttledOperations.schedule(
|
|
176276
|
+
projectName,
|
|
176277
|
+
/*delay*/
|
|
176278
|
+
250,
|
|
176279
|
+
() => {
|
|
176280
|
+
if (this.pendingProjectUpdates.delete(projectName)) {
|
|
176281
|
+
updateProjectIfDirty(project);
|
|
176199
176282
|
}
|
|
176200
|
-
|
|
176201
|
-
|
|
176283
|
+
}
|
|
176284
|
+
);
|
|
176202
176285
|
}
|
|
176203
176286
|
/** @internal */
|
|
176204
176287
|
hasPendingProjectUpdate(project) {
|
|
@@ -176474,28 +176557,28 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
176474
176557
|
getScriptKind: configuredProjectForConfig ? (fileName) => configuredProjectForConfig.getScriptKind(fileName) : void 0
|
|
176475
176558
|
}))
|
|
176476
176559
|
return;
|
|
176477
|
-
if (config.
|
|
176478
|
-
config.
|
|
176560
|
+
if (config.updateLevel !== 2 /* Full */)
|
|
176561
|
+
config.updateLevel = 1 /* RootNamesAndUpdate */;
|
|
176479
176562
|
config.projects.forEach((watchWildcardDirectories, projectCanonicalPath) => {
|
|
176480
176563
|
if (!watchWildcardDirectories)
|
|
176481
176564
|
return;
|
|
176482
176565
|
const project = this.getConfiguredProjectByCanonicalConfigFilePath(projectCanonicalPath);
|
|
176483
176566
|
if (!project)
|
|
176484
176567
|
return;
|
|
176485
|
-
const
|
|
176486
|
-
if (project.
|
|
176568
|
+
const updateLevel = configuredProjectForConfig === project ? 1 /* RootNamesAndUpdate */ : 0 /* Update */;
|
|
176569
|
+
if (project.pendingUpdateLevel !== void 0 && project.pendingUpdateLevel > updateLevel)
|
|
176487
176570
|
return;
|
|
176488
176571
|
if (this.openFiles.has(fileOrDirectoryPath)) {
|
|
176489
176572
|
const info = Debug.checkDefined(this.getScriptInfoForPath(fileOrDirectoryPath));
|
|
176490
176573
|
if (info.isAttached(project)) {
|
|
176491
|
-
const loadLevelToSet = Math.max(
|
|
176574
|
+
const loadLevelToSet = Math.max(updateLevel, project.openFileWatchTriggered.get(fileOrDirectoryPath) || 0 /* Update */);
|
|
176492
176575
|
project.openFileWatchTriggered.set(fileOrDirectoryPath, loadLevelToSet);
|
|
176493
176576
|
} else {
|
|
176494
|
-
project.
|
|
176577
|
+
project.pendingUpdateLevel = updateLevel;
|
|
176495
176578
|
this.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(project);
|
|
176496
176579
|
}
|
|
176497
176580
|
} else {
|
|
176498
|
-
project.
|
|
176581
|
+
project.pendingUpdateLevel = updateLevel;
|
|
176499
176582
|
this.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(project);
|
|
176500
176583
|
}
|
|
176501
176584
|
});
|
|
@@ -176507,12 +176590,12 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
176507
176590
|
);
|
|
176508
176591
|
}
|
|
176509
176592
|
/** @internal */
|
|
176510
|
-
delayUpdateProjectsFromParsedConfigOnConfigFileChange(canonicalConfigFilePath,
|
|
176593
|
+
delayUpdateProjectsFromParsedConfigOnConfigFileChange(canonicalConfigFilePath, loadReason) {
|
|
176511
176594
|
const configFileExistenceInfo = this.configFileExistenceInfoCache.get(canonicalConfigFilePath);
|
|
176512
176595
|
if (!(configFileExistenceInfo == null ? void 0 : configFileExistenceInfo.config))
|
|
176513
176596
|
return false;
|
|
176514
176597
|
let scheduledAnyProjectUpdate = false;
|
|
176515
|
-
configFileExistenceInfo.config.
|
|
176598
|
+
configFileExistenceInfo.config.updateLevel = 2 /* Full */;
|
|
176516
176599
|
configFileExistenceInfo.config.projects.forEach((_watchWildcardDirectories, projectCanonicalPath) => {
|
|
176517
176600
|
const project = this.getConfiguredProjectByCanonicalConfigFilePath(projectCanonicalPath);
|
|
176518
176601
|
if (!project)
|
|
@@ -176521,8 +176604,8 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
176521
176604
|
if (projectCanonicalPath === canonicalConfigFilePath) {
|
|
176522
176605
|
if (project.isInitialLoadPending())
|
|
176523
176606
|
return;
|
|
176524
|
-
project.
|
|
176525
|
-
project.
|
|
176607
|
+
project.pendingUpdateLevel = 2 /* Full */;
|
|
176608
|
+
project.pendingUpdateReason = loadReason;
|
|
176526
176609
|
this.delayUpdateProjectGraph(project);
|
|
176527
176610
|
} else {
|
|
176528
176611
|
project.resolutionCache.removeResolutionsFromProjectReferenceRedirects(this.toPath(canonicalConfigFilePath));
|
|
@@ -176671,11 +176754,11 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
176671
176754
|
if (info.hasMixedContent) {
|
|
176672
176755
|
info.registerFileUpdate();
|
|
176673
176756
|
}
|
|
176674
|
-
const
|
|
176675
|
-
if (
|
|
176757
|
+
const updateLevel = p.openFileWatchTriggered.get(info.path);
|
|
176758
|
+
if (updateLevel !== void 0) {
|
|
176676
176759
|
p.openFileWatchTriggered.delete(info.path);
|
|
176677
|
-
if (p.
|
|
176678
|
-
p.
|
|
176760
|
+
if (p.pendingUpdateLevel !== void 0 && p.pendingUpdateLevel < updateLevel) {
|
|
176761
|
+
p.pendingUpdateLevel = updateLevel;
|
|
176679
176762
|
p.markFileAsDirty(info.path);
|
|
176680
176763
|
}
|
|
176681
176764
|
}
|
|
@@ -177055,6 +177138,7 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
177055
177138
|
addFilesToNonInferredProject(project, files, propertyReader, typeAcquisition) {
|
|
177056
177139
|
this.updateNonInferredProjectFiles(project, files, propertyReader);
|
|
177057
177140
|
project.setTypeAcquisition(typeAcquisition);
|
|
177141
|
+
project.markAsDirty();
|
|
177058
177142
|
}
|
|
177059
177143
|
/** @internal */
|
|
177060
177144
|
createConfiguredProject(configFileName) {
|
|
@@ -177072,7 +177156,7 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
177072
177156
|
configFileExistenceInfo.config = {
|
|
177073
177157
|
cachedDirectoryStructureHost: createCachedDirectoryStructureHost(this.host, this.host.getCurrentDirectory(), this.host.useCaseSensitiveFileNames),
|
|
177074
177158
|
projects: /* @__PURE__ */ new Map(),
|
|
177075
|
-
|
|
177159
|
+
updateLevel: 2 /* Full */
|
|
177076
177160
|
};
|
|
177077
177161
|
}
|
|
177078
177162
|
const project = new ConfiguredProject2(
|
|
@@ -177089,8 +177173,8 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
177089
177173
|
/** @internal */
|
|
177090
177174
|
createConfiguredProjectWithDelayLoad(configFileName, reason) {
|
|
177091
177175
|
const project = this.createConfiguredProject(configFileName);
|
|
177092
|
-
project.
|
|
177093
|
-
project.
|
|
177176
|
+
project.pendingUpdateLevel = 2 /* Full */;
|
|
177177
|
+
project.pendingUpdateReason = reason;
|
|
177094
177178
|
return project;
|
|
177095
177179
|
}
|
|
177096
177180
|
/** @internal */
|
|
@@ -177146,7 +177230,7 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
177146
177230
|
this.watchWildcards(configFilename, configFileExistenceInfo, project);
|
|
177147
177231
|
}
|
|
177148
177232
|
project.enablePluginsWithOptions(compilerOptions);
|
|
177149
|
-
const filesToAdd = parsedCommandLine.fileNames.concat(project.getExternalFiles());
|
|
177233
|
+
const filesToAdd = parsedCommandLine.fileNames.concat(project.getExternalFiles(2 /* Full */));
|
|
177150
177234
|
this.updateRootAndOptionsOfNonInferredProject(project, filesToAdd, fileNamePropertyReader, compilerOptions, parsedCommandLine.typeAcquisition, parsedCommandLine.compileOnSave, parsedCommandLine.watchOptions);
|
|
177151
177235
|
(_b = tracing) == null ? void 0 : _b.pop();
|
|
177152
177236
|
}
|
|
@@ -177154,9 +177238,9 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
177154
177238
|
ensureParsedConfigUptoDate(configFilename, canonicalConfigFilePath, configFileExistenceInfo, forProject) {
|
|
177155
177239
|
var _a, _b, _c;
|
|
177156
177240
|
if (configFileExistenceInfo.config) {
|
|
177157
|
-
if (!configFileExistenceInfo.config.
|
|
177241
|
+
if (!configFileExistenceInfo.config.updateLevel)
|
|
177158
177242
|
return configFileExistenceInfo;
|
|
177159
|
-
if (configFileExistenceInfo.config.
|
|
177243
|
+
if (configFileExistenceInfo.config.updateLevel === 1 /* RootNamesAndUpdate */) {
|
|
177160
177244
|
this.reloadFileNamesOfParsedConfig(configFilename, configFileExistenceInfo.config);
|
|
177161
177245
|
return configFileExistenceInfo;
|
|
177162
177246
|
}
|
|
@@ -177199,7 +177283,7 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
177199
177283
|
} else {
|
|
177200
177284
|
configFileExistenceInfo.config.parsedCommandLine = parsedCommandLine;
|
|
177201
177285
|
configFileExistenceInfo.config.watchedDirectoriesStale = true;
|
|
177202
|
-
configFileExistenceInfo.config.
|
|
177286
|
+
configFileExistenceInfo.config.updateLevel = void 0;
|
|
177203
177287
|
}
|
|
177204
177288
|
if (!oldCommandLine && !isJsonEqual(
|
|
177205
177289
|
// Old options
|
|
@@ -177340,7 +177424,6 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
177340
177424
|
}
|
|
177341
177425
|
});
|
|
177342
177426
|
}
|
|
177343
|
-
project.markAsDirty();
|
|
177344
177427
|
}
|
|
177345
177428
|
updateRootAndOptionsOfNonInferredProject(project, newUncheckedFiles, propertyReader, newOptions, newTypeAcquisition, compileOnSave, watchOptions) {
|
|
177346
177429
|
project.setCompilerOptions(newOptions);
|
|
@@ -177358,14 +177441,15 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
177358
177441
|
reloadFileNamesOfConfiguredProject(project) {
|
|
177359
177442
|
const fileNames = this.reloadFileNamesOfParsedConfig(project.getConfigFilePath(), this.configFileExistenceInfoCache.get(project.canonicalConfigFilePath).config);
|
|
177360
177443
|
project.updateErrorOnNoInputFiles(fileNames);
|
|
177361
|
-
this.updateNonInferredProjectFiles(project, fileNames.concat(project.getExternalFiles()), fileNamePropertyReader);
|
|
177444
|
+
this.updateNonInferredProjectFiles(project, fileNames.concat(project.getExternalFiles(1 /* RootNamesAndUpdate */)), fileNamePropertyReader);
|
|
177445
|
+
project.markAsDirty();
|
|
177362
177446
|
return project.updateGraph();
|
|
177363
177447
|
}
|
|
177364
177448
|
/** @internal */
|
|
177365
177449
|
reloadFileNamesOfParsedConfig(configFileName, config) {
|
|
177366
|
-
if (config.
|
|
177450
|
+
if (config.updateLevel === void 0)
|
|
177367
177451
|
return config.parsedCommandLine.fileNames;
|
|
177368
|
-
Debug.assert(config.
|
|
177452
|
+
Debug.assert(config.updateLevel === 1 /* RootNamesAndUpdate */);
|
|
177369
177453
|
const configFileSpecs = config.parsedCommandLine.options.configFile.configFileSpecs;
|
|
177370
177454
|
const fileNames = getFileNamesFromConfigSpecs(
|
|
177371
177455
|
configFileSpecs,
|
|
@@ -177378,7 +177462,7 @@ ${options.prefix}` : "\n" : options.prefix
|
|
|
177378
177462
|
return fileNames;
|
|
177379
177463
|
}
|
|
177380
177464
|
/** @internal */
|
|
177381
|
-
|
|
177465
|
+
setFileNamesOfAutpImportProviderOrAuxillaryProject(project, fileNames) {
|
|
177382
177466
|
this.updateNonInferredProjectFiles(project, fileNames, fileNamePropertyReader);
|
|
177383
177467
|
}
|
|
177384
177468
|
/**
|
|
@@ -177907,7 +177991,7 @@ Dynamic files must always be opened with service's current directory or service
|
|
|
177907
177991
|
this.hostConfiguration.preferences = { ...this.hostConfiguration.preferences, ...args.preferences };
|
|
177908
177992
|
if (lazyConfiguredProjectsFromExternalProject && !this.hostConfiguration.preferences.lazyConfiguredProjectsFromExternalProject) {
|
|
177909
177993
|
this.configuredProjects.forEach((project) => {
|
|
177910
|
-
if (project.hasExternalProjectRef() && project.
|
|
177994
|
+
if (project.hasExternalProjectRef() && project.pendingUpdateLevel === 2 /* Full */ && !this.pendingProjectUpdates.has(project.getProjectName())) {
|
|
177911
177995
|
project.updateGraph();
|
|
177912
177996
|
}
|
|
177913
177997
|
});
|
|
@@ -177962,7 +178046,7 @@ Dynamic files must always be opened with service's current directory or service
|
|
|
177962
178046
|
this.pendingEnsureProjectForOpenFiles = false;
|
|
177963
178047
|
this.configFileExistenceInfoCache.forEach((info) => {
|
|
177964
178048
|
if (info.config)
|
|
177965
|
-
info.config.
|
|
178049
|
+
info.config.updateLevel = 2 /* Full */;
|
|
177966
178050
|
});
|
|
177967
178051
|
this.reloadConfiguredProjectForFiles(
|
|
177968
178052
|
this.openFiles,
|
|
@@ -178014,8 +178098,8 @@ Dynamic files must always be opened with service's current directory or service
|
|
|
178014
178098
|
if (!updatedProjects.has(project.canonicalConfigFilePath)) {
|
|
178015
178099
|
updatedProjects.set(project.canonicalConfigFilePath, true);
|
|
178016
178100
|
if (delayReload) {
|
|
178017
|
-
project.
|
|
178018
|
-
project.
|
|
178101
|
+
project.pendingUpdateLevel = 2 /* Full */;
|
|
178102
|
+
project.pendingUpdateReason = reason;
|
|
178019
178103
|
if (clearSemanticCache)
|
|
178020
178104
|
this.clearSemanticCache(project);
|
|
178021
178105
|
this.delayUpdateProjectGraph(project);
|
|
@@ -180843,7 +180927,7 @@ Project '${project.projectName}' (${ProjectKind[project.projectKind]}) ${counter
|
|
|
180843
180927
|
if (needsJsResolution) {
|
|
180844
180928
|
const definitionSet = createSet((d) => d.textSpan.start, documentSpansEqual);
|
|
180845
180929
|
definitions == null ? void 0 : definitions.forEach((d) => definitionSet.add(d));
|
|
180846
|
-
const noDtsProject = project.getNoDtsResolutionProject(
|
|
180930
|
+
const noDtsProject = project.getNoDtsResolutionProject(file);
|
|
180847
180931
|
const ls = noDtsProject.getLanguageService();
|
|
180848
180932
|
const jsDefinitions = (_a = ls.getDefinitionAtPosition(
|
|
180849
180933
|
file,
|
|
@@ -180870,8 +180954,18 @@ Project '${project.projectName}' (${ProjectKind[project.projectKind]}) ${counter
|
|
|
180870
180954
|
const ambientCandidates = definitions.filter((d) => toNormalizedPath(d.fileName) !== file && d.isAmbient);
|
|
180871
180955
|
for (const candidate of some(ambientCandidates) ? ambientCandidates : getAmbientCandidatesByClimbingAccessChain()) {
|
|
180872
180956
|
const fileNameToSearch = findImplementationFileFromDtsFileName(candidate.fileName, file, noDtsProject);
|
|
180873
|
-
if (!fileNameToSearch
|
|
180957
|
+
if (!fileNameToSearch)
|
|
180958
|
+
continue;
|
|
180959
|
+
const info = this.projectService.getOrCreateScriptInfoNotOpenedByClient(
|
|
180960
|
+
fileNameToSearch,
|
|
180961
|
+
noDtsProject.currentDirectory,
|
|
180962
|
+
noDtsProject.directoryStructureHost
|
|
180963
|
+
);
|
|
180964
|
+
if (!info)
|
|
180874
180965
|
continue;
|
|
180966
|
+
if (!noDtsProject.containsScriptInfo(info)) {
|
|
180967
|
+
noDtsProject.addRoot(info);
|
|
180968
|
+
noDtsProject.updateGraph();
|
|
180875
180969
|
}
|
|
180876
180970
|
const noDtsProgram = ls.getProgram();
|
|
180877
180971
|
const fileToSearch = Debug.checkDefined(noDtsProgram.getSourceFile(fileNameToSearch));
|
|
@@ -180974,16 +181068,6 @@ Project '${project.projectName}' (${ProjectKind[project.projectKind]}) ${counter
|
|
|
180974
181068
|
}
|
|
180975
181069
|
});
|
|
180976
181070
|
}
|
|
180977
|
-
function ensureRoot(project2, fileName) {
|
|
180978
|
-
const info = project2.getScriptInfo(fileName);
|
|
180979
|
-
if (!info)
|
|
180980
|
-
return false;
|
|
180981
|
-
if (!project2.containsScriptInfo(info)) {
|
|
180982
|
-
project2.addRoot(info);
|
|
180983
|
-
project2.updateGraph();
|
|
180984
|
-
}
|
|
180985
|
-
return true;
|
|
180986
|
-
}
|
|
180987
181071
|
}
|
|
180988
181072
|
getEmitOutput(args) {
|
|
180989
181073
|
const { file, project } = this.getFileAndProject(args);
|
|
@@ -183243,6 +183327,7 @@ ${e.message}`;
|
|
|
183243
183327
|
hasArgument: () => hasArgument,
|
|
183244
183328
|
hasNoTypeScriptSource: () => hasNoTypeScriptSource,
|
|
183245
183329
|
indent: () => indent2,
|
|
183330
|
+
isBackgroundProject: () => isBackgroundProject,
|
|
183246
183331
|
isConfigFile: () => isConfigFile,
|
|
183247
183332
|
isConfiguredProject: () => isConfiguredProject,
|
|
183248
183333
|
isDynamicFileName: () => isDynamicFileName,
|
|
@@ -183313,7 +183398,6 @@ ${e.message}`;
|
|
|
183313
183398
|
CompletionInfoFlags: () => CompletionInfoFlags,
|
|
183314
183399
|
CompletionTriggerKind: () => CompletionTriggerKind,
|
|
183315
183400
|
Completions: () => ts_Completions_exports,
|
|
183316
|
-
ConfigFileProgramReloadLevel: () => ConfigFileProgramReloadLevel,
|
|
183317
183401
|
ContainerFlags: () => ContainerFlags,
|
|
183318
183402
|
ContextFlags: () => ContextFlags,
|
|
183319
183403
|
Debug: () => Debug,
|
|
@@ -183400,6 +183484,7 @@ ${e.message}`;
|
|
|
183400
183484
|
PragmaKindFlags: () => PragmaKindFlags,
|
|
183401
183485
|
PrivateIdentifierKind: () => PrivateIdentifierKind,
|
|
183402
183486
|
ProcessLevel: () => ProcessLevel,
|
|
183487
|
+
ProgramUpdateLevel: () => ProgramUpdateLevel,
|
|
183403
183488
|
QuotePreference: () => QuotePreference,
|
|
183404
183489
|
RelationComparisonResult: () => RelationComparisonResult,
|
|
183405
183490
|
Rename: () => ts_Rename_exports,
|
|
@@ -185662,6 +185747,7 @@ ${e.message}`;
|
|
|
185662
185747
|
hasArgument: () => hasArgument,
|
|
185663
185748
|
hasNoTypeScriptSource: () => hasNoTypeScriptSource,
|
|
185664
185749
|
indent: () => indent2,
|
|
185750
|
+
isBackgroundProject: () => isBackgroundProject,
|
|
185665
185751
|
isConfigFile: () => isConfigFile,
|
|
185666
185752
|
isConfiguredProject: () => isConfiguredProject,
|
|
185667
185753
|
isDynamicFileName: () => isDynamicFileName,
|
|
@@ -185720,7 +185806,6 @@ ${e.message}`;
|
|
|
185720
185806
|
CompletionInfoFlags: () => CompletionInfoFlags,
|
|
185721
185807
|
CompletionTriggerKind: () => CompletionTriggerKind,
|
|
185722
185808
|
Completions: () => ts_Completions_exports,
|
|
185723
|
-
ConfigFileProgramReloadLevel: () => ConfigFileProgramReloadLevel,
|
|
185724
185809
|
ContainerFlags: () => ContainerFlags,
|
|
185725
185810
|
ContextFlags: () => ContextFlags,
|
|
185726
185811
|
Debug: () => Debug,
|
|
@@ -185807,6 +185892,7 @@ ${e.message}`;
|
|
|
185807
185892
|
PragmaKindFlags: () => PragmaKindFlags,
|
|
185808
185893
|
PrivateIdentifierKind: () => PrivateIdentifierKind,
|
|
185809
185894
|
ProcessLevel: () => ProcessLevel,
|
|
185895
|
+
ProgramUpdateLevel: () => ProgramUpdateLevel,
|
|
185810
185896
|
QuotePreference: () => QuotePreference,
|
|
185811
185897
|
RelationComparisonResult: () => RelationComparisonResult,
|
|
185812
185898
|
Rename: () => ts_Rename_exports,
|