{"ref":"artifact:marianfoo-ui5-plugin-loader","page":"/artifacts/marianfoo-ui5-plugin-loader","json":"/artifacts/marianfoo-ui5-plugin-loader.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"marianfoo-ui5-plugin-loader","name":"ui5-plugin-loader","artifact_type":"build-tool","ecosystem":"ui5","domain":"developer-experience","origin_ring":"independent","description":{"one_line":"A UI5 Tooling v4 extension that registers a project's other extensions itself: one entry in `ui5.yaml`, and every dependency carrying a `ui5-plugin-loader.json` manifest is mounted as middleware and as a build task.","short":"UI5 Tooling v4 extension that registers other extensions","what_it_solves":"A UI5 project that uses [ui5-tooling-transpile](artifact:ui5-community-ui5-tooling-transpile), [ui5-tooling-modules](artifact:ui5-community-ui5-tooling-modules), [ui5-tooling-stringreplace](artifact:ui5-community-ui5-tooling-stringreplace) and [ui5-middleware-livereload](artifact:ui5-community-ui5-middleware-livereload) declares each of them in `ui5.yaml` twice, once as custom middleware for `ui5 serve` and once as a custom task for `ui5 build`, in an order that decides whether the result works. This replaces those blocks with `ui5-plugin-loader` and `ui5-plugin-loader-task`, scans dependencies and devDependencies for a `ui5-plugin-loader.json` manifest in each package, falls back to manifests it ships for those four, and sorts what it found by a fixed pattern: stringreplace, transpile, modules, livereload, then everything else. `disable` takes an extension out of the set and `override` changes one's order, mount path or configuration before it is registered. It rests on dynamic middleware registration, so UI5 Tooling 4.0 is the floor, and an extension outside the manifests it ships joins in only when its own package carries the file."},"links":{"repo":"https://github.com/marianfoo/ui5-plugin-loader","npm":"https://www.npmjs.com/package/ui5-plugin-loader"},"identity":{"license":"MIT"},"compat":{"runtimes":["node"]},"type_properties":{"distribution":{"value":["npm"],"sources":[{"url":"https://github.com/marianfoo/ui5-plugin-loader","title":"ui5-plugin-loader — README","checked":"2026-10-18","quote":"npm install --save-dev ui5-plugin-loader"}]}},"provides":[{"capability":"capability:ui5-build-tooling","what_it_does":"Registers other UI5 Tooling middlewares and tasks from manifest files found in a project's own dependencies, in place of each one being declared and ordered by hand in ui5.yaml.","sources":[{"url":"https://github.com/marianfoo/ui5-plugin-loader","title":"marianfoo/ui5-plugin-loader — README, Overview","checked":"2026-09-25","quote":"Simply add one entry to your `ui5.yaml` and all compatible dependencies will be loaded automatically in the correct order."},{"url":"https://github.com/marianfoo/ui5-plugin-loader","title":"marianfoo/ui5-plugin-loader — README, Quick Start","checked":"2026-09-25","quote":"2. Look for `ui5-plugin-loader.json` manifests in each package"},{"url":"https://github.com/marianfoo/ui5-plugin-loader","title":"marianfoo/ui5-plugin-loader — README, Requirements","checked":"2026-09-25","quote":"**UI5 Tooling v4.0 or higher** (for dynamic middleware registration)"}]}],"maintainers":["actor:marianfoo"],"source_available":true,"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:github-orgs","channel":"marianfoo"}],"first_seen":"2026-09-25"},"history":[{"date":"2026-09-25","field":"entry","from":null,"to":"created","reason":"build-tool and capability:ui5-build-tooling for the same reason its four named neighbours carry them: it is registered in the customMiddleware and customTasks blocks of ui5.yaml and does its work inside `ui5 serve` and `ui5 build`. compat.runtimes is the README's Requirements section, \"**Node.js v18.0.0 or higher**\"; identity.license is the README's License section and the npm record, both MIT. No flavors: the README states no UI5 flavor, and absent is not a claim. One discrepancy for an editor rather than the entry: the npm record for ui5-plugin-loader 0.2.0, published 2025-07-23, gives its repository as git+https://github.com/marianzeis/ui5-plugin-loader.git, while the source read here is github.com/marianfoo/ui5-plugin-loader; the npm description, \"Auto-mounts UI5 tooling extensions based on manifest JSON files\", and the 0.2.x version line both match this README."}],"contributors":["actor:marianfoo"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"poor","evidence":"15 months since release"},{"label":"Continuity","tier":"fair","evidence":"one contributor, personally owned"},{"label":"Repository","tier":"fair","evidence":"pushed 2025-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":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"good","evidence":"11 test files"},{"label":"Docs","tier":"good","evidence":"README 9 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":1,"unit":"installs/week"},{"value":3,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-26","latest_version":"0.2.0","majors":{"0.2":{"version":"0.2.0","date":"2025-07-23"}},"license":"MIT","first_release":"2025-07-23","last_release":"2025-07-23","releases":1,"cadence_days":null,"maintainers":1,"repository":"git+https://github.com/marianzeis/ui5-plugin-loader.git","repository_directory":null,"peer_cds":null,"dependencies":1,"node_engine":">=18.0.0","test_script":false,"types":false,"downloads_weekly":1,"downloads_monthly":6,"stars":3,"forks":0,"open_issues":0,"archived":false,"pushed_at":"2025-07-23","license_spdx":null,"org_owned":false,"default_branch":"main","created_at":"2025-07-09T12:35:34Z","open_prs":0,"tree_truncated":false,"test_files":11,"workflows":0,"other_ci":false,"readme_bytes":9020,"docs_files":0,"changelog":false,"license_file":false,"dts_files":0,"first_commit":"2025-07-09","last_commit":"2025-07-23","commits":2,"contributors":1,"readme_path":"README.md","readme_sha":"daa115b2951358d4c7b8d7ffc0c0a9676c12d8cb","months_since_release":15,"dormant":true,"repo_read":"2026-10-26"},"release_notes":{"license":"MIT","quotable":true,"versions":[{"version":"0.2.0","date":"2025-07-23"}],"crawled_at":"2026-10-25"},"edges":{"maintainers":[{"ref":"actor:marianfoo","name":"Marian Zeis","json":"/actors/marianfoo.json"}],"contributors":[{"ref":"actor:marianfoo","name":"Marian Zeis","json":"/actors/marianfoo.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}