@abaplint/transpiler-cli 1.7.9 → 1.7.10
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.
- package/build/bundle.js +1 -1
- package/package.json +2 -2
package/build/bundle.js
CHANGED
|
@@ -14448,7 +14448,7 @@ eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\n
|
|
|
14448
14448
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
14449
14449
|
|
|
14450
14450
|
"use strict";
|
|
14451
|
-
eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.UnitTest = void 0;\r\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"./node_modules/@abaplint/core/build/src/index.js\");\r\nclass UnitTest {\r\n // todo, move this somewhere else, its much more than just unit test relevant\r\n initializationScript(reg, dbSetup) {\r\n
|
|
14451
|
+
eval("\r\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\r\nexports.UnitTest = void 0;\r\nconst abaplint = __webpack_require__(/*! @abaplint/core */ \"./node_modules/@abaplint/core/build/src/index.js\");\r\nclass UnitTest {\r\n // todo, move this somewhere else, its much more than just unit test relevant\r\n initializationScript(reg, dbSetup) {\r\n let ret = `import runtime from \"@abaplint/runtime\";\nglobal.abap = new runtime.ABAP();\n${this.buildImports(reg)}\nexport async function initializeABAP(settings) {\\n`;\r\n if (dbSetup === \"\") {\r\n ret += `// no database artifacts, skip DB initialization\\n`;\r\n }\r\n else {\r\n ret += ` await global.abap.initDB(\\`${dbSetup}\\`);\\n`;\r\n }\r\n ret += `}`;\r\n return ret;\r\n }\r\n unitTestScript(reg, skip, _only) {\r\n let ret = `import fs from \"fs\";\nimport path from \"path\";\nimport {dirname} from 'path';\nimport {fileURLToPath} from 'url';\nconst __dirname = dirname(fileURLToPath(import.meta.url));\nimport {initializeABAP} from \"./init.mjs\";\nimport runtime from \"@abaplint/runtime\";\n\nasync function run() {\n await initializeABAP();\n const unit = new runtime.UnitTestResult();\n let clas;\n let locl;\n let meth;\ntry {\\n`;\r\n for (const obj of reg.getObjects()) {\r\n if (reg.isDependency(obj) || !(obj instanceof abaplint.Objects.Class)) {\r\n continue;\r\n }\r\n ret += `// --------------------------------------------\\n`;\r\n ret += `clas = unit.addObject(\"${obj.getName()}\");\\n`;\r\n for (const file of obj.getABAPFiles()) {\r\n for (const def of file.getInfo().listClassDefinitions()) {\r\n if (def.isForTesting === false\r\n || def.isGlobal === true // todo, fix, there might be global test methods\r\n || def.methods.length === 0) {\r\n continue;\r\n }\r\n ret += `{\nconst {${def.name}} = await import(\"./${obj.getName().toLowerCase()}.${obj.getType().toLowerCase()}.testclasses.mjs\");\nlocl = clas.addTestClass(\"${def.name}\");\\n`;\r\n ret += `if (${def.name}.class_setup) await ${def.name}.class_setup();\\n`;\r\n for (const m of def.methods) {\r\n if (m.isForTesting === false) {\r\n continue;\r\n }\r\n const skipThis = (skip || []).some(a => a.object === obj.getName() && a.class === def.name && a.method === m.name);\r\n if (skipThis) {\r\n ret += ` console.log('${obj.getName()}: running ${def.name}->${m.name}, skipped');\\n`;\r\n ret += ` meth = locl.addMethod(\"${m.name}\");\\n`;\r\n ret += ` meth.skip();\\n`;\r\n continue;\r\n }\r\n ret += `{\\n const test = await (new ${def.name}()).constructor_();\\n`;\r\n ret += ` if (test.setup) await test.setup();\\n`;\r\n ret += ` console.log('${obj.getName()}: running ${def.name}->${m.name}');\\n`;\r\n ret += ` meth = locl.addMethod(\"${m.name}\");\\n`;\r\n ret += ` await test.${m.name}();\\n`;\r\n ret += ` meth.pass();\\n`;\r\n ret += ` if (test.teardown) await test.teardown();\\n`;\r\n ret += `}\\n`;\r\n }\r\n ret += `if (${def.name}.class_teardown) await ${def.name}.class_teardown();\\n`;\r\n ret += `}\\n`;\r\n }\r\n }\r\n }\r\n ret += `// -------------------END-------------------\nconsole.log(abap.console.get());\nfs.writeFileSync(__dirname + path.sep + \"output.xml\", unit.xUnitXML());\n} catch (e) {\n if (meth) {\n meth.fail();\n }\n console.log(abap.console.get());\n fs.writeFileSync(__dirname + path.sep + \"output.xml\", unit.xUnitXML());\n throw e;\n}\n}\n\nrun().then(() => {\n process.exit(0);\n}).catch((err) => {\n console.log(err);\n process.exit(1);\n});`;\r\n return ret;\r\n }\r\n buildImports(reg) {\r\n // note: ES modules are hoised, so use the dynamic import()\r\n // todo, some sorting might be required? eg. a class constructor using constant from interface?\r\n // temporary sorting: by filename\r\n const list = [];\r\n for (const obj of reg.getObjects()) {\r\n if (obj instanceof abaplint.Objects.FunctionGroup) {\r\n for (const m of obj.getModules()) {\r\n list.push(`await import(\"./${obj.getName().toLowerCase()}.fugr.${m.getName().toLowerCase()}.mjs\");`);\r\n }\r\n }\r\n else if (obj instanceof abaplint.Objects.Class) {\r\n list.push(`await import(\"./${obj.getName().toLowerCase()}.clas.mjs\");`);\r\n }\r\n else if (obj instanceof abaplint.Objects.Interface) {\r\n list.push(`await import(\"./${obj.getName().toLowerCase()}.intf.mjs\");`);\r\n }\r\n }\r\n list.sort();\r\n return list.join(\"\\n\") + \"\\n\";\r\n }\r\n}\r\nexports.UnitTest = UnitTest;\r\n//# sourceMappingURL=unit_test.js.map\n\n//# sourceURL=webpack://@abaplint/transpiler-cli/./node_modules/@abaplint/transpiler/build/src/unit_test.js?");
|
|
14452
14452
|
|
|
14453
14453
|
/***/ }),
|
|
14454
14454
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abaplint/transpiler-cli",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.10",
|
|
4
4
|
"description": "Transpiler - Command Line Interface",
|
|
5
5
|
"bin": {
|
|
6
6
|
"abap_transpile": "./abap_transpile"
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"author": "abaplint",
|
|
24
24
|
"license": "MIT",
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"@abaplint/transpiler": "^1.7.
|
|
26
|
+
"@abaplint/transpiler": "^1.7.10",
|
|
27
27
|
"@types/glob": "^7.2.0",
|
|
28
28
|
"glob": "^7.2.0",
|
|
29
29
|
"@types/progress": "^2.0.5",
|