Skip to content

Commit f51fc09

Browse files
authored
Upgrade TypeScript to 5.0 (#1417)
* TS 5.0 * Fix build
1 parent ac8cc38 commit f51fc09

File tree

6 files changed

+952
-933
lines changed

6 files changed

+952
-933
lines changed

package-lock.json

Lines changed: 934 additions & 922 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
"node": ">=16.10.0"
4343
},
4444
"peerDependencies": {
45-
"typescript": "~4.9.3"
45+
"typescript": "^5.0.2"
4646
},
4747
"dependencies": {
4848
"@typescript-to-lua/language-extensions": "1.0.0",
@@ -56,20 +56,20 @@
5656
"@types/jest": "^27.5.2",
5757
"@types/node": "^13.7.7",
5858
"@types/resolve": "1.14.0",
59-
"@typescript-eslint/eslint-plugin": "^5.52.0",
60-
"@typescript-eslint/parser": "^5.52.0",
61-
"eslint": "^8.34.0",
59+
"@typescript-eslint/eslint-plugin": "^5.55.0",
60+
"@typescript-eslint/parser": "^5.55.0",
61+
"eslint": "^8.36.0",
6262
"eslint-plugin-import": "^2.27.5",
6363
"eslint-plugin-jest": "^26.9.0",
6464
"fs-extra": "^8.1.0",
6565
"javascript-stringify": "^2.0.1",
6666
"jest": "^28.1.3",
67-
"jest-circus": "^29.4.2",
67+
"jest-circus": "^29.5.0",
6868
"lua-types": "^2.13.0",
6969
"lua-wasm-bindings": "^0.3.1",
70-
"prettier": "^2.3.2",
70+
"prettier": "^2.8.4",
7171
"ts-jest": "^28.0.8",
7272
"ts-node": "^10.9.1",
73-
"typescript": "~4.9.3"
73+
"typescript": "^5.0.2"
7474
}
7575
}

src/transformation/utils/typescript/nodes.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,11 @@ export function isInAsyncFunction(node: ts.Node): boolean {
3333
return false;
3434
}
3535

36-
return declaration.modifiers?.some(m => m.kind === ts.SyntaxKind.AsyncKeyword) ?? false;
36+
if (ts.canHaveModifiers(declaration)) {
37+
return ts.getModifiers(declaration)?.some(m => m.kind === ts.SyntaxKind.AsyncKeyword) ?? false;
38+
} else {
39+
return false;
40+
}
3741
}
3842

3943
export function isInGeneratorFunction(node: ts.Node): boolean {

src/transformation/visitors/spread.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,10 @@ export function isOptimizedVarArgSpread(context: TransformationContext, symbol:
3939
}
4040

4141
// Scope cannot be an async function
42-
if (scope.node.modifiers?.some(m => m.kind === ts.SyntaxKind.AsyncKeyword)) {
42+
if (
43+
ts.canHaveModifiers(scope.node) &&
44+
ts.getModifiers(scope.node)?.some(m => m.kind === ts.SyntaxKind.AsyncKeyword)
45+
) {
4346
return false;
4447
}
4548

src/transpilation/transformers.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ export const stripParenthesisExpressionsTransformer: ts.TransformerFactory<ts.So
7979

8080
return ts.visitEachChild(node, visit, context);
8181
}
82-
return ts.visitNode(sourceFile, visit);
82+
return ts.visitEachChild(sourceFile, visit, context);
8383
};
8484

8585
function loadTransformersFromOptions(program: ts.Program, diagnostics: ts.Diagnostic[]): ts.CustomTransformers {

test/transpile/transformers/utils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ import * as ts from "typescript";
22

33
export function visitAndReplace<T extends ts.Node>(context: ts.TransformationContext, node: T, visitor: ts.Visitor): T {
44
const visit: ts.Visitor = node => visitor(node) ?? ts.visitEachChild(node, visit, context);
5-
return ts.visitNode(node, visit);
5+
return ts.visitEachChild(node, visit, context);
66
}

0 commit comments

Comments
 (0)