Linter 0.8.0: install @abap2ui5/linter-render, fix the examples it flags; refresh dependencies - #340
Merged
Merged
Conversation
…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
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.
Dependencies
@abap2ui5/linter:^0.6.1→^0.8.0@abaplint/cli:^2.120.52→^2.120.60npm auditreports 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-renderfrom 0.8.0 on. It was@abap2ui5/render-runtimebefore, which is now deprecated. The new name goes into:advanced/linter.mdadvanced/mcp_server.mdExamples 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 affectslock.md(six classes),inner_app.md,formatter.mdandinsights/24.advanced/fiori.mdfollowsformatter.mdin its prose.popup.md: the caller readmv_confirmedfrom outside the class. It is now PROTECTED behind aconfirmed( )method, and the prose follows.unescaped-text-in-attribute: data in attributes now goes througha( t = … ). This covers the lock examples, the dialog title inindex.mdand walkthrough steps 7, 9, 10 and 12, and theinner_apptitle. Step 7 gets one line on why, andview/definition.mdexplainstnext tob.tables.mdand the unusedxmlns:coreindefinition.mdare gone, andformatter.mdaddstarget="_blank"to its SDK links. Twoeditable-control-without-bindinghints remain on purpose, on a disabled Input and on a ComboBox.Checks
npm run checkpasses (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