NewSAPUI5 and OpenUI5
In the last 30 days
72 changes
Today
How to Use NPM Modules Like crypto-js in SAPUI5 Using UI5 Tooling ModulespublishedWalks through adding ui5-tooling-modulesui5-tooling-modulesA set of UI5 tooling extensions that load and convert plain npm packages into UI5 AMD-like modules, so the UI5 module loader can consume them.community org, ui5 to a SAPUI5 project on UI5 Tooling v3: installing the npm package crypto-js alongside it, then wiring a
ui5-tooling-modules-task builder task and a ui5-tooling-modules-middleware dev-server middleware into ui5.yaml so the UI5 module loader can resolve it. A controller then loads crypto-js/sha256 through sap.ui.define and calls it like any other AMD dependency, with the stated limit that the pattern works only inside a controller or other AMD-style module, not through a top-level import or require().Build and dev-server toolingui5-task-check-eocpadded to the atlasUI5 build task warning when the app's UI5 version reaches EOCPBuild and dev-server tooling
Build and dev-server toolingcore coverage, coverage by flavor revisedReassessed against the graph (check:capabilities): removed a count ("the one ... project") and an absence claim about who built something, restated as a fact about the documentation.Build and dev-server tooling
Editor supportcore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): the providers behind the UI5 door are SAP's (UI5 Language Assistant, and SAP Build Code and SAP Web IDE Full-Stack, which serve ui5). The community SAPUI5 Extension is an entry in the graph but has no provides edge to this capability.Editor support
Show 4 more
Generatorscore coverage, coverage by ecosystem, framing by ecosystem revisedReassessed against the graph (check:capabilities): the atlas holds these entries, so the links point at them and not at their repositories (docs/WRITING.md section 4).Generators
Seed datacore coverage, coverage by ecosystem revisedReassessed against the graph (check:capabilities): no artifact provides seed-data for the UI5 door; the two tools the sentence named provide ui5-testing. The core stays present on the sourced what_core_does. The tools stay on the graph under ui5-testing.Seed data
TypeScript supportcore coverage revisedReassessed against the graph (check:capabilities): four providers arrived after the block was assessed (dts-generator task, Babel transform, JSX runtime, UI5 MCP server) and the text named none. The state stays core-and-community: the block's sourced what_core_does keeps the core present and community-origin providers count for the ui5 door. assessed_at and relationship stand.TypeScript support
UI5 testingcore coverage, coverage by flavor revisedReassessed against the graph (check:capabilities): Node.js unit test environments and mock-data generators are kinds the text did not name.UI5 testing
Sat 24
ui5-test-runnerreleased 6.0.0Command line running UI5 QUnit and OPA tests in parallelUI5 testing
Wed 21
Using the UI5 Mockserver for Client-Specific Data and TestingpublishedWalks through a same-day feature in
@sap-ux/ui5-middleware-fe-mockserver, 'Support autoloading mockdata file for specific tenants', which loads a <Entity>-<client>.json file keyed to the sap-client URL parameter and falls back to the entity's plain JSON file when no client-specific one exists. Shows the setup replacing generated mock data with hand-written JSON, then drives the same sap-client parameter through separate package.json scripts so wdi5wdio-ui5-serviceEnd-to-end testing for UI5 as a WebdriverIO service that drives a real browser through UI5's own test API, so a test addresses controls with OPA5-compatible selectors rather than DOM nodes.community org, ui5 end-to-end tests can run against distinct tenant datasets.Seed dataMon 19
@ui5-community/jsx-runtimeadded to the atlasPlugin-based JSX runtime for UI5 views written as .tsxTypeScript support
@ui5-community/jsx-runtime-helloworldadded to the atlasScaffolded UI5 TypeScript app consuming the JSX runtime
@ui5-community/jsx-runtime-showcaseadded to the atlasShowcase and documentation app of @ui5-community/jsx-runtime
@ui5/linteradded to the atlasStatic analysis tool for UI5 projectsLinting
Show 37 more
@ui5/middleware-code-coverageadded to the atlasUI5 CLI middleware for Istanbul code coverageUI5 testing
@ui5/sample-appadded to the atlasOpenUI5 sample app set up with the UI5 CLI
@ui5/tooling-webcadded to the atlasDeprecated UI5 Tooling extensions for UI5 Web Components wrappersBuild and dev-server tooling
generator-ui5-react-nestadded to the atlasYeoman generator for a UI5 app that loads a React appGenerators
jest-environment-ui5added to the atlasJest environment running UI5 unit tests in Node.jsUI5 testing
openui5-smart-mockserveradded to the atlasUI5 MockServer extension generating mock data with Faker.jsUI5 testing
Supply Chain Rescueadded to the atlasCAP and SAPUI5 demo of recovery from a supply disruption
UI5 Toolsadded to the atlasVS Code extension to serve, proxy, build and deploy UI5 projectsBuild and dev-server tooling
UI5 Views, Reimagined: Type-Safe TSX for a Modern Dev ExperiencepublishedA Devtoberfest 2026 session on @ui5-community/jsx-runtime@ui5-community/jsx-runtimeA plugin-based JSX runtime for UI5: views are written as .tsx files with per-control typing, and the JSX compiles to plain new Control(settings) calls.community org, ui5, the incubation project that lets a UI5 view be written as TSX: XML-like markup that the TypeScript compiler checks against the control's own types and a Babel plugin turns into the constructor calls UI5 already makes. The edge to the runtime rests on the session's own description, which gives the project's documentation site as the session's documentation. The TypeScript supportTypeScript supportWriting 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.SAP and community, narrow by design edge holds because that is the session's subject — per-property checking, completion on every attribute, renames that carry through a view, and typed event objects that remove the casts — alongside what stays unchanged: string and expression bindings, controllers, routing and i18n, and XML views living beside TSX ones in the same app. The build edge rests on the setup, where ui5-tooling-transpileui5-tooling-transpileA UI5 CLI extension that transpiles modern JavaScript or TypeScript during the UI5 build, with a transformJSX option that handles JSX and TSX in the same step.community org, ui5 is given the JSX transform in ui5.yaml; the walkthrough then builds a bookshop app on a CAP OData service and names what is still missing, UI flexibility and native HTML among it.TypeScript support
ui5-control-generatoradded to the atlasCommand line generator of UI5 custom controls from htmlGenerators
ui5-deployeradded to the atlasUI5 Tooling module deploying Fiori/UI5 apps to SAP systemsBuild and dev-server tooling
ui5-middleware-destinationadded to the atlasUI5 Tooling middleware proxying destinations and neo-app.json routesBuild and dev-server tooling
ui5-middleware-oidcadded to the atlasUI5 dev server middleware adding an OpenID Connect loginBuild and dev-server tooling
ui5-middleware-route-proxyadded to the atlasUI5 server middleware proxying route prefixes to a backendBuild and dev-server tooling
ui5-task-cachebuster-indexingadded to the atlasUI5 builder task preparing build output for the cachebusterBuild and dev-server tooling
ui5-task-dts-generatoradded to the atlasUI5 builder task generating d.ts type declarationsTypeScript support
ui5-task-minifieradded to the atlasUI5 builder task minifying HTML, CSS and JSON filesBuild and dev-server tooling
ui5-task-transpile-genadded to the atlasUI5 builder task transpiling ES6 to ES5 with BabelBuild and dev-server tooling
ui5pluginadded to the atlasSAPUI5 extension for Visual Studio CodeLinting
ui5plugin-linteradded to the atlasCommand-line linter for UI5 classes, XML views and i18n filesLinting
ui5plugin-parseradded to the atlasnpm library parsing SAPUI5 and project UI5 class metadata
vitest-environment-ui5added to the atlasVitest environment running UI5 unit tests in Node.jsUI5 testing
vscode-ui5-language-assistantadded to the atlasVS Code extension for SAPUI5 and OpenUI5 XML views and manifestEditor support
vscode-ui5-odata-mock-generatoradded to the atlasVS Code extension generating OData mock data from service metadataUI5 testing
wdio-qunit-serviceadded to the atlasWebdriverIO service running QUnit test pagesUI5 testing
@satiroglu/kaevlinks, type properties, requires revisedThe dependency the entry could not point at before. @ui5/linter@ui5/linterSAP's static analysis tool for UI5 projects: it scans JavaScript, TypeScript, XML, JSON and other files for deprecated APIs, global variables and possible CSP violations, and fixes part of them with --fix.sap official, ui5 is pinned at 1.23.7 in the npm record's dependencies and the README states "Integrates the official
@ui5/linter in a restricted child process", so the edge is the maker's own statement; the for sentence carries the conditions the rule reference puts on the adapter rather than on the dependency, which ships with every install. Written now because the artifact exists to point at: it was not in the graph when this entry was drafted, and the prose link in what_it_solves moves from the repository address to the entry with it.Linting@ui5-community/jsx-runtimedescription, requires[external:babel-plugin-transform-react-jsx], identity, type properties revisedThe type owns the key for a package (CONCEPT-038) and the record stated nothing, which reads as "does not say" while the README's repository layout says of this package "Publishable to npm." and the package README's install step is "pnpm add @ui5-community/jsx-runtime". The sibling packages in the same monorepo are each marked "Not published" and state no distribution.TypeScript support
Editor supportecosystems revisedUI5 Language Assistant, SAP's VS Code extension for UI5 XML views and manifest.json, and the SAPUI5 Extension by iljapostnovs were staged in intake-20261019-bestofui5 with this concern as their best fit, and the capability was not open on the UI5 door. The UI5 reading comes from the UI5 Language Assistant README.Editor support
generator-ui5-react-nestentry revisedListed on bestofui5.org and not yet in the atlas. Read from the repository README (main branch) and the npm record for 1.0.14 (Apache-2.0, author Aydin Ozcan, depends on yeoman-generator ^5.7.0). README sentences used: "Unlike traditional solutions that rely on iframes"; "UI5Nest control integration with Workzone or Fiori Launchpad (on-prem) is seamless."; "You can deploy to HTML5 Repository like you do it with your UI5 application."; "The scaffolded React application uses Vite,"; "generator-ui5-react-nest scaffolds the necessary files and configurations for managed router." The when_not_to_use sentence rests on the README's statements that it opts for JavaScript, that
react-router-dom is not included in the generated project and that UI5 Web Components are left out.GeneratorsLintingcoverage by ecosystem revisedUI5 linter (@ui5/linter) and ui5plugin-linter were staged in intake-20261019-bestofui5 with provides edges here, so the note that the graph holds no UI5 linter no longer holds and a community linter is present. The UI5 linter README was read again on 2026-10-19.Linting
Seed dataecosystems revisedvscode-ui5-odata-mock-generator and openui5-smart-mockserver were staged in intake-20261019-bestofui5 under ui5-testing; the first one's drafter noted that seed-data fit better but was not open on the UI5 door. The UI5 reading comes from the OpenUI5 mock server pages and SAP's ui5-middleware-fe-mockserver README.Seed data
UI5 Views, Reimagined: Type-Safe TSX for a Modern Dev Experienceexplains, summary and sources revisedThe session is about the runtime the atlas holds, and the entry named it only as "the incubation project". Its own description gives the project's documentation site as the session's documentation, "Documentation: https://ui5-community.github.io/jsx-runtime/", which is the
docs address of artifact:ui5-community-jsx-runtime, and that page carries the same label the session uses for the project, Incubation. The description sentence is added as a source and the summary names and links the runtime instead of pointing at it. The two edges already recorded are unchanged, and so are the claims about what the session shows: the quotes behind them were re-read on 2026-10-19. The session's own repository, github.com/petermuessig/devtoberfest2026-jsxruntime, is named in the same description and is not in the graph, so it is not an edge here.TypeScript supportui5-fe-mockserver-tutorialtype properties, requires revisedThe README's Prerequisites tell the reader to clone and run that CAP project before starting, and the fact was already in what_it_solves with no edge under it. artifact:marianfoo-ui5-call-action was a pending draft when this entry was written and is published now, so the plain link in the prose became a graph link in the same pass, as did ui5-middleware-odata-recorder.
ui5-tooling-transpiledescription revisedFound while assessing artifact:ui5-community-jsx-runtime, which requires this extension at version 3.12 or later for exactly that option: the record described the transpile step and said nothing about JSX, so the dependency was visible from one side only. The sentence rests on this package's own README, which says of the option that it "includes the `@babel/plugin-transform-react-jsx` into Babels plugin configuration to transform JSX/TSX syntax into JavaScript" (read 2026-10-19). The version the option arrived in is not stated there, so it stays on the requiring edge where the sentence that gives it lives, and nothing here names the runtime, which this README does not mention.Build and dev-server tooling
ui5pluginentry revisedListed on bestofui5.org as ui5plugin and not yet in the atlas. Read from the repository README and package.json (name ui5plugin, displayName SAPUI5 Extension, version 1.21.1, Apache-2.0, engines vscode ^1.86.0) and the Marketplace page (identifier iljapostnovs.ui5plugin, description "Extension for working with UI5 projects"). The npm name ui5plugin is unpublished, so no npm link. No part_of edge: the README says the extension uses the parser and linter packages, which is a dependency and not a statement that they are parts of it. No capability for editor support on the UI5 door exists, so only linting is claimed.Linting
ui5plugin-linterentry revisedListed on bestofui5.org and not yet in the atlas. Read from the repository README (https://github.com/iljapostnovs/ui5plugin-linter): "Command Line Linter for UI5 based projects."; the install,
--rmcache and --format commands; the JS/TS, XML and properties checks; and "It is possible to add config for ui5plugin-parser as well." The npm record for 1.17.1 gives the bin ui5linter, Apache-2.0 and the ui5plugin-parser 1.10.1 dependency. It is a different tool from SAP's UI5 linter (github.com/UI5/linter), which the graph does not hold as an artifact.Lintingui5plugin-parserentry revisedListed on bestofui5.org and not yet in the atlas. Read from the repository README (https://github.com/iljapostnovs/ui5plugin-parser): "Parser package for UI5 based projects"; "Initialization process reads the metadata of standard SAPUI5 classes and parses all projects in CWD"; "UIClass will have class metadata such as fields, methods, properties, aggregations, associations, events etc."; "Primarely used by
ui5plugin-linter package and Visual Studio Code SAPUI5 Extension"; "nested projects are not supported anymore"; and the npm record for 1.10.1 (Apache-2.0, author Ilja Postnovs). No provides edge: the README describes a parser, and none of the capabilities in the graph is a parsing library. Distribution through npm rests on the registry record alone, since the README gives no install command.Sat 17
abap2UI5 Layout Editoradded to the atlasDrag-and-drop UI5 view editor that writes an abap2UI5 app classGenerators
Building Secure SAPUI5 Applications: Best Practices for Developersexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Linting
Create Automated System Tests for SAP Cloud Application Programming Model Projectsexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Testing
debug a CAP app with UI5 TypeScript UI component with VS Codeexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Debugging
Show 3 more
Lintingdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.cap. Maintainer-requested scope audit.Linting
Migrate your code with UI5 linter – Autofix has landedexplains revisedDoor scope proposed from the title and summary, so a door page lists the piece only where it holds (docs/concepts/content-on-doors.md).Linting
TypeScript supportdescription revisedKeep the default capability wording neutral; preserve the previous wording in framing_by_ecosystem.ui5. Maintainer-requested scope audit.TypeScript support
Fri 16
open-steamgateadded to the atlasLocal ABAP server serving /IWBEP/ OData v2 without an SAP system
Thu 15
karma-ui5-transpilelifecycle, provides[capability:ui5-testing], description revisedThe 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 testing
UI5 testingcore coverage, coverage by flavor, framing by flavor, facets revisedTwo questions the options' own documentation answers and a reader asks first: which level of the suite a tool is for, and whether it produces a coverage report. Three more were researched and left out. Whether a tool reaches an app served elsewhere would have been stated yes by two options and by nobody as a no, so it would have separated rows by absence, which absence does not mean. The automation libraries a tool drives are named by one option only. Declared maturity is the lifecycle field on the artifact, not a column here.UI5 testing
ui5-test-runnerdescription, provides[capability:ui5-testing] revisedBoth are stated by the documentation in its own words: QUnit pages are labelled unit tests and OPA5 pages integration tests, and coverage is documented for both modes. Version 6 turns coverage off by default, which is a setting and not a change to whether it is available.UI5 testing
wdio-ui5-servicedescription, provides[capability:ui5-testing], links revisedThe documentation site SAP's own testing page links to as the wdi5 home page, and where the authentication and running pages read for this assessment are published.UI5 testing
Wed 14
TypeScript supportcoverage by flavor revisedThe library is an entry in the graph and provides this capability, so both paragraphs name it by its package name and link the entry, which the 2026-09-14 reasons above said did not exist yet. The two outward addresses they used are the organisation the project has left: github.com/SAP/ui5-webcomponents redirects to github.com/UI5/webcomponents. The React wrapper is not an entry, so it keeps an outward link, at the address its own published package names, github.com/UI5/webcomponents-react. No claim changed: the typescript-support page still reads "TypeScript Support is enabled for both component development and component consumption" and still dates stable definitions to 1.19.0, read again on 2026-10-14. Who provides the capability was not surveyed again, so the state and assessed_at stand.TypeScript support
Fri 2
@satiroglu/kaevdescription, source available, provides revisedkaev.org groups one of its four categories as "Performance & OData" and the rule reference carries the rows behind it, so the tool answers frontend performanceFrontend performanceFinding why a browser UI is slow to start or to respond, and what to change: how many requests it sends and whether they block each other, how large its bundles are, and which OData round trips it waits on. Distinct from query profiling, which starts at the service and the database rather than at the browser's network log.SAP and community, unassessed as well as lintingLintingCatching 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.SAP and community, narrow by design, by static rule over the project's own code. That capability's reading says the core stops at configuration and the build and sends the reader to the browser's developer tools for the network log, which is the half these rules read statically instead. It was assessed core-only on 2026-09-14 and holds no provides edge from any artifact today, so this is the first one on it, and the state needs the same re-assessment as linting's.Linting
Thu 1
@satiroglu/kaevdescription revisedThe manifest condition was not the README's claim. It states "The official UI5 Linter adapter currently applies to application roots" and "Integrates the official
@ui5/linter in a restricted child process", so the condition came out and the child process went in. All seven sources were re-read on 2026-10-01 and every quote still stands word for word; 0.3.0, published 2026-09-30, is still the latest version, and github.com/satiroglu/kaev returned 404 again.LintingWed 30
@satiroglu/kaevadded to the atlasRule-based checker for SAPUI5 and OpenUI5 projectsLinting
ui5-test-runneradded to the atlasCommand line running UI5 QUnit and OPA tests in parallelUI5 testing
@satiroglu/kaeventry revisedHanded over as three URLs. Typed
cli because what is published is a command with a kaev bin entry, run in a project directory rather than installed into a UI5 build; independent because the site states "Independent developer tool. Not affiliated with or endorsed by SAP." It answers lintingLintingCatching 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.SAP and community, narrow by design on the UI5 door, where the graph already reads UI5 linter as the core's answer and KAEV's own documentation names that linter as something it runs alongside its own rules — and it would be the first provider that capability holds on that door, whose coverage was assessed core-only on 2026-09-14 with a note saying the graph holds no UI5 provider. No repo link: the repository field of the npm record points at github.com/satiroglu/kaev, which still returned 404 on 2026-09-30, so the entry is reachable through npm, the site and the documentation. when_not_to_use states the proprietary licence and the heuristic disclaimer, both from the maker's own pages; identity.license is "Proprietary" because the npm record says "SEE LICENSE IN LICENSE" and the licence page says no open-source licence is granted.LintingTue 29
ui5-tcode-finderadded to the atlasBrowser page searching SAP transaction codes
ui5-tcode-finderentry revisedStaged with the capability Finding a transaction code, drafted in the same batch because the corpus held no concern for it. ecosystem: abap is a placement rather than a stated fact: the repository is an OpenUI5 and TypeScript application, but its subject is the transaction codes of a classic SAP system and the only stack its features name is SAP GUI for HTML. serves_ecosystems: ui5 rests on the overview sentence naming the T-Codes a UI5 or Fiori project needs. use_as: reference because it is consulted at its own address rather than installed into a project.
Sun 27
ui5-middleware-capdescription, provides, alternative to, compat, requires, identity revisedThe 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.Build and dev-server tooling