Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .abapgit.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DATA>
<MASTER_LANGUAGE>E</MASTER_LANGUAGE>
<STARTING_FOLDER>/src/</STARTING_FOLDER>
<FOLDER_LOGIC>PREFIX</FOLDER_LOGIC>
</DATA>
</asx:values>
</asx:abap>
18 changes: 18 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: test

on:
pull_request:

jobs:
test:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: '16'
- name: npm install
run: npm ci
- name: npm test
run: npm test
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
node_modules
output
19 changes: 19 additions & 0 deletions abap_transpile.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"input_folder": "src",
"input_filter": [],
"output_folder": "output",
"libs": [
{
"url": "https://github.com/open-abap/open-abap"
}
],
"write_unit_tests": true,
"write_source_map": true,
"options": {
"ignoreSyntaxCheck": false,
"addFilenames": true,
"addCommonJS": true,
"unknownTypes": "runtimeError",
"skip": []
}
}
342 changes: 342 additions & 0 deletions abaplint.jsonc
Original file line number Diff line number Diff line change
@@ -0,0 +1,342 @@
{
"global": {
"files": "/src/**/*.*"
},
"dependencies": [
{
"url": "https://github.com/open-abap/open-abap",
"files": "/src/**/*.*"
}
],
"syntax": {
"version": "open-abap",
"errorNamespace": "."
},
"rules": {
"7bit_ascii": true,
"abapdoc": false,
"align_parameters": true,
"allowed_object_naming": true,
"allowed_object_types": false,
"ambiguous_statement": true,
"avoid_use": true,
"begin_end_names": true,
"begin_single_include": true,
"call_transaction_authority_check": true,
"cds_parser_error": true,
"chain_mainly_declarations": true,
"check_abstract": true,
"check_comments": false,
"check_ddic": true,
"check_include": true,
"check_no_handler_pragma": true,
"check_subrc": true,
"check_syntax": true,
"check_text_elements": true,
"check_transformation_exists": true,
"class_attribute_names": true,
"cloud_types": true,
"colon_missing_space": true,
"commented_code": true,
"constant_classes": {
"exclude": [],
"severity": "Error",
"mapping": []
},
"constructor_visibility_public": true,
"contains_tab": {
"exclude": [],
"severity": "Error",
"spaces": 1
},
"cyclic_oo": {
"exclude": [],
"severity": "Error",
"skip": []
},
"cyclomatic_complexity": {
"exclude": [],
"severity": "Error",
"max": 20
},
"dangerous_statement": {
"exclude": [],
"severity": "Error",
"execSQL": true,
"kernelCall": true,
"systemCall": true,
"insertReport": true,
"generateDynpro": true,
"generateReport": true,
"generateSubroutine": true,
"deleteReport": true,
"deleteTextpool": true,
"deleteDynpro": true,
"importDynpro": true,
"dynamicSQL": true
},
"db_operation_in_loop": true,
"definitions_top": true,
"description_empty": true,
"double_space": {
"exclude": [],
"severity": "Error",
"keywords": true,
"startParen": true,
"endParen": true,
"afterColon": true
},
"downport": true,
"empty_line_in_statement": {
"exclude": [],
"severity": "Error",
"allowChained": false
},
"empty_statement": true,
"empty_structure": {
"exclude": [],
"severity": "Error",
"loop": true,
"if": true,
"while": true,
"case": true,
"select": true,
"do": true,
"at": true,
"try": true
},
"exit_or_check": {
"exclude": [],
"severity": "Error",
"allowExit": false,
"allowCheck": false
},
"exporting": true,
"forbidden_identifier": {
"exclude": [],
"severity": "Error",
"check": []
},
"forbidden_pseudo_and_pragma": {
"exclude": [],
"severity": "Error",
"pseudo": [],
"pragmas": [],
"ignoreGlobalClassDefinition": false,
"ignoreGlobalInterface": false
},
"forbidden_void_type": {
"exclude": [],
"severity": "Error",
"check": []
},
"form_tables_obsolete": true,
"fully_type_constants": true,
"function_module_recommendations": true,
"functional_writing": {
"exclude": [],
"severity": "Error",
"ignoreExceptions": true
},
"global_class": true,
"identical_conditions": true,
"identical_contents": true,
"identical_descriptions": true,
"identical_form_names": true,
"if_in_if": true,
"implement_methods": true,
"in_statement_indentation": {
"exclude": [],
"severity": "Error",
"blockStatements": 2,
"ignoreExceptions": true
},
"indentation": {
"exclude": [],
"severity": "Error",
"ignoreExceptions": true,
"alignTryCatch": false,
"selectionScreenBlockIndentation": false,
"globalClassSkipFirst": false,
"ignoreGlobalClassDefinition": false,
"ignoreGlobalInterface": false
},
"inline_data_old_versions": true,
"intf_referencing_clas": {
"exclude": [],
"severity": "Error",
"allow": []
},
"keep_single_parameter_on_one_line": {
"exclude": [],
"severity": "Error",
"length": 120
},
"keyword_case": {
"exclude": [],
"severity": "Error",
"style": "upper",
"ignoreExceptions": true,
"ignoreLowerClassImplmentationStatement": true,
"ignoreGlobalClassDefinition": false,
"ignoreGlobalInterface": false,
"ignoreFunctionModuleName": false,
"ignoreGlobalClassBoundaries": false,
"ignoreKeywords": []
},
"line_break_multiple_parameters": {
"exclude": [],
"severity": "Error",
"count": 1
},
"line_break_style": false,
"line_length": {
"exclude": [],
"severity": "Error",
"length": 120
},
"line_only_punc": {
"exclude": [],
"severity": "Error",
"ignoreExceptions": true
},
"local_class_naming": {
"exclude": [],
"severity": "Error",
"patternKind": "required",
"ignoreNames": [],
"ignorePatterns": [],
"local": "^LCL_.+$",
"exception": "^LCX_.+$",
"test": "^LTCL_.+$"
},
"local_testclass_location": true,
"local_variable_names": {
"exclude": [],
"severity": "Error",
"patternKind": "required",
"ignoreNames": [],
"ignorePatterns": [],
"expectedData": "^L._.+$",
"expectedConstant": "^LC_.+$",
"expectedFS": "^<L._.+>$"
},
"main_file_contents": true,
"many_parentheses": true,
"max_one_method_parameter_per_line": true,
"max_one_statement": true,
"message_exists": true,
"method_implemented_twice": true,
"method_length": {
"exclude": [],
"severity": "Error",
"statements": 100,
"errorWhenEmpty": true,
"ignoreTestClasses": false,
"checkForms": true
},
"method_overwrites_builtin": true,
"method_parameter_names": true,
"mix_returning": true,
"modify_only_own_db_tables": true,
"msag_consistency": true,
"names_no_dash": true,
"nesting": true,
"newline_between_methods": true,
"no_aliases": true,
"no_chained_assignment": true,
"no_public_attributes": {
"exclude": [],
"severity": "Error",
"allowReadOnly": false
},
"no_yoda_conditions": {
"exclude": [],
"severity": "Error",
"onlyConstants": false
},
"object_naming": {
"exclude": [],
"severity": "Error",
"patternKind": "required",
"ignoreNames": [],
"ignorePatterns": [],
"clas": "^ZC(L|X)",
"intf": "^ZIF",
"prog": "^Z",
"fugr": "^Z",
"tabl": "^Z",
"ttyp": "^Z",
"dtel": "^Z",
"doma": "^Z",
"msag": "^Z",
"tran": "^Z",
"enqu": "^EZ",
"auth": "^Z",
"pinf": "^Z",
"idoc": "^Z",
"xslt": "^Z",
"ssfo": "^Z",
"ssst": "^Z",
"shlp": "^Z"
},
"obsolete_statement": true,
"omit_parameter_name": true,
"omit_preceding_zeros": true,
"omit_receiving": true,
"parser_702_chaining": true,
"parser_error": true,
"parser_missing_space": true,
"pragma_placement": true,
"prefer_corresponding": true,
"prefer_inline": true,
"prefer_is_not": true,
"prefer_raise_exception_new": true,
"prefer_returning_to_exporting": true,
"prefer_xsdbool": true,
"preferred_compare_operator": true,
"prefix_is_current_class": true,
"reduce_string_templates": true,
"release_idoc": true,
"remove_descriptions": true,
"rfc_error_handling": true,
"select_add_order_by": true,
"select_performance": true,
"selection_screen_naming": true,
"sequential_blank": true,
"short_case": true,
"sicf_consistency": true,
"space_before_colon": true,
"space_before_dot": {
"exclude": [],
"severity": "Error",
"ignoreGlobalDefinition": true,
"ignoreExceptions": true
},
"sql_escape_host_variables": true,
"start_at_tab": true,
"static_call_via_instance": true,
"superclass_final": true,
"sy_modification": true,
"tabl_enhancement_category": true,
"try_without_catch": true,
"type_form_parameters": true,
"types_naming": true,
"uncaught_exception": true,
"unknown_types": true,
"unnecessary_chaining": true,
"unreachable_code": true,
"unsecure_fae": true,
"unused_ddic": true,
"unused_methods": true,
"unused_types": true,
"unused_variables": true,
"use_bool_expression": true,
"use_class_based_exceptions": true,
"use_line_exists": true,
"use_new": true,
"when_others_last": true,
"whitespace_end": true,
"xml_consistency": true
}
}
Loading