{"ref":"artifact:ui5-community-hacking-away-sampleapp","page":"/artifacts/ui5-community-hacking-away-sampleapp","json":"/artifacts/ui5-community-hacking-away-sampleapp.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"ui5-community-hacking-away-sampleapp","name":"hacking-away-sampleapp","artifact_type":"sample","ecosystem":"ui5","use_as":"reference","domain":"developer-experience","origin_ring":"community-org","description":{"one_line":"A UI5con 2022 demo app showing an end-to-end TypeScript setup for a UI5 application with a custom UI5 library, backed by a CAP service, in a pnpm monorepo with wdi5 tests.","short":"UI5con 2022 demo of an end-to-end TypeScript UI5 setup with CAP","what_it_solves":"The repository is a pnpm monorepo with three packages: a UI5 application, a custom UI5 library consumed as a regular dependency, and a CAP server that the application proxies to. The TypeScript compilation and the conversion from ES6 module syntax to UI5's own module loading run together through Babel, using babel-plugin-transform-modules-ui5 for the latter step. End-to-end tests run with [wdi5](artifact:ui5-community-wdi5)."},"links":{"repo":"https://github.com/ui5-community/hacking-away-sampleapp"},"type_properties":{"form":{"value":"reference-application","sources":[{"url":"https://github.com/ui5-community/hacking-away-sampleapp","title":"hacking-away-sampleapp — README","checked":"2026-10-18","quote":"This app demonstrates a TypeScript setup for developing UI5 applications containing a custom UI5 Library with a custom control and a CAP project as a backend."}]}},"identity":{"license":"Apache-2.0"},"source_available":true,"demonstrates":["capability:ui5-typescript"],"maintainers":["actor:ui5-community"],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-13"},"contributors":["actor:lemaiwo","actor:petermuessig","actor:vobu"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"good","evidence":"3 contributors, org-owned"},{"label":"Repository","tier":"poor","evidence":"pushed 2022-10, 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 5 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":10,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-24","npm":"not published under this name","stars":10,"forks":1,"open_issues":0,"archived":false,"pushed_at":"2022-10-02","license_spdx":"Apache-2.0","org_owned":true,"default_branch":"main","created_at":"2021-12-22T10:06:17Z","open_prs":0,"tree_truncated":false,"test_files":5,"workflows":0,"other_ci":false,"readme_bytes":4729,"docs_files":0,"changelog":false,"license_file":true,"dts_files":2,"first_commit":"2021-12-21","last_commit":"2022-10-02","commits":63,"contributors":3,"readme_path":"README.md","readme_sha":"01156b45022cd2e6ef187921e68d5cf8355e990b","repo_read":"2026-10-24"},"edges":{"maintainers":[{"ref":"actor:ui5-community","name":"UI5 Community","json":"/actors/ui5-community.json"}],"contributors":[{"ref":"actor:petermuessig","name":"Peter Muessig","json":"/actors/petermuessig.json"},{"ref":"actor:vobu","name":"Volker Buzek","json":"/actors/vobu.json"},{"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":[]}}