PersonSAP

Peter Muessig

GitHub@petermuessiglast push

Capabilities20

Provides 3
Build and dev-server toolingUI5Build and dev-server toolingcapabilityServing an app locally and building it for deployment — proxying a backend, transpiling, bundling, and shaping the result for whatever will host it.GeneratorsUI5CAPGeneratorscapabilityGetting from nothing to a project that runs, and from a project that runs to one that has the piece you just decided you need. Two different moments: the first is a one-time decision about layout, the second recurs for the life of the project.UI5 testingUI5UI5 testingcapabilityProving a UI still works — unit tests over controllers and formatters, integration tests that drive real controls, and end-to-end runs against a served app.
Demonstrates 5
Build and dev-server toolingUI5Build and dev-server toolingcapabilityServing an app locally and building it for deployment — proxying a backend, transpiling, bundling, and shaping the result for whatever will host it.Integrated frontend dev serverUI5CAPIntegrated frontend dev servercapabilityServing a frontend and its backend services together during development, so they can be reached through one local origin. Serving prebuilt files and integrating a frontend toolchain that assembles resources on demand are different requirements.TypeScript supportUI5TypeScript supportcapabilityWriting apps and libraries in TypeScript — the type definitions, the module syntax the loader expects, and the build step that gets from one to the other.UI5 testingUI5UI5 testingcapabilityProving a UI still works — unit tests over controllers and formatters, integration tests that drive real controls, and end-to-end runs against a served app.Web Components interopUI5Web Components interopcapabilityUsing standards-based custom elements inside an app, and the question of which control set an app should be built from at all, two concerns that are often answered as one.
Contributes to 14
AccessibilityUI5AccessibilitycapabilityMaking a UI usable with a screen reader, with a keyboard alone and without seeing the layout: accessible names on controls, a heading order, landmarks, focus handling and announcements. Target size for a finger is [touch operation](capability:ui5-touch-uis).Agent access to your codeUI5CAPAgent access to your codecapabilityLetting a coding agent read the project or the system you actually have, reach its model, its objects and its checks, and act on it. In file-based environments that works out of the box; complex systems need dedicated access capabilities. Whatever the environment, the agent also needs project- and framework-specific context, so it understands the thing in front of it rather than guessing from what it remembers of its training data. The transport is incidental: an MCP server, a language server or a CLI answer the same question, and what differs between them is how much of the real thing the agent can see. Distinct from [MCP servers](capability:mcp-servers), which is a protocol adapter on your own running service, and from [agent guidance](capability:agent-guidance), which is knowledge handed over as files rather than read from the thing itself.Agent guidanceUI5CAPAgent guidancecapabilityPackaged knowledge you hand a coding agent so it gets a framework right unprompted — skills, rule files, instruction packs. Distinct from agent tooling, which is about building agentic features into your application, and from [agent access to your code](capability:agent-code-access), where the agent reads the real project instead of being handed a file about it.AttachmentsUI5CAPAttachmentscapabilityStoring a file somebody uploaded next to the record it belongs to, and getting it back out — where the bytes actually live, who may read them, and what the UI shows while they are being scanned.Custom controls and librariesUI5Custom controls and librariescapabilityExtending the set of controls an app is built from: a control of its own, a wrapper around a third-party widget, or an icon font registered with the framework, packaged so another app can reuse it. Distinct from [Web Components interop](capability:ui5-web-components), which brings in standard custom elements, and from [generators](capability:generators), which scaffold a control project rather than being one.Data bindingUI5Data bindingcapabilityKeeping a control and a model in step in both directions, including the formatting, type conversion and validation that sit between the two.Editor supportUI5CAPEditor supportcapabilityWorking in source code with the editor helping rather than treating it as text — completion, go-to-definition, inline errors, refactoring and preview.Key-user adaptationUI5Key-user adaptationcapabilityChanging a delivered app without modifying it — moving, hiding and adding elements as a layered set of changes that survive an upgrade.LintingUI5CAPLintingcapabilityCatching in the editor what would otherwise be caught at deploy time, or not at all — problems in source code and models and in the project's configuration, found by rules rather than by review.LLM integrationUI5CAPLLM integrationcapabilityCalling a language model from application code with the tenant, destination and credential handling already solved instead using an SDK call with a hand-rolled key.LoggingUI5CAPLoggingcapabilitySeeing what a running service did, in a form something can read afterwards — levels, a formatter that suits a laptop and one that suits a log service.Routing and navigationUI5Routing and navigationcapabilityTurning a URL hash into a view, and a view change back into a URL — so a deep link, a browser back button and a refresh all land where the user expects in a single-page app.ThemingUI5ThemingcapabilityApplying a consistent visual identity across every control, including the parameters an app may read and the custom themes an organisation may build.Touch operationUI5Touch operationcapabilityOperating an app with a finger, a stylus or a gloved hand on a tablet, kiosk or shop-floor terminal: targets large enough to hit, and input that does not assume a hardware keyboard. Distinct from responsive layout, which is about the width of the screen rather than what touches it.

