Skip to content

Commit 6800dc8

Browse files
ark120202Perryvw
authored andcommitted
Use Node.js 12 features (#768)
1 parent 3bd4333 commit 6800dc8

File tree

16 files changed

+40
-71
lines changed

16 files changed

+40
-71
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ jobs:
1313
steps:
1414
- uses: actions/checkout@v1
1515
- uses: actions/setup-node@v1
16-
- run: npm install --global npm@6
1716
- run: npm ci
1817
- run: npm run lint
1918
env:
@@ -28,11 +27,10 @@ jobs:
2827

2928
steps:
3029
- uses: actions/checkout@v1
31-
- name: Use Node.js 8.5.0
30+
- name: Use Node.js 12.13.1
3231
uses: actions/setup-node@v1
3332
with:
34-
node-version: 8.5.0
35-
- run: npm install --global npm@6
33+
node-version: 12.13.1
3634
- run: npm ci
3735
- run: npm run build
3836
- run: npx jest --maxWorkers 2 --coverage

.github/workflows/release.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ jobs:
1414
- uses: actions/setup-node@v1
1515
with:
1616
registry-url: "https://registry.npmjs.org"
17-
- run: npm install --global npm@6
1817
- run: npm ci
1918
- run: npm run build
2019
- run: npm publish

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
"tstl": "./dist/tstl.js"
3737
},
3838
"engines": {
39-
"node": ">=8.5.0"
39+
"node": ">=12.13.0"
4040
},
4141
"dependencies": {
4242
"resolve": "^1.13.1",

src/transformation/context/context.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import * as ts from "typescript";
22
import { CompilerOptions, LuaTarget } from "../../CompilerOptions";
33
import * as lua from "../../LuaAST";
4-
import { flatMap } from "../../utils";
54
import { unwrapVisitorResult } from "../utils/lua-ast";
65
import { isFileModule } from "../utils/typescript";
76
import { ExpressionLikeNode, ObjectVisitor, StatementLikeNode, VisitorMap } from "./visitors";
@@ -81,14 +80,14 @@ export class TransformationContext {
8180

8281
public transformStatements(node: StatementLikeNode | readonly StatementLikeNode[]): lua.Statement[] {
8382
return Array.isArray(node)
84-
? flatMap(node, n => this.transformStatements(n))
83+
? node.flatMap(n => this.transformStatements(n))
8584
: // TODO: https://github.com/microsoft/TypeScript/pull/28916
8685
(this.transformNode(node as StatementLikeNode) as lua.Statement[]);
8786
}
8887

8988
public superTransformStatements(node: StatementLikeNode | readonly StatementLikeNode[]): lua.Statement[] {
9089
return Array.isArray(node)
91-
? flatMap(node, n => this.superTransformStatements(n))
90+
? node.flatMap(n => this.superTransformStatements(n))
9291
: // TODO: https://github.com/microsoft/TypeScript/pull/28916
9392
(this.superTransformNode(node as StatementLikeNode) as lua.Statement[]);
9493
}

src/transformation/utils/annotations.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import * as ts from "typescript";
2-
import { flatMap } from "../../utils";
32
import { TransformationContext } from "../context";
43
import { findFirstNodeAbove, inferAssignedType } from "./typescript";
54

@@ -102,7 +101,7 @@ export function getFileAnnotations(sourceFile: ts.SourceFile): AnnotationsMap {
102101
// Manually collect jsDoc because `getJSDocTags` includes tags only from closest comment
103102
const jsDoc = sourceFile.statements[0].jsDoc;
104103
if (jsDoc) {
105-
for (const tag of flatMap(jsDoc, x => x.tags ?? [])) {
104+
for (const tag of jsDoc.flatMap(x => x.tags ?? [])) {
106105
const tagName = tag.tagName.text;
107106
const annotation = createAnnotation(tagName, tag.comment ? tag.comment.split(" ") : []);
108107
if (annotation) {

src/transformation/utils/function-context.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import * as ts from "typescript";
22
import { CompilerOptions } from "../../CompilerOptions";
3-
import { flatMap } from "../../utils";
43
import { TransformationContext } from "../context";
54
import { AnnotationKind, getFileAnnotations, getNodeAnnotations } from "./annotations";
65
import { findFirstNodeAbove, getAllCallSignatures, inferAssignedType } from "./typescript";
@@ -107,7 +106,7 @@ function getSignatureDeclarations(
107106
context: TransformationContext,
108107
signatures: readonly ts.Signature[]
109108
): ts.SignatureDeclaration[] {
110-
return flatMap(signatures, signature => {
109+
return signatures.flatMap(signature => {
111110
const signatureDeclaration = signature.getDeclaration();
112111
if (
113112
(ts.isFunctionExpression(signatureDeclaration) || ts.isArrowFunction(signatureDeclaration)) &&

src/transformation/utils/typescript/index.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import * as ts from "typescript";
2-
import { flatMap } from "../../../utils";
32
import { TransformationContext } from "../../context";
43
import { isDeclaration } from "./nodes";
54

@@ -90,7 +89,7 @@ export function inferAssignedType(context: TransformationContext, expression: ts
9089
}
9190

9291
export function getAllCallSignatures(type: ts.Type): readonly ts.Signature[] {
93-
return type.isUnion() ? flatMap(type.types, getAllCallSignatures) : type.getCallSignatures();
92+
return type.isUnion() ? type.types.flatMap(getAllCallSignatures) : type.getCallSignatures();
9493
}
9594

9695
// Returns true for expressions that may have effects when evaluated

src/transformation/visitors/binary-expression/destructuring-assignments.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import * as ts from "typescript";
22
import * as lua from "../../../LuaAST";
3-
import { flatMap } from "../../../utils";
43
import { TransformationContext } from "../../context";
54
import { UnsupportedKind } from "../../utils/errors";
65
import { LuaLibFeature, transformLuaLibFunction } from "../../utils/lualib";
@@ -57,7 +56,7 @@ function transformArrayLiteralAssignmentPattern(
5756
node: ts.ArrayLiteralExpression,
5857
root: lua.Expression
5958
): lua.Statement[] {
60-
return flatMap(node.elements, (element, index) => {
59+
return node.elements.flatMap((element, index) => {
6160
const indexedRoot = lua.createTableIndexExpression(root, lua.createNumericLiteral(index + 1), element);
6261

6362
switch (element.kind) {

src/transformation/visitors/loops/for.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import * as ts from "typescript";
22
import * as lua from "../../../LuaAST";
3-
import { flatMap } from "../../../utils";
43
import { FunctionVisitor } from "../../context";
54
import { transformVariableDeclaration } from "../variable-declaration";
65
import { transformLoopBody } from "./body";
@@ -11,7 +10,7 @@ export const transformForStatement: FunctionVisitor<ts.ForStatement> = (statemen
1110
if (statement.initializer) {
1211
if (ts.isVariableDeclarationList(statement.initializer)) {
1312
// local initializer = value
14-
result.push(...flatMap(statement.initializer.declarations, d => transformVariableDeclaration(context, d)));
13+
result.push(...statement.initializer.declarations.flatMap(d => transformVariableDeclaration(context, d)));
1514
} else {
1615
result.push(...context.transformStatements(ts.createExpressionStatement(statement.initializer)));
1716
}

src/transformation/visitors/variable-declaration.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import * as ts from "typescript";
22
import * as lua from "../../LuaAST";
3-
import { assertNever, flatMap } from "../../utils";
3+
import { assertNever } from "../../utils";
44
import { FunctionVisitor, TransformationContext } from "../context";
55
import { isTupleReturnCall } from "../utils/annotations";
66
import { validateAssignment } from "../utils/assignment-validation";
@@ -223,4 +223,4 @@ export function transformVariableDeclaration(
223223
}
224224

225225
export const transformVariableStatement: FunctionVisitor<ts.VariableStatement> = (node, context) =>
226-
flatMap(node.declarationList.declarations, declaration => transformVariableDeclaration(context, declaration));
226+
node.declarationList.declarations.flatMap(declaration => transformVariableDeclaration(context, declaration));

0 commit comments

Comments
 (0)