typescript-to-lua 1.25.2 → 1.26.0

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.
Files changed (100) hide show
  1. package/dist/CompilerOptions.js +2 -2
  2. package/dist/LuaAST.js +76 -77
  3. package/dist/LuaLib.js +12 -12
  4. package/dist/LuaPrinter.js +2 -2
  5. package/dist/cli/information.js +2 -2
  6. package/dist/cli/parse.js +3 -3
  7. package/dist/cli/report.d.ts +4 -4
  8. package/dist/cli/report.js +2 -2
  9. package/dist/cli/tsconfig.js +3 -4
  10. package/dist/lualib/5.0/Set.lua +58 -0
  11. package/dist/lualib/5.0/lualib_bundle.lua +58 -0
  12. package/dist/lualib/5.0/lualib_module_info.json +2 -1
  13. package/dist/lualib/universal/Set.lua +58 -0
  14. package/dist/lualib/universal/lualib_bundle.lua +58 -0
  15. package/dist/lualib/universal/lualib_module_info.json +2 -1
  16. package/dist/lualib-build/plugin.d.ts +1 -1
  17. package/dist/lualib-build/util.js +8 -9
  18. package/dist/measure-performance.js +7 -8
  19. package/dist/transformation/builtins/array.js +3 -4
  20. package/dist/transformation/builtins/console.js +1 -2
  21. package/dist/transformation/builtins/function.js +2 -3
  22. package/dist/transformation/builtins/global.js +1 -2
  23. package/dist/transformation/builtins/index.js +4 -5
  24. package/dist/transformation/builtins/map.js +1 -2
  25. package/dist/transformation/builtins/math.js +2 -3
  26. package/dist/transformation/builtins/number.js +3 -4
  27. package/dist/transformation/builtins/object.js +2 -3
  28. package/dist/transformation/builtins/promise.js +4 -5
  29. package/dist/transformation/builtins/string.js +3 -4
  30. package/dist/transformation/builtins/symbol.js +1 -2
  31. package/dist/transformation/context/context.d.ts +0 -3
  32. package/dist/transformation/index.js +2 -3
  33. package/dist/transformation/pre-transformers/using-transformer.js +1 -2
  34. package/dist/transformation/utils/annotations.js +5 -5
  35. package/dist/transformation/utils/assignment-validation.js +1 -2
  36. package/dist/transformation/utils/export.js +14 -14
  37. package/dist/transformation/utils/function-context.js +3 -3
  38. package/dist/transformation/utils/language-extensions.js +10 -10
  39. package/dist/transformation/utils/lua-ast.js +12 -12
  40. package/dist/transformation/utils/lualib.js +3 -3
  41. package/dist/transformation/utils/preceding-statements.js +1 -2
  42. package/dist/transformation/utils/safe-names.js +3 -3
  43. package/dist/transformation/utils/scope.js +11 -11
  44. package/dist/transformation/utils/symbols.js +4 -5
  45. package/dist/transformation/utils/typescript/index.js +13 -14
  46. package/dist/transformation/utils/typescript/nodes.js +8 -9
  47. package/dist/transformation/utils/typescript/types.js +10 -11
  48. package/dist/transformation/visitors/access.js +4 -4
  49. package/dist/transformation/visitors/async-await.js +3 -3
  50. package/dist/transformation/visitors/binary-expression/assignments.js +5 -6
  51. package/dist/transformation/visitors/binary-expression/bit.js +3 -3
  52. package/dist/transformation/visitors/binary-expression/compound.js +3 -3
  53. package/dist/transformation/visitors/binary-expression/destructuring-assignments.js +3 -4
  54. package/dist/transformation/visitors/binary-expression/index.js +4 -4
  55. package/dist/transformation/visitors/block.js +3 -3
  56. package/dist/transformation/visitors/call.js +6 -6
  57. package/dist/transformation/visitors/class/decorators.js +6 -7
  58. package/dist/transformation/visitors/class/index.js +14 -3
  59. package/dist/transformation/visitors/class/members/accessors.js +1 -2
  60. package/dist/transformation/visitors/class/members/constructor.js +3 -4
  61. package/dist/transformation/visitors/class/members/fields.js +2 -3
  62. package/dist/transformation/visitors/class/members/method.js +3 -4
  63. package/dist/transformation/visitors/class/setup.js +2 -3
  64. package/dist/transformation/visitors/class/utils.js +5 -6
  65. package/dist/transformation/visitors/conditional.js +3 -3
  66. package/dist/transformation/visitors/enum.js +2 -2
  67. package/dist/transformation/visitors/expression-list.js +4 -5
  68. package/dist/transformation/visitors/expression-statement.js +2 -2
  69. package/dist/transformation/visitors/function.js +9 -9
  70. package/dist/transformation/visitors/identifier.js +4 -4
  71. package/dist/transformation/visitors/language-extensions/call-extension.js +2 -2
  72. package/dist/transformation/visitors/language-extensions/identifier.js +2 -3
  73. package/dist/transformation/visitors/language-extensions/iterable.js +3 -4
  74. package/dist/transformation/visitors/language-extensions/multi.js +8 -9
  75. package/dist/transformation/visitors/language-extensions/range.js +3 -4
  76. package/dist/transformation/visitors/language-extensions/table.js +2 -2
  77. package/dist/transformation/visitors/language-extensions/vararg.js +2 -3
  78. package/dist/transformation/visitors/literal.js +3 -3
  79. package/dist/transformation/visitors/loops/utils.js +4 -5
  80. package/dist/transformation/visitors/modules/export.js +0 -3
  81. package/dist/transformation/visitors/modules/import.js +2 -2
  82. package/dist/transformation/visitors/namespace.js +3 -3
  83. package/dist/transformation/visitors/optional-chaining.js +6 -7
  84. package/dist/transformation/visitors/return.js +3 -3
  85. package/dist/transformation/visitors/spread.js +2 -2
  86. package/dist/transformation/visitors/typeof.js +2 -2
  87. package/dist/transformation/visitors/unary-expression.js +2 -2
  88. package/dist/transformation/visitors/variable-declaration.js +6 -6
  89. package/dist/transpilation/bundle.js +3 -3
  90. package/dist/transpilation/find-lua-requires.js +1 -2
  91. package/dist/transpilation/index.js +5 -6
  92. package/dist/transpilation/output-collector.js +1 -2
  93. package/dist/transpilation/plugins.js +1 -2
  94. package/dist/transpilation/resolve.js +1 -2
  95. package/dist/transpilation/transformers.js +2 -2
  96. package/dist/transpilation/transpile.js +1 -2
  97. package/dist/transpilation/transpiler.js +6 -6
  98. package/dist/transpilation/utils.js +2 -2
  99. package/dist/utils.js +9 -9
  100. package/package.json +6 -7
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.invertCondition = exports.transformForInitializer = exports.getVariableDeclarationBinding = exports.transformLoopBody = void 0;
3
+ exports.transformLoopBody = transformLoopBody;
4
+ exports.getVariableDeclarationBinding = getVariableDeclarationBinding;
5
+ exports.transformForInitializer = transformForInitializer;
6
+ exports.invertCondition = invertCondition;
4
7
  const ts = require("typescript");
