Skip to content

Commit db1fb83

Browse files
authored
wip (#4)
1 parent 791a488 commit db1fb83

File tree

10 files changed

+173
-157
lines changed

10 files changed

+173
-157
lines changed

.github/workflows/test.yml

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,7 @@ jobs:
88
runs-on: ubuntu-latest
99
timeout-minutes: 10
1010
steps:
11-
- uses: actions/checkout@v2
12-
- uses: actions/setup-node@v2
13-
with:
14-
node-version: '16'
15-
- name: npm install
16-
run: npm ci
17-
- name: npm test
18-
run: npm test
11+
- uses: actions/checkout@v4
12+
- uses: actions/setup-node@v4
13+
- run: npm ci
14+
- run: npm test

.vscode/extensions.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"recommendations": [
3+
"larshp.vscode-abaplint"
4+
]
5+
}

.vscode/launch.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"version": "0.2.0",
3+
"configurations": [
4+
{
5+
"name": "All Unit Tests",
6+
"type": "node",
7+
"request": "launch",
8+
"pauseForSourceMap": true,
9+
"trace": false,
10+
"skipFiles": [
11+
"<node_internals>/**",
12+
"${workspaceFolder}/output/cl_*",
13+
"${workspaceFolder}/output/index.mjs",
14+
"${workspaceFolder}/node_modules/@abaplint/runtime/**"
15+
],
16+
"preLaunchTask": "npm: build",
17+
"program": "${workspaceFolder}/output/index.mjs",
18+
}
19+
]
20+
}

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
# open-abap-ssh
2+
3+
Run on: Node.js & ECC
4+
5+
Run on Steampunk if/when it supports TCP/IP
6+
7+
## Protocol
28
SSH client implemented in ABAP, over TCP/IP with 1 byte frame sizes = slow.
39

410
https://datatracker.ietf.org/doc/html/rfc4251 - The Secure Shell (SSH) Protocol Architecture

abaplint.jsonc