Entries69

Group by69 of 69 entries
EntrySignals
Maintains3
generator-ui5-ts-app-fcl
none

Generator for a TypeScript UI5 FlexibleColumnLayout app on OData

karma-ui5-transpilev3.6.4
none

Karma preprocessor transpiling UI5 sources via ui5-tooling-transpile

ui5-middleware-capv3.3.6
none

UI5 CLI middleware running a CDS server inside the UI5 dev server

Maintains: samples, sketches and references10
approuterv0.0.1-security
none

Showcase for dev-approuter in front of two UI5 apps

cds-bookshop
none

CAP bookshop showing UI5 development with cds-plugin-ui5

ui5-app
none

UI5 app carrying 18 UI5 CLI extensions in one configuration

ui5-bookshop-viewer
none

UI5 app consuming the cds-bookshop server via ui5-middleware-cap

ui5-lib
none

Sample setup for developing a UI5 library

ui5-module
none

Custom UI5 control packaged as an npm package

ui5-tsapp
none

TypeScript UI5 app consuming custom UI5 CLI extensions together

ui5-tsapp-webc
none

TypeScript UI5 app consuming @ui5/webcomponents

ui5-tslib
none

TypeScript UI5 library with build, linting and Karma tests

ui5-tsmodule
none

TypeScript UI5 module consumed through ui5-tooling-modules

Contributes to56
@openui5/sap.ui.corev1.153.0
none

Framework core: module loader, MVC runtime, binding, routing, theming

@sap-ux/fiori-mcp-serverv1.15.15
none

MCP server for creating and editing Fiori applications

@sap-ux/ui5-application-writerv2.1.6
none

Writer of the base structure of a UI5 project from Node code

@ui5-community/jsx-runtimev0.1.5
Functional boundary

Plugin-based JSX runtime for UI5 views written as .tsx

@ui5-community/jsx-runtime-helloworld
Functional boundary

Scaffolded UI5 TypeScript app consuming the JSX runtime

@ui5-community/jsx-runtime-showcase
Functional boundary

Showcase and documentation app of @ui5-community/jsx-runtime

@ui5/cliv4.0.71
none

UI5 Tooling command line for project setup, dev server and build

@ui5/sample-app
none

OpenUI5 sample app set up with the UI5 CLI

@ui5/tooling-webcv0.3.1
Archived

Deprecated UI5 Tooling extensions for UI5 Web Components wrappers

@ui5/webcomponentsv2.28.1
Functional boundary

SAP's UI elements as standard custom elements

babel-preset-transform-ui5v7.10.0
none

Babel transformer from modern ES or TypeScript to UI5 module syntax

create-easy-ui5v1.1.1
none

npm-init wrapper for the Easy-UI5 Yeoman generator

generator-easy-ui5v3.11.0
none

Yeoman meta-generator for scaffolding UI5 projects

generator-ui5-addv1.0.2
Quiet

Yeoman generator for UI5 tooling-extension projects

generator-ui5-appv1.0.8
none

Easy-UI5 generator scaffolding a new UI5 application

generator-ui5-libraryv1.0.10
none

Easy-UI5 generator scaffolding a new UI5 library

generator-ui5-library-webc
Quiet

Yeoman generator for UI5 libraries wrapping UI5 Web Components

generator-ui5-project
Functional boundary

Yeoman generator for UI5 projects holding several applications

generator-ui5-ts-app
none

Easy-UI5 generator scaffolding a TypeScript UI5 application

generator-ui5-ts-library
none

Easy-UI5 generator scaffolding a TypeScript UI5 library

generator-ui5-wdi5
Quiet

Yeoman generator scaffolding wdi5 test configuration into a UI5 app

