GeneratorGeneratortypeCreates a project, a component or configuration once, when you run it, rather than taking part in every build.See every one →What this type is →independently maintainedindependently maintainedoriginPublished by one person or a small company outside SAP. Says nothing about quality; the readings say that.See every one →

ui5-control-generator

A command-line generator that writes UI5 custom controls, in JavaScript or TypeScript, from the html files in a project, with control logic and renderer split into two files by default.

A UI5 custom control needs its metadata, its renderer and its wiring written by hand. This generator is run in the project with npx ui5-control-generator --ns <namespace>, where the namespace includes the project name, and it searches the project's folders for html files, or only the folder --path names. --type picks JavaScript or TypeScript, --split (on by default) writes control logic and renderer as two files, --overwrite (off by default) replaces files of the same name, and --loglevel runs from error to trace. The README's todo list names what is not done yet: detecting the namespace, taking property and attribute names from the html text, and an init and an onAfterRendering function for TypeScript. It links two demo apps, one in JavaScript and one in TypeScript.

Facts

Latestv1.0.6ReleasedLast pushLicenceApache-2.0

Where it sits

Lives in
Provides
GeneratorsUI5GeneratorscapabilityGetting 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.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.

Who is behind it

Wouter LemaireWouter LemairePersonMaintains this
In the atlas: maintains 25, contributes to 39, wrote 12
@lemaiwo
maintainer

Before choosing this

Signals

ActivityQuietRelease and repository quiet for 29 months

Both observable publication channels have been quiet for at least 24 full months. This may be normal for stable software; check whether its current state still fits your use.

What it declares

Every artifact

Type
Generator
Origin
Independently maintained

As a generator

Generates
A component in an existing project
Run with
Its own command
Distributed through
does not say

Connections2

Install

npm add ui5-control-generator

Derived from the package name. No recipe recorded; the README has the configuration.

README

quoted from lemaiwo/ui5-control-generator under Apache-2.0, read
lemaiwo/ui5-control-generator/README.mdOn GitHub

ui5-control-generator

UI5 Control Generator

Installation

npm install --save-dev ui5-control-generator

Usage

To start the generator, run:

npx ui5-control-generator --ns <namespace>
Commandline Options

This is the list of available commandline arguments, including the ones above:

  • --t, --type: Define the type of syntax, JavaScript or TypeScript
  • --ns, --namespace: Namespace of your UI5 project (including the projectname)
  • --p, --path: Optional parameter to define a specific folder to search for html files, default will search in all folders
  • --s, --split: Split Control logic and renderer in two files, default will split. Values can be true or false
  • --ow, --overwrite: Overwrite already existing files with the same name, default will not overwrite. Possible values can be true or false.
  • --loglevel: Set the console logging verbosity; options are: "error", "warn", "info", "debug", "trace"; default level is "info"
Demo app

Demo app available on GitHub https://github.com/lemaiwo/DemoCustomControlGenerator

Demo app TypeScript available on GitHub https://github.com/lemaiwo/TSDemoCustomControlGenerator

Todo

  • Detect UI5 namespace automatically
  • Automatically use the text in html for the names of properties and attributes
  • Add init function for TypeScript
  • Add onAfterRendering function for TypeScript
  • Fix error in onAfterRendering function for TypeScript
  • Automatically resolve errors after TypeScript files are generated
Apache-2.0, read

History

Latest

v1.0.6

  1. v1.0.5

  2. v1.0.4prerelease

  3. v1.0.3prerelease

  4. v1.0.2prerelease

    Notes

    Support for libraries + fix for subpaths

  5. v1.0.1prerelease

    Notes

    Fix running script via npx

  6. v1.0.0prerelease

    Notes

    Release first version of control generator to npm

2downloads per week, npm
Weekly downloads for ui5-control-generator26 complete calendar weeks from 2026-04-20 to 2026-10-18; the latest total is 2.20 Apr – 26 Apr: 827 Apr – 3 May: 104 May – 10 May: 1511 May – 17 May: 1218 May – 24 May: 2325 May – 31 May: 111 Jun – 7 Jun: 108 Jun – 14 Jun: 115 Jun – 21 Jun: 1822 Jun – 28 Jun: 329 Jun – 5 Jul: 206 Jul – 12 Jul: 2613 Jul – 19 Jul: 120 Jul – 26 Jul: 927 Jul – 2 Aug: 13 Aug – 9 Aug: 1910 Aug – 16 Aug: 917 Aug – 23 Aug: 424 Aug – 30 Aug: 931 Aug – 6 Sept: 17 Sept – 13 Sept: 2614 Sept – 20 Sept: 421 Sept – 27 Sept: 028 Sept – 4 Oct: 85 Oct – 11 Oct: 612 Oct – 18 Oct: 2

