Skip to content

Linter 0.8.0: install @abap2ui5/linter-render, fix the examples it flags; refresh dependencies - #340

Merged
oblomov-dev merged 2 commits into
mainfrom
claude/peaceful-pascal-4z2w4v
Sep 27, 2026
Merged

oblomov-dev merged 2 commits into
mainfrom
claude/peaceful-pascal-4z2w4v

Conversation

@oblomov-dev

@oblomov-dev oblomov-dev commented Sep 27, 2026 •

Copy link
Copy Markdown
Member

Dependencies

  • @abap2ui5/linter: ^0.6.1 → ^0.8.0
  • @abaplint/cli: ^2.120.52 → ^2.120.60
  • The lockfile is refreshed within the existing ranges.
  • vitepress stays at 1.6.4, because 2.0 is still alpha. npm audit reports 3 advisories in the esbuild that comes with vitepress's copy of vite. They affect only the dev server, and there is no fix without vitepress 2.

Install instructions

The linter's render runtime is @abap2ui5/linter-render from 0.8.0 on. It was @abap2ui5/render-runtime before, which is now deprecated. The new name goes into:

  • advanced/linter.md
  • advanced/mcp_server.md

Examples fixed for the new linter

Linter 0.8.0 flags 34 warnings in 15 examples. All are fixed on the pages; no rule is suppressed.

  • unbound-public-attribute: PUBLIC attributes that nothing binds move to PROTECTED. This affects lock.md (six classes), inner_app.md, formatter.md and insights/24. advanced/fiori.md follows formatter.md in its prose.
  • popup.md: the caller read mv_confirmed from outside the class. It is now PROTECTED behind a confirmed( ) method, and the prose follows.
  • unescaped-text-in-attribute: data in attributes now goes through a( t = … ). This covers the lock examples, the dialog title in index.md and walkthrough steps 7, 9, 10 and 12, and the inner_app title. Step 7 gets one line on why, and view/definition.md explains t next to b.
  • Hints: the stale disable directives in tables.md and the unused xmlns:core in definition.md are gone, and formatter.md adds target="_blank" to its SDK links. Two editable-control-without-binding hints remain on purpose, on a disabled Input and on a ComboBox.

Checks

  • npm run check passes (exit 0), including build-site.
  • check:examples: 70 classes, 0 errors, 0 warnings.
  • test: 271/271.
  • check:version: the release API was not reachable from the sandbox, so only the three places were compared with each other. They agree.

🤖 Generated with Claude Code

https://claude.ai/code/session_014bLQZPXbB8xmewCNmnBJaG

…sh deps

The linter's render runtime is published as @abap2ui5/linter-render from
0.8.0 on; the linter and the MCP server pages now tell the reader to install
that name. @abaplint/cli ^2.120.52 -> ^2.120.60, and the lockfile refreshed
to the newest versions the existing ranges allow. @abap2ui5/linter stays at
^0.6.1 until 0.8.0 is on npm.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014bLQZPXbB8xmewCNmnBJaG
0.8.0 adds two warnings the pages failed: unbound-public-attribute (a
PUBLIC attribute used in ABAP that no binding reaches) and
unescaped-text-in-attribute (data passed through v, where a brace is read
as a binding). Every example is fixed at its page, no rule suppressed:

- lock.md, all six classes: vbeln, ernam, erdat, locked_by and the
  timestamp tokens move to PROTECTED, and the read-only inputs show them
  through t.
- inner_app.md: mv_level is PROTECTED (the class reads it off its own
  other instances) and the page title passes it through t.
- index.md and walkthrough steps 7, 9, 10, 12: the dialog title
  "Edit { s_edit-product }" goes through t; step 7 says why.
- popup.md: the answer mv_confirmed is PROTECTED and the caller reads it
  through confirmed( ); the prose after the example says so.
- formatter.md: check_initialized is PROTECTED; fiori.md, which teaches
  the same flag as a public attribute, says protected too.
- insights #24: t_invoices is PROTECTED; the prose notes that a test
  filling it by hand is a LOCAL FRIENDS of the class.
- view/definition.md documents a( t = ... ) next to b.

The hints 0.8.0 reports are fixed where the change is plain: the two
disable directives in tables.md that said to go with this bump, the
unused xmlns:core on definition.md (in both classes, which print the same
view), and target="_blank" on the two SDK links in formatter.md.

Every other devDependency is already at its latest stable release;
vitepress stays on 1.6.4 because 2.0 is still an alpha.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014bLQZPXbB8xmewCNmnBJaG
@oblomov-dev oblomov-dev changed the title Install the linter's render runtime as @abap2ui5/linter-render; refresh dependencies Linter 0.8.0: install @abap2ui5/linter-render, fix the examples it flags; refresh dependencies Sep 27, 2026
@oblomov-dev
oblomov-dev merged commit 80baa02 into main Sep 27, 2026
1 check passed
@oblomov-dev
oblomov-dev deleted the claude/peaceful-pascal-4z2w4v branch September 27, 2026 11:12
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