From c9d09c11aa37e108e232fcd78f9e133631ab3424 Mon Sep 17 00:00:00 2001 From: Fabian Date: Tue, 8 Aug 2023 17:37:44 +0200 Subject: [PATCH 1/3] Bugfix Returning Typenames (#116) Co-authored-by: Fabian Schmidt Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com> Co-authored-by: Lars Hvam --- src/utils/zcl_oapi_abap_name.clas.abap | 75 +++++++++++-------- .../zcl_oapi_abap_name.clas.testclasses.abap | 27 +++++++ src/utils/zcl_oapi_abap_name.clas.xml | 1 + src/v2/zcl_oapi_generator_v2.clas.abap | 8 +- 4 files changed, 75 insertions(+), 36 deletions(-) create mode 100644 src/utils/zcl_oapi_abap_name.clas.testclasses.abap diff --git a/src/utils/zcl_oapi_abap_name.clas.abap b/src/utils/zcl_oapi_abap_name.clas.abap index e6e8fe77..3146c708 100644 --- a/src/utils/zcl_oapi_abap_name.clas.abap +++ b/src/utils/zcl_oapi_abap_name.clas.abap @@ -1,15 +1,25 @@ -CLASS zcl_oapi_abap_name DEFINITION PUBLIC. +CLASS zcl_oapi_abap_name DEFINITION + PUBLIC + CREATE PUBLIC. + PUBLIC SECTION. + METHODS to_abap_name - IMPORTING iv_name TYPE string - RETURNING VALUE(rv_name) TYPE string. - METHODS add_used IMPORTING iv_name TYPE string. + IMPORTING + !iv_name TYPE string + RETURNING + VALUE(rv_name) TYPE string. + METHODS add_used + IMPORTING + !iv_name TYPE string. METHODS is_used - IMPORTING iv_name TYPE string - RETURNING VALUE(rv_used) TYPE abap_bool. + IMPORTING + !iv_name TYPE string + RETURNING + VALUE(rv_used) TYPE abap_bool. PROTECTED SECTION. PRIVATE SECTION. - TYPES ty_name TYPE c LENGTH 30. + TYPES ty_name TYPE c LENGTH 28. DATA mt_used TYPE STANDARD TABLE OF string WITH DEFAULT KEY. METHODS numbering IMPORTING iv_name TYPE string RETURNING VALUE(rv_name) TYPE ty_name. METHODS sanitize_name @@ -29,12 +39,27 @@ CLASS zcl_oapi_abap_name IMPLEMENTATION. ENDMETHOD. + METHOD is_used. + DATA lv_name TYPE string. + IF iv_name IS INITIAL. + RETURN. + ENDIF. + lv_name = sanitize_name( iv_name ). + READ TABLE mt_used WITH KEY table_line = lv_name TRANSPORTING NO FIELDS. + IF sy-subrc = 0. + rv_used = abap_true. + RETURN. + ENDIF. + rv_used = abap_false. + ENDMETHOD. + + METHOD numbering. DATA lv_number TYPE n LENGTH 2. DATA lv_offset TYPE i. lv_offset = strlen( iv_name ). - IF lv_offset > 28. - lv_offset = 28. + IF lv_offset > 26. + lv_offset = 26. ENDIF. DO 99 TIMES. lv_number = sy-index. @@ -49,17 +74,6 @@ CLASS zcl_oapi_abap_name IMPLEMENTATION. ENDMETHOD. - METHOD to_abap_name. - IF iv_name IS INITIAL. - RETURN. - ENDIF. - rv_name = sanitize_name( iv_name ). - IF is_used( rv_name ) = abap_true. - rv_name = numbering( rv_name ). - ENDIF. - APPEND rv_name TO mt_used. - ENDMETHOD. - METHOD sanitize_name. rv_name = to_lower( iv_name ). REPLACE ALL OCCURRENCES OF '-' IN rv_name WITH '_'. @@ -72,23 +86,20 @@ CLASS zcl_oapi_abap_name IMPLEMENTATION. IF rv_name CO '0123456789'. rv_name = 'n' && rv_name. ENDIF. - IF strlen( rv_name ) > 30. - rv_name = rv_name(30). + IF strlen( rv_name ) > 28. + rv_name = rv_name(28). ENDIF. ENDMETHOD. - METHOD is_used. - DATA lv_name TYPE string. + + METHOD to_abap_name. IF iv_name IS INITIAL. RETURN. ENDIF. - lv_name = sanitize_name( iv_name ). - READ TABLE mt_used WITH KEY table_line = lv_name TRANSPORTING NO FIELDS. - IF sy-subrc = 0. - rv_used = abap_true. - RETURN. + rv_name = sanitize_name( iv_name ). + IF is_used( rv_name ) = abap_true. + rv_name = numbering( rv_name ). ENDIF. - rv_used = abap_false. + APPEND rv_name TO mt_used. ENDMETHOD. - -ENDCLASS. \ No newline at end of file +ENDCLASS. diff --git a/src/utils/zcl_oapi_abap_name.clas.testclasses.abap b/src/utils/zcl_oapi_abap_name.clas.testclasses.abap new file mode 100644 index 00000000..73ab068b --- /dev/null +++ b/src/utils/zcl_oapi_abap_name.clas.testclasses.abap @@ -0,0 +1,27 @@ +CLASS ltcl_abap_name DEFINITION FOR TESTING + DURATION SHORT + RISK LEVEL HARMLESS. + + PRIVATE SECTION. + METHODS max_abap_name_length FOR TESTING RAISING cx_static_check. +ENDCLASS. + + +CLASS ltcl_abap_name IMPLEMENTATION. + + METHOD max_abap_name_length. + DATA lo_abap_name TYPE REF TO zcl_oapi_abap_name. + DATA lv_abap_name TYPE string. + + CREATE OBJECT lo_abap_name. + + lv_abap_name = lo_abap_name->to_abap_name( 'a_long_name_longer_then_28_Characters' ). + + cl_abap_unit_assert=>assert_number_between( + lower = 1 + upper = 28 + number = strlen( lv_abap_name ) ). + + ENDMETHOD. + +ENDCLASS. diff --git a/src/utils/zcl_oapi_abap_name.clas.xml b/src/utils/zcl_oapi_abap_name.clas.xml index e9a2fc73..a7a67444 100644 --- a/src/utils/zcl_oapi_abap_name.clas.xml +++ b/src/utils/zcl_oapi_abap_name.clas.xml @@ -10,6 +10,7 @@ X X X + X diff --git a/src/v2/zcl_oapi_generator_v2.clas.abap b/src/v2/zcl_oapi_generator_v2.clas.abap index c5eb20a9..78e2c873 100644 --- a/src/v2/zcl_oapi_generator_v2.clas.abap +++ b/src/v2/zcl_oapi_generator_v2.clas.abap @@ -158,7 +158,7 @@ CLASS zcl_oapi_generator_v2 IMPLEMENTATION. ENDIF. ENDIF. - lv_typename = 'ret_' && ls_operation-abap_name. + lv_typename = 'r_' && ls_operation-abap_name. CLEAR lv_post. LOOP AT ls_operation-responses INTO ls_response. @@ -345,14 +345,14 @@ CLASS zcl_oapi_generator_v2 IMPLEMENTATION. METHOD find_returning_parameter. DATA ls_response LIKE LINE OF is_operation-responses. DATA ls_content LIKE LINE OF ls_response-content. - DATA lv_typename TYPE string. + DATA lv_typename TYPE char30. DATA lo_response_name TYPE REF TO zcl_oapi_response_name. DATA lv_response_name TYPE string. DATA lv_returning_type TYPE string. CREATE OBJECT lo_response_name. - lv_typename = 'ret_' && is_operation-abap_name. + lv_typename = 'r_' && is_operation-abap_name. LOOP AT is_operation-responses INTO ls_response. LOOP AT ls_response-content INTO ls_content. @@ -382,4 +382,4 @@ CLASS zcl_oapi_generator_v2 IMPLEMENTATION. ENDLOOP. ENDLOOP. ENDMETHOD. -ENDCLASS. \ No newline at end of file +ENDCLASS. From 4215c290413a68f6b79f8ed459429db35ebdba58 Mon Sep 17 00:00:00 2001 From: Lars Hvam Date: Tue, 8 Aug 2023 17:51:41 +0200 Subject: [PATCH 2/3] update CI to enforce pushing examples (#118) --- .github/workflows/test.yml | 1 + test_v1/generated/zcl_petstore.clas.abap | 8 ++++---- test_v1/generated/zif_petstore.intf.abap | 6 +++--- test_v1/index.mjs | 4 ++-- test_v2/test002/zcl_icf_serv002.clas.abap | 8 ++++---- test_v2/test002/zif_interface002.intf.abap | 6 +++--- test_v2/test003/zcl_icf_serv003.clas.abap | 8 ++++---- test_v2/test003/zif_interface003.intf.abap | 18 +++++++++--------- test_v2/test004/zcl_icf_serv004.clas.abap | 8 ++++---- test_v2/test004/zif_interface004.intf.abap | 6 +++--- test_v2/test005/zcl_icf_serv005.clas.abap | 8 ++++---- test_v2/test005/zif_interface005.intf.abap | 6 +++--- test_v2/test006/zcl_icf_serv006.clas.abap | 8 ++++---- test_v2/test006/zif_interface006.intf.abap | 18 +++++++++--------- test_v2/test007/zcl_icf_serv007.clas.abap | 8 ++++---- test_v2/test007/zif_interface007.intf.abap | 6 +++--- test_v2/test008/zcl_icf_serv008.clas.abap | 12 ++++++------ test_v2/test008/zif_interface008.intf.abap | 6 +++--- test_v2/test010/zcl_icf_serv010.clas.abap | 8 ++++---- test_v2/test010/zif_interface010.intf.abap | 6 +++--- 20 files changed, 80 insertions(+), 79 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e6fa90e8..c52b5ae0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,3 +15,4 @@ jobs: - run: npm install - run: npm test - run: npm run petstore + - run: git diff --exit-code diff --git a/test_v1/generated/zcl_petstore.clas.abap b/test_v1/generated/zcl_petstore.clas.abap index 9a9430ec..ae11025f 100644 --- a/test_v1/generated/zcl_petstore.clas.abap +++ b/test_v1/generated/zcl_petstore.clas.abap @@ -1,6 +1,6 @@ CLASS zcl_petstore DEFINITION PUBLIC. * Generated by abap-openapi-client -* Swagger Petstore - OpenAPI 3.0, 1.0.11 +* Swagger Petstore - OpenAPI 3.0, 1.0.17 PUBLIC SECTION. INTERFACES zif_petstore. METHODS constructor IMPORTING ii_client TYPE REF TO if_http_client. @@ -36,7 +36,7 @@ CLASS zcl_petstore DEFINITION PUBLIC. IMPORTING iv_prefix TYPE string RETURNING VALUE(user) TYPE zif_petstore=>user RAISING cx_static_check. - METHODS json_createuserswithlistinput + METHODS json_createuserswithlistinpu IMPORTING data TYPE zif_petstore=>bodycreateuserswithlistinput RETURNING VALUE(json) TYPE string RAISING cx_static_check. @@ -154,7 +154,7 @@ CLASS zcl_petstore IMPLEMENTATION. order-complete = mo_json->value_boolean( iv_prefix && '/complete' ). ENDMETHOD. - METHOD json_createuserswithlistinput. + METHOD json_createuserswithlistinpu. json = json && '['. * todo, array json = json && ']'. @@ -429,7 +429,7 @@ CLASS zcl_petstore IMPLEMENTATION. DATA lv_uri TYPE string VALUE '/api/v3/user/createWithList'. mi_client->request->set_method( 'POST' ). mi_client->request->set_header_field( name = '~request_uri' value = lv_uri ). - mi_client->request->set_cdata( json_createuserswithlistinput( body ) ). + mi_client->request->set_cdata( json_createuserswithlistinpu( body ) ). lv_code = send_receive( ). WRITE / lv_code. CASE lv_code. diff --git a/test_v1/generated/zif_petstore.intf.abap b/test_v1/generated/zif_petstore.intf.abap index aaf65fa6..30750c44 100644 --- a/test_v1/generated/zif_petstore.intf.abap +++ b/test_v1/generated/zif_petstore.intf.abap @@ -1,6 +1,6 @@ INTERFACE zif_petstore PUBLIC. * Generated by abap-openapi-client -* Swagger Petstore - OpenAPI 3.0, 1.0.11 +* Swagger Petstore - OpenAPI 3.0, 1.0.17 * Component schema: response_getinventory, object TYPES: BEGIN OF response_getinventory, @@ -116,7 +116,7 @@ INTERFACE zif_petstore PUBLIC. * Operation id: findPetsByStatus * Parameter: status, optional, query * Response: 200 -* application/xml, array +* application/xml, #/components/schemas/response_findpetsbystatus * application/json, #/components/schemas/response_findpetsbystatus * Response: 400 METHODS findpetsbystatus @@ -130,7 +130,7 @@ INTERFACE zif_petstore PUBLIC. * Operation id: findPetsByTags * Parameter: tags, optional, query * Response: 200 -* application/xml, array +* application/xml, #/components/schemas/response_findpetsbytags * application/json, #/components/schemas/response_findpetsbytags * Response: 400 METHODS findpetsbytags diff --git a/test_v1/index.mjs b/test_v1/index.mjs index 6c11cf13..1cddf4a8 100644 --- a/test_v1/index.mjs +++ b/test_v1/index.mjs @@ -53,8 +53,8 @@ async function run() { fs.mkdirSync(prefix); } - fs.writeFileSync(prefix + input.get().class_name.get() + ".clas.abap", result.get().clas.get()); - fs.writeFileSync(prefix + input.get().interface_name.get() + ".intf.abap", result.get().intf.get()); + fs.writeFileSync(prefix + input.get().class_name.get().trimEnd() + ".clas.abap", result.get().clas.get()); + fs.writeFileSync(prefix + input.get().interface_name.get().trimEnd() + ".intf.abap", result.get().intf.get()); } run().then().catch(err => { diff --git a/test_v2/test002/zcl_icf_serv002.clas.abap b/test_v2/test002/zcl_icf_serv002.clas.abap index 09d3a5fe..d6ea5dee 100644 --- a/test_v2/test002/zcl_icf_serv002.clas.abap +++ b/test_v2/test002/zcl_icf_serv002.clas.abap @@ -23,13 +23,13 @@ CLASS zcl_icf_serv002 IMPLEMENTATION. json = server->request->get_cdata( ) CHANGING data = _test ). - DATA ret__test TYPE zif_interface002=>ret__test. - ret__test = li_handler->_test( + DATA r__test TYPE zif_interface002=>r__test. + r__test = li_handler->_test( operation = server->request->get_form_field( 'operation' ) body = _test ). - IF ret__test-_200_app_json IS NOT INITIAL. + IF r__test-_200_app_json IS NOT INITIAL. server->response->set_content_type( 'application/json' ). - server->response->set_cdata( /ui2/cl_json=>serialize( ret__test-_200_app_json ) ). + server->response->set_cdata( /ui2/cl_json=>serialize( r__test-_200_app_json ) ). server->response->set_status( code = 200 reason = 'OK' ). RETURN. ENDIF. diff --git a/test_v2/test002/zif_interface002.intf.abap b/test_v2/test002/zif_interface002.intf.abap index d77b2470..0a97b000 100644 --- a/test_v2/test002/zif_interface002.intf.abap +++ b/test_v2/test002/zif_interface002.intf.abap @@ -11,15 +11,15 @@ INTERFACE zif_interface002 PUBLIC. number2 TYPE f, END OF posttestrequest. - TYPES: BEGIN OF ret__test, + TYPES: BEGIN OF r__test, _200_app_json TYPE posttestresponse, - END OF ret__test. + END OF r__test. METHODS _test IMPORTING operation TYPE string OPTIONAL body TYPE posttestrequest RETURNING - VALUE(return) TYPE ret__test + VALUE(return) TYPE r__test RAISING cx_static_check. ENDINTERFACE. \ No newline at end of file diff --git a/test_v2/test003/zcl_icf_serv003.clas.abap b/test_v2/test003/zcl_icf_serv003.clas.abap index d33eecc8..cd79228b 100644 --- a/test_v2/test003/zcl_icf_serv003.clas.abap +++ b/test_v2/test003/zcl_icf_serv003.clas.abap @@ -23,13 +23,13 @@ CLASS zcl_icf_serv003 IMPLEMENTATION. json = server->request->get_cdata( ) CHANGING data = _test ). - DATA ret__test TYPE zif_interface003=>ret__test. - ret__test = li_handler->_test( + DATA r__test TYPE zif_interface003=>r__test. + r__test = li_handler->_test( operation = server->request->get_form_field( 'operation' ) body = _test ). - IF ret__test-_200_app_json IS NOT INITIAL. + IF r__test-_200_app_json IS NOT INITIAL. server->response->set_content_type( 'application/json' ). - server->response->set_cdata( /ui2/cl_json=>serialize( ret__test-_200_app_json ) ). + server->response->set_cdata( /ui2/cl_json=>serialize( r__test-_200_app_json ) ). server->response->set_status( code = 200 reason = 'OK' ). RETURN. ENDIF. diff --git a/test_v2/test003/zif_interface003.intf.abap b/test_v2/test003/zif_interface003.intf.abap index b0b691f8..db752688 100644 --- a/test_v2/test003/zif_interface003.intf.abap +++ b/test_v2/test003/zif_interface003.intf.abap @@ -2,11 +2,11 @@ INTERFACE zif_interface003 PUBLIC. * Auto generated by https://github.com/abap-openapi/abap-openapi * POSTtestResponse - TYPES: BEGIN OF subsubposttestresponse_levelb1, + TYPES: BEGIN OF subsubposttestresponse_level, result TYPE f, - END OF subsubposttestresponse_levelb1. + END OF subsubposttestresponse_level. TYPES: BEGIN OF subposttestresponse_levelb1, - levelb11 TYPE subsubposttestresponse_levelb1, + levelb11 TYPE subsubposttestresponse_level, END OF subposttestresponse_levelb1. TYPES: BEGIN OF subposttestresponse_levela1, result TYPE f, @@ -16,12 +16,12 @@ INTERFACE zif_interface003 PUBLIC. levelb1 TYPE subposttestresponse_levelb1, END OF posttestresponse. * POSTtestRequest - TYPES: BEGIN OF subsubposttestrequest_levelb1_, + TYPES: BEGIN OF subsubposttestrequest_levelb, number1 TYPE f, number2 TYPE f, - END OF subsubposttestrequest_levelb1_. + END OF subsubposttestrequest_levelb. TYPES: BEGIN OF subposttestrequest_levelb1, - levelb11 TYPE subsubposttestrequest_levelb1_, + levelb11 TYPE subsubposttestrequest_levelb, END OF subposttestrequest_levelb1. TYPES: BEGIN OF subposttestrequest_levela1, number1 TYPE f, @@ -32,15 +32,15 @@ INTERFACE zif_interface003 PUBLIC. levelb1 TYPE subposttestrequest_levelb1, END OF posttestrequest. - TYPES: BEGIN OF ret__test, + TYPES: BEGIN OF r__test, _200_app_json TYPE posttestresponse, - END OF ret__test. + END OF r__test. METHODS _test IMPORTING operation TYPE string OPTIONAL body TYPE posttestrequest RETURNING - VALUE(return) TYPE ret__test + VALUE(return) TYPE r__test RAISING cx_static_check. ENDINTERFACE. \ No newline at end of file diff --git a/test_v2/test004/zcl_icf_serv004.clas.abap b/test_v2/test004/zcl_icf_serv004.clas.abap index 4bbaab95..b5343db4 100644 --- a/test_v2/test004/zcl_icf_serv004.clas.abap +++ b/test_v2/test004/zcl_icf_serv004.clas.abap @@ -23,13 +23,13 @@ CLASS zcl_icf_serv004 IMPLEMENTATION. json = server->request->get_cdata( ) CHANGING data = _test ). - DATA ret__test TYPE zif_interface004=>ret__test. - ret__test = li_handler->_test( + DATA r__test TYPE zif_interface004=>r__test. + r__test = li_handler->_test( operation = server->request->get_form_field( 'operation' ) body = _test ). - IF ret__test-_200_app_json IS NOT INITIAL. + IF r__test-_200_app_json IS NOT INITIAL. server->response->set_content_type( 'application/json' ). - server->response->set_cdata( /ui2/cl_json=>serialize( ret__test-_200_app_json ) ). + server->response->set_cdata( /ui2/cl_json=>serialize( r__test-_200_app_json ) ). server->response->set_status( code = 200 reason = 'OK' ). RETURN. ENDIF. diff --git a/test_v2/test004/zif_interface004.intf.abap b/test_v2/test004/zif_interface004.intf.abap index 644003db..c1012686 100644 --- a/test_v2/test004/zif_interface004.intf.abap +++ b/test_v2/test004/zif_interface004.intf.abap @@ -29,15 +29,15 @@ INTERFACE zif_interface004 PUBLIC. levelc1 TYPE STANDARD TABLE OF f WITH DEFAULT KEY, END OF posttestrequest. - TYPES: BEGIN OF ret__test, + TYPES: BEGIN OF r__test, _200_app_json TYPE posttestresponse, - END OF ret__test. + END OF r__test. METHODS _test IMPORTING operation TYPE string OPTIONAL body TYPE posttestrequest RETURNING - VALUE(return) TYPE ret__test + VALUE(return) TYPE r__test RAISING cx_static_check. ENDINTERFACE. \ No newline at end of file diff --git a/test_v2/test005/zcl_icf_serv005.clas.abap b/test_v2/test005/zcl_icf_serv005.clas.abap index 4d1edb4b..4e194834 100644 --- a/test_v2/test005/zcl_icf_serv005.clas.abap +++ b/test_v2/test005/zcl_icf_serv005.clas.abap @@ -23,13 +23,13 @@ CLASS zcl_icf_serv005 IMPLEMENTATION. json = server->request->get_cdata( ) CHANGING data = _test ). - DATA ret__test TYPE zif_interface005=>ret__test. - ret__test = li_handler->_test( + DATA r__test TYPE zif_interface005=>r__test. + r__test = li_handler->_test( separator = server->request->get_form_field( 'separator' ) body = _test ). - IF ret__test-_200_app_json IS NOT INITIAL. + IF r__test-_200_app_json IS NOT INITIAL. server->response->set_content_type( 'application/json' ). - server->response->set_cdata( /ui2/cl_json=>serialize( ret__test-_200_app_json ) ). + server->response->set_cdata( /ui2/cl_json=>serialize( r__test-_200_app_json ) ). server->response->set_status( code = 200 reason = 'OK' ). RETURN. ENDIF. diff --git a/test_v2/test005/zif_interface005.intf.abap b/test_v2/test005/zif_interface005.intf.abap index c1d50983..b0fb58fb 100644 --- a/test_v2/test005/zif_interface005.intf.abap +++ b/test_v2/test005/zif_interface005.intf.abap @@ -11,15 +11,15 @@ INTERFACE zif_interface005 PUBLIC. string2 TYPE string, END OF posttestrequest. - TYPES: BEGIN OF ret__test, + TYPES: BEGIN OF r__test, _200_app_json TYPE posttestresponse, - END OF ret__test. + END OF r__test. METHODS _test IMPORTING separator TYPE string OPTIONAL body TYPE posttestrequest RETURNING - VALUE(return) TYPE ret__test + VALUE(return) TYPE r__test RAISING cx_static_check. ENDINTERFACE. \ No newline at end of file diff --git a/test_v2/test006/zcl_icf_serv006.clas.abap b/test_v2/test006/zcl_icf_serv006.clas.abap index f1cd1fc5..15c1c13b 100644 --- a/test_v2/test006/zcl_icf_serv006.clas.abap +++ b/test_v2/test006/zcl_icf_serv006.clas.abap @@ -23,13 +23,13 @@ CLASS zcl_icf_serv006 IMPLEMENTATION. json = server->request->get_cdata( ) CHANGING data = _test ). - DATA ret__test TYPE zif_interface006=>ret__test. - ret__test = li_handler->_test( + DATA r__test TYPE zif_interface006=>r__test. + r__test = li_handler->_test( separator = server->request->get_form_field( 'separator' ) body = _test ). - IF ret__test-_200_app_json IS NOT INITIAL. + IF r__test-_200_app_json IS NOT INITIAL. server->response->set_content_type( 'application/json' ). - server->response->set_cdata( /ui2/cl_json=>serialize( ret__test-_200_app_json ) ). + server->response->set_cdata( /ui2/cl_json=>serialize( r__test-_200_app_json ) ). server->response->set_status( code = 200 reason = 'OK' ). RETURN. ENDIF. diff --git a/test_v2/test006/zif_interface006.intf.abap b/test_v2/test006/zif_interface006.intf.abap index 018abf28..f516cb85 100644 --- a/test_v2/test006/zif_interface006.intf.abap +++ b/test_v2/test006/zif_interface006.intf.abap @@ -2,11 +2,11 @@ INTERFACE zif_interface006 PUBLIC. * Auto generated by https://github.com/abap-openapi/abap-openapi * POSTtestResponse - TYPES: BEGIN OF subsubposttestresponse_levelb1, + TYPES: BEGIN OF subsubposttestresponse_level, result TYPE string, - END OF subsubposttestresponse_levelb1. + END OF subsubposttestresponse_level. TYPES: BEGIN OF subposttestresponse_levelb1, - levelb11 TYPE subsubposttestresponse_levelb1, + levelb11 TYPE subsubposttestresponse_level, END OF subposttestresponse_levelb1. TYPES: BEGIN OF subposttestresponse_levela1, result TYPE string, @@ -16,12 +16,12 @@ INTERFACE zif_interface006 PUBLIC. levelb1 TYPE subposttestresponse_levelb1, END OF posttestresponse. * POSTtestRequest - TYPES: BEGIN OF subsubposttestrequest_levelb1_, + TYPES: BEGIN OF subsubposttestrequest_levelb, string1 TYPE string, string2 TYPE string, - END OF subsubposttestrequest_levelb1_. + END OF subsubposttestrequest_levelb. TYPES: BEGIN OF subposttestrequest_levelb1, - levelb11 TYPE subsubposttestrequest_levelb1_, + levelb11 TYPE subsubposttestrequest_levelb, END OF subposttestrequest_levelb1. TYPES: BEGIN OF subposttestrequest_levela1, string1 TYPE string, @@ -32,15 +32,15 @@ INTERFACE zif_interface006 PUBLIC. levelb1 TYPE subposttestrequest_levelb1, END OF posttestrequest. - TYPES: BEGIN OF ret__test, + TYPES: BEGIN OF r__test, _200_app_json TYPE posttestresponse, - END OF ret__test. + END OF r__test. METHODS _test IMPORTING separator TYPE string OPTIONAL body TYPE posttestrequest RETURNING - VALUE(return) TYPE ret__test + VALUE(return) TYPE r__test RAISING cx_static_check. ENDINTERFACE. \ No newline at end of file diff --git a/test_v2/test007/zcl_icf_serv007.clas.abap b/test_v2/test007/zcl_icf_serv007.clas.abap index 32203907..2c200c7f 100644 --- a/test_v2/test007/zcl_icf_serv007.clas.abap +++ b/test_v2/test007/zcl_icf_serv007.clas.abap @@ -23,13 +23,13 @@ CLASS zcl_icf_serv007 IMPLEMENTATION. json = server->request->get_cdata( ) CHANGING data = _test ). - DATA ret__test TYPE zif_interface007=>ret__test. - ret__test = li_handler->_test( + DATA r__test TYPE zif_interface007=>r__test. + r__test = li_handler->_test( separator = server->request->get_form_field( 'separator' ) body = _test ). - IF ret__test-_200_app_json IS NOT INITIAL. + IF r__test-_200_app_json IS NOT INITIAL. server->response->set_content_type( 'application/json' ). - server->response->set_cdata( /ui2/cl_json=>serialize( ret__test-_200_app_json ) ). + server->response->set_cdata( /ui2/cl_json=>serialize( r__test-_200_app_json ) ). server->response->set_status( code = 200 reason = 'OK' ). RETURN. ENDIF. diff --git a/test_v2/test007/zif_interface007.intf.abap b/test_v2/test007/zif_interface007.intf.abap index e00bd89d..add1c537 100644 --- a/test_v2/test007/zif_interface007.intf.abap +++ b/test_v2/test007/zif_interface007.intf.abap @@ -29,15 +29,15 @@ INTERFACE zif_interface007 PUBLIC. levelc1 TYPE STANDARD TABLE OF string WITH DEFAULT KEY, END OF posttestrequest. - TYPES: BEGIN OF ret__test, + TYPES: BEGIN OF r__test, _200_app_json TYPE posttestresponse, - END OF ret__test. + END OF r__test. METHODS _test IMPORTING separator TYPE string OPTIONAL body TYPE posttestrequest RETURNING - VALUE(return) TYPE ret__test + VALUE(return) TYPE r__test RAISING cx_static_check. ENDINTERFACE. \ No newline at end of file diff --git a/test_v2/test008/zcl_icf_serv008.clas.abap b/test_v2/test008/zcl_icf_serv008.clas.abap index 2c720370..efa0bd89 100644 --- a/test_v2/test008/zcl_icf_serv008.clas.abap +++ b/test_v2/test008/zcl_icf_serv008.clas.abap @@ -17,17 +17,17 @@ CLASS zcl_icf_serv008 IMPLEMENTATION. TRY. IF lv_path = '/pet/findByStatus' AND lv_method = 'GET'. - DATA ret_findpetsbystatus TYPE zif_interface008=>ret_findpetsbystatus. - ret_findpetsbystatus = li_handler->findpetsbystatus( server->request->get_form_field( '' ) ). - IF ret_findpetsbystatus-_200_app_json IS NOT INITIAL. + DATA r_findpetsbystatus TYPE zif_interface008=>r_findpetsbystatus. + r_findpetsbystatus = li_handler->findpetsbystatus( server->request->get_form_field( '' ) ). + IF r_findpetsbystatus-_200_app_json IS NOT INITIAL. server->response->set_content_type( 'application/json' ). - server->response->set_cdata( /ui2/cl_json=>serialize( ret_findpetsbystatus-_200_app_json ) ). + server->response->set_cdata( /ui2/cl_json=>serialize( r_findpetsbystatus-_200_app_json ) ). server->response->set_status( code = 200 reason = 'successful operation' ). RETURN. ENDIF. - IF ret_findpetsbystatus-_200_app_xml IS NOT INITIAL. + IF r_findpetsbystatus-_200_app_xml IS NOT INITIAL. server->response->set_content_type( 'application/xml' ). - server->response->set_cdata( /ui2/cl_json=>serialize( ret_findpetsbystatus-_200_app_xml ) ). + server->response->set_cdata( /ui2/cl_json=>serialize( r_findpetsbystatus-_200_app_xml ) ). server->response->set_status( code = 200 reason = 'successful operation' ). RETURN. ENDIF. diff --git a/test_v2/test008/zif_interface008.intf.abap b/test_v2/test008/zif_interface008.intf.abap index 53164263..b00009a2 100644 --- a/test_v2/test008/zif_interface008.intf.abap +++ b/test_v2/test008/zif_interface008.intf.abap @@ -23,15 +23,15 @@ INTERFACE zif_interface008 PUBLIC. * response_findpetsbystatus TYPES response_findpetsbystatus TYPE STANDARD TABLE OF pet WITH DEFAULT KEY. - TYPES: BEGIN OF ret_findpetsbystatus, + TYPES: BEGIN OF r_findpetsbystatus, _200_app_json TYPE response_findpetsbystatus, _200_app_xml TYPE response_findpetsbystatus, - END OF ret_findpetsbystatus. + END OF r_findpetsbystatus. METHODS findpetsbystatus IMPORTING status TYPE string OPTIONAL RETURNING - VALUE(return) TYPE ret_findpetsbystatus + VALUE(return) TYPE r_findpetsbystatus RAISING cx_static_check. ENDINTERFACE. \ No newline at end of file diff --git a/test_v2/test010/zcl_icf_serv010.clas.abap b/test_v2/test010/zcl_icf_serv010.clas.abap index 95310eb1..088e5832 100644 --- a/test_v2/test010/zcl_icf_serv010.clas.abap +++ b/test_v2/test010/zcl_icf_serv010.clas.abap @@ -17,11 +17,11 @@ CLASS zcl_icf_serv010 IMPLEMENTATION. TRY. IF lv_path = '/user' AND lv_method = 'POST'. - DATA ret_createuser TYPE zif_interface010=>ret_createuser. - ret_createuser = li_handler->createuser( ). - IF ret_createuser-_default_app_json IS NOT INITIAL. + DATA r_createuser TYPE zif_interface010=>r_createuser. + r_createuser = li_handler->createuser( ). + IF r_createuser-_default_app_json IS NOT INITIAL. server->response->set_content_type( 'application/json' ). - server->response->set_cdata( /ui2/cl_json=>serialize( ret_createuser-_default_app_json ) ). + server->response->set_cdata( /ui2/cl_json=>serialize( r_createuser-_default_app_json ) ). server->response->set_status( code = 200 reason = 'successful operation' ). RETURN. ENDIF. diff --git a/test_v2/test010/zif_interface010.intf.abap b/test_v2/test010/zif_interface010.intf.abap index 3eeee028..5690ddd4 100644 --- a/test_v2/test010/zif_interface010.intf.abap +++ b/test_v2/test010/zif_interface010.intf.abap @@ -2,12 +2,12 @@ INTERFACE zif_interface010 PUBLIC. * Auto generated by https://github.com/abap-openapi/abap-openapi - TYPES: BEGIN OF ret_createuser, + TYPES: BEGIN OF r_createuser, _default_app_json TYPE string, - END OF ret_createuser. + END OF r_createuser. METHODS createuser RETURNING - VALUE(return) TYPE ret_createuser + VALUE(return) TYPE r_createuser RAISING cx_static_check. ENDINTERFACE. \ No newline at end of file From 2fd1878d51f63fc4cf60a31ac45fa3d2834461cb Mon Sep 17 00:00:00 2001 From: Lars Hvam Date: Sun, 1 Oct 2023 15:29:38 +0200 Subject: [PATCH 3/3] npm updates (#119) --- abaplint.json | 1 + package-lock.json | 168 +++++++++++++++++++++--------------------- package.json | 8 +- web/package-lock.json | 106 +++++++++++++------------- web/package.json | 10 +-- web/webpack.config.js | 1 + 6 files changed, 148 insertions(+), 146 deletions(-) diff --git a/abaplint.json b/abaplint.json index eb71a141..eaae645f 100644 --- a/abaplint.json +++ b/abaplint.json @@ -221,6 +221,7 @@ "skipNames": [] }, "unused_variables": { + "skipAbstract": false, "exclude": ["test_v2"] }, "use_bool_expression": true, diff --git a/package-lock.json b/package-lock.json index 7baeca69..11ce34b5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,16 +9,16 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "@abaplint/cli": "^2.102.17", - "@abaplint/runtime": "^2.7.70", - "@abaplint/transpiler-cli": "^2.7.70", - "rimraf": "^5.0.1" + "@abaplint/cli": "^2.102.51", + "@abaplint/runtime": "^2.7.101", + "@abaplint/transpiler-cli": "^2.7.101", + "rimraf": "^5.0.5" } }, "node_modules/@abaplint/cli": { - "version": "2.102.17", - "resolved": "https://registry.npmjs.org/@abaplint/cli/-/cli-2.102.17.tgz", - "integrity": "sha512-mEwivTL1J6Y2lbwcMMHKTA2DwDtIwqDbykjLBEShbDBZNVUuYFNwxEKeMBZMf0WJb54LU6FGgobjZDTlq30GBQ==", + "version": "2.102.51", + "resolved": "https://registry.npmjs.org/@abaplint/cli/-/cli-2.102.51.tgz", + "integrity": "sha512-14iNPZ2vvnRusd2JprtdgcP+fmTezDgC6l6OGhb2ohiyobE5PbEnlLV2Bvc0Fd8nz3E59NOmJL8/U9MVWe7lUA==", "bin": { "abaplint": "abaplint" }, @@ -30,9 +30,9 @@ } }, "node_modules/@abaplint/runtime": { - "version": "2.7.70", - "resolved": "https://registry.npmjs.org/@abaplint/runtime/-/runtime-2.7.70.tgz", - "integrity": "sha512-cVxVpeqG5WAnpQNpzPBnOz3mVOIafp7kFIpL4LfI3mKMgP/rddmL3OPrRKieP3LB90Zh4YzHiipWU5u5+fbdTg==", + "version": "2.7.101", + "resolved": "https://registry.npmjs.org/@abaplint/runtime/-/runtime-2.7.101.tgz", + "integrity": "sha512-tMDe10eZjdTYK0zFKS+ahFYRMzTLAdsEI9s7O2/HBKzB9edD6OBxJ6IJARU/Yf1eKIhW6ISs+c6xAfQt+jQO0g==", "dependencies": { "temporal-polyfill": "^0.1.1" }, @@ -41,9 +41,9 @@ } }, "node_modules/@abaplint/transpiler-cli": { - "version": "2.7.70", - "resolved": "https://registry.npmjs.org/@abaplint/transpiler-cli/-/transpiler-cli-2.7.70.tgz", - "integrity": "sha512-71ko7Zk+bzYQXLe1ujKc5hXLuMJQw7qa4hdD+ntC12vmwzA6r9KGPesXxRyhHaL9dKguH6hllqAIs1X5DCu9nw==", + "version": "2.7.101", + "resolved": "https://registry.npmjs.org/@abaplint/transpiler-cli/-/transpiler-cli-2.7.101.tgz", + "integrity": "sha512-fCFXOs+xeFAefB8uw8Z+SgOb5WrSo1Mx7DHwABAD/yYOO0LjvjijuVyus6zW7qLnBokCDbaZG/AC6drkB4zVmw==", "bin": { "abap_transpile": "abap_transpile" }, @@ -166,18 +166,18 @@ } }, "node_modules/glob": { - "version": "10.2.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.6.tgz", - "integrity": "sha512-U/rnDpXJGF414QQQZv5uVsabTVxMSwzS5CH0p3DRCIV6ownl4f7PzGnkGmvlum2wB+9RlJWJZ6ACU1INnBqiPA==", + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", + "jackspeak": "^2.3.5", "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2", - "path-scurry": "^1.7.0" + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" }, "bin": { - "glob": "dist/cjs/src/bin.js" + "glob": "dist/esm/bin.mjs" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -200,9 +200,9 @@ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, "node_modules/jackspeak": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz", - "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -217,17 +217,17 @@ } }, "node_modules/lru-cache": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz", - "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", "engines": { "node": "14 || >=16.14" } }, "node_modules/minimatch": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", - "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -239,9 +239,9 @@ } }, "node_modules/minipass": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", - "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", "engines": { "node": ">=16 || 14 >=14.17" } @@ -255,12 +255,12 @@ } }, "node_modules/path-scurry": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.2.tgz", - "integrity": "sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", "dependencies": { - "lru-cache": "^9.1.1", - "minipass": "^5.0.0 || ^6.0.2" + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -270,14 +270,14 @@ } }, "node_modules/rimraf": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz", - "integrity": "sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz", + "integrity": "sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==", "dependencies": { - "glob": "^10.2.5" + "glob": "^10.3.7" }, "bin": { - "rimraf": "dist/cjs/src/bin.js" + "rimraf": "dist/esm/bin.mjs" }, "engines": { "node": ">=14" @@ -306,9 +306,9 @@ } }, "node_modules/signal-exit": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", - "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "engines": { "node": ">=14" }, @@ -518,22 +518,22 @@ }, "dependencies": { "@abaplint/cli": { - "version": "2.102.17", - "resolved": "https://registry.npmjs.org/@abaplint/cli/-/cli-2.102.17.tgz", - "integrity": "sha512-mEwivTL1J6Y2lbwcMMHKTA2DwDtIwqDbykjLBEShbDBZNVUuYFNwxEKeMBZMf0WJb54LU6FGgobjZDTlq30GBQ==" + "version": "2.102.51", + "resolved": "https://registry.npmjs.org/@abaplint/cli/-/cli-2.102.51.tgz", + "integrity": "sha512-14iNPZ2vvnRusd2JprtdgcP+fmTezDgC6l6OGhb2ohiyobE5PbEnlLV2Bvc0Fd8nz3E59NOmJL8/U9MVWe7lUA==" }, "@abaplint/runtime": { - "version": "2.7.70", - "resolved": "https://registry.npmjs.org/@abaplint/runtime/-/runtime-2.7.70.tgz", - "integrity": "sha512-cVxVpeqG5WAnpQNpzPBnOz3mVOIafp7kFIpL4LfI3mKMgP/rddmL3OPrRKieP3LB90Zh4YzHiipWU5u5+fbdTg==", + "version": "2.7.101", + "resolved": "https://registry.npmjs.org/@abaplint/runtime/-/runtime-2.7.101.tgz", + "integrity": "sha512-tMDe10eZjdTYK0zFKS+ahFYRMzTLAdsEI9s7O2/HBKzB9edD6OBxJ6IJARU/Yf1eKIhW6ISs+c6xAfQt+jQO0g==", "requires": { "temporal-polyfill": "^0.1.1" } }, "@abaplint/transpiler-cli": { - "version": "2.7.70", - "resolved": "https://registry.npmjs.org/@abaplint/transpiler-cli/-/transpiler-cli-2.7.70.tgz", - "integrity": "sha512-71ko7Zk+bzYQXLe1ujKc5hXLuMJQw7qa4hdD+ntC12vmwzA6r9KGPesXxRyhHaL9dKguH6hllqAIs1X5DCu9nw==" + "version": "2.7.101", + "resolved": "https://registry.npmjs.org/@abaplint/transpiler-cli/-/transpiler-cli-2.7.101.tgz", + "integrity": "sha512-fCFXOs+xeFAefB8uw8Z+SgOb5WrSo1Mx7DHwABAD/yYOO0LjvjijuVyus6zW7qLnBokCDbaZG/AC6drkB4zVmw==" }, "@isaacs/cliui": { "version": "8.0.2", @@ -620,15 +620,15 @@ } }, "glob": { - "version": "10.2.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.6.tgz", - "integrity": "sha512-U/rnDpXJGF414QQQZv5uVsabTVxMSwzS5CH0p3DRCIV6ownl4f7PzGnkGmvlum2wB+9RlJWJZ6ACU1INnBqiPA==", + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", "requires": { "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", + "jackspeak": "^2.3.5", "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2", - "path-scurry": "^1.7.0" + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" } }, "is-fullwidth-code-point": { @@ -642,31 +642,31 @@ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, "jackspeak": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.1.tgz", - "integrity": "sha512-MXbxovZ/Pm42f6cDIDkl3xpwv1AGwObKwfmjs2nQePiy85tP3fatofl3FC1aBsOtP/6fq5SbtgHwWcMsLP+bDw==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", "requires": { "@isaacs/cliui": "^8.0.2", "@pkgjs/parseargs": "^0.11.0" } }, "lru-cache": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz", - "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==" + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==" }, "minimatch": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", - "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "requires": { "brace-expansion": "^2.0.1" } }, "minipass": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", - "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==" + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==" }, "path-key": { "version": "3.1.1", @@ -674,20 +674,20 @@ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" }, "path-scurry": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.2.tgz", - "integrity": "sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", "requires": { - "lru-cache": "^9.1.1", - "minipass": "^5.0.0 || ^6.0.2" + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "rimraf": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz", - "integrity": "sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz", + "integrity": "sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==", "requires": { - "glob": "^10.2.5" + "glob": "^10.3.7" } }, "shebang-command": { @@ -704,9 +704,9 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" }, "signal-exit": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", - "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==" + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" }, "string-width": { "version": "5.1.2", diff --git a/package.json b/package.json index c7dcd958..a8c47466 100644 --- a/package.json +++ b/package.json @@ -25,9 +25,9 @@ }, "homepage": "https://github.com/abap-openapi/abap-openapi-client#readme", "dependencies": { - "@abaplint/cli": "^2.102.17", - "@abaplint/runtime": "^2.7.70", - "@abaplint/transpiler-cli": "^2.7.70", - "rimraf": "^5.0.1" + "@abaplint/cli": "^2.102.51", + "@abaplint/runtime": "^2.7.101", + "@abaplint/transpiler-cli": "^2.7.101", + "rimraf": "^5.0.5" } } diff --git a/web/package-lock.json b/web/package-lock.json index f868a64f..51f40791 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -12,36 +12,36 @@ "web-encoding": "^1.1.5" }, "devDependencies": { - "@abaplint/core": "^2.102.17", - "@abaplint/monaco": "^2.102.17", - "@abaplint/runtime": "^2.7.70", + "@abaplint/core": "^2.102.51", + "@abaplint/monaco": "^2.102.51", + "@abaplint/runtime": "^2.7.101", "buffer": "^6.0.3", "crypto-browserify": "^3.12.0", "css-loader": "^6.8.1", "file-loader": "^6.2.0", "html-webpack-plugin": "^5.5.3", - "monaco-editor": "=0.40.0", + "monaco-editor": "^0.43.0", "path-browserify": "^1.0.1", "split-grid": "^1.0.11", "stream-browserify": "^3.0.0", "string_decoder": "^1.3.0", "style-loader": "^3.3.3", "ts-loader": "^9.4.4", - "typescript": "^5.1.6", + "typescript": "^5.2.2", "webpack": "^5.88.2", "webpack-cli": "^5.1.4", "webpack-dev-server": "^4.15.1" } }, "node_modules/@abaplint/core": { - "version": "2.102.17", - "resolved": "https://registry.npmjs.org/@abaplint/core/-/core-2.102.17.tgz", - "integrity": "sha512-rpSPsQsUJrFgEb/ooPEQuu1Musw6JRiZNSywUi65lEYA3I1qDFiTS5GNpy7ntYQhjVLX4pPxhy+GXaw4hqLv5g==", + "version": "2.102.51", + "resolved": "https://registry.npmjs.org/@abaplint/core/-/core-2.102.51.tgz", + "integrity": "sha512-SahvvK6rCQRVh472LMtNhw0ZgIQPLrOFjzlyW+/X4XR6/dYpJAgQ8ER9Ksi2y988RvWB3raVokG/Lapk1TzATg==", "dev": true, "dependencies": { - "fast-xml-parser": "^4.2.7", + "fast-xml-parser": "^4.3.1", "json5": "^2.2.3", - "vscode-languageserver-types": "^3.17.3" + "vscode-languageserver-types": "^3.17.5" }, "engines": { "node": ">=12.0.0" @@ -51,21 +51,21 @@ } }, "node_modules/@abaplint/monaco": { - "version": "2.102.17", - "resolved": "https://registry.npmjs.org/@abaplint/monaco/-/monaco-2.102.17.tgz", - "integrity": "sha512-SrWWvjMZwFnUE9v/4TSwiiS5/cwERaRCAtcgOYMyy8VtzQEyK/gqRQ6jpKp1iWNvK9LHFDuYLXIRKAXt8aSowA==", + "version": "2.102.51", + "resolved": "https://registry.npmjs.org/@abaplint/monaco/-/monaco-2.102.51.tgz", + "integrity": "sha512-2+XiV7kJmFejmSoVZmklJZNS2Bo5OEa2AX6HvNOhO8pNX7ffxsWoYry1EMzFgj/2VALr5eERudpWg6u9KNPZEA==", "dev": true, "dependencies": { - "@abaplint/core": "^2.102.17" + "@abaplint/core": "^2.102.51" }, "funding": { "url": "https://github.com/sponsors/larshp" } }, "node_modules/@abaplint/runtime": { - "version": "2.7.70", - "resolved": "https://registry.npmjs.org/@abaplint/runtime/-/runtime-2.7.70.tgz", - "integrity": "sha512-cVxVpeqG5WAnpQNpzPBnOz3mVOIafp7kFIpL4LfI3mKMgP/rddmL3OPrRKieP3LB90Zh4YzHiipWU5u5+fbdTg==", + "version": "2.7.101", + "resolved": "https://registry.npmjs.org/@abaplint/runtime/-/runtime-2.7.101.tgz", + "integrity": "sha512-tMDe10eZjdTYK0zFKS+ahFYRMzTLAdsEI9s7O2/HBKzB9edD6OBxJ6IJARU/Yf1eKIhW6ISs+c6xAfQt+jQO0g==", "dev": true, "dependencies": { "temporal-polyfill": "^0.1.1" @@ -1961,9 +1961,9 @@ "dev": true }, "node_modules/fast-xml-parser": { - "version": "4.2.7", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.7.tgz", - "integrity": "sha512-J8r6BriSLO1uj2miOk1NW0YVm8AGOOu3Si2HQp/cSmo6EA4m3fcwu2WKjJ4RK9wMLBtg69y1kS8baDiQBR41Ig==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.1.tgz", + "integrity": "sha512-viVv3xb8D+SiS1W4cv4tva3bni08kAkx0gQnWrykMM8nXPc1FxqZPU00dCEVjkiCg4HoXd2jC4x29Nzg/l2DAA==", "dev": true, "funding": [ { @@ -3287,9 +3287,9 @@ } }, "node_modules/monaco-editor": { - "version": "0.40.0", - "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.40.0.tgz", - "integrity": "sha512-1wymccLEuFSMBvCk/jT1YDW/GuxMLYwnFwF9CDyYCxoTw2Pt379J3FUhwy9c43j51JdcxVPjwk0jm0EVDsBS2g==", + "version": "0.43.0", + "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.43.0.tgz", + "integrity": "sha512-cnoqwQi/9fml2Szamv1XbSJieGJ1Dc8tENVMD26Kcfl7xGQWp7OBKMjlwKVGYFJ3/AXJjSOGvcqK7Ry/j9BM1Q==", "dev": true }, "node_modules/ms": { @@ -4777,9 +4777,9 @@ } }, "node_modules/typescript": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", - "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -4874,9 +4874,9 @@ } }, "node_modules/vscode-languageserver-types": { - "version": "3.17.3", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz", - "integrity": "sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==", + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==", "dev": true }, "node_modules/watchpack": { @@ -5364,29 +5364,29 @@ }, "dependencies": { "@abaplint/core": { - "version": "2.102.17", - "resolved": "https://registry.npmjs.org/@abaplint/core/-/core-2.102.17.tgz", - "integrity": "sha512-rpSPsQsUJrFgEb/ooPEQuu1Musw6JRiZNSywUi65lEYA3I1qDFiTS5GNpy7ntYQhjVLX4pPxhy+GXaw4hqLv5g==", + "version": "2.102.51", + "resolved": "https://registry.npmjs.org/@abaplint/core/-/core-2.102.51.tgz", + "integrity": "sha512-SahvvK6rCQRVh472LMtNhw0ZgIQPLrOFjzlyW+/X4XR6/dYpJAgQ8ER9Ksi2y988RvWB3raVokG/Lapk1TzATg==", "dev": true, "requires": { - "fast-xml-parser": "^4.2.7", + "fast-xml-parser": "^4.3.1", "json5": "^2.2.3", - "vscode-languageserver-types": "^3.17.3" + "vscode-languageserver-types": "^3.17.5" } }, "@abaplint/monaco": { - "version": "2.102.17", - "resolved": "https://registry.npmjs.org/@abaplint/monaco/-/monaco-2.102.17.tgz", - "integrity": "sha512-SrWWvjMZwFnUE9v/4TSwiiS5/cwERaRCAtcgOYMyy8VtzQEyK/gqRQ6jpKp1iWNvK9LHFDuYLXIRKAXt8aSowA==", + "version": "2.102.51", + "resolved": "https://registry.npmjs.org/@abaplint/monaco/-/monaco-2.102.51.tgz", + "integrity": "sha512-2+XiV7kJmFejmSoVZmklJZNS2Bo5OEa2AX6HvNOhO8pNX7ffxsWoYry1EMzFgj/2VALr5eERudpWg6u9KNPZEA==", "dev": true, "requires": { - "@abaplint/core": "^2.102.17" + "@abaplint/core": "^2.102.51" } }, "@abaplint/runtime": { - "version": "2.7.70", - "resolved": "https://registry.npmjs.org/@abaplint/runtime/-/runtime-2.7.70.tgz", - "integrity": "sha512-cVxVpeqG5WAnpQNpzPBnOz3mVOIafp7kFIpL4LfI3mKMgP/rddmL3OPrRKieP3LB90Zh4YzHiipWU5u5+fbdTg==", + "version": "2.7.101", + "resolved": "https://registry.npmjs.org/@abaplint/runtime/-/runtime-2.7.101.tgz", + "integrity": "sha512-tMDe10eZjdTYK0zFKS+ahFYRMzTLAdsEI9s7O2/HBKzB9edD6OBxJ6IJARU/Yf1eKIhW6ISs+c6xAfQt+jQO0g==", "dev": true, "requires": { "temporal-polyfill": "^0.1.1" @@ -6950,9 +6950,9 @@ "dev": true }, "fast-xml-parser": { - "version": "4.2.7", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.7.tgz", - "integrity": "sha512-J8r6BriSLO1uj2miOk1NW0YVm8AGOOu3Si2HQp/cSmo6EA4m3fcwu2WKjJ4RK9wMLBtg69y1kS8baDiQBR41Ig==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.1.tgz", + "integrity": "sha512-viVv3xb8D+SiS1W4cv4tva3bni08kAkx0gQnWrykMM8nXPc1FxqZPU00dCEVjkiCg4HoXd2jC4x29Nzg/l2DAA==", "dev": true, "requires": { "strnum": "^1.0.5" @@ -7886,9 +7886,9 @@ } }, "monaco-editor": { - "version": "0.40.0", - "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.40.0.tgz", - "integrity": "sha512-1wymccLEuFSMBvCk/jT1YDW/GuxMLYwnFwF9CDyYCxoTw2Pt379J3FUhwy9c43j51JdcxVPjwk0jm0EVDsBS2g==", + "version": "0.43.0", + "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.43.0.tgz", + "integrity": "sha512-cnoqwQi/9fml2Szamv1XbSJieGJ1Dc8tENVMD26Kcfl7xGQWp7OBKMjlwKVGYFJ3/AXJjSOGvcqK7Ry/j9BM1Q==", "dev": true }, "ms": { @@ -9031,9 +9031,9 @@ } }, "typescript": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", - "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", "dev": true }, "unbox-primitive": { @@ -9106,9 +9106,9 @@ "dev": true }, "vscode-languageserver-types": { - "version": "3.17.3", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz", - "integrity": "sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==", + "version": "3.17.5", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz", + "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==", "dev": true }, "watchpack": { diff --git a/web/package.json b/web/package.json index eb438624..59db410a 100644 --- a/web/package.json +++ b/web/package.json @@ -11,22 +11,22 @@ "author": "", "license": "MIT", "devDependencies": { - "@abaplint/core": "^2.102.17", - "@abaplint/monaco": "^2.102.17", - "@abaplint/runtime": "^2.7.70", + "@abaplint/core": "^2.102.51", + "@abaplint/monaco": "^2.102.51", + "@abaplint/runtime": "^2.7.101", "buffer": "^6.0.3", "crypto-browserify": "^3.12.0", "css-loader": "^6.8.1", "file-loader": "^6.2.0", "html-webpack-plugin": "^5.5.3", - "monaco-editor": "=0.40.0", + "monaco-editor": "^0.43.0", "path-browserify": "^1.0.1", "split-grid": "^1.0.11", "stream-browserify": "^3.0.0", "string_decoder": "^1.3.0", "style-loader": "^3.3.3", "ts-loader": "^9.4.4", - "typescript": "^5.1.6", + "typescript": "^5.2.2", "webpack": "^5.88.2", "webpack-cli": "^5.1.4", "webpack-dev-server": "^4.15.1" diff --git a/web/webpack.config.js b/web/webpack.config.js index 94917972..120959b5 100644 --- a/web/webpack.config.js +++ b/web/webpack.config.js @@ -28,6 +28,7 @@ module.exports = { "fs": false, "http": false, "https": false, + "tls": false, "process": false, "net": false, "path": require.resolve("path-browserify"),