Repository navigation
Name all 201 abaplint rules in the app rule set - #94
Merged
Merged
Conversation
Copies the shared block from abap2UI5's .github/abaplint/app-rules.json, which now decides the thirteen rules abaplint 2.120.73 ships beyond the 188 the block named: - on: cds_check_syntax, else_after_all_returns, prefer_abap_bool, prefer_abap_bool_values, preferred_parameter_ignored, unnecessary_loop_guard, wrong_abapdoc_position, xml_bom - on with one exclude: use_message_class - the push channel handler z2ui5_cl_smps_app_489_ws ends a failed request with MESSAGE <exception> TYPE 'X' on purpose (RAISE SHORTDUMP needs 7.53) - off, with the reason above each: prefer_string_template, prefer_insert_into_table, no_dynamic_stuff, generic_regex else_after_all_returns had one finding here: the RAP message reader in z2ui5_cl_smps_context returned from the ITEM branch and mapped the field in an ELSE. The mapping now follows the ENDIF, the shape abap2UI5's own z2ui5_cl_ui5_util_context has - same behaviour. Lands together with the abap2UI5 app-rules pull request and the other two sample repositories' - check-app-rules compares against abap2UI5. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Te3BRpRpxNhZAYnrQL6Gdt
This was referenced Oct 11, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Copies the shared rule block from abap2UI5/abap2UI5#2889 (
.github/abaplint/app-rules.json). It decides the 13 rules abaplint 2.120.73 ships that the block did not name yet. Counts below are samples / samples-controls / samples-stack.On (0 findings in all three after the fix below):
cds_check_syntax,else_after_all_returns,prefer_abap_bool,prefer_abap_bool_values,preferred_parameter_ignored,unnecessary_loop_guard,wrong_abapdoc_position,xml_bom.On, with one exclude:
use_message_class. All 3 findings are inz2ui5_cl_smps_app_489_ws, the push channel handler. It ends a failed request withMESSAGE <exception> TYPE 'X', which dumps with the exception's text, becauseRAISE SHORTDUMPonly exists from 7.53 and the package runs from 7.50. The class explains this where it does it. That is a deliberate construct, not a free-text message, so the file is excluded and the rule stays on for everything else. AMESSAGEwith inline text in an abap2UI5 app has no screen to show on, so the rule is worth having. The exclude is also documented in AGENTS.md's list of scoped excludes.Off, with the reason above each in
abaplint.jsonc:prefer_string_template: 161 / 1,635 / 15prefer_insert_into_table: 12 / 64 / 16no_dynamic_stuff: 17 / 8 / 21. Here those are the RTTI message reader in the context class, ENQUEUE_ by name in the lock samples, the LLM factory and the overview app.generic_regex: no patterns configured, so on would check nothing.Code fix
else_after_all_returnshad 1 finding, insrc/00/00/z2ui5_cl_smps_context.clas.abap: the RAP message reader returned from theITEMbranch and mapped the field in anELSE. The mapping now follows theENDIF, the same shape abap2UI5's ownz2ui5_cl_ui5_util_contexthas. Behaviour is unchanged.The block now names all 201 rules: 180 on, 21 off. The counts are updated in the block header and in AGENTS.md. The header of
scripts/check-app-rules.mjs(byte-equal with abap2UI5's source) now says 200 rules.Merge order: these five PRs belong together
Merge them together, one right after the other.
check-app-ruleshere reads abap2UI5'smainfrom GitHub, and abap2UI5'scheck:sharedreads this repository'smain. Until all of them are merged, those checks are red. On this PR in particular,check-app-rulesstays red until #2889 is on abap2UI5'smain.Verified locally
npm run checkpasses, includingabaplint: 0 issues, 190 files. abap2ui5lint has 0 failing, and with #2889 checked out as the sibling,check:app-rulesreports "200 rule(s) here, 200 in the shared set - OK".npm run check:sharedagainst all three sample branches as siblings: OK.🤖 Generated with Claude Code
https://claude.ai/code/session_01Te3BRpRpxNhZAYnrQL6Gdt