typescript 5.4.0-dev.20240216 → 5.4.0-dev.20240218
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 +13 -23
- package/lib/tsserver.js +32 -36
- package/lib/typescript.js +32 -36
- package/lib/typingsInstaller.js +1 -1
- package/package.json +2 -2
package/lib/tsc.js
CHANGED
|
@@ -18,7 +18,7 @@ and limitations under the License.
|
|
|
18
18
|
|
|
19
19
|
// src/compiler/corePublic.ts
|
|
20
20
|
var versionMajorMinor = "5.4";
|
|
21
|
-
var version = `${versionMajorMinor}.0-dev.
|
|
21
|
+
var version = `${versionMajorMinor}.0-dev.20240218`;
|
|
22
22
|
|
|
23
23
|
// src/compiler/core.ts
|
|
24
24
|
var emptyArray = [];
|
|
@@ -57358,7 +57358,7 @@ function createTypeChecker(host) {
|
|
|
57358
57358
|
return target.objectFlags & 8 /* Tuple */ ? createNormalizedTupleType(target, typeArguments) : createTypeReference(target, typeArguments);
|
|
57359
57359
|
}
|
|
57360
57360
|
function createNormalizedTupleType(target, elementTypes) {
|
|
57361
|
-
var _a, _b, _c;
|
|
57361
|
+
var _a, _b, _c, _d;
|
|
57362
57362
|
if (!(target.combinedFlags & 14 /* NonRequired */)) {
|
|
57363
57363
|
return createTypeReference(target, elementTypes);
|
|
57364
57364
|
}
|
|
@@ -57378,8 +57378,10 @@ function createTypeChecker(host) {
|
|
|
57378
57378
|
const type = elementTypes[i];
|
|
57379
57379
|
const flags = target.elementFlags[i];
|
|
57380
57380
|
if (flags & 8 /* Variadic */) {
|
|
57381
|
-
if (type.flags &
|
|
57382
|
-
addElement(type,
|
|
57381
|
+
if (type.flags & 1 /* Any */) {
|
|
57382
|
+
addElement(type, 4 /* Rest */, (_a = target.labeledElementDeclarations) == null ? void 0 : _a[i]);
|
|
57383
|
+
} else if (type.flags & 58982400 /* InstantiableNonPrimitive */ || isGenericMappedType(type)) {
|
|
57384
|
+
addElement(type, 8 /* Variadic */, (_b = target.labeledElementDeclarations) == null ? void 0 : _b[i]);
|
|
57383
57385
|
} else if (isTupleType(type)) {
|
|
57384
57386
|
const elements = getElementTypes(type);
|
|
57385
57387
|
if (elements.length + expandedTypes.length >= 1e4) {
|
|
@@ -57394,10 +57396,10 @@ function createTypeChecker(host) {
|
|
|
57394
57396
|
return addElement(t, type.target.elementFlags[n], (_a2 = type.target.labeledElementDeclarations) == null ? void 0 : _a2[n]);
|
|
57395
57397
|
});
|
|
57396
57398
|
} else {
|
|
57397
|
-
addElement(isArrayLikeType(type) && getIndexTypeOfType(type, numberType) || errorType, 4 /* Rest */, (
|
|
57399
|
+
addElement(isArrayLikeType(type) && getIndexTypeOfType(type, numberType) || errorType, 4 /* Rest */, (_c = target.labeledElementDeclarations) == null ? void 0 : _c[i]);
|
|
57398
57400
|
}
|
|
57399
57401
|
} else {
|
|
57400
|
-
addElement(type, flags, (
|
|
57402
|
+
addElement(type, flags, (_d = target.labeledElementDeclarations) == null ? void 0 : _d[i]);
|
|
57401
57403
|
}
|
|
57402
57404
|
}
|
|
57403
57405
|
for (let i = 0; i < lastRequiredIndex; i++) {
|
|
@@ -58761,10 +58763,6 @@ function createTypeChecker(host) {
|
|
|
58761
58763
|
}
|
|
58762
58764
|
return type;
|
|
58763
58765
|
}
|
|
58764
|
-
function maybeCloneTypeParameter(p) {
|
|
58765
|
-
const constraint = getConstraintOfTypeParameter(p);
|
|
58766
|
-
return constraint && (isGenericObjectType(constraint) || isGenericIndexType(constraint)) ? cloneTypeParameter(p) : p;
|
|
58767
|
-
}
|
|
58768
58766
|
function isSimpleTupleType(node) {
|
|
58769
58767
|
return isTupleTypeNode(node) && length(node.elements) > 0 && !some(node.elements, (e) => isOptionalTypeNode(e) || isRestTypeNode(e) || isNamedTupleMember(e) && !!(e.questionToken || e.dotDotDotToken));
|
|
58770
58768
|
}
|
|
@@ -58794,27 +58792,19 @@ function createTypeChecker(host) {
|
|
|
58794
58792
|
const checkTypeDeferred = isDeferredType(checkType, checkTuples);
|
|
58795
58793
|
let combinedMapper;
|
|
58796
58794
|
if (root.inferTypeParameters) {
|
|
58797
|
-
const freshParams = sameMap(root.inferTypeParameters, maybeCloneTypeParameter);
|
|
58798
|
-
const freshMapper = freshParams !== root.inferTypeParameters ? createTypeMapper(root.inferTypeParameters, freshParams) : void 0;
|
|
58799
58795
|
const context = createInferenceContext(
|
|
58800
|
-
|
|
58796
|
+
root.inferTypeParameters,
|
|
58801
58797
|
/*signature*/
|
|
58802
58798
|
void 0,
|
|
58803
58799
|
0 /* None */
|
|
58804
58800
|
);
|
|
58805
|
-
if (
|
|
58806
|
-
|
|
58807
|
-
for (let i = 0; i < freshParams.length; i++) {
|
|
58808
|
-
if (freshParams[i] !== root.inferTypeParameters[i]) {
|
|
58809
|
-
freshParams[i].mapper = freshCombinedMapper;
|
|
58810
|
-
}
|
|
58811
|
-
}
|
|
58801
|
+
if (mapper) {
|
|
58802
|
+
context.nonFixingMapper = combineTypeMappers(context.nonFixingMapper, mapper);
|
|
58812
58803
|
}
|
|
58813
58804
|
if (!checkTypeDeferred) {
|
|
58814
|
-
inferTypes(context.inferences, checkType,
|
|
58805
|
+
inferTypes(context.inferences, checkType, extendsType, 512 /* NoConstraints */ | 1024 /* AlwaysStrict */);
|
|
58815
58806
|
}
|
|
58816
|
-
|
|
58817
|
-
combinedMapper = mapper ? combineTypeMappers(innerMapper, mapper) : innerMapper;
|
|
58807
|
+
combinedMapper = mapper ? combineTypeMappers(context.mapper, mapper) : context.mapper;
|
|
58818
58808
|
}
|
|
58819
58809
|
const inferredExtendsType = combinedMapper ? instantiateType(root.extendsType, combinedMapper) : extendsType;
|
|
58820
58810
|
if (!checkTypeDeferred && !isDeferredType(inferredExtendsType, checkTuples)) {
|
package/lib/tsserver.js
CHANGED
|
@@ -2340,7 +2340,7 @@ module.exports = __toCommonJS(server_exports);
|
|
|
2340
2340
|
|
|
2341
2341
|
// src/compiler/corePublic.ts
|
|
2342
2342
|
var versionMajorMinor = "5.4";
|
|
2343
|
-
var version = `${versionMajorMinor}.0-dev.
|
|
2343
|
+
var version = `${versionMajorMinor}.0-dev.20240218`;
|
|
2344
2344
|
var Comparison = /* @__PURE__ */ ((Comparison3) => {
|
|
2345
2345
|
Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
|
|
2346
2346
|
Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
|
|
@@ -62102,7 +62102,7 @@ function createTypeChecker(host) {
|
|
|
62102
62102
|
return target.objectFlags & 8 /* Tuple */ ? createNormalizedTupleType(target, typeArguments) : createTypeReference(target, typeArguments);
|
|
62103
62103
|
}
|
|
62104
62104
|
function createNormalizedTupleType(target, elementTypes) {
|
|
62105
|
-
var _a, _b, _c;
|
|
62105
|
+
var _a, _b, _c, _d;
|
|
62106
62106
|
if (!(target.combinedFlags & 14 /* NonRequired */)) {
|
|
62107
62107
|
return createTypeReference(target, elementTypes);
|
|
62108
62108
|
}
|
|
@@ -62122,8 +62122,10 @@ function createTypeChecker(host) {
|
|
|
62122
62122
|
const type = elementTypes[i];
|
|
62123
62123
|
const flags = target.elementFlags[i];
|
|
62124
62124
|
if (flags & 8 /* Variadic */) {
|
|
62125
|
-
if (type.flags &
|
|
62126
|
-
addElement(type,
|
|
62125
|
+
if (type.flags & 1 /* Any */) {
|
|
62126
|
+
addElement(type, 4 /* Rest */, (_a = target.labeledElementDeclarations) == null ? void 0 : _a[i]);
|
|
62127
|
+
} else if (type.flags & 58982400 /* InstantiableNonPrimitive */ || isGenericMappedType(type)) {
|
|
62128
|
+
addElement(type, 8 /* Variadic */, (_b = target.labeledElementDeclarations) == null ? void 0 : _b[i]);
|
|
62127
62129
|
} else if (isTupleType(type)) {
|
|
62128
62130
|
const elements = getElementTypes(type);
|
|
62129
62131
|
if (elements.length + expandedTypes.length >= 1e4) {
|
|
@@ -62138,10 +62140,10 @@ function createTypeChecker(host) {
|
|
|
62138
62140
|
return addElement(t, type.target.elementFlags[n], (_a2 = type.target.labeledElementDeclarations) == null ? void 0 : _a2[n]);
|
|
62139
62141
|
});
|
|
62140
62142
|
} else {
|
|
62141
|
-
addElement(isArrayLikeType(type) && getIndexTypeOfType(type, numberType) || errorType, 4 /* Rest */, (
|
|
62143
|
+
addElement(isArrayLikeType(type) && getIndexTypeOfType(type, numberType) || errorType, 4 /* Rest */, (_c = target.labeledElementDeclarations) == null ? void 0 : _c[i]);
|
|
62142
62144
|
}
|
|
62143
62145
|
} else {
|
|
62144
|
-
addElement(type, flags, (
|
|
62146
|
+
addElement(type, flags, (_d = target.labeledElementDeclarations) == null ? void 0 : _d[i]);
|
|
62145
62147
|
}
|
|
62146
62148
|
}
|
|
62147
62149
|
for (let i = 0; i < lastRequiredIndex; i++) {
|
|
@@ -63505,10 +63507,6 @@ function createTypeChecker(host) {
|
|
|
63505
63507
|
}
|
|
63506
63508
|
return type;
|
|
63507
63509
|
}
|
|
63508
|
-
function maybeCloneTypeParameter(p) {
|
|
63509
|
-
const constraint = getConstraintOfTypeParameter(p);
|
|
63510
|
-
return constraint && (isGenericObjectType(constraint) || isGenericIndexType(constraint)) ? cloneTypeParameter(p) : p;
|
|
63511
|
-
}
|
|
63512
63510
|
function isSimpleTupleType(node) {
|
|
63513
63511
|
return isTupleTypeNode(node) && length(node.elements) > 0 && !some(node.elements, (e) => isOptionalTypeNode(e) || isRestTypeNode(e) || isNamedTupleMember(e) && !!(e.questionToken || e.dotDotDotToken));
|
|
63514
63512
|
}
|
|
@@ -63538,27 +63536,19 @@ function createTypeChecker(host) {
|
|
|
63538
63536
|
const checkTypeDeferred = isDeferredType(checkType, checkTuples);
|
|
63539
63537
|
let combinedMapper;
|
|
63540
63538
|
if (root.inferTypeParameters) {
|
|
63541
|
-
const freshParams = sameMap(root.inferTypeParameters, maybeCloneTypeParameter);
|
|
63542
|
-
const freshMapper = freshParams !== root.inferTypeParameters ? createTypeMapper(root.inferTypeParameters, freshParams) : void 0;
|
|
63543
63539
|
const context = createInferenceContext(
|
|
63544
|
-
|
|
63540
|
+
root.inferTypeParameters,
|
|
63545
63541
|
/*signature*/
|
|
63546
63542
|
void 0,
|
|
63547
63543
|
0 /* None */
|
|
63548
63544
|
);
|
|
63549
|
-
if (
|
|
63550
|
-
|
|
63551
|
-
for (let i = 0; i < freshParams.length; i++) {
|
|
63552
|
-
if (freshParams[i] !== root.inferTypeParameters[i]) {
|
|
63553
|
-
freshParams[i].mapper = freshCombinedMapper;
|
|
63554
|
-
}
|
|
63555
|
-
}
|
|
63545
|
+
if (mapper) {
|
|
63546
|
+
context.nonFixingMapper = combineTypeMappers(context.nonFixingMapper, mapper);
|
|
63556
63547
|
}
|
|
63557
63548
|
if (!checkTypeDeferred) {
|
|
63558
|
-
inferTypes(context.inferences, checkType,
|
|
63549
|
+
inferTypes(context.inferences, checkType, extendsType, 512 /* NoConstraints */ | 1024 /* AlwaysStrict */);
|
|
63559
63550
|
}
|
|
63560
|
-
|
|
63561
|
-
combinedMapper = mapper ? combineTypeMappers(innerMapper, mapper) : innerMapper;
|
|
63551
|
+
combinedMapper = mapper ? combineTypeMappers(context.mapper, mapper) : context.mapper;
|
|
63562
63552
|
}
|
|
63563
63553
|
const inferredExtendsType = combinedMapper ? instantiateType(root.extendsType, combinedMapper) : extendsType;
|
|
63564
63554
|
if (!checkTypeDeferred && !isDeferredType(inferredExtendsType, checkTuples)) {
|
|
@@ -139662,6 +139652,7 @@ __export(ts_refactor_exports, {
|
|
|
139662
139652
|
addExports: () => addExports,
|
|
139663
139653
|
addNewFileToTsconfig: () => addNewFileToTsconfig,
|
|
139664
139654
|
addOrRemoveBracesToArrowFunction: () => ts_refactor_addOrRemoveBracesToArrowFunction_exports,
|
|
139655
|
+
containsJsx: () => containsJsx,
|
|
139665
139656
|
convertArrowFunctionOrFunctionExpression: () => ts_refactor_convertArrowFunctionOrFunctionExpression_exports,
|
|
139666
139657
|
convertParamsToDestructuredObject: () => ts_refactor_convertParamsToDestructuredObject_exports,
|
|
139667
139658
|
convertStringOrTemplateLiteral: () => ts_refactor_convertStringOrTemplateLiteral_exports,
|
|
@@ -140722,14 +140713,14 @@ registerRefactor(refactorName5, {
|
|
|
140722
140713
|
getEditsForAction: function getRefactorEditsToMoveToNewFile(context, actionName2) {
|
|
140723
140714
|
Debug.assert(actionName2 === refactorName5, "Wrong refactor invoked");
|
|
140724
140715
|
const statements = Debug.checkDefined(getStatementsToMove(context));
|
|
140725
|
-
const edits = ts_textChanges_exports.ChangeTracker.with(context, (t) => doChange3(context.file, context.program, statements, t, context.host, context.preferences
|
|
140716
|
+
const edits = ts_textChanges_exports.ChangeTracker.with(context, (t) => doChange3(context.file, context.program, statements, t, context.host, context.preferences));
|
|
140726
140717
|
return { edits, renameFilename: void 0, renameLocation: void 0 };
|
|
140727
140718
|
}
|
|
140728
140719
|
});
|
|
140729
|
-
function doChange3(oldFile, program, toMove, changes, host, preferences
|
|
140720
|
+
function doChange3(oldFile, program, toMove, changes, host, preferences) {
|
|
140730
140721
|
const checker = program.getTypeChecker();
|
|
140731
140722
|
const usage = getUsageInfo(oldFile, toMove.all, checker);
|
|
140732
|
-
const newFilename = createNewFileName(oldFile, program,
|
|
140723
|
+
const newFilename = createNewFileName(oldFile, program, host, toMove);
|
|
140733
140724
|
changes.createNewFile(oldFile, newFilename, getNewStatementsAndRemoveFromOldFile(oldFile, usage, changes, toMove, program, host, newFilename, preferences));
|
|
140734
140725
|
addNewFileToTsconfig(program, changes, oldFile.fileName, newFilename, hostGetCanonicalFileName(host));
|
|
140735
140726
|
}
|
|
@@ -141442,12 +141433,10 @@ function addExportToChanges(sourceFile, decl, name, changes, useEs6Exports) {
|
|
|
141442
141433
|
changes.insertNodesAfter(sourceFile, decl, names.map(createExportAssignment));
|
|
141443
141434
|
}
|
|
141444
141435
|
}
|
|
141445
|
-
function createNewFileName(oldFile, program,
|
|
141436
|
+
function createNewFileName(oldFile, program, host, toMove) {
|
|
141446
141437
|
const checker = program.getTypeChecker();
|
|
141447
|
-
const toMove = getStatementsToMove(context);
|
|
141448
|
-
let usage;
|
|
141449
141438
|
if (toMove) {
|
|
141450
|
-
usage = getUsageInfo(oldFile, toMove.all, checker);
|
|
141439
|
+
const usage = getUsageInfo(oldFile, toMove.all, checker);
|
|
141451
141440
|
const currentDirectory = getDirectoryPath(oldFile.fileName);
|
|
141452
141441
|
const extension = extensionFromPath(oldFile.fileName);
|
|
141453
141442
|
const newFileName = combinePaths(
|
|
@@ -141505,6 +141494,9 @@ function getStatementsToMove(context) {
|
|
|
141505
141494
|
});
|
|
141506
141495
|
return all.length === 0 ? void 0 : { all, ranges };
|
|
141507
141496
|
}
|
|
141497
|
+
function containsJsx(statements) {
|
|
141498
|
+
return find(statements, (statement) => !!(statement.transformFlags & 2 /* ContainsJsx */));
|
|
141499
|
+
}
|
|
141508
141500
|
function isAllowedStatementToMove(statement) {
|
|
141509
141501
|
return !isPureImport(statement) && !isPrologueDirective(statement);
|
|
141510
141502
|
}
|
|
@@ -141528,8 +141520,7 @@ function getUsageInfo(oldFile, toMove, checker, existingTargetLocals = /* @__PUR
|
|
|
141528
141520
|
const movedSymbols = /* @__PURE__ */ new Set();
|
|
141529
141521
|
const oldImportsNeededByTargetFile = /* @__PURE__ */ new Map();
|
|
141530
141522
|
const targetFileImportsFromOldFile = /* @__PURE__ */ new Set();
|
|
141531
|
-
const
|
|
141532
|
-
const jsxNamespaceSymbol = getJsxNamespaceSymbol(containsJsx);
|
|
141523
|
+
const jsxNamespaceSymbol = getJsxNamespaceSymbol(containsJsx(toMove));
|
|
141533
141524
|
if (jsxNamespaceSymbol) {
|
|
141534
141525
|
oldImportsNeededByTargetFile.set(jsxNamespaceSymbol, false);
|
|
141535
141526
|
}
|
|
@@ -147257,9 +147248,14 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h
|
|
|
147257
147248
|
const sourceFile = getValidSourceFile(fileName);
|
|
147258
147249
|
const allFiles = Debug.checkDefined(program.getSourceFiles());
|
|
147259
147250
|
const extension = extensionFromPath(fileName);
|
|
147260
|
-
const
|
|
147261
|
-
const
|
|
147262
|
-
|
|
147251
|
+
const toMove = getStatementsToMove(getRefactorContext(sourceFile, positionOrRange, preferences, emptyOptions));
|
|
147252
|
+
const toMoveContainsJsx = containsJsx(toMove == null ? void 0 : toMove.all);
|
|
147253
|
+
const files = mapDefined(allFiles, (file) => {
|
|
147254
|
+
const fileNameExtension = extensionFromPath(file.fileName);
|
|
147255
|
+
const isValidSourceFile = !(program == null ? void 0 : program.isSourceFileFromExternalLibrary(sourceFile)) && !(sourceFile === getValidSourceFile(file.fileName) || extension === ".ts" /* Ts */ && fileNameExtension === ".d.ts" /* Dts */ || extension === ".d.ts" /* Dts */ && startsWith(getBaseFileName(file.fileName), "lib.") && fileNameExtension === ".d.ts" /* Dts */);
|
|
147256
|
+
return isValidSourceFile && (extension === fileNameExtension || (extension === ".tsx" /* Tsx */ && fileNameExtension === ".ts" /* Ts */ || extension === ".jsx" /* Jsx */ && fileNameExtension === ".js" /* Js */) && !toMoveContainsJsx) ? file.fileName : void 0;
|
|
147257
|
+
});
|
|
147258
|
+
return { newFileName: createNewFileName(sourceFile, program, host, toMove), files };
|
|
147263
147259
|
}
|
|
147264
147260
|
function getEditsForRefactor2(fileName, formatOptions, positionOrRange, refactorName14, actionName2, preferences = emptyOptions, interactiveRefactorArguments) {
|
|
147265
147261
|
synchronizeHostData();
|
|
@@ -162287,7 +162283,7 @@ function isClassMemberCompletionKeyword(kind) {
|
|
|
162287
162283
|
}
|
|
162288
162284
|
}
|
|
162289
162285
|
function isFunctionLikeBodyKeyword(kind) {
|
|
162290
|
-
return kind === 134 /* AsyncKeyword */ || kind === 135 /* AwaitKeyword */ || kind === 130 /* AsKeyword */ || kind === 152 /* SatisfiesKeyword */ || kind === 156 /* TypeKeyword */ || !isContextualKeyword(kind) && !isClassMemberCompletionKeyword(kind);
|
|
162286
|
+
return kind === 134 /* AsyncKeyword */ || kind === 135 /* AwaitKeyword */ || kind === 160 /* UsingKeyword */ || kind === 130 /* AsKeyword */ || kind === 152 /* SatisfiesKeyword */ || kind === 156 /* TypeKeyword */ || !isContextualKeyword(kind) && !isClassMemberCompletionKeyword(kind);
|
|
162291
162287
|
}
|
|
162292
162288
|
function keywordForNode(node) {
|
|
162293
162289
|
return isIdentifier(node) ? identifierToKeywordKind(node) ?? 0 /* Unknown */ : node.kind;
|
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.4";
|
|
38
|
-
version = `${versionMajorMinor}.0-dev.
|
|
38
|
+
version = `${versionMajorMinor}.0-dev.20240218`;
|
|
39
39
|
Comparison = /* @__PURE__ */ ((Comparison3) => {
|
|
40
40
|
Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
|
|
41
41
|
Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
|
|
@@ -59857,7 +59857,7 @@ ${lanes.join("\n")}
|
|
|
59857
59857
|
return target.objectFlags & 8 /* Tuple */ ? createNormalizedTupleType(target, typeArguments) : createTypeReference(target, typeArguments);
|
|
59858
59858
|
}
|
|
59859
59859
|
function createNormalizedTupleType(target, elementTypes) {
|
|
59860
|
-
var _a, _b, _c;
|
|
59860
|
+
var _a, _b, _c, _d;
|
|
59861
59861
|
if (!(target.combinedFlags & 14 /* NonRequired */)) {
|
|
59862
59862
|
return createTypeReference(target, elementTypes);
|
|
59863
59863
|
}
|
|
@@ -59877,8 +59877,10 @@ ${lanes.join("\n")}
|
|
|
59877
59877
|
const type = elementTypes[i];
|
|
59878
59878
|
const flags = target.elementFlags[i];
|
|
59879
59879
|
if (flags & 8 /* Variadic */) {
|
|
59880
|
-
if (type.flags &
|
|
59881
|
-
addElement(type,
|
|
59880
|
+
if (type.flags & 1 /* Any */) {
|
|
59881
|
+
addElement(type, 4 /* Rest */, (_a = target.labeledElementDeclarations) == null ? void 0 : _a[i]);
|
|
59882
|
+
} else if (type.flags & 58982400 /* InstantiableNonPrimitive */ || isGenericMappedType(type)) {
|
|
59883
|
+
addElement(type, 8 /* Variadic */, (_b = target.labeledElementDeclarations) == null ? void 0 : _b[i]);
|
|
59882
59884
|
} else if (isTupleType(type)) {
|
|
59883
59885
|
const elements = getElementTypes(type);
|
|
59884
59886
|
if (elements.length + expandedTypes.length >= 1e4) {
|
|
@@ -59893,10 +59895,10 @@ ${lanes.join("\n")}
|
|
|
59893
59895
|
return addElement(t, type.target.elementFlags[n], (_a2 = type.target.labeledElementDeclarations) == null ? void 0 : _a2[n]);
|
|
59894
59896
|
});
|
|
59895
59897
|
} else {
|
|
59896
|
-
addElement(isArrayLikeType(type) && getIndexTypeOfType(type, numberType) || errorType, 4 /* Rest */, (
|
|
59898
|
+
addElement(isArrayLikeType(type) && getIndexTypeOfType(type, numberType) || errorType, 4 /* Rest */, (_c = target.labeledElementDeclarations) == null ? void 0 : _c[i]);
|
|
59897
59899
|
}
|
|
59898
59900
|
} else {
|
|
59899
|
-
addElement(type, flags, (
|
|
59901
|
+
addElement(type, flags, (_d = target.labeledElementDeclarations) == null ? void 0 : _d[i]);
|
|
59900
59902
|
}
|
|
59901
59903
|
}
|
|
59902
59904
|
for (let i = 0; i < lastRequiredIndex; i++) {
|
|
@@ -61260,10 +61262,6 @@ ${lanes.join("\n")}
|
|
|
61260
61262
|
}
|
|
61261
61263
|
return type;
|
|
61262
61264
|
}
|
|
61263
|
-
function maybeCloneTypeParameter(p) {
|
|
61264
|
-
const constraint = getConstraintOfTypeParameter(p);
|
|
61265
|
-
return constraint && (isGenericObjectType(constraint) || isGenericIndexType(constraint)) ? cloneTypeParameter(p) : p;
|
|
61266
|
-
}
|
|
61267
61265
|
function isSimpleTupleType(node) {
|
|
61268
61266
|
return isTupleTypeNode(node) && length(node.elements) > 0 && !some(node.elements, (e) => isOptionalTypeNode(e) || isRestTypeNode(e) || isNamedTupleMember(e) && !!(e.questionToken || e.dotDotDotToken));
|
|
61269
61267
|
}
|
|
@@ -61293,27 +61291,19 @@ ${lanes.join("\n")}
|
|
|
61293
61291
|
const checkTypeDeferred = isDeferredType(checkType, checkTuples);
|
|
61294
61292
|
let combinedMapper;
|
|
61295
61293
|
if (root.inferTypeParameters) {
|
|
61296
|
-
const freshParams = sameMap(root.inferTypeParameters, maybeCloneTypeParameter);
|
|
61297
|
-
const freshMapper = freshParams !== root.inferTypeParameters ? createTypeMapper(root.inferTypeParameters, freshParams) : void 0;
|
|
61298
61294
|
const context = createInferenceContext(
|
|
61299
|
-
|
|
61295
|
+
root.inferTypeParameters,
|
|
61300
61296
|
/*signature*/
|
|
61301
61297
|
void 0,
|
|
61302
61298
|
0 /* None */
|
|
61303
61299
|
);
|
|
61304
|
-
if (
|
|
61305
|
-
|
|
61306
|
-
for (let i = 0; i < freshParams.length; i++) {
|
|
61307
|
-
if (freshParams[i] !== root.inferTypeParameters[i]) {
|
|
61308
|
-
freshParams[i].mapper = freshCombinedMapper;
|
|
61309
|
-
}
|
|
61310
|
-
}
|
|
61300
|
+
if (mapper) {
|
|
61301
|
+
context.nonFixingMapper = combineTypeMappers(context.nonFixingMapper, mapper);
|
|
61311
61302
|
}
|
|
61312
61303
|
if (!checkTypeDeferred) {
|
|
61313
|
-
inferTypes(context.inferences, checkType,
|
|
61304
|
+
inferTypes(context.inferences, checkType, extendsType, 512 /* NoConstraints */ | 1024 /* AlwaysStrict */);
|
|
61314
61305
|
}
|
|
61315
|
-
|
|
61316
|
-
combinedMapper = mapper ? combineTypeMappers(innerMapper, mapper) : innerMapper;
|
|
61306
|
+
combinedMapper = mapper ? combineTypeMappers(context.mapper, mapper) : context.mapper;
|
|
61317
61307
|
}
|
|
61318
61308
|
const inferredExtendsType = combinedMapper ? instantiateType(root.extendsType, combinedMapper) : extendsType;
|
|
61319
61309
|
if (!checkTypeDeferred && !isDeferredType(inferredExtendsType, checkTuples)) {
|
|
@@ -139098,10 +139088,10 @@ ${lanes.join("\n")}
|
|
|
139098
139088
|
});
|
|
139099
139089
|
|
|
139100
139090
|
// src/services/refactors/moveToNewFile.ts
|
|
139101
|
-
function doChange3(oldFile, program, toMove, changes, host, preferences
|
|
139091
|
+
function doChange3(oldFile, program, toMove, changes, host, preferences) {
|
|
139102
139092
|
const checker = program.getTypeChecker();
|
|
139103
139093
|
const usage = getUsageInfo(oldFile, toMove.all, checker);
|
|
139104
|
-
const newFilename = createNewFileName(oldFile, program,
|
|
139094
|
+
const newFilename = createNewFileName(oldFile, program, host, toMove);
|
|
139105
139095
|
changes.createNewFile(oldFile, newFilename, getNewStatementsAndRemoveFromOldFile(oldFile, usage, changes, toMove, program, host, newFilename, preferences));
|
|
139106
139096
|
addNewFileToTsconfig(program, changes, oldFile.fileName, newFilename, hostGetCanonicalFileName(host));
|
|
139107
139097
|
}
|
|
@@ -139206,7 +139196,7 @@ ${lanes.join("\n")}
|
|
|
139206
139196
|
getEditsForAction: function getRefactorEditsToMoveToNewFile(context, actionName2) {
|
|
139207
139197
|
Debug.assert(actionName2 === refactorName5, "Wrong refactor invoked");
|
|
139208
139198
|
const statements = Debug.checkDefined(getStatementsToMove(context));
|
|
139209
|
-
const edits = ts_textChanges_exports.ChangeTracker.with(context, (t) => doChange3(context.file, context.program, statements, t, context.host, context.preferences
|
|
139199
|
+
const edits = ts_textChanges_exports.ChangeTracker.with(context, (t) => doChange3(context.file, context.program, statements, t, context.host, context.preferences));
|
|
139210
139200
|
return { edits, renameFilename: void 0, renameLocation: void 0 };
|
|
139211
139201
|
}
|
|
139212
139202
|
});
|
|
@@ -139810,12 +139800,10 @@ ${lanes.join("\n")}
|
|
|
139810
139800
|
changes.insertNodesAfter(sourceFile, decl, names.map(createExportAssignment));
|
|
139811
139801
|
}
|
|
139812
139802
|
}
|
|
139813
|
-
function createNewFileName(oldFile, program,
|
|
139803
|
+
function createNewFileName(oldFile, program, host, toMove) {
|
|
139814
139804
|
const checker = program.getTypeChecker();
|
|
139815
|
-
const toMove = getStatementsToMove(context);
|
|
139816
|
-
let usage;
|
|
139817
139805
|
if (toMove) {
|
|
139818
|
-
usage = getUsageInfo(oldFile, toMove.all, checker);
|
|
139806
|
+
const usage = getUsageInfo(oldFile, toMove.all, checker);
|
|
139819
139807
|
const currentDirectory = getDirectoryPath(oldFile.fileName);
|
|
139820
139808
|
const extension = extensionFromPath(oldFile.fileName);
|
|
139821
139809
|
const newFileName = combinePaths(
|
|
@@ -139873,6 +139861,9 @@ ${lanes.join("\n")}
|
|
|
139873
139861
|
});
|
|
139874
139862
|
return all.length === 0 ? void 0 : { all, ranges };
|
|
139875
139863
|
}
|
|
139864
|
+
function containsJsx(statements) {
|
|
139865
|
+
return find(statements, (statement) => !!(statement.transformFlags & 2 /* ContainsJsx */));
|
|
139866
|
+
}
|
|
139876
139867
|
function isAllowedStatementToMove(statement) {
|
|
139877
139868
|
return !isPureImport(statement) && !isPrologueDirective(statement);
|
|
139878
139869
|
}
|
|
@@ -139896,8 +139887,7 @@ ${lanes.join("\n")}
|
|
|
139896
139887
|
const movedSymbols = /* @__PURE__ */ new Set();
|
|
139897
139888
|
const oldImportsNeededByTargetFile = /* @__PURE__ */ new Map();
|
|
139898
139889
|
const targetFileImportsFromOldFile = /* @__PURE__ */ new Set();
|
|
139899
|
-
const
|
|
139900
|
-
const jsxNamespaceSymbol = getJsxNamespaceSymbol(containsJsx);
|
|
139890
|
+
const jsxNamespaceSymbol = getJsxNamespaceSymbol(containsJsx(toMove));
|
|
139901
139891
|
if (jsxNamespaceSymbol) {
|
|
139902
139892
|
oldImportsNeededByTargetFile.set(jsxNamespaceSymbol, false);
|
|
139903
139893
|
}
|
|
@@ -143614,6 +143604,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
|
|
|
143614
143604
|
addExports: () => addExports,
|
|
143615
143605
|
addNewFileToTsconfig: () => addNewFileToTsconfig,
|
|
143616
143606
|
addOrRemoveBracesToArrowFunction: () => ts_refactor_addOrRemoveBracesToArrowFunction_exports,
|
|
143607
|
+
containsJsx: () => containsJsx,
|
|
143617
143608
|
convertArrowFunctionOrFunctionExpression: () => ts_refactor_convertArrowFunctionOrFunctionExpression_exports,
|
|
143618
143609
|
convertParamsToDestructuredObject: () => ts_refactor_convertParamsToDestructuredObject_exports,
|
|
143619
143610
|
convertStringOrTemplateLiteral: () => ts_refactor_convertStringOrTemplateLiteral_exports,
|
|
@@ -145189,9 +145180,14 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
|
|
|
145189
145180
|
const sourceFile = getValidSourceFile(fileName);
|
|
145190
145181
|
const allFiles = Debug.checkDefined(program.getSourceFiles());
|
|
145191
145182
|
const extension = extensionFromPath(fileName);
|
|
145192
|
-
const
|
|
145193
|
-
const
|
|
145194
|
-
|
|
145183
|
+
const toMove = getStatementsToMove(getRefactorContext(sourceFile, positionOrRange, preferences, emptyOptions));
|
|
145184
|
+
const toMoveContainsJsx = containsJsx(toMove == null ? void 0 : toMove.all);
|
|
145185
|
+
const files = mapDefined(allFiles, (file) => {
|
|
145186
|
+
const fileNameExtension = extensionFromPath(file.fileName);
|
|
145187
|
+
const isValidSourceFile = !(program == null ? void 0 : program.isSourceFileFromExternalLibrary(sourceFile)) && !(sourceFile === getValidSourceFile(file.fileName) || extension === ".ts" /* Ts */ && fileNameExtension === ".d.ts" /* Dts */ || extension === ".d.ts" /* Dts */ && startsWith(getBaseFileName(file.fileName), "lib.") && fileNameExtension === ".d.ts" /* Dts */);
|
|
145188
|
+
return isValidSourceFile && (extension === fileNameExtension || (extension === ".tsx" /* Tsx */ && fileNameExtension === ".ts" /* Ts */ || extension === ".jsx" /* Jsx */ && fileNameExtension === ".js" /* Js */) && !toMoveContainsJsx) ? file.fileName : void 0;
|
|
145189
|
+
});
|
|
145190
|
+
return { newFileName: createNewFileName(sourceFile, program, host, toMove), files };
|
|
145195
145191
|
}
|
|
145196
145192
|
function getEditsForRefactor2(fileName, formatOptions, positionOrRange, refactorName14, actionName2, preferences = emptyOptions, interactiveRefactorArguments) {
|
|
145197
145193
|
synchronizeHostData();
|
|
@@ -161488,7 +161484,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
|
|
|
161488
161484
|
}
|
|
161489
161485
|
}
|
|
161490
161486
|
function isFunctionLikeBodyKeyword(kind) {
|
|
161491
|
-
return kind === 134 /* AsyncKeyword */ || kind === 135 /* AwaitKeyword */ || kind === 130 /* AsKeyword */ || kind === 152 /* SatisfiesKeyword */ || kind === 156 /* TypeKeyword */ || !isContextualKeyword(kind) && !isClassMemberCompletionKeyword(kind);
|
|
161487
|
+
return kind === 134 /* AsyncKeyword */ || kind === 135 /* AwaitKeyword */ || kind === 160 /* UsingKeyword */ || kind === 130 /* AsKeyword */ || kind === 152 /* SatisfiesKeyword */ || kind === 156 /* TypeKeyword */ || !isContextualKeyword(kind) && !isClassMemberCompletionKeyword(kind);
|
|
161492
161488
|
}
|
|
161493
161489
|
function keywordForNode(node) {
|
|
161494
161490
|
return isIdentifier(node) ? identifierToKeywordKind(node) ?? 0 /* Unknown */ : node.kind;
|
package/lib/typingsInstaller.js
CHANGED
|
@@ -54,7 +54,7 @@ var path = __toESM(require("path"));
|
|
|
54
54
|
|
|
55
55
|
// src/compiler/corePublic.ts
|
|
56
56
|
var versionMajorMinor = "5.4";
|
|
57
|
-
var version = `${versionMajorMinor}.0-dev.
|
|
57
|
+
var version = `${versionMajorMinor}.0-dev.20240218`;
|
|
58
58
|
|
|
59
59
|
// src/compiler/core.ts
|
|
60
60
|
var emptyArray = [];
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "typescript",
|
|
3
3
|
"author": "Microsoft Corp.",
|
|
4
4
|
"homepage": "https://www.typescriptlang.org/",
|
|
5
|
-
"version": "5.4.0-dev.
|
|
5
|
+
"version": "5.4.0-dev.20240218",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"description": "TypeScript is a language for application scale JavaScript development",
|
|
8
8
|
"keywords": [
|
|
@@ -113,5 +113,5 @@
|
|
|
113
113
|
"node": "20.1.0",
|
|
114
114
|
"npm": "8.19.4"
|
|
115
115
|
},
|
|
116
|
-
"gitHead": "
|
|
116
|
+
"gitHead": "86a16636cac9599c8752f8588f4b9518860b47ff"
|
|
117
117
|
}
|