Bump TS devDep to 5.3, hack dtsBundler to remove new comments (#56554)

This commit is contained in:
Jake Bailey 2023-11-27 09:26:24 -08:00 committed by GitHub
parent d4fbc9b57d
commit b334e073d5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 35 additions and 11 deletions

14
package-lock.json generated
View File

@ -52,7 +52,7 @@
"playwright": "^1.38.0",
"source-map-support": "^0.5.21",
"tslib": "^2.5.0",
"typescript": "^5.0.2",
"typescript": "^5.3.2",
"which": "^2.0.2"
},
"engines": {
@ -3786,9 +3786,9 @@
}
},
"node_modules/typescript": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz",
"integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==",
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.2.tgz",
"integrity": "sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==",
"dev": true,
"bin": {
"tsc": "bin/tsc",
@ -6584,9 +6584,9 @@
}
},
"typescript": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz",
"integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==",
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.2.tgz",
"integrity": "sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==",
"dev": true
},
"typical": {

View File

@ -78,7 +78,7 @@
"playwright": "^1.38.0",
"source-map-support": "^0.5.21",
"tslib": "^2.5.0",
"typescript": "^5.0.2",
"typescript": "^5.3.2",
"which": "^2.0.2"
},
"overrides": {

View File

@ -89,7 +89,31 @@ assert(sourceFile, "Failed to load source file");
const moduleSymbol = typeChecker.getSymbolAtLocation(sourceFile);
assert(moduleSymbol, "Failed to get module's symbol");
const printer = ts.createPrinter({ newLine: newLineKind });
/** @type {{ writeNode(hint: ts.EmitHint, node: ts.Node, sourceFile: ts.SourceFile | undefined, writer: any): void }} */
const printer = /** @type {any} */ (ts.createPrinter({ newLine: newLineKind }));
/** @type {{ writeComment(s: string): void; getText(): string; clear(): void }} */
const writer = /** @type {any} */ (ts).createTextWriter("\n");
const originalWriteComment = writer.writeComment.bind(writer);
writer.writeComment = s => {
// Hack; undo https://github.com/microsoft/TypeScript/pull/50097
// We printNode directly, so we get all of the original source comments.
// If we were using actual declaration emit instead, this wouldn't be needed.
if (s.startsWith("//")) {
return;
}
originalWriteComment(s);
};
/**
* @param {ts.Node} node
* @param {ts.SourceFile} sourceFile
*/
function printNode(node, sourceFile) {
printer.writeNode(ts.EmitHint.Unspecified, node, sourceFile, writer);
const text = writer.getText();
writer.clear();
return text;
}
/** @type {string[]} */
const publicLines = [];
@ -141,7 +165,7 @@ function write(s, target) {
* @param {WriteTarget} target
*/
function writeNode(node, sourceFile, target) {
write(printer.printNode(ts.EmitHint.Unspecified, node, sourceFile), target);
write(printNode(node, sourceFile), target);
}
/** @type {Map<ts.Symbol, boolean>} */

View File

@ -3147,7 +3147,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
else if (location.kind === SyntaxKind.ConditionalType) {
// A type parameter declared using 'infer T' in a conditional type is visible only in
// the true branch of the conditional type.
useResult = lastLocation === (location as ConditionalTypeNode).trueType;
useResult = lastLocation === location.trueType;
}
if (useResult) {