{"ref":"artifact:sap-samples-ui5-typescript-control-library","page":"/artifacts/sap-samples-ui5-typescript-control-library","json":"/artifacts/sap-samples-ui5-typescript-control-library.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"sap-samples-ui5-typescript-control-library","name":"SAP-samples/ui5-typescript-control-library","artifact_type":"sample","ecosystem":"ui5","use_as":"starting-point","domain":"developer-experience","origin_ring":"sap-official","description":{"one_line":"An example UI5 control library written in TypeScript, with its controls, themes, tests and the full tooling setup for TypeScript transpilation, build and linting.","short":"UI5 control library written in TypeScript with full tooling setup","what_it_solves":"The repository works through what changes when a UI5 control library moves from JavaScript to TypeScript: typed metadata, the constructor signatures the ts-interface-generator produces, enums that still need attaching to the global library namespace for the UI5 runtime to find them, and the tsconfig.json and ui5.yaml wiring that lets ui5-tooling-transpile do the transpilation. It also documents the reverse path, converting an existing JavaScript control library step by step. It stops at documentation and example code: it carries no support guarantee beyond issues and pull requests on the repository itself."},"links":{"repo":"https://github.com/SAP-samples/ui5-typescript-control-library"},"type_properties":{"form":{"value":"reference-application","sources":[{"url":"https://github.com/SAP-samples/ui5-typescript-control-library","title":"SAP-samples/ui5-typescript-control-library — README","checked":"2026-10-18","quote":"This is an example UI5 control library, implemented in TypeScript, including tests, themes (CSS/LESS files), a sample page for trying the control(s)"}]}},"identity":{"license":"Apache-2.0"},"source_available":true,"demonstrates":["capability:ui5-typescript"],"maintainers":["actor:sap-samples"],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-13"},"contributors":["actor:akudev","actor:btbernard","actor:petermuessig"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"good","evidence":"4 contributors, org-owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-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":"no CI configured"}],"practice":[{"label":"Tests","tier":"good","evidence":"5 test files"},{"label":"Docs","tier":"good","evidence":"README 19 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":17,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","npm":"not published under this name","stars":17,"forks":7,"open_issues":0,"archived":false,"pushed_at":"2026-05-28","license_spdx":"Apache-2.0","org_owned":true,"default_branch":"main","created_at":"2021-11-17T17:42:04Z","open_prs":0,"tree_truncated":false,"test_files":5,"workflows":0,"other_ci":false,"readme_bytes":19288,"docs_files":0,"changelog":false,"license_file":true,"dts_files":1,"first_commit":"2021-11-17","last_commit":"2026-05-28","commits":30,"contributors":4,"readme_path":"README.md","readme_sha":"dcd09a26bec62ebca332c6815f8bfe5f44c82e10","repo_read":"2026-10-26"},"edges":{"maintainers":[{"ref":"actor:sap-samples","name":"SAP Samples","json":"/actors/sap-samples.json"}],"contributors":[{"ref":"actor:akudev","name":"Andreas Kunz","json":"/actors/akudev.json"},{"ref":"actor:btbernard","name":"Brian Bernard","json":"/actors/btbernard.json"},{"ref":"actor:petermuessig","name":"Peter Muessig","json":"/actors/petermuessig.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}