hacking-away-sampleapp
none

UI5con 2022 demo of an end-to-end TypeScript UI5 setup with CAP

SAP-samples/ui5-typescript-control-library
none

UI5 control library written in TypeScript with full tooling setup

SAP-samples/ui5-typescript-helloworld
none

Small UI5 app with a guide to its TypeScript setup from scratch

SAP-samples/ui5-typescript-tutorial
none

Tutorial on TypeScript for UI5 apps via a weather-lookup app

UI5 Web Components agent skills
Functional boundary

Two agent skills for accessibility and styling of web components

ui5-cc-chartv0.1.2
none

UI5 custom control wrapping Chart.js for line charts

ui5-middleware-approuterv3.10.0
none

UI5 CLI middleware proxying the dev server through @sap/approuter

ui5-middleware-hmrv0.1.0
none

Experimental UI5 middleware for hot module replacement

ui5-middleware-iasyncv3.0.0-alpha.10
none

UI5 middleware syncing interactions across browsers over websocket

ui5-middleware-indexv3.1.4
none

UI5 middleware serving a chosen welcome page at the root path

ui5-middleware-livereloadv3.4.0
none

Live reload middleware for the UI5 dev server

ui5-middleware-oneloginv3.9.1
none

UI5 middleware logging in with Playwright and reusing the session

ui5-middleware-serveframeworkv3.8.2
none

UI5 middleware serving a locally built UI5 framework

ui5-middleware-servestaticv3.5.1
none

UI5 middleware serving static resources from a path or npm package

ui5-middleware-simpleproxyv3.9.0
none

Dev-server middleware proxying requests to a backend system

ui5-middleware-ui5v3.5.2
none

UI5 middleware including one UI5 application in another

ui5-middleware-webjarsv3.1.4
none

UI5 middleware serving static resources from JAR files (WebJars)

ui5-middleware-websocketv3.2.2
none

WebSocket support for Express-based dev servers such as UI5's

ui5-space-webcomponent-library
none

UI5 library wrapping a UI5 Web Components package, step by step

ui5-space-webcomponent-package
none

Step-by-step UI5 Web Components package in TypeScript

ui5-task-cachebusterv3.4.0
none

UI5 builder task cachebusting standalone UI5 applications

ui5-task-copyrightv3.6.0
none

UI5 builder task appending copyright headers to source files

ui5-task-flatten-libraryv3.1.4
none

UI5 builder task flattening library output for SAP NetWeaver

ui5-task-i18ncheckv3.3.1
none

UI5 builder task checking XML views for missing i18n texts

ui5-task-minify-xmlv3.2.0
none

UI5 builder task minifying XML views and fragments

ui5-task-pwa-enablerv3.4.1
none

UI5 builder task turning a UI5 app into a progressive web app

ui5-task-transpilev0.5.1
none

UI5 Tooling task transpiling TypeScript and ES modules

ui5-task-zipperv3.7.0
none

Build task packaging the UI5 build result as a zip archive

ui5-tooling-lessv3.2.5
none

UI5 CLI extension compiling Less files into CSS

ui5-tooling-modulesv3.41.2
none

UI5 tooling extensions loading npm packages as UI5 modules

ui5-tooling-stringreplacev3.6.2
none

UI5 CLI extension for string replacement during the build

ui5-tooling-transpilev3.13.1
none

UI5 CLI extension transpiling code during the UI5 build

ui5-ts-modules-showcase
none

Showcase of consuming npm libraries from a TypeScript UI5 app

ui5-webcomponents-bundle
none

Custom UI5 Web Components bundle loaded with one script tag

vscode-ui5-language-assistantv0.0.1-security
none

VS Code extension for SAPUI5 and OpenUI5 XML views and manifest

Writing and topics1

Piece, what it offersStill applies
UI5 Views, Reimagined: Type-Safe TSX for a Modern Dev Experience
YouTube — SAP Developers playlists, Peter Muessig
nothing recorded

Details

