{"ref":"artifact:lemaiwo-ui5-control-generator","page":"/artifacts/lemaiwo-ui5-control-generator","json":"/artifacts/lemaiwo-ui5-control-generator.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"lemaiwo-ui5-control-generator","name":"ui5-control-generator","artifact_type":"generator","ecosystem":"ui5","domain":"developer-experience","origin_ring":"independent","description":{"one_line":"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.","short":"Command line generator of UI5 custom controls from html","what_it_solves":"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."},"links":{"npm":"https://www.npmjs.com/package/ui5-control-generator","repo":"https://github.com/lemaiwo/ui5-control-generator"},"identity":{"author":"Wouter Lemaire","license":"MIT"},"source_available":true,"type_properties":{"generates":{"value":["component"],"sources":[{"url":"https://registry.npmjs.org/ui5-control-generator","title":"ui5-control-generator — npm","checked":"2026-10-19","quote":"UI5 Control generator based on html"},{"url":"https://raw.githubusercontent.com/lemaiwo/ui5-control-generator/main/README.md","title":"ui5-control-generator — README, command line options","checked":"2026-10-19","quote":"Namespace of your UI5 project (including the projectname)"}]},"invoked_by":{"value":["cli"],"sources":[{"url":"https://github.com/lemaiwo/ui5-control-generator","title":"ui5-control-generator — README","checked":"2026-10-19","quote":"npx ui5-control-generator --ns <namespace>"}]}},"provides":[{"capability":"capability:generators","what_it_does":"Generates UI5 custom control files from html found in the project, as JavaScript or TypeScript, with logic and renderer split into two files by default.","sources":[{"url":"https://registry.npmjs.org/ui5-control-generator","title":"ui5-control-generator — npm","checked":"2026-10-19","quote":"UI5 Control generator based on html"},{"url":"https://github.com/lemaiwo/ui5-control-generator","title":"ui5-control-generator — README, options","checked":"2026-10-19","quote":"Split Control logic and renderer in two files, default will split."}]},{"capability":"capability:ui5-custom-controls","what_it_does":"Produces the custom control classes of a UI5 project from html, so the control scaffolding is not typed by hand.","sources":[{"url":"https://github.com/lemaiwo/ui5-control-generator","title":"ui5-control-generator — README","checked":"2026-10-19","quote":"UI5 Control Generator"},{"url":"https://github.com/lemaiwo/ui5-control-generator","title":"ui5-control-generator — README, options","checked":"2026-10-19","quote":"to define a specific folder to search for html files"}]}],"maintainers":["actor:lemaiwo"],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-10-19"},"contributors":["actor:lemaiwo"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"poor","evidence":"29 months since release"},{"label":"Continuity","tier":"fair","evidence":"one contributor, personally owned"},{"label":"Repository","tier":"poor","evidence":"pushed 2024-05, not archived"}],"compatibility":[{"label":"Declared for","tier":"unknown","evidence":"no UI5 release lines in the atlas"},{"label":"Survived majors","tier":"unknown","evidence":"no UI5 release lines in the atlas"},{"label":"Maintainer's CI","tier":"fair","evidence":"workflows present, no completed run on the default branch"}],"practice":[{"label":"Tests","tier":"good","evidence":"npm test"},{"label":"Docs","tier":"fair","evidence":"README 2 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":2,"unit":"installs/week"},{"value":5,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-25","latest_version":"1.0.6","majors":{"1":{"version":"1.0.0","date":"2022-08-05"}},"license":"MIT","first_release":"2022-08-05","last_release":"2024-05-15","releases":7,"cadence_days":8,"maintainers":1,"repository":"git+https://github.com/lemaiwo/ui5-control-generator.git","repository_directory":null,"peer_cds":null,"dependencies":6,"node_engine":null,"test_script":true,"types":false,"downloads_weekly":2,"downloads_monthly":16,"stars":5,"forks":0,"open_issues":0,"archived":false,"pushed_at":"2024-05-15","license_spdx":"Apache-2.0","org_owned":false,"default_branch":"main","created_at":"2022-08-03T22:58:41Z","open_prs":0,"tree_truncated":false,"test_files":0,"workflows":1,"other_ci":false,"readme_bytes":2103,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2022-08-03","last_commit":"2024-05-15","commits":31,"contributors":1,"readme_path":"README.md","readme_sha":"8eda2f89687af9de8fb254c121dd632d83e33d71","months_since_release":29,"dormant":true,"repo_read":"2026-10-25"},"release_notes":{"license":"Apache-2.0","quotable":true,"source":{"kind":"github-releases","url":"https://github.com/lemaiwo/ui5-control-generator/releases"},"format":"github-releases","releases":[{"version":"1.0.6","date":"2024-05-15","date_source":"github","heading":"Fix src attribute in ts renderer","url":"https://github.com/lemaiwo/ui5-control-generator/releases/tag/v1.0.6","sections":[],"hash":"e3b0c44298fc1c14"},{"version":"1.0.5","date":"2024-05-07","date_source":"github","heading":"Update TS version","url":"https://github.com/lemaiwo/ui5-control-generator/releases/tag/v1.0.5","sections":[],"hash":"e3b0c44298fc1c14"},{"version":"1.0.4","date":"2022-08-20","date_source":"github","heading":"Release with TypeScript support","url":"https://github.com/lemaiwo/ui5-control-generator/releases/tag/v1.0.4","sections":[],"hash":"e3b0c44298fc1c14","prerelease":true},{"version":"1.0.3","date":"2022-08-08","date_source":"github","heading":"Fix namespace ","url":"https://github.com/lemaiwo/ui5-control-generator/releases/tag/v1.0.3","sections":[],"hash":"e3b0c44298fc1c14","prerelease":true},{"version":"1.0.2","date":"2022-08-08","date_source":"github","heading":"New version with bug fixes","url":"https://github.com/lemaiwo/ui5-control-generator/releases/tag/v1.0.2","sections":[],"hash":"2d54d4f1d26b464f","prerelease":true},{"version":"1.0.1","date":"2022-08-05","date_source":"github","heading":"Publish new release","url":"https://github.com/lemaiwo/ui5-control-generator/releases/tag/v1.0.1","sections":[],"hash":"a38254a1b2a17d42","prerelease":true},{"version":"1.0.0","date":"2022-08-05","date_source":"github","heading":"Release first version of control generator","url":"https://github.com/lemaiwo/ui5-control-generator/releases/tag/v1.0.0","sections":[],"hash":"569bdba7a04e642e","prerelease":true}],"versions":[{"version":"1.0.6","date":"2024-05-15"},{"version":"1.0.5","date":"2024-05-07"},{"version":"1.0.4","date":"2022-08-20"},{"version":"1.0.3","date":"2022-08-08"},{"version":"1.0.2","date":"2022-08-08"},{"version":"1.0.1","date":"2022-08-05"},{"version":"1.0.0","date":"2022-08-05"}],"crawled_at":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:lemaiwo","name":"Wouter Lemaire","json":"/actors/lemaiwo.json"}],"contributors":[{"ref":"actor:lemaiwo","name":"Wouter Lemaire","json":"/actors/lemaiwo.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}