ui5-tooling-transpile
A 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.
A UI5 project written in modern syntax or TypeScript needs that code transpiled before the UI5 loader can run it. This CLI extension supplies that step, described as UI5 CLI extensions to transpile code. Its transformJSX option puts @babel/plugin-transform-react-jsx@babel/plugin-transform-react-jsxBabel's JSX transform. It compiles the JSX in a UI5 project's .tsx files into the _jsx and _jsxs calls that @ui5-community/jsx-runtime turns into UI5 control constructors, and is installed as an optional peer at version 7. into the Babel plugin configuration, so JSX and TSX syntax is transformed in the same step rather than in a hand-written Babel configuration beside it.
Facts
Where it sits
Who is behind it
In the atlas: maintains 69@ui5-communitymaintainerAustin DevineContributes to this
In the atlas: maintains 7, contributes to 25@devineaDimitar FenerskiContributes to this
In the atlas: contributes to 23@dfenerskiDominik FeiningerContributes to this
In the atlas: contributes to 11@dominikfeiningerDirk TeufelContributes to this
In the atlas: contributes to 19@drktflFlorian VogtContributes to this
In the atlas: contributes to 50, wrote 2@flovogtPeter MuessigContributes to this
In the atlas: maintains 14, contributes to 80, wrote 1@petermuessig6 contributors
What it declares
Every artifact
- Type
- Build tool
- Origin
- By a community org
As a build tool
- Distributed through
- npm
Connections
Serving an app locally and building it for deployment
Plugin-based JSX runtime for UI5 views written as .tsx
Karma preprocessor transpiling UI5 sources via ui5-tooling-transpile
Download
Install
npm add ui5-tooling-transpileDerived from the package name. No recipe recorded; the README has the configuration.
Learn more
- UI5 Views, Reimagined: Type-Safe TSX for a Modern Dev ExperienceUI5 Views, Reimagined: Type-Safe TSX for a Modern Dev ExperienceA Devtoberfest 2026 session on @ui5-community/jsx-runtime, 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 support 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-transpile 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.published 2026-10-09Peter Muessig, YouTube — SAP Developers playlists
README
quoted from ui5-community/ui5-ecosystem-showcase under Apache-2.0, readUI5 CLI Extension for Transpiling JS/TS
👋 This is an open‑source, community‑driven project, developed and actively monitored by members of the UI5 community. You are welcome to use it, report issues, contribute enhancements, and support others in the community.
The UI5 CLI extension provides a middleware and a task which transpiles JavaScript or TypeScript code to ES5 by using Babel. A default Babel configuration will be provided by the UI5 CLI extension unless a inline Babel configuration in the ui5.yaml or any Babel configuration as described at Babel config files will be provided.
The middleware handles by default all requests to .js-files. For JavaScript transpilation the matching .js-file or for TypeScript the matching .ts-file will be transpiled on-the-fly via Babel. The transpiled JavaScript file will inline the sourcemap. Because of the sourcemap, setting breakpoints in the original (ES6+ or TS) source will cause the debugger to stop when the corresponding transpiled source code is reached.
The task finally transpiles the relevant source files during the UI5 CLI build process. In case of TypeScript is enabled, for libraries, the task also generates the d.ts-files. For applications, this option can be enabled on demand.
Prerequisites
- Requires at least
@ui5/cli@3.0.0(to supportspecVersion: "3.0")
⚠️ UI5 CLI Compatibility All releases of this UI5 CLI extension using the major version
3require UI5 CLI V3. Any previous releases below major version3(if available) also support older versions of the UI5 CLI. But the usage of the latest UI5 CLI is strongly recommended!
Install
npm install ui5-tooling-transpile --save-dev
If you want the ui5-tooling-transpile to add it's configuration to the ui5.yaml, just add the command line argument -rte or --register-tooling-extension:
npm install ui5-tooling-transpile --save-dev -rte
Configuration options (in $yourapp/ui5.yaml)
-
debug:
boolean
enable detailed logging (can be even more verbose by using the--verboseargument) -
babelConfig:
String|Objectpath to the babel config file or object to use as configuration for babel instead of the babel configuration from the file system (as described at Babel config files), or the default configuration defined in this middleware (just using the@babel/preset-env) -
includes:
String<Array>(old alias: includePatterns) array of paths your application to include in transpilation, e.g./modern-stuff/. By default matched as substrings; setuseGlobPatterns: trueto match them as glob patterns. -
excludes:
String<Array>(old alias: excludePatterns) array of paths your application to exclude from transpilation, e.g. 3-rd party libs in/lib/. By default matched as substrings; setuseGlobPatterns: trueto match them as glob patterns. -
useGlobPatterns:
boolean(defaults tofalse) when enabled,includes/excludes(and theirincludePatterns/excludePatternsaliases) are matched as glob patterns via minimatch instead of the classic substring matching — aligning the syntax with other UI5 tooling extensions (e.g.ui5-task-zipper). With this enabled, patterns must be written as globs, e.g.**/thirdparty/**or**/*.png(the built-in default excludes for images are globbed automatically). Keptfalseby default to preserve backward compatibility with existing substring configurations. -
filePattern:
Stringsource file pattern for the resources to transpile, defaults to.jsand will be changed to.tsif atsconfig.jsonfile is located in the project or by explicitly setting the configuration option transformTypeScript totrue(multiple file extensions can be handled by specifying mutliple extensions using the glob syntax, e.g.:.+(js|jsx)or.+(ts|tsx)) -
transformTypeScript:
boolean(old alias: transpileTypeScript) if enabled, the UI5 CLI extension transforms TypeScript sources; the default value is derived from the existence of atsconfig.jsonin the root folder of the project - if the file exists the configuration option istrueotherwisefalse; setting this configuration option overrules the automatic determination -
altTsConfig:
Stringspecify the location of an alternatetsconfig.jsonto use for the TypeScript transpilation step. Also the detection whether the project uses TypeScript is then using the alternatetsconfig.jsonfile -
generateTsInterfaces:
boolean|undefined(experimental feature) option requires a dependency to the@ui5/ts-interface-generatorwhen either the value of the option istrueorundefinedand the project is a TypeScript-based project or thetransformTypeScriptoption is set totrue- can be forced to be inactive by setting the option tofalse(only relevant for the middleware) -
generateTsInterfacesJsDoc:
String(none|minimal|verbose)(experimental feature) configures the amount of JSDoc which should be generated by the@ui5/ts-interface-generator. For details please check: https://github.com/SAP/ui5-typescript/tree/main/packages/ts-interface-generator#commandline-options -
generateDts:
booleanif enabled, the UI5 CLI extension will generate type definitions (.d.ts) files; by default for projects of typelibrarythis option is considered astrueand for other projects such asapplicationthis option is considered asfalseby default (is only relevant in case of transformTypeScript istrue) -
failOnDtsErrors:
booleanif enabled, the UI5 CLI extension will fail during the generation of type definitions (.d.ts) files; this option is considered asfalseby default (is only relevant in case of generateDts istrue) -
omitTSFromBuildResult:
booleanif enabled, the TypeScript sources will be omitted from the build result. This will disable the debugging support in the TypeScript sources (since the related source files aren't included anymore) -
omitSourceMaps:
booleanif enabled, the SourceMaps will not be generated for the JavaScript sources created from the TypeScript sources -
transpileDependencies:
boolean(experimental feature) if enabled, the middleware also transpile the sources from the dependencies which is needed for development scenarios when referring to other projects (this configuration option is ignored by the task) -
transformAtStartup:
boolean(experimental feature) if enabled, the resources will be transpiled at startup to avoid additional overhead for the first requests to the transpiled resources. -
skipBabelPresetPluginResolve:
boolean(experimental feature) if enabled, the babel presets and plugins will not be resolved by the UI5 CLI extension and babel itself will do it. This can cause babel presets or plugins not to be found in case of working in monorepos -
generateBabelConfig:
boolean|string(experimental feature) this option allows to generate the babel config file for the current project when the babel config file doesn't exist - this option is useful when you are using babel generation within a different tooling (like a native babel execution inside e.g. jest) to use the same configuration like when running the task or middleware; if the value is a string the UI5 CLI extension will assume to generate a file with the provided name
The following configuration options will only be taken into account if no inline babel configuration is maintained in the ui5.yaml as babelConfig or no external babel configuration exists in any configuration file as described in Babels configuration section:
-
targetBrowsers:
String(default:"defaults") first, the config will be looked up in thepackage.jsonbrowserslistproperty, second the config is searched in an external.browserlistrcfile and if nothing has been found, the targeted browsers can be defined with the shared browser compatibility config from browserslist within this configuration option; to transpile back to ES5 you can i.e. use the browserslist configuration:">0.2% and not dead" -
transformTypeScript:
boolean|Object(old:transpileTypeScript) includes the Babel presets@babel/preset-typescriptandbabel-preset-transform-ui5into Babels preset configuration (iftransformModulesToUI5is explicitely set tofalsethebabel-preset-transform-ui5will not be added to the presets); if the value is type ofObjectthe configuration option is considered to betrueand the configuration object will be used for the@babel/preset-typescript -
transformModulesToUI5:
boolean|Objectincludes thebabel-preset-transform-ui5into Babels preset configuration (included implicitly whentranspileTypeScriptis set totrueand this configuration option is omitted); if the value is type ofObjectthe configuration option is considered to betrueand the configuration object will be used for thebabel-preset-transform-ui5; this preset ensures that ES moduleimports will be transpiled to UI5 classicsap.ui.defineorsap.ui.requirecalls and ES UI5 classes to classic UI5 classes using theextendAPI -
transformAsyncToPromise:
boolean(old:transpileAsync) includes thebabel-plugin-transform-async-to-promisesinto Babels presert configuration which transpilesasync/awaitstatements intoPromises; otherwise Babel uses@babel/plugin-transform-regeneratorto transpileasync/awaitwithregenerator-runtimewhich isn't CSP compliant -
removeConsoleStatements:
boolean
includes the babel-plugin-transform-remove-console which removes the console statement from the transpiled code -
transformJSX:
boolean|Objectincludes the@babel/plugin-transform-react-jsxinto Babels plugin configuration to transform JSX/TSX syntax into JavaScript; this requires the optional peer dependency@babel/plugin-transform-react-jsxto be installed (if missing, a warning is logged and JSX/TSX will not be transformed); if the value is type ofObjectthe configuration option is considered to betrueand the configuration object will be used for the plugin (e.g.{ "runtime": "automatic", "importSource": "..." }); when enabled and no explicitfilePatternis configured, the defaultfilePatternis extended to also handlejsx/tsxfiles (.+(js|jsx)or.+(ts|tsx)) -
coverage:
boolean|Objectincludes thebabel-plugin-istanbulinto Babels plugin configuration to instrument the code for coverage collection; this requires the optional peer dependencybabel-plugin-istanbulto be installed (if missing, a warning is logged and the code will not be instrumented); if the value is type ofObjectthe configuration option is considered to betrueand the configuration object will be used for the plugin; the plugin is added last so that it instruments the already transformed source
⚠️ When using
builder>settings>includeDependencyto add references to other projects (libraries, modules, ...) which also require a Babel transformation, the Babel configuration lookup or thetsconfig.jsonlookup will take place relative to the current working directory. If you want to ensure to use project local configurations in this case, inline the Babel configurationbabelConfigand thetransformTypeScript(withtrue=TS orfalse=JS) switch explicitly in theui5.yaml.
Usage
By default, the UI5 CLI extension is configuration free and works out-of-the-box. The programming language is derived from the existence of the tsconfig.json in the project root.
Define the dependency in $yourapp/package.json:
"devDependencies": {
// ...
"ui5-tooling-transpile": "*"
// ...
}
Register the task and middleware in your $yourapp/ui5.yaml:
builder:
customTasks:
- name: ui5-tooling-transpile-task
afterTask: replaceVersion
[...]
server:
customMiddleware:
- name: ui5-tooling-transpile-middleware
afterMiddleware: compression
That's it. Now you can transpile your sources with the help of Babel.
Advanced Options
Configuration options are added in the configuration section. For JavaScript projects, ensure that no tsconfig.json is present in the project root. This would turn the UI5 CLI extension into the TypeScript mode.
Example configuration for a JavaScript project without external Babel configuration which removes console statements and exclude specific paths:
builder:
customTasks:
- name: ui5-tooling-transpile-task
afterTask: replaceVersion
configuration:
debug: true
removeConsoleStatements: true
excludePatterns:
- "lib/"
- "another/dir/in/webapp"
- "yet/another/dir"
[...]
server:
customMiddleware:
- name: ui5-tooling-transpile-middleware
afterMiddleware: compression
configuration:
debug: true
removeConsoleStatements: true
excludePatterns:
- "lib/"
- "another/dir/in/webapp"
- "yet/another/dir"
Example configuration for a TypeScript project without external Babel configuration which transforms async/await to Promises and removes console statements:
builder:
customTasks:
- name: ui5-tooling-transpile-task
afterTask: replaceVersion
configuration:
debug: true
transformAsyncToPromise: true
removeConsoleStatements: true
[...]
server:
customMiddleware:
- name: ui5-tooling-transpile-middleware
afterMiddleware: compression
configuration:
debug: true
transformAsyncToPromise: true
removeConsoleStatements: true
Support
Please use the GitHub bug tracking system to post questions, bug reports or to create pull requests.
Contributing
Any type of contribution (code contributions, pull requests, issues) to this set of UI5 CLI extensions will be equally appreciated.
License
This work is licensed under Apache 2.0.
Built with care (and a lot of caffeine). If this helped you build, test, or ship, the next coffee — or drink — is on you when you bump into a contributor.
History
Fixes 1
Notes
Patch Changes
-
#1435
6dd8c9bThanks @petermuessig! - chore(ui5-tooling-transpile): update browserslist to 4.28.8Bumps the
browserslistdependency from^4.28.2to^4.28.8to pick up the latest 4.28.x patch release. All workspace consumers now dedupe onto a single4.28.8resolution.
Features 1
Notes
Minor Changes
-
#1430
9aae380Thanks @petermuessig! - feat(ui5-tooling-transpile): adduseGlobPatternsflag for globincludes/excludesAdds a
useGlobPatternsboolean option (defaultfalse). When enabled, theincludes/excludesoptions (and theirincludePatterns/excludePatternsaliases) are matched as glob patterns viaminimatchinstead of the classic substring matching, aligning the syntax with other UI5 tooling extensions (e.g.ui5-task-zipper). With the flag enabled, patterns must be written as globs (e.g.**/thirdparty/**,**/*.png) and the built-in image default excludes are globbed automatically. The default remains substring matching, so existing configurations are unaffected.
-
Features 1
Notes
Minor Changes
- #1414
2e64891Thanks @petermuessig! - Add native JSX/TSX transformation and coverage instrumentation support.- New
transformJSXconfiguration option (boolean|Object) enables the optional peer dependency@babel/plugin-transform-react-jsxto transform JSX/TSX syntax. When the value is an object, it is passed through as the plugin's options (e.g.runtime,importSource). When enabled and no explicitfilePatternis set, the default file pattern is extended to also handlejsx/tsxfiles (.+(js|jsx)or.+(ts|tsx)). - New
coverageconfiguration option (boolean|Object) enables the optional peer dependencybabel-plugin-istanbulto instrument the transpiled code for coverage collection. When the value is an object, it is passed through as the plugin's options. - Both plugins are only added when the respective configuration option is present/truthy AND the optional dependency can be resolved; otherwise a warning is logged and transpilation continues without the plugin. Both are declared as optional
peerDependencies.
- New
- #1414
Fixes 1
Notes
Patch Changes
-
#1382
ca396ebThanks @petermuessig! - fix(ui5-tooling-transpile): preserveexportmodifier on top-level declarations in generated.d.tsfilesWhen the task generates
.d.tsfiles for a TypeScript library it wraps the original source indeclare module "<fqn>" { ... }so the emitted type definition references the fully-qualified UI5 module name. TSC's d.ts emitter however strips theexportmodifier from declarations inside an ambient module body, turning previously-exportedtype/enum/interface/class/function/const/let/var/namespacedeclarations into module-private symbols that consumers can no longer import.The task now post-processes the emitted d.ts: it collects the names that were re-exported in the original source and re-prepends
exportto the matching top-level declarations inside the wrapped module body. Names that were never exported in the source remain module-private as before.Fixes #1380.
-
Fixes 1
Notes
Patch Changes
- #1370
dd71c42Thanks @petermuessig! - Bump runtime dependencies to clear open dependabot alerts and pick up upstream patch releases:cds-plugin-ui5:semver^7.8.0 → ^7.8.1ui5-middleware-approuter:@sap/approuter^22.0.0 → ^22.0.1ui5-middleware-serveframework:node-fetch^2.7.0 → ^3.3.2ui5-middleware-websocket:ws^8.20.1 → ^8.21.0ui5-task-copyright:@typescript-eslint/typescript-estree^8.59.3 → ^8.60.0ui5-tooling-transpile:@babel/core,@babel/preset-env,@babel/preset-typescript→ ^7.29.7
All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
- #1370
Notes
Note: Version bump only for package ui5-tooling-transpile
Notes
Note: Version bump only for package ui5-tooling-transpile
Notes
Note: Version bump only for package ui5-tooling-transpile
Notes
Note: Version bump only for package ui5-tooling-transpile
Notes
Note: Version bump only for package ui5-tooling-transpile
Features 3
Notes
Note: Version bump only for package ui5-tooling-transpile
Notes
Note: Version bump only for package ui5-tooling-transpile
Notes
Note: Version bump only for package ui5-tooling-transpile
Notes
Note: Version bump only for package ui5-tooling-transpile
Notes
Note: Version bump only for package ui5-tooling-transpile
Notes
Note: Version bump only for package ui5-tooling-transpile
Notes
Note: Version bump only for package ui5-tooling-transpile
Notes
Note: Version bump only for package ui5-tooling-transpile
Features 1, Fixes 4
Notes
Note: Version bump only for package ui5-tooling-transpile
Notes
Note: Version bump only for package ui5-tooling-transpile
Notes
Note: Version bump only for package ui5-tooling-transpile
Notes
Note: Version bump only for package ui5-tooling-transpile
Notes
Note: Version bump only for package ui5-tooling-transpile
Notes
Note: Version bump only for package ui5-tooling-transpile
Others providing
Compare all 42 on the Build and dev-server tooling page →- UI5 ToolsUI5 ToolsA VS Code extension for UI5 developers that serves, proxies, builds and deploys UI5 projects from one workspace-wide configuration, with live reload, a Gateway deployer and a BSP importer.independent, ui5VS Code extension to serve, proxy, build and deploy UI5 projects
- ui5-middleware-route-proxyui5-middleware-route-proxyA UI5 server middleware that forwards requests matching a route prefix to a backend host, configured per route in ui5.yaml, with credentials read from a .env file rather than the yaml.independent, ui5UI5 server middleware proxying route prefixes to a backend
- ui5-task-cachebuster-indexingui5-task-cachebuster-indexingA UI5 builder task that copies the build output into a timestamped folder inside dist so the UI5 cachebuster can resolve it; it supports timestamps only, not the hash mode.independent, ui5UI5 builder task preparing build output for the cachebuster
- ui5-task-transpile-genui5-task-transpile-genA UI5 builder task that transpiles ES6 to ES5, including async/await, with Babel at build time, registered in ui5.yaml with a bundle definition that includes the regenerator runtime.independent, ui5UI5 builder task transpiling ES6 to ES5 with Babel
- ui5-middleware-odata-recorderui5-middleware-odata-recorderA UI5 server middleware that records the OData traffic a running app makes against a real backend and writes entity JSON files and metadata.xml that the Fiori elements mock server can replay.independent, ui5UI5 middleware recording OData traffic as mock server datasets
- ui5-plugin-loaderui5-plugin-loaderA UI5 Tooling v4 extension that registers a project's other extensions itself: one entry in ui5.yaml, and every dependency carrying a ui5-plugin-loader.json manifest is mounted as middleware and as a build task.independent, ui5UI5 Tooling v4 extension that registers other extensions
- ui5-deployerui5-deployerA custom module for UI5 Tooling that deploys Fiori/UI5 apps to SAP NetWeaver ABAP, SAP Cloud Platform Neo or Cloud Foundry, configured in a deployer section of ui5.yaml.independent, ui5UI5 Tooling module deploying Fiori/UI5 apps to SAP systems
- ui5-task-dts-generatorui5-task-dts-generatorA UI5 builder task that generates d.ts files, TypeScript type declarations, during the build of a UI5 library written in JavaScript, by wrapping @ui5/dts-generator.independent, ui5UI5 builder task generating d.ts type declarations
- ui5-task-minifierui5-task-minifierA UI5 builder task that minifies the HTML, CSS and JSON files the UI5 builder leaves as they are, with one switch per file type, using html-minifier-terser and clean-css.independent, ui5UI5 builder task minifying HTML, CSS and JSON files
- ui5-middleware-oidcui5-middleware-oidcA UI5 Tooling server middleware that puts an OpenID Connect login in front of the UI5 dev server, built on express-openid-connect, which receives its configuration block as written.independent, ui5UI5 dev server middleware adding an OpenID Connect login
- generator-ui5-library-af-deploygenerator-ui5-library-af-deployA Yeoman generator that writes the SAP BTP Application Frontend deployment configuration, mta.yaml, ui5-deploy.yaml, xs-app.json and xs-security.json, into an existing UI5 library project.independent, ui5Yeoman generator for Application Frontend config in UI5 libraries
- ui5-middleware-destinationui5-middleware-destinationA UI5 Tooling server middleware that proxies requests to backends named in WebIDE-style destination files and serves the routes of a neo-app.json, with Basic Authentication only.independent, ui5UI5 Tooling middleware proxying destinations and neo-app.json routes
- ui5-task-check-eocpui5-task-check-eocpA UI5 builder task that matches the UI5 version in ui5.yaml against the versions retrieved from ui5.sap.com and warns during the build once that version's End of Cloud Provisioning quarter has been reached.independent, ui5UI5 build task warning when the app's UI5 version reaches EOCP
- @ui5/cli@ui5/cliThe UI5 Tooling command line for project setup, the local dev server and the build, which defines a UI5 project's shape and its two extension points, custom middleware and custom tasks.sap official, ui5UI5 Tooling command line for project setup, dev server and build
- ui5-task-btp-manifestui5-task-btp-manifestA UI5 Tooling custom task that writes the surrounding app's sap.cloud service name into the bundled Spreadsheet Importer's manifest at build time, so the two match on SAP BTP.community org, ui5UI5 Tooling task writing the service name into the importer manifest
- ui5-middleware-approuterui5-middleware-approuterA UI5 CLI middleware that puts @sap/approuter in front of the UI5 dev server, proxying it to Cloud Foundry or XS Advanced destinations during development.community org, ui5UI5 CLI middleware proxying the dev server through @sap/approuter
- ui5-middleware-capui5-middleware-capA UI5 CLI middleware that runs a CDS server inside the UI5 dev server, mounted at a path the UI5 project configures, so one command serves the app and its CAP services.community org, ui5UI5 CLI middleware running a CDS server inside the UI5 dev server
- ui5-middleware-hmrui5-middleware-hmrAn experimental UI5 middleware for hot module replacement, swapping a changed module in during development instead of reloading the whole page.community org, ui5Experimental UI5 middleware for hot module replacement
- ui5-middleware-iasyncui5-middleware-iasyncA UI5 dev-server middleware built on browsersync.io that syncs user interactions across connected browsers over a websocket, replaying an action from one browser in the others for manual testing.community org, ui5UI5 middleware syncing interactions across browsers over websocket
- ui5-middleware-indexui5-middleware-indexA UI5 dev-server middleware that delivers a configured welcome page, index.html by default, for the root path instead of the ui5-server directory listing.community org, ui5UI5 middleware serving a chosen welcome page at the root path
- ui5-middleware-livereloadui5-middleware-livereloadA dev-server middleware that adds live reload to the UI5 dev server, reloading the page when the sources in the app's webapp folder change.community org, ui5Live reload middleware for the UI5 dev server
- ui5-middleware-oneloginui5-middleware-oneloginA UI5 dev-server middleware that logs into a system such as SAP Gateway with headless Playwright on the first request and reuses the session cookie for every later request.community org, ui5UI5 middleware logging in with Playwright and reusing the session
- ui5-middleware-serveframeworkui5-middleware-serveframeworkA UI5 middleware that serves a UI5 framework built on the local machine to the dev server, in place of a framework version resolved another way.community org, ui5UI5 middleware serving a locally built UI5 framework
- ui5-middleware-servestaticui5-middleware-servestaticA UI5 dev-server middleware that serves static resources from a filesystem path or an installed npm package path, built on serve-static, with either path settable through an environment variable.community org, ui5UI5 middleware serving static resources from a path or npm package
- ui5-middleware-simpleproxyui5-middleware-simpleproxyA UI5 dev-server middleware that proxies requests from the local dev server to a backend system, so the app can reach the backend's services during development.community org, ui5Dev-server middleware proxying requests to a backend system
- ui5-middleware-ui5ui5-middleware-ui5A UI5 middleware that lets one UI5 application be included as a dependency of another and served through that application's dev server.community org, ui5UI5 middleware including one UI5 application in another
- ui5-middleware-webjarsui5-middleware-webjarsA UI5 dev-server middleware that loads JAR files from a configured path and serves the static resources bundled inside them, following the WebJars convention of META-INF/resources/.community org, ui5UI5 middleware serving static resources from JAR files (WebJars)
- ui5-middleware-websocketui5-middleware-websocketUI5 middleware utilities that add WebSocket support to Express-based dev servers such as the UI5 server, which has no WebSocket channel of its own.community org, ui5WebSocket support for Express-based dev servers such as UI5's
- ui5-task-cachebusterui5-task-cachebusterA UI5 builder task that cachebusts a standalone UI5 application by moving its build output into a timestamped subfolder and pointing index.html's resource roots at it.community org, ui5UI5 builder task cachebusting standalone UI5 applications
- ui5-task-copyrightui5-task-copyrightA UI5 builder task that appends copyright headers to TypeScript, JavaScript and XML files on every build, so the header is not added to each source file by hand.community org, ui5UI5 builder task appending copyright headers to source files
- ui5-task-flatten-libraryui5-task-flatten-libraryA UI5 builder task that flattens a library's build output, removing the project namespace and resources folder for deployment to SAP NetWeaver, now also offered by the UI5 CLI itself.community org, ui5UI5 builder task flattening library output for SAP NetWeaver
- ui5-task-i18ncheckui5-task-i18ncheckA UI5 builder task that cross-checks every XML view against the app's i18n properties files and logs a warning where a translation is missing; views created in JavaScript are not checked.community org, ui5UI5 builder task checking XML views for missing i18n texts
- ui5-task-minify-xmlui5-task-minify-xmlA UI5 builder task that minifies XML resources such as views and fragments, which a plain UI5 build otherwise ships unminified.community org, ui5UI5 builder task minifying XML views and fragments
- ui5-task-pwa-enablerui5-task-pwa-enablerA UI5 builder task that turns a UI5 application into a progressive web app by generating a web manifest and a service worker under one of five caching strategies.community org, ui5UI5 builder task turning a UI5 app into a progressive web app
- ui5-task-zipperui5-task-zipperA build task for the UI5 tooling that packages the UI5 build result, the webapp, as a zip archive at the end of the build.community org, ui5Build task packaging the UI5 build result as a zip archive
- ui5-tooling-lessui5-tooling-lessA UI5 CLI extension, a build task and a dev-server middleware, that compiles an app's Less files into CSS at build time and live while the UI5 server runs.community org, ui5UI5 CLI extension compiling Less files into CSS
- 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, ui5UI5 tooling extensions loading npm packages as UI5 modules
- ui5-tooling-stringreplaceui5-tooling-stringreplaceA UI5 CLI extension for string replacement during the build, for placeholders or tokens in source files that have to be replaced at build time.community org, ui5UI5 CLI extension for string replacement during the build
- @ui5/logger@ui5/loggerUI5 CLI's internal logger, described by its own readme as internal — it appears here because other UI5 tooling depends on it.sap official, ui5Internal logger of the UI5 CLI
- @ui5/middleware-code-coverage@ui5/middleware-code-coverageUI5 CLI server middleware that instruments a project's JavaScript files with Istanbul as the dev server sends them, and generates the coverage report from the records the OpenUI5 QUnit tests send back.sap official, ui5UI5 CLI middleware for Istanbul code coverage
- @ui5/tooling-webc@ui5/tooling-webcDeprecated UI5 Tooling extensions that generate UI5 library wrapper projects for UI5 Web Components and serve them during development; the README points to ui5-tooling-modules instead.sap official, ui5Deprecated UI5 Tooling extensions for UI5 Web Components wrappers
Details
Sources
Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.
Compatibility and provenance
History in the atlas
- the `transformJSX` option and the Babel plugin it adds
- First seen.
For your agent
- Ref
artifact:ui5-community-ui5-tooling-transpile- JSON
- /artifacts/ui5-community-ui5-tooling-transpile.json
- MCP
- Connecting an agent