History11
  • karma-ui5-transpilelifecycle → deprecatedThe README's own notice, which the description already paraphrased, was not recorded as the maker's dated statement. It is quoted here and shown as plain text: the maintainer's claim, not a reading and not a tier.
  • karma-ui5-transpileprovides[capability:ui5-testing] → two quoted sources and the coverage_report propertyThe edge cited the README without a sentence. Coverage is the reason this preprocessor exists for a TypeScript project, and it is the comparison the capability now declares; the README states it in its own words.
  • karma-ui5-transpiledescription.what_it_solves → The same sentence, with why karma-ui5 is needed.The README calls the karma-ui5 plugin obligatory and says the configuration is read from it, which is what makes it a prerequisite rather than a companion.
  • ui5-middleware-capdescription.what_it_solves → A UI5 CLI project's dev server serves the app, and the CAP services it calls run in a second process started and stopped on its own. This middleware calls `cds serve` and embeds the express middlewares it returns into the UI5 dev server, so one command answers both: it is entered under `server/customMiddleware` in `ui5.yaml`, where `mountPath` sets the url the CDS server answers on and `moduleId` names the npm package the CDS server is loaded from. Its default options are `with-mocks` and `in-memory?`, which start in-process mock services for required services that have no external binding and add a transient in-memory database bootstrapped on each restart. It is the counterpart of [cds-plugin-ui5](artifact:ui5-community-cds-plugin-ui5), which embeds the other way round, the UI5 CLI middlewares inside the CDS server; the repository's own comparison of the six tools that connect a UI5 app to a backend lists both, and separates them on which of the two embeds the CAP server. In a project it is one development dependency of the UI5 project, on [@ui5/cli](artifact:sap-ui5-cli) 3 or higher.The old paragraph said the registry description was the only documentation published and that no README states how it is configured. The package does publish one, with Prerequisites, Usage and a Configuration options section: "- `options`: `<object>` (default: `{ "with-mocks": true, "in-memory?": true }` )", alongside `moduleId` and `mountPath`. Rewritten from that README, and the counterpart named, since the two tools embed in opposite directions.
  • ui5-middleware-capdescription.one_line → UI5 CLI middleware that runs a CDS server inside the UI5 dev server, mounted at a path the UI5 project configures.Nothing in the documentation says the dev server is driven by a backend; the README and the docs site both say a CDS server is embedded inside the dev server, and the `mountPath` option is where it answers: "`ui5-middleware-cap` improves the development experience for the [SAP Cloud Application Programming Model (CAP)](https://cap.cloud.sap/docs/about/) by embedding a CDS server inside the UI5 dev server."
  • ui5-middleware-capprovides → capability:ui5-build-tooling, with what_it_does and the README's own sentences on the middleware, mountPath and moduleIdThe edge rested on the npm one-liner alone, so the page said the middleware embeds the CDS middlewares and nothing about where the server answers or where it is loaded from. Both are stated in the README's Configuration options section.
  • ui5-middleware-capalternative_to → artifact:ui5-community-cds-plugin-ui5The maintainers publish the two as members of one set and compare them in one table. The repository README: "Six tools in this repo can connect a UI5 app to a backend (`cds-plugin-ui5`, `ui5-middleware-cap`, `ui5-middleware-approuter`, `@sap/approuter`, `dev-approuter`, `ui5-middleware-simpleproxy`)." The comparison in docs/backend-connectivity.md is what separates this pair: "| Embeds CAP server | ❌ | ✅ | (✅)¹ | ❌ | ✅ | (✅)¹ |", the first two columns being cds-plugin-ui5 and ui5-middleware-cap. The inverse edge is derived, so cds-plugin-ui5 shows it without being edited.
  • ui5-middleware-capcompat → runtimes node, cds_range >=6.8.1The package manifest declares the floors, "@sap/cds": ">=6.8.1" and "@ui5/cli": ">=3" in peerDependencies, and the README's opening sentence puts it at "the node runtime of the SAP Cloud Application Programming Model (CAP)". On the UI5 door runtimes is how the tool runs and is never read as a flavor.
  • ui5-middleware-caprequires → artifact:sap-cds, artifact:sap-ui5-cliBoth are stated by the README rather than read off a dependency list: it calls `cds serve` internally to build the middleware functions, and "All releases of this UI5 CLI extension using the major version `3` require UI5 CLI V3." The peerDependencies ranges are quoted beside each edge.
  • ui5-middleware-capidentity.author, maintainers → Peter Muessig, actor:petermuessig and actor:ui5-communityThe package manifest names the author, "author": "Peter Muessig". The entry recorded him as a contributor only, which is the weaker claim; cds-plugin-ui5 in the same repository already carries both.
  • First entry seenDiscovered via Added by hand.
For your agent