{"ref":"artifact:mariokernich-ui5-monorepo-showcase","page":"/artifacts/mariokernich-ui5-monorepo-showcase","json":"/artifacts/mariokernich-ui5-monorepo-showcase.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"mariokernich-ui5-monorepo-showcase","name":"ui5-monorepo-showcase","artifact_type":"sample","ecosystem":"ui5","flavors":[{"key":"freestyle","source":{"url":"https://github.com/mariokernich/ui5-monorepo-showcase","title":"mariokernich/ui5-monorepo-showcase — README","checked":"2026-09-13","quote":"Control library `com.myorg.mylib` (TypeScript sources)"}}],"domain":"developer-experience","origin_ring":"independent","description":{"one_line":"A pnpm workspace in which a UI5 app, a control library and a launchpad plugin, all TypeScript, are developed together, linked through the workspace protocol without publishing and started with one command.","short":"pnpm workspace developing a UI5 app, library and plugin together","what_it_solves":"The app consumes the library through the `workspace:` protocol, so a change in the library shows in the app without a release, and one `pnpm start` runs the three dev servers and a launchpad sandbox that shows the app as a tile and loads the plugin. All three projects were scaffolded with the easy-ui5 generators `ts-app`, `ts-library` and `ts-flp-plugin`, and build and test from the root with `pnpm -r`. How the linked TypeScript library is transpiled and typed across packages is in a [blog post](https://kernich.de/posts/ui5-monorepo-with-pnpm-workspaces/) by [Mario Kernich](actor:mariokernich), not in the README."},"links":{"repo":"https://github.com/mariokernich/ui5-monorepo-showcase","homepage":"https://kernich.de/posts/ui5-monorepo-with-pnpm-workspaces/"},"type_properties":{"form":{"value":"reference-application","sources":[{"url":"https://github.com/mariokernich/ui5-monorepo-showcase","title":"ui5-monorepo-showcase — README","checked":"2026-10-18","quote":"A showcase of a **pnpm workspace monorepo** with three UI5 TypeScript projects that are"}]}},"demonstrates":["capability:ui5-build-tooling","capability:ui5-typescript"],"maintainers":["actor:mariokernich"],"source_available":true,"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-13"},"contributors":["actor:mariokernich"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"fair","evidence":"one contributor, personally owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-07, 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":"good","evidence":"CI green, 2026-07-14"}],"practice":[{"label":"Tests","tier":"good","evidence":"20 test files"},{"label":"Docs","tier":"fair","evidence":"README 3 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":0,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","npm":"not published under this name","stars":0,"forks":0,"open_issues":0,"archived":false,"pushed_at":"2026-07-14","license_spdx":null,"org_owned":false,"default_branch":"main","created_at":"2026-07-13T19:06:09Z","open_prs":0,"tree_truncated":false,"test_files":20,"workflows":1,"other_ci":false,"readme_bytes":2809,"docs_files":0,"changelog":false,"license_file":false,"dts_files":2,"first_commit":"2026-07-13","last_commit":"2026-07-14","commits":10,"contributors":1,"ci_status":"success","ci_run_at":"2026-07-14","ci_workflow":"CI","ci_event":"push","readme_path":"README.md","readme_sha":"af59de1839fdf8fdfd2fa040fb908fa80d83a04c","repo_read":"2026-10-26"},"edges":{"maintainers":[{"ref":"actor:mariokernich","name":"Mario Kernich","json":"/actors/mariokernich.json"}],"contributors":[{"ref":"actor:mariokernich","name":"Mario Kernich","json":"/actors/mariokernich.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}