Others providing36

Generators
  1. abap2UI5 Layout EditorDrag-and-drop UI5 view editor that writes an abap2UI5 app class
  2. generator-ui5-react-nestYeoman generator for a UI5 app that loads a React app
  3. SAP Build CodeDevelopment environment on BTP for UI5, Fiori, mobile and CAP
  4. Joule in SAP Build CodeJoule's generative AI inside SAP Build Code
  5. @sap-ux/cap-config-writerWriter module for changing a CAP project's configuration from code
  6. @sap-ux/createCommand line for changing features of an existing Fiori project
  7. @sap-ux/fe-fpm-writerWriter of flexible programming model elements into Fiori elements apps
  8. @sap-ux/odata-service-writerWriter that adds an OData service to an existing UI5 project
  9. @sap-ux/ui5-application-writerWriter of the base structure of a UI5 project from Node code
  10. create-easy-ui5npm-init wrapper for the Easy-UI5 Yeoman generator
  11. create-wdi5npm initializer adding wdi5 testing to an existing UI5 app
  12. generator-easy-ui5Yeoman meta-generator for scaffolding UI5 projects
  13. generator-ui5-addYeoman generator for UI5 tooling-extension projects
  14. generator-ui5-appEasy-UI5 generator scaffolding a new UI5 application
  15. generator-ui5-controlYeoman generator for UI5 custom controls distributed via npm
  16. generator-ui5-library-webcYeoman generator for UI5 libraries wrapping UI5 Web Components
  17. generator-ui5-libraryEasy-UI5 generator scaffolding a new UI5 library
  18. generator-ui5-projectYeoman generator for UI5 projects holding several applications
  19. generator-ui5-ts-app-fclGenerator for a TypeScript UI5 FlexibleColumnLayout app on OData
  20. generator-ui5-ts-appEasy-UI5 generator scaffolding a TypeScript UI5 application
  21. generator-ui5-ts-libraryEasy-UI5 generator scaffolding a TypeScript UI5 library
  22. generator-ui5-wdi5Yeoman generator scaffolding wdi5 test configuration into a UI5 app
Custom controls and libraries
  1. custom-controlsThirteen custom UI5 controls for abap2UI5 apps
  2. @abap2ui5/embed-controlUI5 custom control that runs an abap2UI5 app inside a host app
  3. ui5-cc-timerbuttonUI5 control library with a button that delays enabling or showing
  4. @marianfoo/ui5-cc-dayjsUI5 custom control formatting dates with Day.js
  5. ui5-cc-pdfviewerUI5 custom control rendering a PDF from a base64 data URI
  6. openui5-passwordOpenUI5 password input with strength scoring and rules
  7. openui5-tourOpenUI5 control library for guided app tours
  8. ui5-lib-visualizationUI5 control library wrapping C3.js charts as ui5.viz controls
  9. UI5XUI5 library of eight composite controls under the ui5x namespace
  10. openui5-cameraUI5 control for live camera preview and PNG capture
  11. ui5-cc-chartUI5 custom control wrapping Chart.js for line charts
  12. ui5-cc-mdUI5 custom control rendering Markdown to HTML
  13. ui5-fontawesome-libUI5 library adding Font Awesome icon sets to sap-icon://
  14. openui5-paginatorA UI5 custom control that pages through large data in a table, for backends that serve pages over REST rather than OData.

Details

Sources4
Added by handdiscovered herechecked
npm registry, ui5-control-generatorversion, releases, installschecked
github.com/git+https://github.com/lemaiwo/ui5-control-generator.gittree, pushes, contributors, CIchecked
README.mdquoted, and what the entry declareschecked

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
latestv1.0.6
first release
releases and cadence7, ~8d median
discovered viaAdded by hand
first seen in the atlas
ecosystem and domainui5, developer-experience
History in the atlas1
  1. First seen.
For your agent
Ref
artifact:lemaiwo-ui5-control-generator
JSON
/artifacts/lemaiwo-ui5-control-generator.json
MCP
Connecting an agent