@abaplint/transpiler-cli 2.0.56 → 2.0.59

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 (2) hide show
  1. package/build/bundle.js +3 -3
  2. package/package.json +2 -2
package/build/bundle.js CHANGED
@@ -13557,7 +13557,7 @@ eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\n
13557
13557
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
13558
13558
 
13559
13559
  "use strict";
13560
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.Keywords = void 0;\r\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"./node_modules/@abaplint/core/build/src/index.js\");\r\n/** Replaces javascript keywords in ABAP source code, in-memory only */\r\nclass Keywords {\r\n handle(reg) {\r\n reg.parse();\r\n for (const o of reg.getObjects()) {\r\n if (!(o instanceof abaplint.ABAPObject)) {\r\n continue;\r\n }\r\n for (const f of o.getABAPFiles()) {\r\n let tokens = [];\r\n for (const s of f.getStatements()) {\r\n tokens = tokens.concat(this.traverse(s, f));\r\n }\r\n if (tokens.length === 0) {\r\n continue;\r\n }\r\n const rows = f.getRawRows();\r\n for (const t of tokens.reverse()) {\r\n const original = rows[t.getRow() - 1];\r\n const index = t.getEnd().getCol() - 1;\r\n rows[t.getRow() - 1] = original.substring(0, index) + \"_\" + original.substring(index);\r\n }\r\n reg.updateFile(new abaplint.MemoryFile(f.getFilename(), rows.join(\"\\n\")));\r\n }\r\n }\r\n reg.parse();\r\n }\r\n traverse(node, file) {\r\n // https://www.w3schools.com/js/js_reserved.asp\r\n const keywords = [\r\n \"abstract\", \"arguments\", \"await\",\r\n \"break\", \"byte\", \"catch\",\r\n \"char\", \"class\", \"const\", \"continue\",\r\n \"debugger\", \"default\", \"do\",\r\n \"double\", \"else\", \"enum\", \"eval\",\r\n \"export\", \"extends\", \"false\", \"final\",\r\n \"finally\", \"for\", \"function\",\r\n \"goto\", \"if\", \"implements\", \"import\",\r\n \"in\", \"instanceof\", \"interface\",\r\n \"let\", \"long\", \"native\", \"new\",\r\n \"null\", \"package\", \"private\", \"protected\",\r\n \"public\", \"return\", \"short\", \"static\",\r\n \"switch\", \"synchronized\", \"this\",\r\n \"throw\", \"throws\", \"transient\", \"true\",\r\n \"try\", \"typeof\", \"var\", \"void\",\r\n \"volatile\", \"while\", \"yield\"\r\n ];\r\n // \"with\"\r\n // \"delete\"\r\n let ret = [];\r\n for (const c of node.getChildren()) {\r\n if (c instanceof abaplint.Nodes.TokenNodeRegex) {\r\n if (keywords.some(k => k === c.getFirstToken().getStr().toLowerCase())) {\r\n ret.push(c.getFirstToken());\r\n }\r\n }\r\n else if (c instanceof abaplint.Nodes.TokenNode) {\r\n continue;\r\n }\r\n else {\r\n ret = ret.concat(this.traverse(c, file));\r\n }\r\n }\r\n return ret;\r\n }\r\n}\r\nexports.Keywords = Keywords;\r\n//# sourceMappingURL=keywords.js.map\n\n//# sourceURL=webpack://@abaplint/transpiler-cli/./node_modules/@abaplint/transpiler/build/src/keywords.js?");
13560
+ eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.Keywords = void 0;\r\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"./node_modules/@abaplint/core/build/src/index.js\");\r\n/** Replaces javascript keywords in ABAP source code, in-memory only */\r\nclass Keywords {\r\n handle(reg) {\r\n reg.parse();\r\n for (const o of reg.getObjects()) {\r\n if (!(o instanceof abaplint.ABAPObject)) {\r\n continue;\r\n }\r\n for (const f of o.getABAPFiles()) {\r\n let tokens = [];\r\n for (const s of f.getStatements()) {\r\n tokens = tokens.concat(this.traverse(s, f));\r\n }\r\n if (tokens.length === 0) {\r\n continue;\r\n }\r\n const rows = f.getRawRows();\r\n for (const t of tokens.reverse()) {\r\n const original = rows[t.getRow() - 1];\r\n const index = t.getEnd().getCol() - 1;\r\n rows[t.getRow() - 1] = original.substring(0, index) + \"_\" + original.substring(index);\r\n }\r\n reg.updateFile(new abaplint.MemoryFile(f.getFilename(), rows.join(\"\\n\")));\r\n }\r\n }\r\n reg.parse();\r\n }\r\n traverse(node, file) {\r\n // https://www.w3schools.com/js/js_reserved.asp\r\n const keywords = [\r\n \"abstract\", \"arguments\", \"await\",\r\n \"break\", \"byte\", \"catch\",\r\n \"char\", \"class\", \"const\", \"continue\",\r\n \"debugger\", \"default\", \"do\",\r\n \"double\", \"else\", \"enum\", \"eval\",\r\n \"export\", \"extends\", \"false\", \"final\",\r\n \"finally\", \"for\", \"function\",\r\n \"goto\", \"if\", \"implements\", \"import\",\r\n \"in\", \"instanceof\", \"interface\",\r\n \"let\", \"long\", \"native\", \"new\",\r\n \"null\", \"package\", \"private\",\r\n \"public\", \"return\", \"short\", \"static\",\r\n \"switch\", \"synchronized\", \"this\",\r\n \"throw\", \"throws\", \"transient\", \"true\",\r\n \"try\", \"typeof\", \"var\", \"void\",\r\n \"volatile\", \"while\", \"yield\"\r\n ];\r\n // \"with\"\r\n // \"delete\"\r\n let ret = [];\r\n for (const c of node.getChildren()) {\r\n if (c instanceof abaplint.Nodes.TokenNodeRegex) {\r\n if (keywords.some(k => k === c.getFirstToken().getStr().toLowerCase())) {\r\n ret.push(c.getFirstToken());\r\n }\r\n }\r\n else if (c instanceof abaplint.Nodes.TokenNode) {\r\n continue;\r\n }\r\n else {\r\n ret = ret.concat(this.traverse(c, file));\r\n }\r\n }\r\n return ret;\r\n }\r\n}\r\nexports.Keywords = Keywords;\r\n//# sourceMappingURL=keywords.js.map\n\n//# sourceURL=webpack://@abaplint/transpiler-cli/./node_modules/@abaplint/transpiler/build/src/keywords.js?");
13561
13561
 
