diff --git a/.gitignore b/.gitignore index bb40d9a..e67e7c1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ dist node_modules open-abap/ +open-abap-core/ output tests/*/_compile_result.txt tests/*/_run_result.txt diff --git a/package-lock.json b/package-lock.json index 63c86a2..9c0c197 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,10 +9,10 @@ "version": "0.1.0", "license": "AGPL-3.0-or-later", "dependencies": { - "@abaplint/cli": "^2.113.108", - "@abaplint/runtime": "^2.10.34", - "@abaplint/transpiler": "^2.10.34", - "@abaplint/transpiler-cli": "^2.10.34" + "@abaplint/cli": "^2.113.110", + "@abaplint/runtime": "^2.10.44", + "@abaplint/transpiler": "^2.10.44", + "@abaplint/transpiler-cli": "^2.10.44" }, "bin": { "abap-test-runner": "bin/run.sh" @@ -20,7 +20,7 @@ "devDependencies": { "@types/chai": "^4.3.20", "@types/mocha": "^10.0.10", - "@types/node": "^22.13.17", + "@types/node": "^22.14.1", "chai": "^4.5.0", "mocha": "^11.1.0", "source-map-support": "^0.5.21", @@ -28,9 +28,9 @@ } }, "node_modules/@abaplint/cli": { - "version": "2.113.108", - "resolved": "https://registry.npmjs.org/@abaplint/cli/-/cli-2.113.108.tgz", - "integrity": "sha512-Qigo5UBwb0a2yskWJwYGgRfj7hx9rZ45sUb6kxQuMG/ZUT4xAIKIXxYf/hWQMqM+xSP4p85uIjDAs64rNzDQ9A==", + "version": "2.113.110", + "resolved": "https://registry.npmjs.org/@abaplint/cli/-/cli-2.113.110.tgz", + "integrity": "sha512-EY5mP6dE/kv0FGcTMT3QhwWrcs4v3JXv9ZvjpTDJu6ncA0Z4v+nMJy0f66Ug+LHPmcUZHjevH+UTRuSYFlYYXQ==", "license": "MIT", "bin": { "abaplint": "abaplint" @@ -43,12 +43,12 @@ } }, "node_modules/@abaplint/core": { - "version": "2.113.108", - "resolved": "https://registry.npmjs.org/@abaplint/core/-/core-2.113.108.tgz", - "integrity": "sha512-Ny/hEDh7tKSaX9kO3y84rY2BRuYVNJljiKQQCrfamzVoDYb5Dr0R6aglQbe/SIg+x5bdTrnhEHAdtW3Ha+zlCw==", + "version": "2.113.110", + "resolved": "https://registry.npmjs.org/@abaplint/core/-/core-2.113.110.tgz", + "integrity": "sha512-x8eZlfpeBQkbHrFw2DWk1IIRFnYwGdrizoJSFgtCCBBci8pzInjmLN16l0zFRT0gxtOCU3mMmts2MPdJfRIR9g==", "license": "MIT", "dependencies": { - "fast-xml-parser": "^5.0.9", + "fast-xml-parser": "^5.2.0", "json5": "^2.2.3", "vscode-languageserver-types": "^3.17.5" }, @@ -60,9 +60,9 @@ } }, "node_modules/@abaplint/runtime": { - "version": "2.10.34", - "resolved": "https://registry.npmjs.org/@abaplint/runtime/-/runtime-2.10.34.tgz", - "integrity": "sha512-KmPLEWpM/MeZbkixV+a4deC3L7Fc0/2jpIpWyb/o5N0FbA7B9pbrZGD1MlYuGZFlfUB1goNIt+TB6RCfKvoxMA==", + "version": "2.10.44", + "resolved": "https://registry.npmjs.org/@abaplint/runtime/-/runtime-2.10.44.tgz", + "integrity": "sha512-D3z0+tiz5llaJwzFgt05HQLQAd6k/5PBY883TRkU+39t/DCHXtvSQ7cd03Myr19tSSAwmsPkEPrM7kVkToIdsg==", "license": "MIT", "dependencies": { "temporal-polyfill": "^0.2.5" @@ -72,12 +72,12 @@ } }, "node_modules/@abaplint/transpiler": { - "version": "2.10.34", - "resolved": "https://registry.npmjs.org/@abaplint/transpiler/-/transpiler-2.10.34.tgz", - "integrity": "sha512-VBmtbh020dTJ4B+P4WkWSKgHcnzlYwttzAudT/4jqy+FyLgFzS2y0Fa0tRA1OLkHL1/fDPUxKZOxVKg0Akj/qA==", + "version": "2.10.44", + "resolved": "https://registry.npmjs.org/@abaplint/transpiler/-/transpiler-2.10.44.tgz", + "integrity": "sha512-FRIP1JIY12qAplmp0vTGaSeYNbc/DmS/P55mnyy3aE/Vju7rgvQ7VslmgV0EwOoRmGAhkPhAeY9bvS8hA2oflQ==", "license": "MIT", "dependencies": { - "@abaplint/core": "^2.113.108", + "@abaplint/core": "^2.113.109", "source-map": "^0.7.4" }, "funding": { @@ -85,9 +85,9 @@ } }, "node_modules/@abaplint/transpiler-cli": { - "version": "2.10.34", - "resolved": "https://registry.npmjs.org/@abaplint/transpiler-cli/-/transpiler-cli-2.10.34.tgz", - "integrity": "sha512-MeE5kWMWfjJN6Aj8VCQiXf5ocU5hIdrJfMEK6uSGjN2u9gaVsDF8VXU392LG+ivrWFxB3861fgVdy0GN4i+F5g==", + "version": "2.10.44", + "resolved": "https://registry.npmjs.org/@abaplint/transpiler-cli/-/transpiler-cli-2.10.44.tgz", + "integrity": "sha512-DsJOQ3CLwP8o1LPyT19q8AUbqJxc2bqFlDAX4W57JLVqew4z9HsQf06lTxgN0Wo+khuJBfVEARePBzXJQl/pjQ==", "license": "MIT", "bin": { "abap_transpile": "abap_transpile" @@ -148,13 +148,13 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.13.17", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.17.tgz", - "integrity": "sha512-nAJuQXoyPj04uLgu+obZcSmsfOenUg6DxPKogeUy6yNCFwWaj5sBF8/G/pNo8EtBJjAfSVgfIlugR/BCOleO+g==", + "version": "22.14.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.14.1.tgz", + "integrity": "sha512-u0HuPQwe/dHrItgHHpmw3N2fYCR6x4ivMNbPHRkBVP4CvN+kiRrKHWk3i8tXiO/joPwXLMYvF9TTF0eqgHIuOw==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~6.20.0" + "undici-types": "~6.21.0" } }, "node_modules/ansi-colors": { @@ -573,9 +573,9 @@ } }, "node_modules/fast-xml-parser": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.0.9.tgz", - "integrity": "sha512-2mBwCiuW3ycKQQ6SOesSB8WeF+fIGb6I/GG5vU5/XEptwFFhp9PE8b9O7fbs2dpq9fXn4ULR3UsfydNUCntf5A==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.2.0.tgz", + "integrity": "sha512-Uw9+Mjt4SBRud1IcaYuW/O0lW8SKKdMl5g7g24HiIuyH5fQSD+AVLybSlJtqLYEbytVFjWQa5DMGcNgeksdRBg==", "funding": [ { "type": "github", @@ -1386,9 +1386,9 @@ } }, "node_modules/undici-types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true, "license": "MIT" }, @@ -1629,34 +1629,34 @@ }, "dependencies": { "@abaplint/cli": { - "version": "2.113.108", - "resolved": "https://registry.npmjs.org/@abaplint/cli/-/cli-2.113.108.tgz", - "integrity": "sha512-Qigo5UBwb0a2yskWJwYGgRfj7hx9rZ45sUb6kxQuMG/ZUT4xAIKIXxYf/hWQMqM+xSP4p85uIjDAs64rNzDQ9A==" + "version": "2.113.110", + "resolved": "https://registry.npmjs.org/@abaplint/cli/-/cli-2.113.110.tgz", + "integrity": "sha512-EY5mP6dE/kv0FGcTMT3QhwWrcs4v3JXv9ZvjpTDJu6ncA0Z4v+nMJy0f66Ug+LHPmcUZHjevH+UTRuSYFlYYXQ==" }, "@abaplint/core": { - "version": "2.113.108", - "resolved": "https://registry.npmjs.org/@abaplint/core/-/core-2.113.108.tgz", - "integrity": "sha512-Ny/hEDh7tKSaX9kO3y84rY2BRuYVNJljiKQQCrfamzVoDYb5Dr0R6aglQbe/SIg+x5bdTrnhEHAdtW3Ha+zlCw==", + "version": "2.113.110", + "resolved": "https://registry.npmjs.org/@abaplint/core/-/core-2.113.110.tgz", + "integrity": "sha512-x8eZlfpeBQkbHrFw2DWk1IIRFnYwGdrizoJSFgtCCBBci8pzInjmLN16l0zFRT0gxtOCU3mMmts2MPdJfRIR9g==", "requires": { - "fast-xml-parser": "^5.0.9", + "fast-xml-parser": "^5.2.0", "json5": "^2.2.3", "vscode-languageserver-types": "^3.17.5" } }, "@abaplint/runtime": { - "version": "2.10.34", - "resolved": "https://registry.npmjs.org/@abaplint/runtime/-/runtime-2.10.34.tgz", - "integrity": "sha512-KmPLEWpM/MeZbkixV+a4deC3L7Fc0/2jpIpWyb/o5N0FbA7B9pbrZGD1MlYuGZFlfUB1goNIt+TB6RCfKvoxMA==", + "version": "2.10.44", + "resolved": "https://registry.npmjs.org/@abaplint/runtime/-/runtime-2.10.44.tgz", + "integrity": "sha512-D3z0+tiz5llaJwzFgt05HQLQAd6k/5PBY883TRkU+39t/DCHXtvSQ7cd03Myr19tSSAwmsPkEPrM7kVkToIdsg==", "requires": { "temporal-polyfill": "^0.2.5" } }, "@abaplint/transpiler": { - "version": "2.10.34", - "resolved": "https://registry.npmjs.org/@abaplint/transpiler/-/transpiler-2.10.34.tgz", - "integrity": "sha512-VBmtbh020dTJ4B+P4WkWSKgHcnzlYwttzAudT/4jqy+FyLgFzS2y0Fa0tRA1OLkHL1/fDPUxKZOxVKg0Akj/qA==", + "version": "2.10.44", + "resolved": "https://registry.npmjs.org/@abaplint/transpiler/-/transpiler-2.10.44.tgz", + "integrity": "sha512-FRIP1JIY12qAplmp0vTGaSeYNbc/DmS/P55mnyy3aE/Vju7rgvQ7VslmgV0EwOoRmGAhkPhAeY9bvS8hA2oflQ==", "requires": { - "@abaplint/core": "^2.113.108", + "@abaplint/core": "^2.113.109", "source-map": "^0.7.4" }, "dependencies": { @@ -1668,9 +1668,9 @@ } }, "@abaplint/transpiler-cli": { - "version": "2.10.34", - "resolved": "https://registry.npmjs.org/@abaplint/transpiler-cli/-/transpiler-cli-2.10.34.tgz", - "integrity": "sha512-MeE5kWMWfjJN6Aj8VCQiXf5ocU5hIdrJfMEK6uSGjN2u9gaVsDF8VXU392LG+ivrWFxB3861fgVdy0GN4i+F5g==" + "version": "2.10.44", + "resolved": "https://registry.npmjs.org/@abaplint/transpiler-cli/-/transpiler-cli-2.10.44.tgz", + "integrity": "sha512-DsJOQ3CLwP8o1LPyT19q8AUbqJxc2bqFlDAX4W57JLVqew4z9HsQf06lTxgN0Wo+khuJBfVEARePBzXJQl/pjQ==" }, "@isaacs/cliui": { "version": "8.0.2", @@ -1706,12 +1706,12 @@ "dev": true }, "@types/node": { - "version": "22.13.17", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.17.tgz", - "integrity": "sha512-nAJuQXoyPj04uLgu+obZcSmsfOenUg6DxPKogeUy6yNCFwWaj5sBF8/G/pNo8EtBJjAfSVgfIlugR/BCOleO+g==", + "version": "22.14.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.14.1.tgz", + "integrity": "sha512-u0HuPQwe/dHrItgHHpmw3N2fYCR6x4ivMNbPHRkBVP4CvN+kiRrKHWk3i8tXiO/joPwXLMYvF9TTF0eqgHIuOw==", "dev": true, "requires": { - "undici-types": "~6.20.0" + "undici-types": "~6.21.0" } }, "ansi-colors": { @@ -2011,9 +2011,9 @@ "dev": true }, "fast-xml-parser": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.0.9.tgz", - "integrity": "sha512-2mBwCiuW3ycKQQ6SOesSB8WeF+fIGb6I/GG5vU5/XEptwFFhp9PE8b9O7fbs2dpq9fXn4ULR3UsfydNUCntf5A==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.2.0.tgz", + "integrity": "sha512-Uw9+Mjt4SBRud1IcaYuW/O0lW8SKKdMl5g7g24HiIuyH5fQSD+AVLybSlJtqLYEbytVFjWQa5DMGcNgeksdRBg==", "requires": { "strnum": "^2.0.5" } @@ -2545,9 +2545,9 @@ "dev": true }, "undici-types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true }, "vscode-languageserver-types": { diff --git a/package.json b/package.json index d0b0912..c8aed0a 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "abap-test-runner": "bin/run.sh" }, "scripts": { - "build": "tsc --outDir ./dist && git clone --depth=1 https://github.com/open-abap/open-abap || true", + "build": "tsc --outDir ./dist && git clone --depth=1 https://github.com/open-abap/open-abap-core || true", "test": "npm run build && mocha" }, "mocha": { @@ -26,10 +26,10 @@ "require": "source-map-support/register" }, "dependencies": { - "@abaplint/transpiler-cli": "^2.10.34", - "@abaplint/transpiler": "^2.10.34", - "@abaplint/cli": "^2.113.108", - "@abaplint/runtime": "^2.10.34" + "@abaplint/transpiler-cli": "^2.10.44", + "@abaplint/transpiler": "^2.10.44", + "@abaplint/cli": "^2.113.110", + "@abaplint/runtime": "^2.10.44" }, "devDependencies": { "@types/chai": "^4.3.20", @@ -38,6 +38,6 @@ "mocha": "^11.1.0", "source-map-support": "^0.5.21", "typescript": "^5.8.2", - "@types/node": "^22.13.17" + "@types/node": "^22.14.1" } } \ No newline at end of file diff --git a/src/index.ts b/src/index.ts index ea9279c..ca4c79c 100644 --- a/src/index.ts +++ b/src/index.ts @@ -124,24 +124,24 @@ class Runner { execSync(`cp extra/* ${this.tmpDir}/deps/`, {stdio: 'pipe'}); - execSync(`cp open-abap/src/unit/*.clas*.abap ${this.tmpDir}/deps/`, {stdio: 'pipe'}); - execSync(`cp open-abap/src/exceptions/* ${this.tmpDir}/deps/`, {stdio: 'pipe'}); - execSync(`cp open-abap/src/rtti/* ${this.tmpDir}/deps/`, {stdio: 'pipe'}); - execSync(`cp open-abap/src/abap/abap.type.abap ${this.tmpDir}/deps/`, {stdio: 'pipe'}); - execSync(`cp open-abap/src/abap/cl_abap_char_utilities.clas.abap ${this.tmpDir}/deps/`, {stdio: 'pipe'}); - execSync(`cp open-abap/src/cl_message_helper.clas.abap ${this.tmpDir}/deps/`, {stdio: 'pipe'}); - execSync(`cp open-abap/src/abap/math/cl_abap_math.clas.abap ${this.tmpDir}/deps/`, {stdio: 'pipe'}); - execSync(`cp open-abap/src/kernel/kernel_internal_name.clas.abap ${this.tmpDir}/deps/`, {stdio: 'pipe'}); + execSync(`cp open-abap-core/src/unit/*.clas*.abap ${this.tmpDir}/deps/`, {stdio: 'pipe'}); + execSync(`cp open-abap-core/src/exceptions/* ${this.tmpDir}/deps/`, {stdio: 'pipe'}); + execSync(`cp open-abap-core/src/rtti/* ${this.tmpDir}/deps/`, {stdio: 'pipe'}); + execSync(`cp open-abap-core/src/abap/abap.type.abap ${this.tmpDir}/deps/`, {stdio: 'pipe'}); + execSync(`cp open-abap-core/src/abap/cl_abap_char_utilities.clas.abap ${this.tmpDir}/deps/`, {stdio: 'pipe'}); + execSync(`cp open-abap-core/src/cl_message_helper.clas.abap ${this.tmpDir}/deps/`, {stdio: 'pipe'}); + execSync(`cp open-abap-core/src/abap/math/cl_abap_math.clas.abap ${this.tmpDir}/deps/`, {stdio: 'pipe'}); + execSync(`cp open-abap-core/src/kernel/kernel_internal_name.clas.abap ${this.tmpDir}/deps/`, {stdio: 'pipe'}); // DDIC, avoid copying transparent database table artifacts - execSync(`cp -r open-abap/src/ddic/dtel/timestamp* ${this.tmpDir}/deps/`, {stdio: 'pipe'}); - execSync(`cp -r open-abap/src/ddic/dtel/sy* ${this.tmpDir}/deps/`, {stdio: 'pipe'}); - execSync(`cp -r open-abap/src/ddic/dtel/int1* ${this.tmpDir}/deps/`, {stdio: 'pipe'}); - execSync(`cp -r open-abap/src/ddic/dtel/sotr_conc* ${this.tmpDir}/deps/`, {stdio: 'pipe'}); - execSync(`cp -r open-abap/src/ddic/ttyp/string_table* ${this.tmpDir}/deps/`, {stdio: 'pipe'}); - execSync(`cp -r open-abap/src/ddic/structures/scx* ${this.tmpDir}/deps/`, {stdio: 'pipe'}); - - execSync(`cp open-abap/src/classrun/*.intf.abap ${this.tmpDir}/deps/`, {stdio: 'pipe'}); + execSync(`cp -r open-abap-core/src/ddic/dtel/timestamp* ${this.tmpDir}/deps/`, {stdio: 'pipe'}); + execSync(`cp -r open-abap-core/src/ddic/dtel/sy* ${this.tmpDir}/deps/`, {stdio: 'pipe'}); + execSync(`cp -r open-abap-core/src/ddic/dtel/int1* ${this.tmpDir}/deps/`, {stdio: 'pipe'}); + execSync(`cp -r open-abap-core/src/ddic/dtel/sotr_conc* ${this.tmpDir}/deps/`, {stdio: 'pipe'}); + execSync(`cp -r open-abap-core/src/ddic/ttyp/string_table* ${this.tmpDir}/deps/`, {stdio: 'pipe'}); + execSync(`cp -r open-abap-core/src/ddic/structures/scx* ${this.tmpDir}/deps/`, {stdio: 'pipe'}); + + execSync(`cp open-abap-core/src/classrun/*.intf.abap ${this.tmpDir}/deps/`, {stdio: 'pipe'}); execSync(`rm ${this.tmpDir}/deps/*.testclasses.*`, {stdio: 'pipe'}); const end = Date.now(); console.log("initialize: " + (end - start) + "ms");