Lines changed: 36 additions & 119 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,33 @@
1313
"errorNamespace": "."
1414
},
1515
"rules": {
16+
"cds_comment_style": true,
17+
"change_if_to_case": true,
18+
"cds_legacy_view": true,
19+
"classic_exceptions_overlap": true,
20+
"local_testclass_consistency": true,
21+
"no_external_form_calls": true,
22+
"no_inline_in_optional_branches": true,
23+
"no_public_attributes": true,
24+
"nrob_consistency": true,
25+
"pragma_style": true,
26+
"slow_parameter_passing": true,
27+
"superfluous_value": true,
28+
"unnecessary_pragma": true,
1629
"7bit_ascii": true,
1730
"abapdoc": false,
1831
"align_parameters": true,
1932
"allowed_object_naming": true,
2033
"allowed_object_types": false,
2134
"ambiguous_statement": true,
22-
"avoid_use": true,
35+
"avoid_use": {
36+
"define": true,
37+
"statics": true,
38+
"defaultKey": true,
39+
"break": false, // todo
40+
"testSeams": true,
41+
"describeLines": true
42+
},
2343
"begin_end_names": true,
2444
"begin_single_include": true,
2545
"call_transaction_authority_check": true,
@@ -29,7 +49,6 @@
2949
"check_comments": false,
3050
"check_ddic": true,
3151
"check_include": true,
32-
"check_no_handler_pragma": true,
3352
"check_subrc": true,
3453
"check_syntax": true,
3554
"check_text_elements": true,
@@ -44,79 +63,21 @@
4463
"mapping": []
4564
},
4665
"constructor_visibility_public": true,
47-
"contains_tab": {
48-
"exclude": [],
49-
"severity": "Error",
50-
"spaces": 1
51-
},
52-
"cyclic_oo": {
53-
"exclude": [],
54-
"severity": "Error",
55-
"skip": []
56-
},
57-
"cyclomatic_complexity": {
58-
"exclude": [],
59-
"severity": "Error",
60-
"max": 20
61-
},
62-
"dangerous_statement": {
63-
"exclude": [],
64-
"severity": "Error",
65-
"execSQL": true,
66-
"kernelCall": true,
67-
"systemCall": true,
68-
"insertReport": true,
69-
"generateDynpro": true,
70-
"generateReport": true,
71-
"generateSubroutine": true,
72-
"deleteReport": true,
73-
"deleteTextpool": true,
74-
"deleteDynpro": true,
75-
"importDynpro": true,
76-
"dynamicSQL": true
77-
},
66+
"contains_tab": true,
67+
"cyclic_oo": true,
68+
"cyclomatic_complexity": true,
69+
"dangerous_statement": true,
7870
"db_operation_in_loop": true,
7971
"definitions_top": true,
8072
"description_empty": true,
81-
"double_space": {
82-
"exclude": [],
83-
"severity": "Error",
84-
"keywords": true,
85-
"startParen": true,
86-
"endParen": true,
87-
"afterColon": true
88-
},
73+
"double_space": true,
8974
"downport": true,
90-
"empty_line_in_statement": {
91-
"exclude": [],
92-
"severity": "Error",
93-
"allowChained": false
94-
},
75+
"empty_line_in_statement": true,
9576
"empty_statement": true,
96-
"empty_structure": {
97-
"exclude": [],
98-
"severity": "Error",
99-
"loop": true,
100-
"if": true,
101-
"while": true,
102-
"case": true,
103-
"select": true,
104-
"do": true,
105-
"at": true,
106-
"try": true
107-
},
108-
"exit_or_check": {
109-
"exclude": [],
110-
"severity": "Error",
111-
"allowExit": false,
112-
"allowCheck": false
113-
},
77+
"empty_structure": true,
78+
"exit_or_check": true,
11479
"exporting": true,
115-
"forbidden_identifier": {
116-
"exclude": [],
117-
"severity": "Error",
118-
"check": []
119-
},
80+
"forbidden_identifier": true,
12081
"forbidden_pseudo_and_pragma": {
12182
"exclude": [],
12283
"severity": "Error",
@@ -145,50 +106,13 @@
145106
"identical_form_names": true,
146107
"if_in_if": true,
147108
"implement_methods": true,
148-
"in_statement_indentation": {
149-
"exclude": [],
150-
"severity": "Error",
151-
"blockStatements": 2,
152-
"ignoreExceptions": true
153-
},
154-
"indentation": {
155-
"exclude": [],
156-
"severity": "Error",
157-
"ignoreExceptions": true,
158-
"alignTryCatch": false,
159-
"selectionScreenBlockIndentation": false,
160-
"globalClassSkipFirst": false,
161-
"ignoreGlobalClassDefinition": false,
162-
"ignoreGlobalInterface": false
163-
},
109+
"in_statement_indentation": true,
110+
"indentation": true,
164111
"inline_data_old_versions": true,
165-
"intf_referencing_clas": {
166-
"exclude": [],
167-
"severity": "Error",
168-
"allow": []
169-
},
170-
"keep_single_parameter_on_one_line": {
171-
"exclude": [],
172-
"severity": "Error",
173-
"length": 120
174-
},
175-
"keyword_case": {
176-
"exclude": [],
177-
"severity": "Error",
178-
"style": "upper",
179-
"ignoreExceptions": true,
180-
"ignoreLowerClassImplmentationStatement": true,
181-
"ignoreGlobalClassDefinition": false,
182-
"ignoreGlobalInterface": false,
183-
"ignoreFunctionModuleName": false,
184-
"ignoreGlobalClassBoundaries": false,
185-
"ignoreKeywords": []
186-
},
187-
"line_break_multiple_parameters": {
188-
"exclude": [],
189-
"severity": "Error",
190-
"count": 1
191-
},
112+
"intf_referencing_clas": true,
113+
"keep_single_parameter_on_one_line": true,
114+
"keyword_case": true,
115+
"line_break_multiple_parameters": true,
192116
"line_break_style": false,
193117
"line_length": {
194118
"exclude": [],
@@ -210,7 +134,6 @@
210134
"exception": "^LCX_.+$",
211135
"test": "^LTCL_.+$"
212136
},
213-
"local_testclass_location": true,
214137
"local_variable_names": {
215138
"exclude": [],
216139
"severity": "Error",
@@ -245,11 +168,6 @@
245168
"newline_between_methods": true,
246169
"no_aliases": true,
247170
"no_chained_assignment": true,
248-
"no_public_attributes": {
249-
"exclude": [],
250-
"severity": "Error",
251-
"allowReadOnly": false
252-
},
253171
"no_yoda_conditions": {
254172
"exclude": [],
255173
"severity": "Error",
@@ -287,7 +205,6 @@
287205
"parser_702_chaining": true,
288206
"parser_error": true,
289207
"parser_missing_space": true,
290-
"pragma_placement": true,
291208
"prefer_corresponding": true,
292209
"prefer_inline": true,
293210
"prefer_is_not": true,

package-lock.json

Lines changed: 67 additions & 21 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)