Skip to content

Name all 201 abaplint rules in the app rule set - #264

Merged
oblomov-dev merged 1 commit into
mainfrom
claude/beautiful-turing-wxr303-abaplint
Oct 11, 2026
Merged

oblomov-dev merged 1 commit into
mainfrom
claude/beautiful-turing-wxr303-abaplint

Conversation

@oblomov-dev

@oblomov-dev oblomov-dev commented Oct 11, 2026 •

Copy link
Copy Markdown
Member

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): 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 exclude is samples-stack's push channel handler z2ui5_cl_smps_app_489_ws, which ends a failed request with MESSAGE <exception> TYPE 'X' on purpose. That file has all 3 findings.

Off, with the reason above each in abaplint.jsonc:

  • prefer_string_template: 161 / 1,635 / 15
  • prefer_insert_into_table: 12 / 64 / 16
  • no_dynamic_stuff: 17 / 8 / 21. Here those are the overview app's CREATE OBJECT TYPE (name), plus the dynamic ASSIGNs in app 012 and demo 004.
  • generic_regex: no patterns configured, so on would check nothing.

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. .github/abaplint/abap_702.jsonc and abap_cloud.jsonc are not part of the shared block and stay unchanged.

No code change was needed in this repository: every new on-rule has 0 findings here.

Merge order: these five PRs belong together

Merge them together, one right after the other. check-app-rules here reads abap2UI5's main from GitHub, and abap2UI5's check:shared reads this repository's main. Until all of them are merged, those checks are red. On this PR in particular, check-app-rules stays red until #2889 is on abap2UI5's main.

Verified locally

  • npm run check passes (gates, check:app-rules "200 rule(s) here, 200 in the shared set - OK" against #2889 as the sibling, and 63/63 tests).
  • npx abaplint abaplint.jsonc: 0 issues, 1,299 files.
  • In abap2UI5, npm run check:shared against all three sample branches as siblings: OK.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Te3BRpRpxNhZAYnrQL6Gdt

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 samples-stack exclude: use_message_class
- off, with the reason above each: prefer_string_template,
  prefer_insert_into_table, no_dynamic_stuff, generic_regex

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants