typescript 5.3.0-dev.20230920 → 5.3.0-dev.20230921
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/lib.dom.d.ts +4 -0
- package/lib/lib.webworker.d.ts +2 -0
- package/lib/tsc.js +93 -128
- package/lib/tsserver.js +155 -189
- package/lib/typescript.js +155 -184
- package/lib/typingsInstaller.js +9 -5
- package/package.json +2 -2
package/lib/tsserver.js
CHANGED
|
@@ -994,8 +994,6 @@ __export(server_exports, {
|
|
|
994
994
|
getResolvePackageJsonExports: () => getResolvePackageJsonExports,
|
|
995
995
|
getResolvePackageJsonImports: () => getResolvePackageJsonImports,
|
|
996
996
|
getResolvedExternalModuleName: () => getResolvedExternalModuleName,
|
|
997
|
-
getResolvedModule: () => getResolvedModule,
|
|
998
|
-
getResolvedTypeReferenceDirective: () => getResolvedTypeReferenceDirective,
|
|
999
997
|
getRestIndicatorOfBindingOrAssignmentElement: () => getRestIndicatorOfBindingOrAssignmentElement,
|
|
1000
998
|
getRestParameterElementType: () => getRestParameterElementType,
|
|
1001
999
|
getRightMostAssignedExpression: () => getRightMostAssignedExpression,
|
|
@@ -2093,8 +2091,6 @@ __export(server_exports, {
|
|
|
2093
2091
|
setParent: () => setParent,
|
|
2094
2092
|
setParentRecursive: () => setParentRecursive,
|
|
2095
2093
|
setPrivateIdentifier: () => setPrivateIdentifier,
|
|
2096
|
-
setResolvedModule: () => setResolvedModule,
|
|
2097
|
-
setResolvedTypeReferenceDirective: () => setResolvedTypeReferenceDirective,
|
|
2098
2094
|
setSnippetElement: () => setSnippetElement,
|
|
2099
2095
|
setSourceMapRange: () => setSourceMapRange,
|
|
2100
2096
|
setStackTraceLimit: () => setStackTraceLimit,
|
|
@@ -2321,14 +2317,13 @@ __export(server_exports, {
|
|
|
2321
2317
|
writeCommentRange: () => writeCommentRange,
|
|
2322
2318
|
writeFile: () => writeFile,
|
|
2323
2319
|
writeFileEnsuringDirectories: () => writeFileEnsuringDirectories,
|
|
2324
|
-
zipToModeAwareCache: () => zipToModeAwareCache,
|
|
2325
2320
|
zipWith: () => zipWith
|
|
2326
2321
|
});
|
|
2327
2322
|
module.exports = __toCommonJS(server_exports);
|
|
2328
2323
|
|
|
2329
2324
|
// src/compiler/corePublic.ts
|
|
2330
2325
|
var versionMajorMinor = "5.3";
|
|
2331
|
-
var version = `${versionMajorMinor}.0-dev.
|
|
2326
|
+
var version = `${versionMajorMinor}.0-dev.20230921`;
|
|
2332
2327
|
var Comparison = /* @__PURE__ */ ((Comparison3) => {
|
|
2333
2328
|
Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
|
|
2334
2329
|
Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
|
|
@@ -15143,26 +15138,6 @@ function usingSingleLineStringWriter(action) {
|
|
|
15143
15138
|
function getFullWidth(node) {
|
|
15144
15139
|
return node.end - node.pos;
|
|
15145
15140
|
}
|
|
15146
|
-
function getResolvedModule(sourceFile, moduleNameText, mode) {
|
|
15147
|
-
var _a, _b;
|
|
15148
|
-
return (_b = (_a = sourceFile == null ? void 0 : sourceFile.resolvedModules) == null ? void 0 : _a.get(moduleNameText, mode)) == null ? void 0 : _b.resolvedModule;
|
|
15149
|
-
}
|
|
15150
|
-
function setResolvedModule(sourceFile, moduleNameText, resolvedModule, mode) {
|
|
15151
|
-
if (!sourceFile.resolvedModules) {
|
|
15152
|
-
sourceFile.resolvedModules = createModeAwareCache();
|
|
15153
|
-
}
|
|
15154
|
-
sourceFile.resolvedModules.set(moduleNameText, mode, resolvedModule);
|
|
15155
|
-
}
|
|
15156
|
-
function setResolvedTypeReferenceDirective(sourceFile, typeReferenceDirectiveName, resolvedTypeReferenceDirective, mode) {
|
|
15157
|
-
if (!sourceFile.resolvedTypeReferenceDirectiveNames) {
|
|
15158
|
-
sourceFile.resolvedTypeReferenceDirectiveNames = createModeAwareCache();
|
|
15159
|
-
}
|
|
15160
|
-
sourceFile.resolvedTypeReferenceDirectiveNames.set(typeReferenceDirectiveName, mode, resolvedTypeReferenceDirective);
|
|
15161
|
-
}
|
|
15162
|
-
function getResolvedTypeReferenceDirective(sourceFile, typeReferenceDirectiveName, mode) {
|
|
15163
|
-
var _a, _b;
|
|
15164
|
-
return (_b = (_a = sourceFile == null ? void 0 : sourceFile.resolvedTypeReferenceDirectiveNames) == null ? void 0 : _a.get(typeReferenceDirectiveName, mode)) == null ? void 0 : _b.resolvedTypeReferenceDirective;
|
|
15165
|
-
}
|
|
15166
15141
|
function projectReferenceIsEqualTo(oldRef, newRef) {
|
|
15167
15142
|
return oldRef.path === newRef.path && !oldRef.prepend === !newRef.prepend && !oldRef.circular === !newRef.circular;
|
|
15168
15143
|
}
|
|
@@ -15170,8 +15145,8 @@ function moduleResolutionIsEqualTo(oldResolution, newResolution) {
|
|
|
15170
15145
|
return oldResolution === newResolution || oldResolution.resolvedModule === newResolution.resolvedModule || !!oldResolution.resolvedModule && !!newResolution.resolvedModule && oldResolution.resolvedModule.isExternalLibraryImport === newResolution.resolvedModule.isExternalLibraryImport && oldResolution.resolvedModule.extension === newResolution.resolvedModule.extension && oldResolution.resolvedModule.resolvedFileName === newResolution.resolvedModule.resolvedFileName && oldResolution.resolvedModule.originalPath === newResolution.resolvedModule.originalPath && packageIdIsEqual(oldResolution.resolvedModule.packageId, newResolution.resolvedModule.packageId) && oldResolution.node10Result === newResolution.node10Result;
|
|
15171
15146
|
}
|
|
15172
15147
|
function createModuleNotFoundChain(sourceFile, host, moduleReference, mode, packageName) {
|
|
15173
|
-
var _a, _b;
|
|
15174
|
-
const node10Result = (_b = (_a =
|
|
15148
|
+
var _a, _b, _c;
|
|
15149
|
+
const node10Result = (_c = (_b = (_a = host.resolvedModules) == null ? void 0 : _a.get(sourceFile.path)) == null ? void 0 : _b.get(moduleReference, mode)) == null ? void 0 : _c.node10Result;
|
|
15175
15150
|
const result = node10Result ? chainDiagnosticMessages(
|
|
15176
15151
|
/*details*/
|
|
15177
15152
|
void 0,
|
|
@@ -20619,14 +20594,11 @@ function createSymlinkCache(cwd, getCanonicalFileName) {
|
|
|
20619
20594
|
(symlinkedDirectories || (symlinkedDirectories = /* @__PURE__ */ new Map())).set(symlinkPath, real);
|
|
20620
20595
|
}
|
|
20621
20596
|
},
|
|
20622
|
-
setSymlinksFromResolutions(
|
|
20623
|
-
var _a, _b;
|
|
20597
|
+
setSymlinksFromResolutions(resolvedModules, resolvedTypeReferenceDirectiveNames, typeReferenceDirectives) {
|
|
20624
20598
|
Debug.assert(!hasProcessedResolutions);
|
|
20625
20599
|
hasProcessedResolutions = true;
|
|
20626
|
-
|
|
20627
|
-
|
|
20628
|
-
(_b = file.resolvedTypeReferenceDirectiveNames) == null ? void 0 : _b.forEach((resolution) => processResolution(this, resolution.resolvedTypeReferenceDirective));
|
|
20629
|
-
}
|
|
20600
|
+
resolvedModules == null ? void 0 : resolvedModules.forEach((cache) => cache.forEach((resolution) => processResolution(this, resolution.resolvedModule)));
|
|
20601
|
+
resolvedTypeReferenceDirectiveNames == null ? void 0 : resolvedTypeReferenceDirectiveNames.forEach((cache) => cache.forEach((resolution) => processResolution(this, resolution.resolvedTypeReferenceDirective)));
|
|
20630
20602
|
typeReferenceDirectives.forEach((resolution) => processResolution(this, resolution.resolvedTypeReferenceDirective));
|
|
20631
20603
|
},
|
|
20632
20604
|
hasProcessedResolutions: () => hasProcessedResolutions
|
|
@@ -25666,7 +25638,6 @@ function createNodeFactory(flags, baseFactory2) {
|
|
|
25666
25638
|
node.imports = void 0;
|
|
25667
25639
|
node.moduleAugmentations = void 0;
|
|
25668
25640
|
node.ambientModuleNames = void 0;
|
|
25669
|
-
node.resolvedModules = void 0;
|
|
25670
25641
|
node.classifiableNames = void 0;
|
|
25671
25642
|
node.impliedNodeFormat = void 0;
|
|
25672
25643
|
return node;
|
|
@@ -38485,6 +38456,7 @@ var moduleOptionDeclaration = {
|
|
|
38485
38456
|
node16: 100 /* Node16 */,
|
|
38486
38457
|
nodenext: 199 /* NodeNext */
|
|
38487
38458
|
})),
|
|
38459
|
+
affectsSourceFile: true,
|
|
38488
38460
|
affectsModuleResolution: true,
|
|
38489
38461
|
affectsEmit: true,
|
|
38490
38462
|
affectsBuildInfo: true,
|
|
@@ -38921,6 +38893,7 @@ var commandOptionsWithoutBuild = [
|
|
|
38921
38893
|
bundler: 100 /* Bundler */
|
|
38922
38894
|
})),
|
|
38923
38895
|
deprecatedKeys: /* @__PURE__ */ new Set(["node"]),
|
|
38896
|
+
affectsSourceFile: true,
|
|
38924
38897
|
affectsModuleResolution: true,
|
|
38925
38898
|
paramType: Diagnostics.STRATEGY,
|
|
38926
38899
|
category: Diagnostics.Modules,
|
|
@@ -39463,6 +39436,7 @@ var commandOptionsWithoutBuild = [
|
|
|
39463
39436
|
legacy: 1 /* Legacy */,
|
|
39464
39437
|
force: 3 /* Force */
|
|
39465
39438
|
})),
|
|
39439
|
+
affectsSourceFile: true,
|
|
39466
39440
|
affectsModuleResolution: true,
|
|
39467
39441
|
description: Diagnostics.Control_what_method_is_used_to_detect_module_format_JS_files,
|
|
39468
39442
|
category: Diagnostics.Language_and_Environment,
|
|
@@ -39482,7 +39456,7 @@ var semanticDiagnosticsOptionDeclarations = optionDeclarations.filter((option) =
|
|
|
39482
39456
|
var affectsEmitOptionDeclarations = optionDeclarations.filter((option) => !!option.affectsEmit);
|
|
39483
39457
|
var affectsDeclarationPathOptionDeclarations = optionDeclarations.filter((option) => !!option.affectsDeclarationPath);
|
|
39484
39458
|
var moduleResolutionOptionDeclarations = optionDeclarations.filter((option) => !!option.affectsModuleResolution);
|
|
39485
|
-
var sourceFileAffectingCompilerOptions = optionDeclarations.filter((option) => !!option.affectsSourceFile || !!option.
|
|
39459
|
+
var sourceFileAffectingCompilerOptions = optionDeclarations.filter((option) => !!option.affectsSourceFile || !!option.affectsBindDiagnostics);
|
|
39486
39460
|
var optionsAffectingProgramStructure = optionDeclarations.filter((option) => !!option.affectsProgramStructure);
|
|
39487
39461
|
var transpileOptionValueCompilerOptions = optionDeclarations.filter((option) => hasProperty(option, "transpileOptionValue"));
|
|
39488
39462
|
var optionsForBuild = [
|
|
@@ -41957,15 +41931,6 @@ function createModeAwareCache() {
|
|
|
41957
41931
|
return result;
|
|
41958
41932
|
}
|
|
41959
41933
|
}
|
|
41960
|
-
function zipToModeAwareCache(file, keys, values, nameAndModeGetter) {
|
|
41961
|
-
Debug.assert(keys.length === values.length);
|
|
41962
|
-
const map2 = createModeAwareCache();
|
|
41963
|
-
for (let i = 0; i < keys.length; ++i) {
|
|
41964
|
-
const entry = keys[i];
|
|
41965
|
-
map2.set(nameAndModeGetter.getName(entry), nameAndModeGetter.getMode(entry, file), values[i]);
|
|
41966
|
-
}
|
|
41967
|
-
return map2;
|
|
41968
|
-
}
|
|
41969
41934
|
function getOriginalOrResolvedModuleFileName(result) {
|
|
41970
41935
|
return result.resolvedModule && (result.resolvedModule.originalPath || result.resolvedModule.resolvedFileName);
|
|
41971
41936
|
}
|
|
@@ -51013,7 +50978,7 @@ function createTypeChecker(host) {
|
|
|
51013
50978
|
return isStringLiteralLike(moduleReferenceExpression) ? resolveExternalModule(location, moduleReferenceExpression.text, moduleNotFoundError, moduleReferenceExpression, isForAugmentation) : void 0;
|
|
51014
50979
|
}
|
|
51015
50980
|
function resolveExternalModule(location, moduleReference, moduleNotFoundError, errorNode, isForAugmentation = false) {
|
|
51016
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
50981
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m;
|
|
51017
50982
|
if (startsWith(moduleReference, "@types/")) {
|
|
51018
50983
|
const diag2 = Diagnostics.Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1;
|
|
51019
50984
|
const withoutAtTypePrefix = removePrefix(moduleReference, "@types/");
|
|
@@ -51031,7 +50996,7 @@ function createTypeChecker(host) {
|
|
|
51031
50996
|
const contextSpecifier = isStringLiteralLike(location) ? location : ((_a = findAncestor(location, isImportCall)) == null ? void 0 : _a.arguments[0]) || ((_b = findAncestor(location, isImportDeclaration)) == null ? void 0 : _b.moduleSpecifier) || ((_c = findAncestor(location, isExternalModuleImportEqualsDeclaration)) == null ? void 0 : _c.moduleReference.expression) || ((_d = findAncestor(location, isExportDeclaration)) == null ? void 0 : _d.moduleSpecifier) || ((_e = isModuleDeclaration(location) ? location : location.parent && isModuleDeclaration(location.parent) && location.parent.name === location ? location.parent : void 0) == null ? void 0 : _e.name) || ((_f = isLiteralImportTypeNode(location) ? location : void 0) == null ? void 0 : _f.argument.literal);
|
|
51032
50997
|
const mode = contextSpecifier && isStringLiteralLike(contextSpecifier) ? getModeForUsageLocation(currentSourceFile, contextSpecifier) : currentSourceFile.impliedNodeFormat;
|
|
51033
50998
|
const moduleResolutionKind = getEmitModuleResolutionKind(compilerOptions);
|
|
51034
|
-
const resolvedModule =
|
|
50999
|
+
const resolvedModule = (_i = (_h = (_g = host.resolvedModules) == null ? void 0 : _g.get(currentSourceFile.path)) == null ? void 0 : _h.get(moduleReference, mode)) == null ? void 0 : _i.resolvedModule;
|
|
51035
51000
|
const resolutionDiagnostic = resolvedModule && getResolutionDiagnostic(compilerOptions, resolvedModule, currentSourceFile);
|
|
51036
51001
|
const sourceFile = resolvedModule && (!resolutionDiagnostic || resolutionDiagnostic === Diagnostics.Module_0_was_resolved_to_1_but_jsx_is_not_set) && host.getSourceFile(resolvedModule.resolvedFileName);
|
|
51037
51002
|
if (sourceFile) {
|
|
@@ -51039,7 +51004,7 @@ function createTypeChecker(host) {
|
|
|
51039
51004
|
error2(errorNode, resolutionDiagnostic, moduleReference, resolvedModule.resolvedFileName);
|
|
51040
51005
|
}
|
|
51041
51006
|
if (resolvedModule.resolvedUsingTsExtension && isDeclarationFileName(moduleReference)) {
|
|
51042
|
-
const importOrExport = ((
|
|
51007
|
+
const importOrExport = ((_j = findAncestor(location, isImportDeclaration)) == null ? void 0 : _j.importClause) || findAncestor(location, or(isImportEqualsDeclaration, isExportDeclaration));
|
|
51043
51008
|
if (importOrExport && !importOrExport.isTypeOnly || findAncestor(location, isImportCall)) {
|
|
51044
51009
|
error2(
|
|
51045
51010
|
errorNode,
|
|
@@ -51048,7 +51013,7 @@ function createTypeChecker(host) {
|
|
|
51048
51013
|
);
|
|
51049
51014
|
}
|
|
51050
51015
|
} else if (resolvedModule.resolvedUsingTsExtension && !shouldAllowImportingTsExtension(compilerOptions, currentSourceFile.fileName)) {
|
|
51051
|
-
const importOrExport = ((
|
|
51016
|
+
const importOrExport = ((_k = findAncestor(location, isImportDeclaration)) == null ? void 0 : _k.importClause) || findAncestor(location, or(isImportEqualsDeclaration, isExportDeclaration));
|
|
51052
51017
|
if (!((importOrExport == null ? void 0 : importOrExport.isTypeOnly) || findAncestor(location, isImportTypeNode))) {
|
|
51053
51018
|
const tsExtension = Debug.checkDefined(tryExtractTSExtension(moduleReference));
|
|
51054
51019
|
error2(errorNode, Diagnostics.An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled, tsExtension);
|
|
@@ -51069,7 +51034,7 @@ function createTypeChecker(host) {
|
|
|
51069
51034
|
if (moduleResolutionKind === 3 /* Node16 */ || moduleResolutionKind === 99 /* NodeNext */) {
|
|
51070
51035
|
const isSyncImport = currentSourceFile.impliedNodeFormat === 1 /* CommonJS */ && !findAncestor(location, isImportCall) || !!findAncestor(location, isImportEqualsDeclaration);
|
|
51071
51036
|
const overrideClauseHost = findAncestor(location, (l) => isImportTypeNode(l) || isExportDeclaration(l) || isImportDeclaration(l));
|
|
51072
|
-
const overrideClause = overrideClauseHost && isImportTypeNode(overrideClauseHost) ? (
|
|
51037
|
+
const overrideClause = overrideClauseHost && isImportTypeNode(overrideClauseHost) ? (_l = overrideClauseHost.assertions) == null ? void 0 : _l.assertClause : overrideClauseHost == null ? void 0 : overrideClauseHost.assertClause;
|
|
51073
51038
|
if (isSyncImport && sourceFile.impliedNodeFormat === 99 /* ESNext */ && !getResolutionModeOverrideForClause(overrideClause)) {
|
|
51074
51039
|
if (findAncestor(location, isImportEqualsDeclaration)) {
|
|
51075
51040
|
error2(errorNode, Diagnostics.Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_with_require_Use_an_ECMAScript_import_instead, moduleReference);
|
|
@@ -51176,7 +51141,7 @@ function createTypeChecker(host) {
|
|
|
51176
51141
|
error2(errorNode, Diagnostics.Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension, moduleReference);
|
|
51177
51142
|
} else if (mode === 99 /* ESNext */ && resolutionIsNode16OrNext && isExtensionlessRelativePathImport) {
|
|
51178
51143
|
const absoluteRef = getNormalizedAbsolutePath(moduleReference, getDirectoryPath(currentSourceFile.path));
|
|
51179
|
-
const suggestedExt = (
|
|
51144
|
+
const suggestedExt = (_m = suggestedExtensions.find(([actualExt, _importExt]) => host.fileExists(absoluteRef + actualExt))) == null ? void 0 : _m[1];
|
|
51180
51145
|
if (suggestedExt) {
|
|
51181
51146
|
error2(errorNode, Diagnostics.Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_node16_or_nodenext_Did_you_mean_0, moduleReference + suggestedExt);
|
|
51182
51147
|
} else {
|
|
@@ -120327,15 +120292,15 @@ function isReferencedFile(reason) {
|
|
|
120327
120292
|
function isReferenceFileLocation(location) {
|
|
120328
120293
|
return location.pos !== void 0;
|
|
120329
120294
|
}
|
|
120330
|
-
function getReferencedFileLocation(
|
|
120331
|
-
var _a, _b, _c, _d, _e, _f;
|
|
120332
|
-
const file = Debug.checkDefined(getSourceFileByPath(ref.file));
|
|
120295
|
+
function getReferencedFileLocation(program, ref) {
|
|
120296
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
120297
|
+
const file = Debug.checkDefined(program.getSourceFileByPath(ref.file));
|
|
120333
120298
|
const { kind, index } = ref;
|
|
120334
120299
|
let pos, end, packageId, resolutionMode;
|
|
120335
120300
|
switch (kind) {
|
|
120336
120301
|
case 3 /* Import */:
|
|
120337
120302
|
const importLiteral = getModuleNameStringLiteralAt(file, index);
|
|
120338
|
-
packageId = (_c = (_b = (_a =
|
|
120303
|
+
packageId = (_d = (_c = (_b = (_a = program.resolvedModules) == null ? void 0 : _a.get(file.path)) == null ? void 0 : _b.get(importLiteral.text, getModeForResolutionAtIndex(file, index))) == null ? void 0 : _c.resolvedModule) == null ? void 0 : _d.packageId;
|
|
120339
120304
|
if (importLiteral.pos === -1)
|
|
120340
120305
|
return { file, packageId, text: importLiteral.text };
|
|
120341
120306
|
pos = skipTrivia(file.text, importLiteral.pos);
|
|
@@ -120346,7 +120311,7 @@ function getReferencedFileLocation(getSourceFileByPath, ref) {
|
|
|
120346
120311
|
break;
|
|
120347
120312
|
case 5 /* TypeReferenceDirective */:
|
|
120348
120313
|
({ pos, end, resolutionMode } = file.typeReferenceDirectives[index]);
|
|
120349
|
-
packageId = (
|
|
120314
|
+
packageId = (_h = (_g = (_f = (_e = program.resolvedTypeReferenceDirectiveNames) == null ? void 0 : _e.get(file.path)) == null ? void 0 : _f.get(toFileNameLowerCase(file.typeReferenceDirectives[index].fileName), resolutionMode || file.impliedNodeFormat)) == null ? void 0 : _g.resolvedTypeReferenceDirective) == null ? void 0 : _h.packageId;
|
|
120350
120315
|
break;
|
|
120351
120316
|
case 7 /* LibReferenceDirective */:
|
|
120352
120317
|
({ pos, end } = file.libReferenceDirectives[index]);
|
|
@@ -120564,6 +120529,10 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
|
|
|
120564
120529
|
let automaticTypeDirectiveResolutions;
|
|
120565
120530
|
let resolvedLibReferences;
|
|
120566
120531
|
let resolvedLibProcessing;
|
|
120532
|
+
let resolvedModules;
|
|
120533
|
+
let resolvedModulesProcessing;
|
|
120534
|
+
let resolvedTypeReferenceDirectiveNames;
|
|
120535
|
+
let resolvedTypeReferenceDirectiveNamesProcessing;
|
|
120567
120536
|
let packageMap;
|
|
120568
120537
|
const maxNodeModuleJsDepth = typeof options.maxNodeModuleJsDepth === "number" ? options.maxNodeModuleJsDepth : 0;
|
|
120569
120538
|
let currentNodeModulesDepth = 0;
|
|
@@ -120828,6 +120797,8 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
|
|
|
120828
120797
|
}
|
|
120829
120798
|
oldProgram = void 0;
|
|
120830
120799
|
resolvedLibProcessing = void 0;
|
|
120800
|
+
resolvedModulesProcessing = void 0;
|
|
120801
|
+
resolvedTypeReferenceDirectiveNamesProcessing = void 0;
|
|
120831
120802
|
const program = {
|
|
120832
120803
|
getRootFileNames: () => rootNames,
|
|
120833
120804
|
getSourceFile,
|
|
@@ -120869,6 +120840,8 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
|
|
|
120869
120840
|
sourceFileToPackageName,
|
|
120870
120841
|
redirectTargetsMap,
|
|
120871
120842
|
usesUriStyleNodeCoreModules,
|
|
120843
|
+
resolvedModules,
|
|
120844
|
+
resolvedTypeReferenceDirectiveNames,
|
|
120872
120845
|
resolvedLibReferences,
|
|
120873
120846
|
getCurrentPackagesMap: () => packageMap,
|
|
120874
120847
|
typesPackageExists,
|
|
@@ -120900,7 +120873,7 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
|
|
|
120900
120873
|
case 1 /* FilePreprocessingFileExplainingDiagnostic */:
|
|
120901
120874
|
return programDiagnostics.add(createDiagnosticExplainingFile(diagnostic.file && getSourceFileByPath(diagnostic.file), diagnostic.fileProcessingReason, diagnostic.diagnostic, diagnostic.args || emptyArray));
|
|
120902
120875
|
case 0 /* FilePreprocessingReferencedDiagnostic */:
|
|
120903
|
-
const { file, pos, end } = getReferencedFileLocation(
|
|
120876
|
+
const { file, pos, end } = getReferencedFileLocation(program, diagnostic.reason);
|
|
120904
120877
|
return programDiagnostics.add(createFileDiagnostic(file, Debug.checkDefined(pos), Debug.checkDefined(end) - pos, diagnostic.diagnostic, ...diagnostic.args || emptyArray));
|
|
120905
120878
|
case 2 /* ResolutionDiagnostics */:
|
|
120906
120879
|
return diagnostic.diagnostics.forEach((d) => programDiagnostics.add(d));
|
|
@@ -120917,14 +120890,15 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
|
|
|
120917
120890
|
if (packageMap)
|
|
120918
120891
|
return packageMap;
|
|
120919
120892
|
packageMap = /* @__PURE__ */ new Map();
|
|
120920
|
-
files.forEach(
|
|
120921
|
-
|
|
120922
|
-
|
|
120923
|
-
|
|
120924
|
-
|
|
120925
|
-
|
|
120926
|
-
|
|
120927
|
-
|
|
120893
|
+
files.forEach(
|
|
120894
|
+
(sf) => {
|
|
120895
|
+
var _a2;
|
|
120896
|
+
return (_a2 = resolvedModules == null ? void 0 : resolvedModules.get(sf.path)) == null ? void 0 : _a2.forEach(({ resolvedModule }) => {
|
|
120897
|
+
if (resolvedModule == null ? void 0 : resolvedModule.packageId)
|
|
120898
|
+
packageMap.set(resolvedModule.packageId.name, resolvedModule.extension === ".d.ts" /* Dts */ || !!packageMap.get(resolvedModule.packageId.name));
|
|
120899
|
+
});
|
|
120900
|
+
}
|
|
120901
|
+
);
|
|
120928
120902
|
return packageMap;
|
|
120929
120903
|
}
|
|
120930
120904
|
function typesPackageExists(packageName) {
|
|
@@ -121056,7 +121030,7 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
|
|
|
121056
121030
|
return classifiableNames;
|
|
121057
121031
|
}
|
|
121058
121032
|
function resolveModuleNamesReusingOldState(moduleNames, file) {
|
|
121059
|
-
var _a2;
|
|
121033
|
+
var _a2, _b2;
|
|
121060
121034
|
if (structureIsReused === 0 /* Not */ && !file.ambientModuleNames.length) {
|
|
121061
121035
|
return resolveModuleNamesWorker(
|
|
121062
121036
|
moduleNames,
|
|
@@ -121065,24 +121039,16 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
|
|
|
121065
121039
|
void 0
|
|
121066
121040
|
);
|
|
121067
121041
|
}
|
|
121068
|
-
const oldSourceFile = oldProgram && oldProgram.getSourceFile(file.fileName);
|
|
121069
|
-
if (oldSourceFile !== file && file.resolvedModules) {
|
|
121070
|
-
const result2 = [];
|
|
121071
|
-
for (const moduleName of moduleNames) {
|
|
121072
|
-
const resolvedModule = file.resolvedModules.get(moduleName.text, getModeForUsageLocation(file, moduleName));
|
|
121073
|
-
result2.push(resolvedModule);
|
|
121074
|
-
}
|
|
121075
|
-
return result2;
|
|
121076
|
-
}
|
|
121077
121042
|
let unknownModuleNames;
|
|
121078
121043
|
let result;
|
|
121079
121044
|
let reusedNames;
|
|
121080
121045
|
const predictedToResolveToAmbientModuleMarker = emptyResolution;
|
|
121046
|
+
const oldSourceFile = oldProgram && oldProgram.getSourceFile(file.fileName);
|
|
121081
121047
|
for (let i = 0; i < moduleNames.length; i++) {
|
|
121082
121048
|
const moduleName = moduleNames[i];
|
|
121083
|
-
if (file === oldSourceFile && !hasInvalidatedResolutions(
|
|
121049
|
+
if (file === oldSourceFile && !hasInvalidatedResolutions(file.path)) {
|
|
121084
121050
|
const mode = getModeForUsageLocation(file, moduleName);
|
|
121085
|
-
const oldResolution = (_a2 =
|
|
121051
|
+
const oldResolution = (_b2 = (_a2 = oldProgram == null ? void 0 : oldProgram.resolvedModules) == null ? void 0 : _a2.get(file.path)) == null ? void 0 : _b2.get(moduleName.text, mode);
|
|
121086
121052
|
if (oldResolution == null ? void 0 : oldResolution.resolvedModule) {
|
|
121087
121053
|
if (isTraceEnabled(options, host)) {
|
|
121088
121054
|
trace(
|
|
@@ -121129,7 +121095,8 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
|
|
|
121129
121095
|
Debug.assert(j === resolutions.length);
|
|
121130
121096
|
return result;
|
|
121131
121097
|
function moduleNameResolvesToAmbientModuleInNonModifiedFile(moduleName) {
|
|
121132
|
-
|
|
121098
|
+
var _a3, _b3, _c2;
|
|
121099
|
+
const resolutionToFile = (_c2 = (_b3 = (_a3 = oldProgram == null ? void 0 : oldProgram.resolvedModules) == null ? void 0 : _a3.get(file.path)) == null ? void 0 : _b3.get(moduleName.text, getModeForUsageLocation(file, moduleName))) == null ? void 0 : _c2.resolvedModule;
|
|
121133
121100
|
const resolvedFile = resolutionToFile && oldProgram.getSourceFile(resolutionToFile.resolvedFileName);
|
|
121134
121101
|
if (resolutionToFile && resolvedFile) {
|
|
121135
121102
|
return false;
|
|
@@ -121145,7 +121112,7 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
|
|
|
121145
121112
|
}
|
|
121146
121113
|
}
|
|
121147
121114
|
function resolveTypeReferenceDirectiveNamesReusingOldState(typeDirectiveNames, containingFile) {
|
|
121148
|
-
var _a2;
|
|
121115
|
+
var _a2, _b2;
|
|
121149
121116
|
if (structureIsReused === 0 /* Not */) {
|
|
121150
121117
|
return resolveTypeReferenceDirectiveNamesWorker(
|
|
121151
121118
|
typeDirectiveNames,
|
|
@@ -121154,28 +121121,18 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
|
|
|
121154
121121
|
void 0
|
|
121155
121122
|
);
|
|
121156
121123
|
}
|
|
121157
|
-
const oldSourceFile = !isString(containingFile) ? oldProgram && oldProgram.getSourceFile(containingFile.fileName) : void 0;
|
|
121158
|
-
if (!isString(containingFile)) {
|
|
121159
|
-
if (oldSourceFile !== containingFile && containingFile.resolvedTypeReferenceDirectiveNames) {
|
|
121160
|
-
const result2 = [];
|
|
121161
|
-
for (const typeDirectiveName of typeDirectiveNames) {
|
|
121162
|
-
const resolvedTypeReferenceDirective = containingFile.resolvedTypeReferenceDirectiveNames.get(getTypeReferenceResolutionName(typeDirectiveName), getModeForFileReference(typeDirectiveName, containingFile.impliedNodeFormat));
|
|
121163
|
-
result2.push(resolvedTypeReferenceDirective);
|
|
121164
|
-
}
|
|
121165
|
-
return result2;
|
|
121166
|
-
}
|
|
121167
|
-
}
|
|
121168
121124
|
let unknownTypeReferenceDirectiveNames;
|
|
121169
121125
|
let result;
|
|
121170
121126
|
let reusedNames;
|
|
121171
121127
|
const containingSourceFile = !isString(containingFile) ? containingFile : void 0;
|
|
121172
|
-
const
|
|
121128
|
+
const oldSourceFile = !isString(containingFile) ? oldProgram && oldProgram.getSourceFile(containingFile.fileName) : void 0;
|
|
121129
|
+
const canReuseResolutions = !isString(containingFile) ? containingFile === oldSourceFile && !hasInvalidatedResolutions(containingFile.path) : !hasInvalidatedResolutions(toPath3(containingFile));
|
|
121173
121130
|
for (let i = 0; i < typeDirectiveNames.length; i++) {
|
|
121174
121131
|
const entry = typeDirectiveNames[i];
|
|
121175
121132
|
if (canReuseResolutions) {
|
|
121176
121133
|
const typeDirectiveName = getTypeReferenceResolutionName(entry);
|
|
121177
121134
|
const mode = getModeForFileReference(entry, containingSourceFile == null ? void 0 : containingSourceFile.impliedNodeFormat);
|
|
121178
|
-
const oldResolution = (
|
|
121135
|
+
const oldResolution = (_b2 = !isString(containingFile) ? (_a2 = oldProgram == null ? void 0 : oldProgram.resolvedTypeReferenceDirectiveNames) == null ? void 0 : _a2.get(containingFile.path) : oldProgram == null ? void 0 : oldProgram.getAutomaticTypeDirectiveResolutions()) == null ? void 0 : _b2.get(typeDirectiveName, mode);
|
|
121179
121136
|
if (oldResolution == null ? void 0 : oldResolution.resolvedTypeReferenceDirective) {
|
|
121180
121137
|
if (isTraceEnabled(options, host)) {
|
|
121181
121138
|
trace(
|
|
@@ -121235,7 +121192,7 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
|
|
|
121235
121192
|
);
|
|
121236
121193
|
}
|
|
121237
121194
|
function tryReuseStructureFromOldProgram() {
|
|
121238
|
-
var _a2;
|
|
121195
|
+
var _a2, _b2, _c2;
|
|
121239
121196
|
if (!oldProgram) {
|
|
121240
121197
|
return 0 /* Not */;
|
|
121241
121198
|
}
|
|
@@ -121337,42 +121294,37 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
|
|
|
121337
121294
|
structureIsReused = 1 /* SafeModules */;
|
|
121338
121295
|
}
|
|
121339
121296
|
}
|
|
121340
|
-
modifiedSourceFiles.push(
|
|
121297
|
+
modifiedSourceFiles.push(newSourceFile);
|
|
121341
121298
|
} else if (hasInvalidatedResolutions(oldSourceFile.path)) {
|
|
121342
121299
|
structureIsReused = 1 /* SafeModules */;
|
|
121343
|
-
modifiedSourceFiles.push(
|
|
121300
|
+
modifiedSourceFiles.push(newSourceFile);
|
|
121301
|
+
} else {
|
|
121302
|
+
for (const moduleName of oldSourceFile.ambientModuleNames) {
|
|
121303
|
+
ambientModuleNameToUnmodifiedFileName.set(moduleName, oldSourceFile.fileName);
|
|
121304
|
+
}
|
|
121344
121305
|
}
|
|
121345
121306
|
newSourceFiles.push(newSourceFile);
|
|
121346
121307
|
}
|
|
121347
121308
|
if (structureIsReused !== 2 /* Completely */) {
|
|
121348
121309
|
return structureIsReused;
|
|
121349
121310
|
}
|
|
121350
|
-
const
|
|
121351
|
-
for (const oldFile of oldSourceFiles) {
|
|
121352
|
-
if (!contains(modifiedFiles, oldFile)) {
|
|
121353
|
-
for (const moduleName of oldFile.ambientModuleNames) {
|
|
121354
|
-
ambientModuleNameToUnmodifiedFileName.set(moduleName, oldFile.fileName);
|
|
121355
|
-
}
|
|
121356
|
-
}
|
|
121357
|
-
}
|
|
121358
|
-
for (const { oldFile: oldSourceFile, newFile: newSourceFile } of modifiedSourceFiles) {
|
|
121311
|
+
for (const newSourceFile of modifiedSourceFiles) {
|
|
121359
121312
|
const moduleNames = getModuleNames(newSourceFile);
|
|
121360
121313
|
const resolutions = resolveModuleNamesReusingOldState(moduleNames, newSourceFile);
|
|
121361
|
-
|
|
121362
|
-
|
|
121314
|
+
(resolvedModulesProcessing ?? (resolvedModulesProcessing = /* @__PURE__ */ new Map())).set(newSourceFile.path, resolutions);
|
|
121315
|
+
const oldResolutions = (_b2 = oldProgram.resolvedModules) == null ? void 0 : _b2.get(newSourceFile.path);
|
|
121316
|
+
const resolutionsChanged = hasChangesInResolutions(moduleNames, newSourceFile, resolutions, oldResolutions, moduleResolutionIsEqualTo, moduleResolutionNameAndModeGetter);
|
|
121317
|
+
if (resolutionsChanged)
|
|
121363
121318
|
structureIsReused = 1 /* SafeModules */;
|
|
121364
|
-
newSourceFile.resolvedModules = zipToModeAwareCache(newSourceFile, moduleNames, resolutions, moduleResolutionNameAndModeGetter);
|
|
121365
|
-
} else {
|
|
121366
|
-
newSourceFile.resolvedModules = oldSourceFile.resolvedModules;
|
|
121367
|
-
}
|
|
121368
121319
|
const typesReferenceDirectives = newSourceFile.typeReferenceDirectives;
|
|
121369
121320
|
const typeReferenceResolutions = resolveTypeReferenceDirectiveNamesReusingOldState(typesReferenceDirectives, newSourceFile);
|
|
121370
|
-
|
|
121321
|
+
(resolvedTypeReferenceDirectiveNamesProcessing ?? (resolvedTypeReferenceDirectiveNamesProcessing = /* @__PURE__ */ new Map())).set(newSourceFile.path, typeReferenceResolutions);
|
|
121322
|
+
const oldTypeResolutions = (_c2 = oldProgram.resolvedTypeReferenceDirectiveNames) == null ? void 0 : _c2.get(newSourceFile.path);
|
|
121323
|
+
const typeReferenceResolutionsChanged = hasChangesInResolutions(typesReferenceDirectives, newSourceFile, typeReferenceResolutions, oldTypeResolutions, typeDirectiveIsEqualTo, typeReferenceResolutionNameAndModeGetter);
|
|
121371
121324
|
if (typeReferenceResolutionsChanged) {
|
|
121372
121325
|
structureIsReused = 1 /* SafeModules */;
|
|
121373
|
-
|
|
121374
|
-
|
|
121375
|
-
newSourceFile.resolvedTypeReferenceDirectiveNames = oldSourceFile.resolvedTypeReferenceDirectiveNames;
|
|
121326
|
+
} else if (oldTypeResolutions) {
|
|
121327
|
+
(resolvedTypeReferenceDirectiveNamesProcessing ?? (resolvedTypeReferenceDirectiveNamesProcessing = /* @__PURE__ */ new Map())).set(newSourceFile.path, oldTypeResolutions);
|
|
121376
121328
|
}
|
|
121377
121329
|
}
|
|
121378
121330
|
if (structureIsReused !== 2 /* Completely */) {
|
|
@@ -121420,6 +121372,8 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
|
|
|
121420
121372
|
sourceFileToPackageName = oldProgram.sourceFileToPackageName;
|
|
121421
121373
|
redirectTargetsMap = oldProgram.redirectTargetsMap;
|
|
121422
121374
|
usesUriStyleNodeCoreModules = oldProgram.usesUriStyleNodeCoreModules;
|
|
121375
|
+
resolvedModules = oldProgram.resolvedModules;
|
|
121376
|
+
resolvedTypeReferenceDirectiveNames = oldProgram.resolvedTypeReferenceDirectiveNames;
|
|
121423
121377
|
resolvedLibReferences = oldProgram.resolvedLibReferences;
|
|
121424
121378
|
packageMap = oldProgram.getCurrentPackagesMap();
|
|
121425
121379
|
return 2 /* Completely */;
|
|
@@ -122465,16 +122419,16 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
|
|
|
122465
122419
|
}
|
|
122466
122420
|
function processTypeReferenceDirectives(file) {
|
|
122467
122421
|
const typeDirectives = file.typeReferenceDirectives;
|
|
122468
|
-
if (!typeDirectives.length)
|
|
122469
|
-
file.resolvedTypeReferenceDirectiveNames = void 0;
|
|
122422
|
+
if (!typeDirectives.length)
|
|
122470
122423
|
return;
|
|
122471
|
-
|
|
122472
|
-
const
|
|
122424
|
+
const resolutions = (resolvedTypeReferenceDirectiveNamesProcessing == null ? void 0 : resolvedTypeReferenceDirectiveNamesProcessing.get(file.path)) || resolveTypeReferenceDirectiveNamesReusingOldState(typeDirectives, file);
|
|
122425
|
+
const resolutionsInFile = createModeAwareCache();
|
|
122426
|
+
(resolvedTypeReferenceDirectiveNames ?? (resolvedTypeReferenceDirectiveNames = /* @__PURE__ */ new Map())).set(file.path, resolutionsInFile);
|
|
122473
122427
|
for (let index = 0; index < typeDirectives.length; index++) {
|
|
122474
122428
|
const ref = file.typeReferenceDirectives[index];
|
|
122475
122429
|
const resolvedTypeReferenceDirective = resolutions[index];
|
|
122476
122430
|
const fileName = toFileNameLowerCase(ref.fileName);
|
|
122477
|
-
|
|
122431
|
+
resolutionsInFile.set(fileName, getModeForFileReference(ref, file.impliedNodeFormat), resolvedTypeReferenceDirective);
|
|
122478
122432
|
const mode = ref.resolutionMode || file.impliedNodeFormat;
|
|
122479
122433
|
if (mode && getEmitModuleResolutionKind(options) !== 3 /* Node16 */ && getEmitModuleResolutionKind(options) !== 99 /* NodeNext */) {
|
|
122480
122434
|
(fileProcessingDiagnostics ?? (fileProcessingDiagnostics = [])).push({
|
|
@@ -122638,14 +122592,16 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
|
|
|
122638
122592
|
collectExternalModuleReferences(file);
|
|
122639
122593
|
if (file.imports.length || file.moduleAugmentations.length) {
|
|
122640
122594
|
const moduleNames = getModuleNames(file);
|
|
122641
|
-
const resolutions = resolveModuleNamesReusingOldState(moduleNames, file);
|
|
122595
|
+
const resolutions = (resolvedModulesProcessing == null ? void 0 : resolvedModulesProcessing.get(file.path)) || resolveModuleNamesReusingOldState(moduleNames, file);
|
|
122642
122596
|
Debug.assert(resolutions.length === moduleNames.length);
|
|
122643
122597
|
const optionsForFile = (useSourceOfProjectReferenceRedirect ? (_a2 = getRedirectReferenceForResolution(file)) == null ? void 0 : _a2.commandLine.options : void 0) || options;
|
|
122598
|
+
const resolutionsInFile = createModeAwareCache();
|
|
122599
|
+
(resolvedModules ?? (resolvedModules = /* @__PURE__ */ new Map())).set(file.path, resolutionsInFile);
|
|
122644
122600
|
for (let index = 0; index < moduleNames.length; index++) {
|
|
122645
122601
|
const resolution = resolutions[index].resolvedModule;
|
|
122646
122602
|
const moduleName = moduleNames[index].text;
|
|
122647
122603
|
const mode = getModeForUsageLocation(file, moduleNames[index]);
|
|
122648
|
-
|
|
122604
|
+
resolutionsInFile.set(moduleName, mode, resolutions[index]);
|
|
122649
122605
|
addResolutionDiagnosticsFromResolutionOrCache(file, moduleName, resolutions[index], mode);
|
|
122650
122606
|
if (!resolution) {
|
|
122651
122607
|
continue;
|
|
@@ -122676,8 +122632,6 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
|
|
|
122676
122632
|
currentNodeModulesDepth--;
|
|
122677
122633
|
}
|
|
122678
122634
|
}
|
|
122679
|
-
} else {
|
|
122680
|
-
file.resolvedModules = void 0;
|
|
122681
122635
|
}
|
|
122682
122636
|
}
|
|
122683
122637
|
function checkSourceFilesBelongToPath(sourceFiles, rootDirectory) {
|
|
@@ -123192,7 +123146,7 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
|
|
|
123192
123146
|
processReason(fileProcessingReason);
|
|
123193
123147
|
if (locationReason && (fileIncludeReasons == null ? void 0 : fileIncludeReasons.length) === 1)
|
|
123194
123148
|
fileIncludeReasons = void 0;
|
|
123195
|
-
const location = locationReason && getReferencedFileLocation(
|
|
123149
|
+
const location = locationReason && getReferencedFileLocation(program, locationReason);
|
|
123196
123150
|
const fileIncludeReasonDetails = fileIncludeReasons && chainDiagnosticMessages(fileIncludeReasons, Diagnostics.The_file_is_in_the_program_because_Colon);
|
|
123197
123151
|
const redirectInfo = file && explainIfFileIsRedirectAndImpliedFormat(file);
|
|
123198
123152
|
const chain = chainDiagnosticMessages(redirectInfo ? fileIncludeReasonDetails ? [fileIncludeReasonDetails, ...redirectInfo] : redirectInfo : fileIncludeReasonDetails, diagnostic, ...args || emptyArray);
|
|
@@ -123228,7 +123182,7 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
|
|
|
123228
123182
|
}
|
|
123229
123183
|
function fileIncludeReasonToRelatedInformation(reason) {
|
|
123230
123184
|
if (isReferencedFile(reason)) {
|
|
123231
|
-
const referenceLocation = getReferencedFileLocation(
|
|
123185
|
+
const referenceLocation = getReferencedFileLocation(program, reason);
|
|
123232
123186
|
let message2;
|
|
123233
123187
|
switch (reason.kind) {
|
|
123234
123188
|
case 3 /* Import */:
|
|
@@ -123517,8 +123471,8 @@ function createProgram(rootNamesOrOptions, _options, _host, _oldProgram, _config
|
|
|
123517
123471
|
if (!symlinks) {
|
|
123518
123472
|
symlinks = createSymlinkCache(currentDirectory, getCanonicalFileName);
|
|
123519
123473
|
}
|
|
123520
|
-
if (files &&
|
|
123521
|
-
symlinks.setSymlinksFromResolutions(
|
|
123474
|
+
if (files && !symlinks.hasProcessedResolutions()) {
|
|
123475
|
+
symlinks.setSymlinksFromResolutions(resolvedModules, resolvedTypeReferenceDirectiveNames, automaticTypeDirectiveResolutions);
|
|
123522
123476
|
}
|
|
123523
123477
|
return symlinks;
|
|
123524
123478
|
}
|
|
@@ -123880,6 +123834,7 @@ var BuilderState;
|
|
|
123880
123834
|
return toPath(program.getProjectReferenceRedirect(fileName) || fileName, sourceFileDirectory, getCanonicalFileName);
|
|
123881
123835
|
}
|
|
123882
123836
|
function getReferencedFiles(program, sourceFile, getCanonicalFileName) {
|
|
123837
|
+
var _a;
|
|
123883
123838
|
let referencedFiles;
|
|
123884
123839
|
if (sourceFile.imports && sourceFile.imports.length > 0) {
|
|
123885
123840
|
const checker = program.getTypeChecker();
|
|
@@ -123895,8 +123850,9 @@ var BuilderState;
|
|
|
123895
123850
|
addReferencedFile(referencedPath);
|
|
123896
123851
|
}
|
|
123897
123852
|
}
|
|
123898
|
-
|
|
123899
|
-
|
|
123853
|
+
const resolvedTypeReferenceDirectiveNames = (_a = program.resolvedTypeReferenceDirectiveNames) == null ? void 0 : _a.get(sourceFile.path);
|
|
123854
|
+
if (resolvedTypeReferenceDirectiveNames) {
|
|
123855
|
+
resolvedTypeReferenceDirectiveNames.forEach(({ resolvedTypeReferenceDirective }) => {
|
|
123900
123856
|
if (!resolvedTypeReferenceDirective) {
|
|
123901
123857
|
return;
|
|
123902
123858
|
}
|
|
@@ -125719,10 +125675,10 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW
|
|
|
125719
125675
|
clear: clear2,
|
|
125720
125676
|
onChangesAffectModuleResolution
|
|
125721
125677
|
};
|
|
125722
|
-
function
|
|
125678
|
+
function getResolvedModule(resolution) {
|
|
125723
125679
|
return resolution.resolvedModule;
|
|
125724
125680
|
}
|
|
125725
|
-
function
|
|
125681
|
+
function getResolvedTypeReferenceDirective(resolution) {
|
|
125726
125682
|
return resolution.resolvedTypeReferenceDirective;
|
|
125727
125683
|
}
|
|
125728
125684
|
function clear2() {
|
|
@@ -125798,7 +125754,7 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW
|
|
|
125798
125754
|
stopWatchFailedLookupLocationOfResolution(
|
|
125799
125755
|
resolution,
|
|
125800
125756
|
resolutionHost.toPath(getInferredLibraryNameResolveFrom(newProgram.getCompilerOptions(), getCurrentDirectory(), libFileName)),
|
|
125801
|
-
|
|
125757
|
+
getResolvedModule
|
|
125802
125758
|
);
|
|
125803
125759
|
resolvedLibraries.delete(libFileName);
|
|
125804
125760
|
}
|
|
@@ -126004,7 +125960,7 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW
|
|
|
126004
125960
|
((_a = resolutionHost.getCompilerHost) == null ? void 0 : _a.call(resolutionHost)) || resolutionHost,
|
|
126005
125961
|
typeReferenceDirectiveResolutionCache
|
|
126006
125962
|
),
|
|
126007
|
-
getResolutionWithResolvedFileName:
|
|
125963
|
+
getResolutionWithResolvedFileName: getResolvedTypeReferenceDirective,
|
|
126008
125964
|
shouldRetryResolution: (resolution) => resolution.resolvedTypeReferenceDirective === void 0,
|
|
126009
125965
|
deferWatchingNonRelativeResolution: false
|
|
126010
125966
|
});
|
|
@@ -126023,7 +125979,7 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW
|
|
|
126023
125979
|
redirectedReference,
|
|
126024
125980
|
options
|
|
126025
125981
|
),
|
|
126026
|
-
getResolutionWithResolvedFileName:
|
|
125982
|
+
getResolutionWithResolvedFileName: getResolvedModule,
|
|
126027
125983
|
shouldRetryResolution: (resolution) => !resolution.resolvedModule || !resolutionExtensionIsTSOrJson(resolution.resolvedModule.extension),
|
|
126028
125984
|
logChanges: logChangesWhenResolvingModule,
|
|
126029
125985
|
deferWatchingNonRelativeResolution: true
|
|
@@ -126042,17 +125998,17 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW
|
|
|
126042
125998
|
libraryName,
|
|
126043
125999
|
resolution,
|
|
126044
126000
|
path,
|
|
126045
|
-
|
|
126001
|
+
getResolvedModule,
|
|
126046
126002
|
/*deferWatchingNonRelativeResolution*/
|
|
126047
126003
|
false
|
|
126048
126004
|
);
|
|
126049
126005
|
resolvedLibraries.set(libFileName, resolution);
|
|
126050
126006
|
if (existingResolution) {
|
|
126051
|
-
stopWatchFailedLookupLocationOfResolution(existingResolution, path,
|
|
126007
|
+
stopWatchFailedLookupLocationOfResolution(existingResolution, path, getResolvedModule);
|
|
126052
126008
|
}
|
|
126053
126009
|
} else {
|
|
126054
126010
|
if (isTraceEnabled(options, host)) {
|
|
126055
|
-
const resolved =
|
|
126011
|
+
const resolved = getResolvedModule(resolution);
|
|
126056
126012
|
trace(
|
|
126057
126013
|
host,
|
|
126058
126014
|
(resolved == null ? void 0 : resolved.resolvedFileName) ? resolved.packageId ? Diagnostics.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3 : Diagnostics.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2 : Diagnostics.Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved,
|
|
@@ -126329,8 +126285,8 @@ function createResolutionCache(resolutionHost, rootDirForResolution, logChangesW
|
|
|
126329
126285
|
resolvedProjectReference.commandLine.fileNames.forEach((f) => removeResolutionsOfFile(resolutionHost.toPath(f)));
|
|
126330
126286
|
}
|
|
126331
126287
|
function removeResolutionsOfFile(filePath) {
|
|
126332
|
-
removeResolutionsOfFileFromCache(resolvedModuleNames, filePath,
|
|
126333
|
-
removeResolutionsOfFileFromCache(resolvedTypeReferenceDirectives, filePath,
|
|
126288
|
+
removeResolutionsOfFileFromCache(resolvedModuleNames, filePath, getResolvedModule);
|
|
126289
|
+
removeResolutionsOfFileFromCache(resolvedTypeReferenceDirectives, filePath, getResolvedTypeReferenceDirective);
|
|
126334
126290
|
}
|
|
126335
126291
|
function invalidateResolutions(resolutions, canInvalidate) {
|
|
126336
126292
|
if (!resolutions)
|
|
@@ -126756,7 +126712,7 @@ function fileIncludeReasonToDiagnostics(program, reason, fileNameConvertor) {
|
|
|
126756
126712
|
var _a, _b;
|
|
126757
126713
|
const options = program.getCompilerOptions();
|
|
126758
126714
|
if (isReferencedFile(reason)) {
|
|
126759
|
-
const referenceLocation = getReferencedFileLocation(
|
|
126715
|
+
const referenceLocation = getReferencedFileLocation(program, reason);
|
|
126760
126716
|
const referenceText = isReferenceFileLocation(referenceLocation) ? referenceLocation.file.text.substring(referenceLocation.pos, referenceLocation.end) : `"${referenceLocation.text}"`;
|
|
126761
126717
|
let message;
|
|
126762
126718
|
Debug.assert(isReferenceFileLocation(referenceLocation) || reason.kind === 3 /* Import */, "Only synthetic references are imports");
|
|
@@ -135441,14 +135397,14 @@ function combinePathsSafe(pathA, pathB) {
|
|
|
135441
135397
|
return ensurePathIsNonModuleName(combineNormal(pathA, pathB));
|
|
135442
135398
|
}
|
|
135443
135399
|
function getSourceFileToImport(importedModuleSymbol, importLiteral, importingSourceFile, program, host, oldToNew) {
|
|
135444
|
-
var _a;
|
|
135400
|
+
var _a, _b;
|
|
135445
135401
|
if (importedModuleSymbol) {
|
|
135446
135402
|
const oldFileName = find(importedModuleSymbol.declarations, isSourceFile).fileName;
|
|
135447
135403
|
const newFileName = oldToNew(oldFileName);
|
|
135448
135404
|
return newFileName === void 0 ? { newFileName: oldFileName, updated: false } : { newFileName, updated: true };
|
|
135449
135405
|
} else {
|
|
135450
135406
|
const mode = getModeForUsageLocation(importingSourceFile, importLiteral);
|
|
135451
|
-
const resolved = host.resolveModuleNameLiterals || !host.resolveModuleNames ? (_a =
|
|
135407
|
+
const resolved = host.resolveModuleNameLiterals || !host.resolveModuleNames ? (_b = (_a = program.resolvedModules) == null ? void 0 : _a.get(importingSourceFile.path)) == null ? void 0 : _b.get(importLiteral.text, mode) : host.getResolvedModuleWithFailedLookupLocationsFromCache && host.getResolvedModuleWithFailedLookupLocationsFromCache(importLiteral.text, importingSourceFile.fileName, mode);
|
|
135452
135408
|
return getSourceFileToImportFromResolved(importLiteral, resolved, oldToNew, program.getSourceFiles());
|
|
135453
135409
|
}
|
|
135454
135410
|
}
|
|
@@ -136343,6 +136299,7 @@ function createSourceFileLike(text, lineMap) {
|
|
|
136343
136299
|
// src/services/suggestionDiagnostics.ts
|
|
136344
136300
|
var visitedNestedConvertibleFunctions = /* @__PURE__ */ new Map();
|
|
136345
136301
|
function computeSuggestionDiagnostics(sourceFile, program, cancellationToken) {
|
|
136302
|
+
var _a, _b, _c;
|
|
136346
136303
|
program.getSemanticDiagnostics(sourceFile, cancellationToken);
|
|
136347
136304
|
const diags = [];
|
|
136348
136305
|
const checker = program.getTypeChecker();
|
|
@@ -136359,7 +136316,7 @@ function computeSuggestionDiagnostics(sourceFile, program, cancellationToken) {
|
|
|
136359
136316
|
const name = importNameForConvertToDefaultImport(importNode);
|
|
136360
136317
|
if (!name)
|
|
136361
136318
|
continue;
|
|
136362
|
-
const module2 =
|
|
136319
|
+
const module2 = (_c = (_b = (_a = program.resolvedModules) == null ? void 0 : _a.get(sourceFile.path)) == null ? void 0 : _b.get(moduleSpecifier.text, getModeForUsageLocation(sourceFile, moduleSpecifier))) == null ? void 0 : _c.resolvedModule;
|
|
136363
136320
|
const resolvedFile = module2 && program.getSourceFile(module2.resolvedFileName);
|
|
136364
136321
|
if (resolvedFile && resolvedFile.externalModuleIndicator && resolvedFile.externalModuleIndicator !== true && isExportAssignment(resolvedFile.externalModuleIndicator) && resolvedFile.externalModuleIndicator.isExportEquals) {
|
|
136365
136322
|
diags.push(createDiagnosticForNode(name, Diagnostics.Import_may_be_converted_to_a_default_import));
|
|
@@ -138762,10 +138719,10 @@ function getTargetFileImportsAndAddExportInOldFile(oldFile, targetFile, importsT
|
|
|
138762
138719
|
const targetSourceFile = program.getSourceFile(targetFile);
|
|
138763
138720
|
for (const oldStatement of oldFile.statements) {
|
|
138764
138721
|
forEachImportInStatement(oldStatement, (i) => {
|
|
138765
|
-
var _a, _b;
|
|
138722
|
+
var _a, _b, _c;
|
|
138766
138723
|
const moduleSpecifier = moduleSpecifierFromImport(i);
|
|
138767
|
-
const resolved = (_a =
|
|
138768
|
-
const fileName = (
|
|
138724
|
+
const resolved = (_b = (_a = program.resolvedModules) == null ? void 0 : _a.get(oldFile.path)) == null ? void 0 : _b.get(moduleSpecifier.text, getModeForUsageLocation(oldFile, moduleSpecifier));
|
|
138725
|
+
const fileName = (_c = resolved == null ? void 0 : resolved.resolvedModule) == null ? void 0 : _c.resolvedFileName;
|
|
138769
138726
|
if (fileName && targetSourceFile) {
|
|
138770
138727
|
const newModuleSpecifier = getModuleSpecifier(program.getCompilerOptions(), targetSourceFile, targetSourceFile.path, fileName, createModuleSpecifierResolutionHost(program, host));
|
|
138771
138728
|
append(copiedOldImports, filterImport(i, makeStringLiteral(newModuleSpecifier, quotePreference), (name) => importsToCopy.has(checker.getSymbolAtLocation(name))));
|
|
@@ -149039,16 +148996,17 @@ registerCodeFix({
|
|
|
149039
148996
|
const moduleExportsChangedToDefault = convertFileToEsModule(sourceFile, program.getTypeChecker(), changes2, getEmitScriptTarget(program.getCompilerOptions()), getQuotePreference(sourceFile, preferences));
|
|
149040
148997
|
if (moduleExportsChangedToDefault) {
|
|
149041
148998
|
for (const importingFile of program.getSourceFiles()) {
|
|
149042
|
-
fixImportOfModuleExports(importingFile, sourceFile, changes2, getQuotePreference(importingFile, preferences));
|
|
148999
|
+
fixImportOfModuleExports(importingFile, sourceFile, program, changes2, getQuotePreference(importingFile, preferences));
|
|
149043
149000
|
}
|
|
149044
149001
|
}
|
|
149045
149002
|
});
|
|
149046
149003
|
return [createCodeFixActionWithoutFixAll("convertToEsModule", changes, Diagnostics.Convert_to_ES_module)];
|
|
149047
149004
|
}
|
|
149048
149005
|
});
|
|
149049
|
-
function fixImportOfModuleExports(importingFile, exportingFile, changes, quotePreference) {
|
|
149006
|
+
function fixImportOfModuleExports(importingFile, exportingFile, program, changes, quotePreference) {
|
|
149007
|
+
var _a, _b, _c;
|
|
149050
149008
|
for (const moduleSpecifier of importingFile.imports) {
|
|
149051
|
-
const imported =
|
|
149009
|
+
const imported = (_c = (_b = (_a = program.resolvedModules) == null ? void 0 : _a.get(importingFile.path)) == null ? void 0 : _b.get(moduleSpecifier.text, getModeForUsageLocation(importingFile, moduleSpecifier))) == null ? void 0 : _c.resolvedModule;
|
|
149052
149010
|
if (!imported || imported.resolvedFileName !== exportingFile.fileName) {
|
|
149053
149011
|
continue;
|
|
149054
149012
|
}
|
|
@@ -150201,7 +150159,7 @@ registerCodeFix({
|
|
|
150201
150159
|
fix,
|
|
150202
150160
|
/*includeSymbolNameInDescription*/
|
|
150203
150161
|
symbolName2 !== errorIdentifierText,
|
|
150204
|
-
program
|
|
150162
|
+
program,
|
|
150205
150163
|
preferences
|
|
150206
150164
|
)
|
|
150207
150165
|
);
|
|
@@ -150450,7 +150408,6 @@ function createImportSpecifierResolver(importingFile, program, host, preferences
|
|
|
150450
150408
|
}
|
|
150451
150409
|
}
|
|
150452
150410
|
function getImportCompletionAction(targetSymbol, moduleSymbol, exportMapKey, sourceFile, symbolName2, isJsxTagName, host, program, formatContext, position, preferences, cancellationToken) {
|
|
150453
|
-
const compilerOptions = program.getCompilerOptions();
|
|
150454
150411
|
let exportInfos;
|
|
150455
150412
|
if (exportMapKey) {
|
|
150456
150413
|
exportInfos = getExportInfoMap(sourceFile, host, program, preferences, cancellationToken).get(sourceFile.path, exportMapKey);
|
|
@@ -150471,7 +150428,7 @@ function getImportCompletionAction(targetSymbol, moduleSymbol, exportMapKey, sou
|
|
|
150471
150428
|
fix,
|
|
150472
150429
|
/*includeSymbolNameInDescription*/
|
|
150473
150430
|
false,
|
|
150474
|
-
|
|
150431
|
+
program,
|
|
150475
150432
|
preferences
|
|
150476
150433
|
))
|
|
150477
150434
|
};
|
|
@@ -150481,7 +150438,15 @@ function getPromoteTypeOnlyCompletionAction(sourceFile, symbolToken, program, ho
|
|
|
150481
150438
|
const symbolName2 = single(getSymbolNamesToImport(sourceFile, program.getTypeChecker(), symbolToken, compilerOptions));
|
|
150482
150439
|
const fix = getTypeOnlyPromotionFix(sourceFile, symbolToken, symbolName2, program);
|
|
150483
150440
|
const includeSymbolNameInDescription = symbolName2 !== symbolToken.text;
|
|
150484
|
-
return fix && codeFixActionToCodeAction(codeActionForFix(
|
|
150441
|
+
return fix && codeFixActionToCodeAction(codeActionForFix(
|
|
150442
|
+
{ host, formatContext, preferences },
|
|
150443
|
+
sourceFile,
|
|
150444
|
+
symbolName2,
|
|
150445
|
+
fix,
|
|
150446
|
+
includeSymbolNameInDescription,
|
|
150447
|
+
program,
|
|
150448
|
+
preferences
|
|
150449
|
+
));
|
|
150485
150450
|
}
|
|
150486
150451
|
function getImportFixForSymbol(sourceFile, exportInfos, program, position, isValidTypeOnlyUseSite, useRequire, host, preferences) {
|
|
150487
150452
|
const packageJsonImportFilter = createPackageJsonImportFilter(sourceFile, preferences, host);
|
|
@@ -151051,14 +151016,14 @@ function getExportEqualsImportKind(importingFile, compilerOptions, forceImportKe
|
|
|
151051
151016
|
}
|
|
151052
151017
|
return allowSyntheticDefaults ? 1 /* Default */ : 3 /* CommonJS */;
|
|
151053
151018
|
}
|
|
151054
|
-
function codeActionForFix(context, sourceFile, symbolName2, fix, includeSymbolNameInDescription,
|
|
151019
|
+
function codeActionForFix(context, sourceFile, symbolName2, fix, includeSymbolNameInDescription, program, preferences) {
|
|
151055
151020
|
let diag2;
|
|
151056
151021
|
const changes = ts_textChanges_exports.ChangeTracker.with(context, (tracker) => {
|
|
151057
|
-
diag2 = codeActionForFixWorker(tracker, sourceFile, symbolName2, fix, includeSymbolNameInDescription,
|
|
151022
|
+
diag2 = codeActionForFixWorker(tracker, sourceFile, symbolName2, fix, includeSymbolNameInDescription, program, preferences);
|
|
151058
151023
|
});
|
|
151059
151024
|
return createCodeFixAction(importFixName, changes, diag2, importFixId, Diagnostics.Add_all_missing_imports);
|
|
151060
151025
|
}
|
|
151061
|
-
function codeActionForFixWorker(changes, sourceFile, symbolName2, fix, includeSymbolNameInDescription,
|
|
151026
|
+
function codeActionForFixWorker(changes, sourceFile, symbolName2, fix, includeSymbolNameInDescription, program, preferences) {
|
|
151062
151027
|
const quotePreference = getQuotePreference(sourceFile, preferences);
|
|
151063
151028
|
switch (fix.kind) {
|
|
151064
151029
|
case 0 /* UseNamespace */:
|
|
@@ -151095,7 +151060,7 @@ function codeActionForFixWorker(changes, sourceFile, symbolName2, fix, includeSy
|
|
|
151095
151060
|
defaultImport,
|
|
151096
151061
|
namedImports,
|
|
151097
151062
|
namespaceLikeImport,
|
|
151098
|
-
|
|
151063
|
+
program.getCompilerOptions()
|
|
151099
151064
|
),
|
|
151100
151065
|
/*blankLineBetween*/
|
|
151101
151066
|
true,
|
|
@@ -151108,7 +151073,7 @@ function codeActionForFixWorker(changes, sourceFile, symbolName2, fix, includeSy
|
|
|
151108
151073
|
}
|
|
151109
151074
|
case 4 /* PromoteTypeOnly */: {
|
|
151110
151075
|
const { typeOnlyAliasDeclaration } = fix;
|
|
151111
|
-
const promotedDeclaration = promoteFromTypeOnly(changes, typeOnlyAliasDeclaration,
|
|
151076
|
+
const promotedDeclaration = promoteFromTypeOnly(changes, typeOnlyAliasDeclaration, program, sourceFile, preferences);
|
|
151112
151077
|
return promotedDeclaration.kind === 276 /* ImportSpecifier */ ? [Diagnostics.Remove_type_from_import_of_0_from_1, symbolName2, getModuleSpecifierText(promotedDeclaration.parent.parent)] : [Diagnostics.Remove_type_from_import_declaration_from_0, getModuleSpecifierText(promotedDeclaration)];
|
|
151113
151078
|
}
|
|
151114
151079
|
default:
|
|
@@ -151119,7 +151084,8 @@ function getModuleSpecifierText(promotedDeclaration) {
|
|
|
151119
151084
|
var _a, _b;
|
|
151120
151085
|
return promotedDeclaration.kind === 271 /* ImportEqualsDeclaration */ ? ((_b = tryCast((_a = tryCast(promotedDeclaration.moduleReference, isExternalModuleReference)) == null ? void 0 : _a.expression, isStringLiteralLike)) == null ? void 0 : _b.text) || promotedDeclaration.moduleReference.getText() : cast(promotedDeclaration.parent.moduleSpecifier, isStringLiteral).text;
|
|
151121
151086
|
}
|
|
151122
|
-
function promoteFromTypeOnly(changes, aliasDeclaration,
|
|
151087
|
+
function promoteFromTypeOnly(changes, aliasDeclaration, program, sourceFile, preferences) {
|
|
151088
|
+
const compilerOptions = program.getCompilerOptions();
|
|
151123
151089
|
const convertExistingToTypeOnly = importNameElisionDisabled(compilerOptions);
|
|
151124
151090
|
switch (aliasDeclaration.kind) {
|
|
151125
151091
|
case 276 /* ImportSpecifier */:
|
|
@@ -151161,10 +151127,11 @@ function promoteFromTypeOnly(changes, aliasDeclaration, compilerOptions, sourceF
|
|
|
151161
151127
|
Debug.failBadSyntaxKind(aliasDeclaration);
|
|
151162
151128
|
}
|
|
151163
151129
|
function promoteImportClause(importClause) {
|
|
151130
|
+
var _a, _b, _c;
|
|
151164
151131
|
changes.delete(sourceFile, getTypeKeywordOfTypeOnlyImport(importClause, sourceFile));
|
|
151165
151132
|
if (!compilerOptions.allowImportingTsExtensions) {
|
|
151166
151133
|
const moduleSpecifier = tryGetModuleSpecifierFromDeclaration(importClause.parent);
|
|
151167
|
-
const resolvedModule = moduleSpecifier &&
|
|
151134
|
+
const resolvedModule = moduleSpecifier && ((_c = (_b = (_a = program.resolvedModules) == null ? void 0 : _a.get(sourceFile.path)) == null ? void 0 : _b.get(moduleSpecifier.text, getModeForUsageLocation(sourceFile, moduleSpecifier))) == null ? void 0 : _c.resolvedModule);
|
|
151168
151135
|
if (resolvedModule == null ? void 0 : resolvedModule.resolvedUsingTsExtension) {
|
|
151169
151136
|
const changedExtension = changeAnyExtension(moduleSpecifier.text, getOutputExtension(moduleSpecifier.text, compilerOptions));
|
|
151170
151137
|
changes.replaceNode(sourceFile, moduleSpecifier, factory.createStringLiteral(changedExtension));
|
|
@@ -151832,7 +151799,7 @@ registerCodeFix({
|
|
|
151832
151799
|
}
|
|
151833
151800
|
});
|
|
151834
151801
|
function getInfo7(sourceFile, pos, program) {
|
|
151835
|
-
var _a;
|
|
151802
|
+
var _a, _b, _c, _d;
|
|
151836
151803
|
const token = getTokenAtPosition(sourceFile, pos);
|
|
151837
151804
|
if (isIdentifier(token)) {
|
|
151838
151805
|
const importDeclaration = findAncestor(token, isImportDeclaration);
|
|
@@ -151841,19 +151808,18 @@ function getInfo7(sourceFile, pos, program) {
|
|
|
151841
151808
|
const moduleSpecifier = isStringLiteral(importDeclaration.moduleSpecifier) ? importDeclaration.moduleSpecifier.text : void 0;
|
|
151842
151809
|
if (moduleSpecifier === void 0)
|
|
151843
151810
|
return void 0;
|
|
151844
|
-
const resolvedModule =
|
|
151845
|
-
sourceFile,
|
|
151811
|
+
const resolvedModule = (_c = (_b = (_a = program.resolvedModules) == null ? void 0 : _a.get(sourceFile.path)) == null ? void 0 : _b.get(
|
|
151846
151812
|
moduleSpecifier,
|
|
151847
151813
|
/*mode*/
|
|
151848
151814
|
void 0
|
|
151849
|
-
);
|
|
151815
|
+
)) == null ? void 0 : _c.resolvedModule;
|
|
151850
151816
|
if (resolvedModule === void 0)
|
|
151851
151817
|
return void 0;
|
|
151852
151818
|
const moduleSourceFile = program.getSourceFile(resolvedModule.resolvedFileName);
|
|
151853
151819
|
if (moduleSourceFile === void 0 || isSourceFileFromLibrary(program, moduleSourceFile))
|
|
151854
151820
|
return void 0;
|
|
151855
151821
|
const moduleSymbol = moduleSourceFile.symbol;
|
|
151856
|
-
const locals = (
|
|
151822
|
+
const locals = (_d = tryCast(moduleSymbol.valueDeclaration, canHaveLocals)) == null ? void 0 : _d.locals;
|
|
151857
151823
|
if (locals === void 0)
|
|
151858
151824
|
return void 0;
|
|
151859
151825
|
const localSymbol = locals.get(token.escapedText);
|
|
@@ -152108,9 +152074,10 @@ function convertSemanticMeaningToSymbolFlags(meaning) {
|
|
|
152108
152074
|
return flags;
|
|
152109
152075
|
}
|
|
152110
152076
|
function getResolvedSourceFileFromImportDeclaration(sourceFile, context, importDeclaration) {
|
|
152077
|
+
var _a, _b, _c;
|
|
152111
152078
|
if (!importDeclaration || !isStringLiteralLike(importDeclaration.moduleSpecifier))
|
|
152112
152079
|
return void 0;
|
|
152113
|
-
const resolvedModule =
|
|
152080
|
+
const resolvedModule = (_c = (_b = (_a = context.program.resolvedModules) == null ? void 0 : _a.get(sourceFile.path)) == null ? void 0 : _b.get(importDeclaration.moduleSpecifier.text, getModeForUsageLocation(sourceFile, importDeclaration.moduleSpecifier))) == null ? void 0 : _c.resolvedModule;
|
|
152114
152081
|
if (!resolvedModule)
|
|
152115
152082
|
return void 0;
|
|
152116
152083
|
return context.program.getSourceFile(resolvedModule.resolvedFileName);
|
|
@@ -162913,7 +162880,7 @@ function declarationIsWriteAccess(decl) {
|
|
|
162913
162880
|
var Core;
|
|
162914
162881
|
((Core2) => {
|
|
162915
162882
|
function getReferencedSymbolsForNode(position, node, program, sourceFiles, cancellationToken, options = {}, sourceFilesSet = new Set(sourceFiles.map((f) => f.fileName))) {
|
|
162916
|
-
var _a, _b, _c;
|
|
162883
|
+
var _a, _b, _c, _d;
|
|
162917
162884
|
node = getAdjustedNode2(node, options);
|
|
162918
162885
|
if (isSourceFile(node)) {
|
|
162919
162886
|
const resolvedRef = ts_GoToDefinition_exports.getReferenceAtPosition(node, position, program);
|
|
@@ -162952,7 +162919,7 @@ var Core;
|
|
|
162952
162919
|
if (!options.implementations && isStringLiteralLike(node)) {
|
|
162953
162920
|
if (isModuleSpecifierLike(node)) {
|
|
162954
162921
|
const fileIncludeReasons = program.getFileIncludeReasons();
|
|
162955
|
-
const referencedFileName = (_c = (_b = (_a = node.getSourceFile().
|
|
162922
|
+
const referencedFileName = (_d = (_c = (_b = (_a = program.resolvedModules) == null ? void 0 : _a.get(node.getSourceFile().path)) == null ? void 0 : _b.get(node.text, getModeForUsageLocation(node.getSourceFile(), node))) == null ? void 0 : _c.resolvedModule) == null ? void 0 : _d.resolvedFileName;
|
|
162956
162923
|
const referencedFile = referencedFileName ? program.getSourceFile(referencedFileName) : void 0;
|
|
162957
162924
|
if (referencedFile) {
|
|
162958
162925
|
return [{ definition: { type: 4 /* String */, node }, references: getReferencesForNonModule(referencedFile, fileIncludeReasons, program) || emptyArray }];
|
|
@@ -163015,7 +162982,7 @@ var Core;
|
|
|
163015
162982
|
for (const ref of references) {
|
|
163016
162983
|
if (isReferencedFile(ref)) {
|
|
163017
162984
|
const referencingFile = program.getSourceFileByPath(ref.file);
|
|
163018
|
-
const location = getReferencedFileLocation(program
|
|
162985
|
+
const location = getReferencedFileLocation(program, ref);
|
|
163019
162986
|
if (isReferenceFileLocation(location)) {
|
|
163020
162987
|
entries = append(entries, {
|
|
163021
162988
|
kind: 0 /* Span */,
|
|
@@ -164355,7 +164322,7 @@ __export(ts_GoToDefinition_exports, {
|
|
|
164355
164322
|
|
|
164356
164323
|
// src/services/goToDefinition.ts
|
|
164357
164324
|
function getDefinitionAtPosition(program, sourceFile, position, searchOtherFilesOnly, stopAtAlias) {
|
|
164358
|
-
var _a, _b;
|
|
164325
|
+
var _a, _b, _c;
|
|
164359
164326
|
const resolvedRef = getReferenceAtPosition(sourceFile, position, program);
|
|
164360
164327
|
const fileReferenceDefinition = resolvedRef && [getDefinitionInfoForFileReference(resolvedRef.reference.fileName, resolvedRef.fileName, resolvedRef.unverified)] || emptyArray;
|
|
164361
164328
|
if (resolvedRef == null ? void 0 : resolvedRef.file) {
|
|
@@ -164428,7 +164395,7 @@ function getDefinitionAtPosition(program, sourceFile, position, searchOtherFiles
|
|
|
164428
164395
|
}
|
|
164429
164396
|
}
|
|
164430
164397
|
if (!symbol && isModuleSpecifierLike(fallbackNode)) {
|
|
164431
|
-
const ref = (_b = (_a =
|
|
164398
|
+
const ref = (_c = (_b = (_a = program.resolvedModules) == null ? void 0 : _a.get(sourceFile.path)) == null ? void 0 : _b.get(fallbackNode.text, getModeForUsageLocation(sourceFile, fallbackNode))) == null ? void 0 : _c.resolvedModule;
|
|
164432
164399
|
if (ref) {
|
|
164433
164400
|
return [{
|
|
164434
164401
|
name: fallbackNode.text,
|
|
@@ -164540,10 +164507,11 @@ function getReferenceAtPosition(sourceFile, position, program) {
|
|
|
164540
164507
|
const file = program.getLibFileFromReference(libReferenceDirective);
|
|
164541
164508
|
return file && { reference: libReferenceDirective, fileName: file.fileName, file, unverified: false };
|
|
164542
164509
|
}
|
|
164543
|
-
|
|
164510
|
+
const resolvedModules = (_b = program.resolvedModules) == null ? void 0 : _b.get(sourceFile.path);
|
|
164511
|
+
if (resolvedModules == null ? void 0 : resolvedModules.size()) {
|
|
164544
164512
|
const node = getTouchingToken(sourceFile, position);
|
|
164545
|
-
if (isModuleSpecifierLike(node) && isExternalModuleNameRelative(node.text) &&
|
|
164546
|
-
const verifiedFileName = (_d = (_c =
|
|
164513
|
+
if (isModuleSpecifierLike(node) && isExternalModuleNameRelative(node.text) && resolvedModules.has(node.text, getModeForUsageLocation(sourceFile, node))) {
|
|
164514
|
+
const verifiedFileName = (_d = (_c = resolvedModules.get(node.text, getModeForUsageLocation(sourceFile, node))) == null ? void 0 : _c.resolvedModule) == null ? void 0 : _d.resolvedFileName;
|
|
164547
164515
|
const fileName = verifiedFileName || resolvePath(getDirectoryPath(sourceFile.fileName), node.text);
|
|
164548
164516
|
return {
|
|
164549
164517
|
file: program.getSourceFile(fileName),
|
|
@@ -173481,8 +173449,6 @@ __export(ts_exports2, {
|
|
|
173481
173449
|
getResolvePackageJsonExports: () => getResolvePackageJsonExports,
|
|
173482
173450
|
getResolvePackageJsonImports: () => getResolvePackageJsonImports,
|
|
173483
173451
|
getResolvedExternalModuleName: () => getResolvedExternalModuleName,
|
|
173484
|
-
getResolvedModule: () => getResolvedModule,
|
|
173485
|
-
getResolvedTypeReferenceDirective: () => getResolvedTypeReferenceDirective,
|
|
173486
173452
|
getRestIndicatorOfBindingOrAssignmentElement: () => getRestIndicatorOfBindingOrAssignmentElement,
|
|
173487
173453
|
getRestParameterElementType: () => getRestParameterElementType,
|
|
173488
173454
|
getRightMostAssignedExpression: () => getRightMostAssignedExpression,
|
|
@@ -174580,8 +174546,6 @@ __export(ts_exports2, {
|
|
|
174580
174546
|
setParent: () => setParent,
|
|
174581
174547
|
setParentRecursive: () => setParentRecursive,
|
|
174582
174548
|
setPrivateIdentifier: () => setPrivateIdentifier,
|
|
174583
|
-
setResolvedModule: () => setResolvedModule,
|
|
174584
|
-
setResolvedTypeReferenceDirective: () => setResolvedTypeReferenceDirective,
|
|
174585
174549
|
setSnippetElement: () => setSnippetElement,
|
|
174586
174550
|
setSourceMapRange: () => setSourceMapRange,
|
|
174587
174551
|
setStackTraceLimit: () => setStackTraceLimit,
|
|
@@ -174808,7 +174772,6 @@ __export(ts_exports2, {
|
|
|
174808
174772
|
writeCommentRange: () => writeCommentRange,
|
|
174809
174773
|
writeFile: () => writeFile,
|
|
174810
174774
|
writeFileEnsuringDirectories: () => writeFileEnsuringDirectories,
|
|
174811
|
-
zipToModeAwareCache: () => zipToModeAwareCache,
|
|
174812
174775
|
zipWith: () => zipWith
|
|
174813
174776
|
});
|
|
174814
174777
|
|
|
@@ -176682,7 +176645,8 @@ var Project3 = class _Project {
|
|
|
176682
176645
|
}
|
|
176683
176646
|
if (this.program && !this.symlinks.hasProcessedResolutions()) {
|
|
176684
176647
|
this.symlinks.setSymlinksFromResolutions(
|
|
176685
|
-
this.program.
|
|
176648
|
+
this.program.resolvedModules,
|
|
176649
|
+
this.program.resolvedTypeReferenceDirectiveNames,
|
|
176686
176650
|
this.program.getAutomaticTypeDirectiveResolutions()
|
|
176687
176651
|
);
|
|
176688
176652
|
}
|
|
@@ -178087,16 +178051,23 @@ function getUnresolvedImports(program, cachedUnresolvedImportsPerFile) {
|
|
|
178087
178051
|
const sourceFiles = program.getSourceFiles();
|
|
178088
178052
|
(_a = tracing) == null ? void 0 : _a.push(tracing.Phase.Session, "getUnresolvedImports", { count: sourceFiles.length });
|
|
178089
178053
|
const ambientModules = program.getTypeChecker().getAmbientModules().map((mod) => stripQuotes(mod.getName()));
|
|
178090
|
-
const result = sortAndDeduplicate(flatMap(sourceFiles, (sourceFile) => extractUnresolvedImportsFromSourceFile(
|
|
178054
|
+
const result = sortAndDeduplicate(flatMap(sourceFiles, (sourceFile) => extractUnresolvedImportsFromSourceFile(
|
|
178055
|
+
program,
|
|
178056
|
+
sourceFile,
|
|
178057
|
+
ambientModules,
|
|
178058
|
+
cachedUnresolvedImportsPerFile
|
|
178059
|
+
)));
|
|
178091
178060
|
(_b = tracing) == null ? void 0 : _b.pop();
|
|
178092
178061
|
return result;
|
|
178093
178062
|
}
|
|
178094
|
-
function extractUnresolvedImportsFromSourceFile(file, ambientModules, cachedUnresolvedImportsPerFile) {
|
|
178063
|
+
function extractUnresolvedImportsFromSourceFile(program, file, ambientModules, cachedUnresolvedImportsPerFile) {
|
|
178095
178064
|
return getOrUpdate(cachedUnresolvedImportsPerFile, file.path, () => {
|
|
178096
|
-
|
|
178065
|
+
var _a;
|
|
178066
|
+
const resolvedModules = (_a = program.resolvedModules) == null ? void 0 : _a.get(file.path);
|
|
178067
|
+
if (!resolvedModules)
|
|
178097
178068
|
return emptyArray2;
|
|
178098
178069
|
let unresolvedImports;
|
|
178099
|
-
|
|
178070
|
+
resolvedModules.forEach(({ resolvedModule }, name) => {
|
|
178100
178071
|
if ((!resolvedModule || !resolutionExtensionIsTSOrJson(resolvedModule.extension)) && !isExternalModuleNameRelative(name) && !ambientModules.some((m) => m === name)) {
|
|
178101
178072
|
unresolvedImports = append(unresolvedImports, parsePackageName(name).packageName);
|
|
178102
178073
|
}
|
|
@@ -188043,8 +188014,6 @@ start(initializeNodeSystem(), require("os").platform());
|
|
|
188043
188014
|
getResolvePackageJsonExports,
|
|
188044
188015
|
getResolvePackageJsonImports,
|
|
188045
188016
|
getResolvedExternalModuleName,
|
|
188046
|
-
getResolvedModule,
|
|
188047
|
-
getResolvedTypeReferenceDirective,
|
|
188048
188017
|
getRestIndicatorOfBindingOrAssignmentElement,
|
|
188049
188018
|
getRestParameterElementType,
|
|
188050
188019
|
getRightMostAssignedExpression,
|
|
@@ -189142,8 +189111,6 @@ start(initializeNodeSystem(), require("os").platform());
|
|
|
189142
189111
|
setParent,
|
|
189143
189112
|
setParentRecursive,
|
|
189144
189113
|
setPrivateIdentifier,
|
|
189145
|
-
setResolvedModule,
|
|
189146
|
-
setResolvedTypeReferenceDirective,
|
|
189147
189114
|
setSnippetElement,
|
|
189148
189115
|
setSourceMapRange,
|
|
189149
189116
|
setStackTraceLimit,
|
|
@@ -189370,7 +189337,6 @@ start(initializeNodeSystem(), require("os").platform());
|
|
|
189370
189337
|
writeCommentRange,
|
|
189371
189338
|
writeFile,
|
|
189372
189339
|
writeFileEnsuringDirectories,
|
|
189373
|
-
zipToModeAwareCache,
|
|
189374
189340
|
zipWith
|
|
189375
189341
|
});
|
|
189376
189342
|
//# sourceMappingURL=tsserver.js.map
|