5
8
  const lua = require("../../../LuaAST");
6
9
  const preceding_statements_1 = require("../../utils/preceding-statements");
@@ -33,7 +36,6 @@ function transformLoopBody(context, loop) {
33
36
  ];
34
37
  }
35
38
  }
36
- exports.transformLoopBody = transformLoopBody;
37
39
  function getVariableDeclarationBinding(context, node) {
38
40
  (0, variable_declaration_1.checkVariableDeclarationList)(context, node);
39
41
  if (node.declarations.length === 0) {
@@ -41,7 +43,6 @@ function getVariableDeclarationBinding(context, node) {
41
43
  }
42
44
  return node.declarations[0].name;
43
45
  }
44
- exports.getVariableDeclarationBinding = getVariableDeclarationBinding;
45
46
  function transformForInitializer(context, initializer, block) {
46
47
  const valueVariable = lua.createIdentifier("____value");
47
48
  context.pushScope(scope_1.ScopeType.LoopInitializer);
@@ -67,7 +68,6 @@ function transformForInitializer(context, initializer, block) {
67
68
  context.popScope();
68
69
  return valueVariable;
69
70
  }
70
- exports.transformForInitializer = transformForInitializer;
71
71
  function invertCondition(expression) {
72
72
  if (lua.isUnaryExpression(expression) && expression.operator === lua.SyntaxKind.NotOperator) {
73
73
  return expression.operand;
@@ -78,5 +78,4 @@ function invertCondition(expression) {
78
78
  return notExpression;
79
79
  }
80
80
  }
81
- exports.invertCondition = invertCondition;
82
81
  //# sourceMappingURL=utils.js.map
@@ -30,9 +30,6 @@ const transformExportAssignment = (node, context) => {
30
30
  exports.transformExportAssignment = transformExportAssignment;
31
31
  function transformExportAll(context, node) {
32
32
  (0, utils_1.assert)(node.moduleSpecifier);
33
- if (!context.resolver.moduleExportsSomeValue(node.moduleSpecifier)) {
34
- return undefined;
35
- }
36
33
  const moduleRequire = (0, import_1.createModuleRequire)(context, node.moduleSpecifier);
37
34
  // export * as ns from "...";
38
35
  // exports.ns = require(...)
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transformImportExpression = exports.transformImportEqualsDeclaration = exports.transformExternalModuleReference = exports.transformImportDeclaration = exports.createModuleRequire = void 0;
3
+ exports.transformImportExpression = exports.transformImportEqualsDeclaration = exports.transformExternalModuleReference = exports.transformImportDeclaration = void 0;
4
+ exports.createModuleRequire = createModuleRequire;
4
5
  const path = require("path");
5
6
  const ts = require("typescript");
6
7
  const lua = require("../../../LuaAST");
@@ -30,7 +31,6 @@ function createModuleRequire(context, moduleSpecifier, tsOriginal = moduleSpecif
30
31
  }
31
32
  return lua.createCallExpression(lua.createIdentifier("require"), params, tsOriginal);
32
33
  }
33
- exports.createModuleRequire = createModuleRequire;
34
34
  function shouldBeImported(context, importNode) {
35
35
  return context.resolver.isReferencedAliasDeclaration(importNode);
36
36
  }
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transformModuleDeclaration = exports.createModuleLocalNameIdentifier = exports.createModuleLocalName = void 0;
3
+ exports.transformModuleDeclaration = void 0;
4
+ exports.createModuleLocalName = createModuleLocalName;
5
+ exports.createModuleLocalNameIdentifier = createModuleLocalNameIdentifier;
4
6
  const ts = require("typescript");
5
7
  const lua = require("../../LuaAST");
6
8
  const export_1 = require("../utils/export");
@@ -17,7 +19,6 @@ function createModuleLocalName(context, module) {
17
19
  }
18
20
  return createModuleLocalNameIdentifier(context, module);
19
21
  }
20
- exports.createModuleLocalName = createModuleLocalName;
21
22
  function createModuleLocalNameIdentifier(context, declaration) {
22
23
  const moduleSymbol = context.checker.getSymbolAtLocation(declaration.name);
23
24
  if (moduleSymbol !== undefined && (0, safe_names_1.isUnsafeName)(moduleSymbol.name, context.options)) {
@@ -25,7 +26,6 @@ function createModuleLocalNameIdentifier(context, declaration) {
25
26
  }
26
27
  return (0, identifier_1.transformIdentifier)(context, declaration.name);
27
28
  }
28
- exports.createModuleLocalNameIdentifier = createModuleLocalNameIdentifier;
29
29
  // TODO: Do it based on transform result?
30
30
  function moduleHasEmittedBody(node) {
31
31
  if (node.body) {
@@ -1,6 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transformOptionalDeleteExpression = exports.transformOptionalChainWithCapture = exports.transformOptionalChain = exports.getOptionalContinuationData = exports.isOptionalContinuation = exports.captureThisValue = void 0;
3
+ exports.captureThisValue = captureThisValue;
4
+ exports.isOptionalContinuation = isOptionalContinuation;
5
+ exports.getOptionalContinuationData = getOptionalContinuationData;
6
+ exports.transformOptionalChain = transformOptionalChain;
7
+ exports.transformOptionalChainWithCapture = transformOptionalChainWithCapture;
8
+ exports.transformOptionalDeleteExpression = transformOptionalDeleteExpression;
4
9
  const ts = require("typescript");
5
10
  const lua = require("../../LuaAST");
6
11
  const context_1 = require("../context");
@@ -48,7 +53,6 @@ function captureThisValue(context, expression, thisValueCapture, tsOriginal) {
48
53
  context.addPrecedingStatements(tempAssignment);
49
54
  return thisValueCapture;
50
55
  }
51
- exports.captureThisValue = captureThisValue;
52
56
  const optionalContinuations = new WeakMap();
53
57
  // should be translated verbatim to lua
54
58
  function createOptionalContinuationIdentifier(text, tsOriginal) {
@@ -62,15 +66,12 @@ function createOptionalContinuationIdentifier(text, tsOriginal) {
62
66
  function isOptionalContinuation(node) {
63
67
  return ts.isIdentifier(node) && optionalContinuations.has(node);
64
68
  }
65
- exports.isOptionalContinuation = isOptionalContinuation;
66
69
  function getOptionalContinuationData(identifier) {
67
70
  return optionalContinuations.get(identifier);
68
71
  }
69
- exports.getOptionalContinuationData = getOptionalContinuationData;
70
72
  function transformOptionalChain(context, node) {
71
73
  return transformOptionalChainWithCapture(context, node, undefined).expression;
72
74
  }
73
- exports.transformOptionalChain = transformOptionalChain;
74
75
  function transformOptionalChainWithCapture(context, tsNode, thisValueCapture, isDelete) {
75
76
  const luaTempName = context.createTempName("opt");
76
77
  const { expression: tsLeftExpression, chain } = flattenChain(tsNode);
@@ -209,10 +210,8 @@ function transformOptionalChainWithCapture(context, tsNode, thisValueCapture, is
209
210
  return { expression: resultIdentifier, thisValue: returnThisValue };
210
211
  }
211
212
  }
212
- exports.transformOptionalChainWithCapture = transformOptionalChainWithCapture;
213
213
  function transformOptionalDeleteExpression(context, node, innerExpression) {
214
214
  transformOptionalChainWithCapture(context, innerExpression, undefined, node);
215
215
  return lua.createBooleanLiteral(true, node);
216
216
  }
217
- exports.transformOptionalDeleteExpression = transformOptionalDeleteExpression;
218
217
  //# sourceMappingURL=optional-chaining.js.map
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createReturnStatement = exports.transformReturnStatement = exports.transformExpressionBodyToReturnStatement = void 0;
3
+ exports.transformReturnStatement = void 0;
4
+ exports.transformExpressionBodyToReturnStatement = transformExpressionBodyToReturnStatement;
5
+ exports.createReturnStatement = createReturnStatement;
4
6
  const ts = require("typescript");
5
7
  const lua = require("../../LuaAST");
6
8
  const assignment_validation_1 = require("../utils/assignment-validation");
@@ -46,7 +48,6 @@ function transformExpressionBodyToReturnStatement(context, node) {
46
48
  const expressions = transformExpressionsInReturn(context, node, false);
47
49
  return createReturnStatement(context, expressions, node);
48
50
  }
49
- exports.transformExpressionBodyToReturnStatement = transformExpressionBodyToReturnStatement;
50
51
  const transformReturnStatement = (statement, context) => {
51
52
  let results;
52
53
  if (statement.expression) {
@@ -76,7 +77,6 @@ function createReturnStatement(context, values, node) {
76
77
  }
77
78
  return lua.createReturnStatement(values, node);
78
79
  }
79
- exports.createReturnStatement = createReturnStatement;
80
80
  function isInTryCatch(context) {
81
81
  // Check if context is in a try or catch
82
82
  let insideTryCatch = false;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transformSpreadElement = exports.isOptimizedVarArgSpread = void 0;
3
+ exports.transformSpreadElement = void 0;
4
+ exports.isOptimizedVarArgSpread = isOptimizedVarArgSpread;
4
5
  const ts = require("typescript");
5
6
  const CompilerOptions_1 = require("../../CompilerOptions");
6
7
  const lua = require("../../LuaAST");
@@ -50,7 +51,6 @@ function isOptimizedVarArgSpread(context, symbol, identifier) {
50
51
  }
51
52
  return true;
52
53
  }
53
- exports.isOptimizedVarArgSpread = isOptimizedVarArgSpread;
54
54
  // TODO: Currently it's also used as an array member
55
55
  const transformSpreadElement = (node, context) => {
56
56
  const tsInnerExpression = ts.skipOuterExpressions(node.expression);
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transformTypeOfBinaryExpression = exports.transformTypeOfExpression = void 0;
3
+ exports.transformTypeOfExpression = void 0;
4
+ exports.transformTypeOfBinaryExpression = transformTypeOfBinaryExpression;
4
5
  const ts = require("typescript");
5
6
  const lua = require("../../LuaAST");
6
7
  const LuaLib_1 = require("../../LuaLib");
@@ -47,5 +48,4 @@ function transformTypeOfBinaryExpression(context, node) {
47
48
  context.addPrecedingStatements(precedingStatements);
48
49
  return result;
49
50
  }
50
- exports.transformTypeOfBinaryExpression = transformTypeOfBinaryExpression;
51
51
  //# sourceMappingURL=typeof.js.map
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transformPrefixUnaryExpression = exports.transformPostfixUnaryExpression = exports.transformUnaryExpressionStatement = void 0;
3
+ exports.transformPrefixUnaryExpression = exports.transformPostfixUnaryExpression = void 0;
4
+ exports.transformUnaryExpressionStatement = transformUnaryExpressionStatement;
4
5
  const ts = require("typescript");
5
6
  const lua = require("../../LuaAST");
6
7
  const utils_1 = require("../../utils");
@@ -20,7 +21,6 @@ function transformUnaryExpressionStatement(context, node) {
20
21
  return (0, compound_1.transformCompoundAssignmentStatement)(context, expression, expression.operand, ts.factory.createNumericLiteral(1), replacementOperator);
21
22
  }
22
23
  }
23
- exports.transformUnaryExpressionStatement = transformUnaryExpressionStatement;
24
24
  const transformPostfixUnaryExpression = (expression, context) => {
25
25
  switch (expression.operator) {
26
26
  case ts.SyntaxKind.PlusPlusToken:
@@ -1,6 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transformVariableStatement = exports.checkVariableDeclarationList = exports.transformVariableDeclaration = exports.transformBindingVariableDeclaration = exports.transformBindingPattern = exports.transformArrayBindingElement = void 0;
3
+ exports.transformVariableStatement = void 0;
4
+ exports.transformArrayBindingElement = transformArrayBindingElement;
5
+ exports.transformBindingPattern = transformBindingPattern;
6
+ exports.transformBindingVariableDeclaration = transformBindingVariableDeclaration;
7
+ exports.transformVariableDeclaration = transformVariableDeclaration;
8
+ exports.checkVariableDeclarationList = checkVariableDeclarationList;
4
9
  const ts = require("typescript");
5
10
  const lua = require("../../LuaAST");
6
11
  const utils_1 = require("../../utils");
@@ -37,7 +42,6 @@ function transformArrayBindingElement(context, name) {
37
42
  (0, utils_1.assertNever)(name);
38
43
  }
39
44
  }
40
- exports.transformArrayBindingElement = transformArrayBindingElement;
41
45
  function transformBindingPattern(context, pattern, table, propertyAccessStack = []) {
42
46
  var _a;
43
47
  const result = [];
@@ -111,7 +115,6 @@ function transformBindingPattern(context, pattern, table, propertyAccessStack =
111
115
  propertyAccessStack.pop();
112
116
  return result;
113
117
  }
114
- exports.transformBindingPattern = transformBindingPattern;
115
118
  function transformBindingVariableDeclaration(context, bindingPattern, initializer) {
116
119
  const statements = [];
117
120
  // For object, nested or rest bindings fall back to transformBindingPattern
@@ -169,7 +172,6 @@ function transformBindingVariableDeclaration(context, bindingPattern, initialize
169
172
  }
170
173
  return statements;
171
174
  }
172
- exports.transformBindingVariableDeclaration = transformBindingVariableDeclaration;
173
175
  // TODO: FunctionVisitor<ts.VariableDeclaration>
174
176
  function transformVariableDeclaration(context, statement) {
175
177
  if (statement.initializer && statement.type) {
@@ -204,7 +206,6 @@ function transformVariableDeclaration(context, statement) {
204
206
  return (0, function_1.isFunctionTypeWithProperties)(context, context.checker.getTypeAtLocation(statement.name));
205
207
  }
206
208
  }
207
- exports.transformVariableDeclaration = transformVariableDeclaration;
208
209
  function checkVariableDeclarationList(context, node) {
209
210
  if ((node.flags & (ts.NodeFlags.Let | ts.NodeFlags.Const | ts.NodeFlags.Using | ts.NodeFlags.AwaitUsing)) === 0) {
210
211
  const token = ts.getOriginalNode(node).getFirstToken();
@@ -212,7 +213,6 @@ function checkVariableDeclarationList(context, node) {
212
213
  context.diagnostics.push((0, diagnostics_1.unsupportedVarDeclaration)(token));
213
214
  }
214
215
  }
215
- exports.checkVariableDeclarationList = checkVariableDeclarationList;
216
216
  const transformVariableStatement = (node, context) => {
217
217
  checkVariableDeclarationList(context, node.declarationList);
218
218
  return node.declarationList.declarations.flatMap(declaration => transformVariableDeclaration(context, declaration));
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getBundleResult = exports.printStackTraceBundleOverride = exports.sourceMapTracebackBundlePlaceholder = void 0;
3
+ exports.sourceMapTracebackBundlePlaceholder = void 0;
4
+ exports.printStackTraceBundleOverride = printStackTraceBundleOverride;
5
+ exports.getBundleResult = getBundleResult;
4
6
  const path = require("path");
5
7
  const source_map_1 = require("source-map");
6
8
  const CompilerOptions_1 = require("../CompilerOptions");
@@ -72,7 +74,6 @@ function printStackTraceBundleOverride(rootNode) {
72
74
  const mapString = "{" + mapItems.join(",") + "}";
73
75
  return `__TS__SourceMapTraceBack(debug.getinfo(1).short_src, ${mapString});`;
74
76
  }
75
- exports.printStackTraceBundleOverride = printStackTraceBundleOverride;
76
77
  function getBundleResult(program, files) {
77
78
  var _a, _b, _c;
78
79
  const diagnostics = [];
@@ -116,7 +117,6 @@ function getBundleResult(program, files) {
116
117
  },
117
118
  ];
118
119
  }
119
- exports.getBundleResult = getBundleResult;
120
120
  function moduleSourceNode({ code, sourceMapNode }, modulePath) {
121
121
  const tableEntryHead = `[${modulePath}] = function(...) \n`;
122
122
  const tableEntryTail = " end,\n";
@@ -1,10 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findLuaRequires = void 0;
3
+ exports.findLuaRequires = findLuaRequires;
4
4
  function findLuaRequires(lua) {
5
5
  return findRequire(lua, 0);
6
6
  }
7
- exports.findLuaRequires = findLuaRequires;
8
7
  function findRequire(lua, offset) {
9
8
  const result = [];
10
9
  while (offset < lua.length) {
@@ -14,7 +14,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.transpileString = exports.transpileVirtualProject = exports.createVirtualProgram = exports.transpileProject = exports.transpileFiles = void 0;
17
+ exports.transpileFiles = transpileFiles;
18
+ exports.transpileProject = transpileProject;
19
+ exports.createVirtualProgram = createVirtualProgram;
20
+ exports.transpileVirtualProject = transpileVirtualProject;
21
+ exports.transpileString = transpileString;
18
22
  const fs = require("fs");
19
23
  const path = require("path");
20
24
  const ts = require("typescript");
@@ -31,7 +35,6 @@ function transpileFiles(rootNames, options = {}, writeFile) {
31
35
  const diagnostics = ts.sortAndDeduplicateDiagnostics([...preEmitDiagnostics, ...transpileDiagnostics]);
32
36
  return { diagnostics: [...diagnostics], emitSkipped };
33
37
  }
34
- exports.transpileFiles = transpileFiles;
35
38
  function transpileProject(configFileName, optionsToExtend, writeFile) {
36
39
  const parseResult = (0, tsconfig_1.parseConfigFileWithSystem)(configFileName, optionsToExtend);
37
40
  if (parseResult.errors.length > 0) {
@@ -39,7 +42,6 @@ function transpileProject(configFileName, optionsToExtend, writeFile) {
39
42
  }
40
43
  return transpileFiles(parseResult.fileNames, parseResult.options, writeFile);
41
44
  }
42
- exports.transpileProject = transpileProject;
43
45
  const libCache = {};
44
46
  /** @internal */
45
47
  function createVirtualProgram(input, options = {}) {
@@ -80,7 +82,6 @@ function createVirtualProgram(input, options = {}) {
80
82
  };
81
83
  return ts.createProgram(Object.keys(normalizedFiles), options, compilerHost);
82
84
  }
83
- exports.createVirtualProgram = createVirtualProgram;
84
85
  function transpileVirtualProject(files, options = {}) {
85
86
  const program = createVirtualProgram(files, options);
86
87
  const preEmitDiagnostics = ts.getPreEmitDiagnostics(program);
@@ -89,7 +90,6 @@ function transpileVirtualProject(files, options = {}) {
89
90
  const diagnostics = ts.sortAndDeduplicateDiagnostics([...preEmitDiagnostics, ...transpileDiagnostics]);
90
91
  return { diagnostics: [...diagnostics], transpiledFiles: collector.files };
91
92
  }
92
- exports.transpileVirtualProject = transpileVirtualProject;
93
93
  function transpileString(main, options = {}) {
94
94
  const { diagnostics, transpiledFiles } = transpileVirtualProject({ "main.ts": main }, options);
95
95
  return {
@@ -97,5 +97,4 @@ function transpileString(main, options = {}) {
97
97
  file: transpiledFiles.find(({ sourceFiles }) => sourceFiles.some(f => f.fileName === "main.ts")),
98
98
  };
99
99
  }
100
- exports.transpileString = transpileString;
101
100
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createEmitOutputCollector = void 0;
3
+ exports.createEmitOutputCollector = createEmitOutputCollector;
4
4
  const utils_1 = require("../utils");
5
5
  function createEmitOutputCollector(luaExtension = ".lua") {
6
6
  const files = [];
@@ -34,5 +34,4 @@ function createEmitOutputCollector(luaExtension = ".lua") {
34
34
  };
35
35
  return { writeFile, files };
36
36
  }
37
- exports.createEmitOutputCollector = createEmitOutputCollector;
38
37
  //# sourceMappingURL=output-collector.js.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPlugins = void 0;
3
+ exports.getPlugins = getPlugins;
4
4
  const utils_1 = require("./utils");
5
5
  const performance = require("../measure-performance");
6
6
  function getPlugins(program) {
@@ -25,5 +25,4 @@ function getPlugins(program) {
25
25
  performance.endSection("getPlugins");
26
26
  return { diagnostics, plugins: pluginsFromOptions };
27
27
  }
28
- exports.getPlugins = getPlugins;
29
28
  //# sourceMappingURL=plugins.js.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolveDependencies = void 0;
3
+ exports.resolveDependencies = resolveDependencies;
4
4
  const path = require("path");
5
5
  const resolve = require("enhanced-resolve");
6
6
  const fs = require("fs");
@@ -290,7 +290,6 @@ function resolveDependencies(program, files, emitHost, plugins) {
290
290
  }
291
291
  return { resolvedFiles: [...resolutionContext.resolvedFiles.values()], diagnostics: resolutionContext.diagnostics };
292
292
  }
293
- exports.resolveDependencies = resolveDependencies;
294
293
  function shouldRewriteRequires(resolvedDependency, program) {
295
294
  return !isBuildModeLibrary(program) || !isNodeModulesFile(resolvedDependency);
296
295
  }
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.stripParenthesisExpressionsTransformer = exports.noImplicitSelfTransformer = exports.getTransformers = void 0;
3
+ exports.stripParenthesisExpressionsTransformer = exports.noImplicitSelfTransformer = void 0;
4
+ exports.getTransformers = getTransformers;
4
5
  const ts = require("typescript");
5
6
  // TODO: Don't depend on CLI?
6
7
  const cliDiagnostics = require("../cli/diagnostics");
@@ -33,7 +34,6 @@ function getTransformers(program, diagnostics, customTransformers, onSourceFile)
33
34
  ],
34
35
  };
35
36
  }
36
- exports.getTransformers = getTransformers;
37
37
  const noImplicitSelfTransformer = () => node => {
38
38
  const transformSourceFile = node => {
39
39
  const empty = ts.factory.createNotEmittedStatement(undefined);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getProgramTranspileResult = void 0;
3
+ exports.getProgramTranspileResult = getProgramTranspileResult;
4
4
  const path = require("path");
5
5
  const ts = require("typescript");
6
6
  const CompilerOptions_1 = require("../CompilerOptions");
@@ -115,5 +115,4 @@ function getProgramTranspileResult(emitHost, writeFileResult, { program, sourceF
115
115
  performance.endSection("afterPrint");
116
116
  return { diagnostics, transpiledFiles };
117
117
  }
118
- exports.getProgramTranspileResult = getProgramTranspileResult;
119
118
  //# sourceMappingURL=transpile.js.map
@@ -1,6 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getProjectRoot = exports.getEmitOutDir = exports.getSourceDir = exports.getEmitPathRelativeToOutDir = exports.getEmitPath = exports.Transpiler = void 0;
3
+ exports.Transpiler = void 0;
4
+ exports.getEmitPath = getEmitPath;
5
+ exports.getEmitPathRelativeToOutDir = getEmitPathRelativeToOutDir;
6
+ exports.getSourceDir = getSourceDir;
7
+ exports.getEmitOutDir = getEmitOutDir;
8
+ exports.getProjectRoot = getProjectRoot;
4
9
  const path = require("path");
5
10
  const ts = require("typescript");
6
11
  const CompilerOptions_1 = require("../CompilerOptions");
@@ -120,7 +125,6 @@ function getEmitPath(file, program) {
120
125
  const outDir = getEmitOutDir(program);
121
126
  return path.join(outDir, relativeOutputPath);
122
127
  }
123
- exports.getEmitPath = getEmitPath;
124
128
  function getEmitPathRelativeToOutDir(fileName, program) {
125
129
  var _a;
126
130
  const sourceDir = getSourceDir(program);
@@ -139,7 +143,6 @@ function getEmitPathRelativeToOutDir(fileName, program) {
139
143
  (0, utils_1.trimExtension)(emitPathSplits[emitPathSplits.length - 1]) + "." + trimmedExtension;
140
144
  return path.join(...emitPathSplits);
141
145
  }
142
- exports.getEmitPathRelativeToOutDir = getEmitPathRelativeToOutDir;
143
146
  function getSourceDir(program) {
144
147
  const rootDir = program.getCompilerOptions().rootDir;
145
148
  if (rootDir && rootDir.length > 0) {
@@ -148,7 +151,6 @@ function getSourceDir(program) {
148
151
  // If no rootDir is given, source is relative to the project root
149
152
  return getProjectRoot(program);
150
153
  }
151
- exports.getSourceDir = getSourceDir;
152
154
  function getEmitOutDir(program) {
153
155
  const outDir = program.getCompilerOptions().outDir;
154
156
  if (outDir && outDir.length > 0) {
@@ -157,12 +159,10 @@ function getEmitOutDir(program) {
157
159
  // If no outDir is provided, emit in project root
158
160
  return getProjectRoot(program);
159
161
  }
160
- exports.getEmitOutDir = getEmitOutDir;
161
162
  function getProjectRoot(program) {
162
163
  // Try to get the directory the tsconfig is in
163
164
  const tsConfigPath = program.getCompilerOptions().configFilePath;
164
165
  // If no tsconfig is known, use common source directory
165
166
  return tsConfigPath ? path.dirname(tsConfigPath) : program.getCommonSourceDirectory();
166
167
  }
167
- exports.getProjectRoot = getProjectRoot;
168
168
  //# sourceMappingURL=transpiler.js.map
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolvePlugin = exports.getConfigDirectory = void 0;
3
+ exports.getConfigDirectory = void 0;
4
+ exports.resolvePlugin = resolvePlugin;
4
5
  const path = require("path");
5
6
  const resolve = require("resolve");
6
7
  // TODO: Don't depend on CLI?
@@ -44,5 +45,4 @@ function resolvePlugin(kind, optionName, basedir, query, importName = "default")
44
45
  }
45
46
  return { result };
46
47
  }
47
- exports.resolvePlugin = resolvePlugin;
48
48
  //# sourceMappingURL=utils.js.map
package/dist/utils.js CHANGED
@@ -1,13 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.assume = exports.assertNever = exports.assert = exports.cast = exports.isNonNull = exports.getOrUpdate = exports.formatPathToLuaPath = exports.trimExtension = exports.normalizeSlashes = exports.createSerialDiagnosticFactory = exports.createDiagnosticFactoryWithCode = exports.intersection = exports.union = exports.intersperse = exports.castArray = void 0;
3
+ exports.trimExtension = exports.normalizeSlashes = exports.createSerialDiagnosticFactory = exports.createDiagnosticFactoryWithCode = exports.intersection = exports.union = exports.intersperse = void 0;
4
+ exports.castArray = castArray;
5
+ exports.formatPathToLuaPath = formatPathToLuaPath;
6
+ exports.getOrUpdate = getOrUpdate;
7
+ exports.isNonNull = isNonNull;
8
+ exports.cast = cast;
9
+ exports.assert = assert;
10
+ exports.assertNever = assertNever;
11
+ exports.assume = assume;
4
12
  const ts = require("typescript");
5
13
  const nativeAssert = require("assert");
6
14
  const path = require("path");
7
15
  function castArray(value) {
8
16
  return Array.isArray(value) ? value : [value];
9
17
  }
10
- exports.castArray = castArray;
11
18
  const intersperse = (values, separator) => values.flatMap((value, index) => (index === 0 ? [value] : [separator, value]));
12
19
  exports.intersperse = intersperse;
13
20
  const union = (...values) => [...new Set(...values)];
@@ -39,7 +46,6 @@ function formatPathToLuaPath(filePath) {
39
46
  }
40
47
  return filePath.replace(/\.\//g, "").replace(/\//g, ".");
41
48
  }
42
- exports.formatPathToLuaPath = formatPathToLuaPath;
43
49
  function getOrUpdate(
44
50
  // eslint-disable-next-line @typescript-eslint/ban-types
45
51
  map, key, getDefaultValue) {
@@ -48,12 +54,10 @@ map, key, getDefaultValue) {
48
54
  }
49
55
  return map.get(key);
50
56
  }
51
- exports.getOrUpdate = getOrUpdate;
52
57
  // eslint-disable-next-line @typescript-eslint/ban-types
53
58
  function isNonNull(value) {
54
59
  return value != null;
55
60
  }
56
- exports.isNonNull = isNonNull;
57
61
  function cast(item, cast) {
58
62
  if (cast(item)) {
59
63
  return item;
@@ -62,15 +66,11 @@ function cast(item, cast) {
62
66
  throw new Error(`Failed to cast value to expected type using ${cast.name}.`);
63
67
  }
64
68
  }
65
- exports.cast = cast;
66
69
  function assert(value, message) {
67
70
  nativeAssert(value, message);
68
71
  }
69
- exports.assert = assert;
70
72
  function assertNever(_value) {
71
73
  throw new Error("Value is expected to be never");
72
74
  }
73
- exports.assertNever = assertNever;
74
75
  function assume(_value) { }
75
- exports.assume = assume;
76
76
  //# sourceMappingURL=utils.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typescript-to-lua",
3
- "version": "1.25.2",
3
+ "version": "1.26.0",
4
4
  "description": "A generic TypeScript to Lua transpiler. Write your code in TypeScript and publish Lua!",
5
5
  "repository": "https://github.com/TypeScriptToLua/TypeScriptToLua",
6
6
  "homepage": "https://typescripttolua.github.io/",
@@ -42,7 +42,7 @@
42
42
  "node": ">=16.10.0"
43
43
  },
44
44
  "peerDependencies": {
45
- "typescript": "5.4.2"
45
+ "typescript": "5.5.2"
46
46
  },
47
47
  "dependencies": {
48
48
  "@typescript-to-lua/language-extensions": "1.19.0",
@@ -58,10 +58,8 @@
58
58
  "@types/node": "^13.7.7",
59
59
  "@types/picomatch": "^2.3.0",
60
60
  "@types/resolve": "1.14.0",
61
- "@typescript-eslint/eslint-plugin": "^5.62.0",
62
- "@typescript-eslint/parser": "^5.62.0",
63
- "eslint": "^8.47.0",
64
- "eslint-plugin-import": "^2.27.5",
61
+ "eslint": "^8.57.0",
62
+ "eslint-plugin-import": "^2.29.1",
65
63
  "eslint-plugin-jest": "^26.9.0",
66
64
  "fs-extra": "^8.1.0",
67
65
  "javascript-stringify": "^2.0.1",
@@ -72,6 +70,7 @@
72
70
  "prettier": "^2.8.4",
73
71
  "ts-jest": "^29.1.0",
74
72
  "ts-node": "^10.9.1",
75
- "typescript": "^5.4.2"
73
+ "typescript": "^5.5.2",
74
+ "typescript-eslint": "^7.13.1"
76
75
  }
77
76
  }