13562
13562
  /***/ }),
13563
13563
 
@@ -14767,7 +14767,7 @@ eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\n
14767
14767
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
14768
14768
 
14769
14769
  "use strict";
14770
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.ClassDefinitionTranspiler = void 0;\r\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"./node_modules/@abaplint/transpiler/build/src/chunk.js\");\r\nclass ClassDefinitionTranspiler {\r\n transpile(_node, _traversal) {\r\n return new chunk_1.Chunk(\"\");\r\n }\r\n}\r\nexports.ClassDefinitionTranspiler = ClassDefinitionTranspiler;\r\n//# sourceMappingURL=class_definition.js.map\n\n//# sourceURL=webpack://@abaplint/transpiler-cli/./node_modules/@abaplint/transpiler/build/src/structures/class_definition.js?");
14770
+ eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.ClassDefinitionTranspiler = void 0;\r\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"./node_modules/@abaplint/core/build/src/index.js\");\r\nconst chunk_1 = __webpack_require__(/*! ../chunk */ \"./node_modules/@abaplint/transpiler/build/src/chunk.js\");\r\nclass ClassDefinitionTranspiler {\r\n transpile(node, traversal) {\r\n var _a;\r\n const className = (_a = node.findFirstExpression(abaplint.Expressions.ClassName)) === null || _a === void 0 ? void 0 : _a.concatTokens().toUpperCase();\r\n let found = false;\r\n if (className !== undefined) {\r\n for (const a of traversal.getCurrentObject().getABAPFiles()) {\r\n if (a.getInfo().getClassImplementationByName(className) !== undefined) {\r\n found = true;\r\n }\r\n }\r\n }\r\n if (found) {\r\n return new chunk_1.Chunk(\"\");\r\n }\r\n else {\r\n // its an abstract class with only abstract methods\r\n return new chunk_1.Chunk(`\r\nclass ${className === null || className === void 0 ? void 0 : className.toLowerCase()} {\r\n async constructor_() {\r\n this.me = new abap.types.ABAPObject();\r\n this.me.set(this);\r\n return this;\r\n }\r\n}`);\r\n }\r\n }\r\n}\r\nexports.ClassDefinitionTranspiler = ClassDefinitionTranspiler;\r\n//# sourceMappingURL=class_definition.js.map\n\n//# sourceURL=webpack://@abaplint/transpiler-cli/./node_modules/@abaplint/transpiler/build/src/structures/class_definition.js?");
14771
14771
 
14772
14772
  /***/ }),
14773
14773
 
@@ -14921,7 +14921,7 @@ eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\n
14921
14921
  /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
14922
14922
 
14923
14923
  "use strict";
14924
- eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.Validation = exports.config = void 0;\r\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"./node_modules/@abaplint/core/build/src/index.js\");\r\nexports.config = {\r\n \"global\": {\r\n \"files\": \"/**/*.*\",\r\n \"skipGeneratedGatewayClasses\": true,\r\n \"skipGeneratedPersistentClasses\": true,\r\n \"skipGeneratedFunctionGroups\": true,\r\n },\r\n \"syntax\": {\r\n \"version\": core_1.Version.OpenABAP,\r\n \"errorNamespace\": \".\",\r\n },\r\n \"rules\": {\r\n \"when_others_last\": true,\r\n \"avoid_use\": {\r\n \"define\": true,\r\n \"execSQL\": true,\r\n \"kernelCall\": true,\r\n \"communication\": true,\r\n \"systemCall\": true,\r\n \"break\": true,\r\n \"statics\": true,\r\n \"endselect\": false,\r\n \"defaultKey\": false,\r\n },\r\n \"parser_error\": true,\r\n \"allowed_object_types\": {\r\n \"allowed\": [\"INTF\", \"CLAS\", \"PROG\", \"DEVC\", \"TABL\", \"SHLP\", \"XSLT\", \"SHMA\", \"SICF\", \"NROB\", \"TYPE\", \"DTEL\", \"DOMA\", \"TTYP\", \"MSAG\", \"FUGR\"],\r\n },\r\n \"exit_or_check\": {\r\n \"allowCheck\": true,\r\n \"allowExit\": false,\r\n },\r\n \"unknown_types\": true,\r\n \"ambiguous_statement\": true,\r\n \"implement_methods\": true,\r\n \"begin_end_names\": true,\r\n \"check_syntax\": true,\r\n \"form_no_dash\": true,\r\n \"omit_preceding_zeros\": true,\r\n \"obsolete_statement\": {\r\n \"compute\": true,\r\n \"requested\": true,\r\n \"setExtended\": true,\r\n \"occurs\": true,\r\n },\r\n \"forbidden_identifier\": {\r\n \"check\": [\r\n \"^abstract$\", \"^arguments$\", \"^await$\",\r\n \"^break$\", \"^byte$\", \"^catch$\",\r\n \"^char$\", \"^class$\", \"^const$\", \"^continue$\",\r\n \"^debugger$\", \"^default$\", \"^do$\",\r\n \"^double$\", \"^else$\", \"^enum$\", \"^eval$\",\r\n \"^export$\", \"^extends$\", \"^false$\", \"^final$\",\r\n \"^finally$\", \"^for$\", \"^function$\",\r\n \"^goto$\", \"^if$\", \"^implements$\", \"^import$\",\r\n \"^in$\", \"^instanceof$\", \"^interface$\",\r\n \"^let$\", \"^long$\", \"^native$\", \"^new$\",\r\n \"^null$\", \"^package$\", \"^private$\", \"^protected$\",\r\n \"^public$\", \"^return$\", \"^short$\", \"^static$\",\r\n \"^switch$\", \"^synchronized$\", \"^this$\",\r\n \"^throw$\", \"^throws$\", \"^transient$\", \"^true$\",\r\n \"^try$\", \"^typeof$\", \"^var$\", \"^void$\",\r\n \"^volatile$\", \"^while$\", \"^yield$\",\r\n \"^unique\\\\d+$\", \"^constant_\\\\d+$\"\r\n ],\r\n },\r\n },\r\n};\r\n// todo, make sure nothing is overloaded, eg \"lines()\", there is a rule for this in abaplint now\r\nclass Validation {\r\n constructor(options) {\r\n this.options = options;\r\n }\r\n run(reg) {\r\n var _a, _b;\r\n if (((_a = this.options) === null || _a === void 0 ? void 0 : _a.ignoreSyntaxCheck) === true) {\r\n exports.config.rules.check_syntax = false;\r\n }\r\n else {\r\n exports.config.rules.check_syntax = true;\r\n }\r\n if (((_b = this.options) === null || _b === void 0 ? void 0 : _b.unknownTypes) === \"runtimeError\") {\r\n exports.config.syntax.errorNamespace = \"VOID_EVERYTHING\"; // this is not a constant, just a regex that happens to not match anything\r\n // config.rules[\"unknown_types\"] = false;\r\n }\r\n const conf = new core_1.Config(JSON.stringify(exports.config));\r\n reg.setConfig(conf);\r\n const issues = reg.findIssues();\r\n return issues;\r\n }\r\n}\r\nexports.Validation = Validation;\r\n//# sourceMappingURL=validation.js.map\n\n//# sourceURL=webpack://@abaplint/transpiler-cli/./node_modules/@abaplint/transpiler/build/src/validation.js?");
14924
+ eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.Validation = exports.config = void 0;\r\nconst core_1 = __webpack_require__(/*! @abaplint/core */ \"./node_modules/@abaplint/core/build/src/index.js\");\r\nexports.config = {\r\n \"global\": {\r\n \"files\": \"/**/*.*\",\r\n \"skipGeneratedGatewayClasses\": true,\r\n \"skipGeneratedPersistentClasses\": true,\r\n \"skipGeneratedFunctionGroups\": true,\r\n },\r\n \"syntax\": {\r\n \"version\": core_1.Version.OpenABAP,\r\n \"errorNamespace\": \".\",\r\n },\r\n \"rules\": {\r\n \"when_others_last\": true,\r\n \"avoid_use\": {\r\n \"define\": true,\r\n \"execSQL\": true,\r\n \"kernelCall\": true,\r\n \"communication\": true,\r\n \"systemCall\": true,\r\n \"break\": true,\r\n \"statics\": true,\r\n \"endselect\": false,\r\n \"defaultKey\": false,\r\n },\r\n \"parser_error\": true,\r\n \"allowed_object_types\": {\r\n \"allowed\": [\"INTF\", \"CLAS\", \"PROG\", \"DEVC\", \"TABL\", \"SHLP\", \"XSLT\", \"SHMA\", \"SICF\", \"NROB\", \"TYPE\", \"DTEL\", \"DOMA\", \"TTYP\", \"MSAG\", \"FUGR\"],\r\n },\r\n \"exit_or_check\": {\r\n \"allowCheck\": true,\r\n \"allowExit\": false,\r\n },\r\n \"unknown_types\": true,\r\n \"ambiguous_statement\": true,\r\n \"implement_methods\": true,\r\n \"begin_end_names\": true,\r\n \"check_syntax\": true,\r\n \"form_no_dash\": true,\r\n \"omit_preceding_zeros\": true,\r\n \"obsolete_statement\": {\r\n \"compute\": true,\r\n \"requested\": true,\r\n \"setExtended\": true,\r\n \"occurs\": true,\r\n },\r\n \"forbidden_identifier\": {\r\n \"check\": [\r\n \"^abstract$\", \"^arguments$\", \"^await$\",\r\n \"^break$\", \"^byte$\", \"^catch$\",\r\n \"^char$\", \"^class$\", \"^const$\", \"^continue$\",\r\n \"^debugger$\", \"^default$\", \"^do$\",\r\n \"^double$\", \"^else$\", \"^enum$\", \"^eval$\",\r\n \"^export$\", \"^extends$\", \"^false$\", \"^final$\",\r\n \"^finally$\", \"^for$\", \"^function$\",\r\n \"^goto$\", \"^if$\", \"^implements$\", \"^import$\",\r\n \"^in$\", \"^instanceof$\", \"^interface$\",\r\n \"^let$\", \"^long$\", \"^native$\", \"^new$\",\r\n \"^null$\", \"^package$\", \"^private$\",\r\n // \"^protected$\",\r\n \"^public$\", \"^return$\", \"^short$\", \"^static$\",\r\n \"^switch$\", \"^synchronized$\", \"^this$\",\r\n \"^throw$\", \"^throws$\", \"^transient$\", \"^true$\",\r\n \"^try$\", \"^typeof$\", \"^var$\", \"^void$\",\r\n \"^volatile$\", \"^while$\", \"^yield$\",\r\n \"^unique\\\\d+$\", \"^constant_\\\\d+$\"\r\n ],\r\n },\r\n },\r\n};\r\n// todo, make sure nothing is overloaded, eg \"lines()\", there is a rule for this in abaplint now\r\nclass Validation {\r\n constructor(options) {\r\n this.options = options;\r\n }\r\n run(reg) {\r\n var _a, _b;\r\n if (((_a = this.options) === null || _a === void 0 ? void 0 : _a.ignoreSyntaxCheck) === true) {\r\n exports.config.rules.check_syntax = false;\r\n }\r\n else {\r\n exports.config.rules.check_syntax = true;\r\n }\r\n if (((_b = this.options) === null || _b === void 0 ? void 0 : _b.unknownTypes) === \"runtimeError\") {\r\n exports.config.syntax.errorNamespace = \"VOID_EVERYTHING\"; // this is not a constant, just a regex that happens to not match anything\r\n // config.rules[\"unknown_types\"] = false;\r\n }\r\n const conf = new core_1.Config(JSON.stringify(exports.config));\r\n reg.setConfig(conf);\r\n const issues = reg.findIssues();\r\n return issues;\r\n }\r\n}\r\nexports.Validation = Validation;\r\n//# sourceMappingURL=validation.js.map\n\n//# sourceURL=webpack://@abaplint/transpiler-cli/./node_modules/@abaplint/transpiler/build/src/validation.js?");
14925
14925
 
14926
14926
  /***/ }),
14927
14927
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abaplint/transpiler-cli",
3
- "version": "2.0.56",
3
+ "version": "2.0.59",
4
4
  "description": "Transpiler - Command Line Interface",
5
5
  "bin": {
6
6
  "abap_transpile": "./abap_transpile"
@@ -25,7 +25,7 @@
25
25
  "author": "abaplint",
26
26
  "license": "MIT",
27
27
  "devDependencies": {
28
- "@abaplint/transpiler": "^2.0.56",
28
+ "@abaplint/transpiler": "^2.0.59",
29
29
  "@types/glob": "^7.2.0",
30
30
  "glob": "=7.2.0",
31
31
  "@types/progress": "^2.0.5",