{"ref":"artifact:mauriciolauffer-vite-plugin-ui5","page":"/artifacts/mauriciolauffer-vite-plugin-ui5","json":"/artifacts/mauriciolauffer-vite-plugin-ui5.json","generated":"2026-11-12","drafted_with_ai":true,"entity":{"id":"mauriciolauffer-vite-plugin-ui5","name":"vite-plugin-ui5","artifact_type":"build-tool","ecosystem":"ui5","domain":"developer-experience","origin_ring":"independent","use_as":"dependency","description":{"one_line":"A Vite plugin that serves a UI5 app's webapp directory through the Vite dev server, resolving sap/… imports for the UI5 loader and transpiling ESM or TypeScript to AMD at serve time.","short":"Vite dev server for a UI5 webapp, ESM and TypeScript to AMD","what_it_solves":"A Vite plugin, added to `vite.config.js`, that serves a UI5 app's webapp directory through Vite's dev server. It reads `manifest.json` from that directory to detect the application namespace, resolves `sap/m/Button`-style imports into `sap.ui.require` wrappers and namespace imports into files in the webapp directory, and with `isESM: true` transpiles ESM and TypeScript app files to AMD at serve time through babel-plugin-transform-modules-ui5. Framework resources sit outside it: `/resources/*` and `/test-resources/*` are passed to Vite's own `server.proxy`, which you point at the CDN you want. Any file change inside the webapp directory triggers a full page reload, because UI5's AMD loader does not support partial module re-evaluation. It is a development tool only; the README keeps production builds on [@ui5/cli](artifact:sap-ui5-cli).","when_not_to_use":"Production builds are not covered: the README states that `ui5 build` remains the build step. Granular hot module replacement is not available either, since every change inside the webapp directory reloads the whole page.","to_build_on_it":"The repository carries three playground apps (classic AMD, ESM and TypeScript), each with its own dev script, so a change can be tried against all three module styles. The options the plugin accepts are `webappPath`, `aliases` and `isESM`, and the ESM and TypeScript transpilation runs through babel-plugin-transform-modules-ui5."},"links":{"repo":"https://github.com/mauriciolauffer/vite-plugin-ui5","npm":"https://www.npmjs.com/package/vite-plugin-ui5"},"compat":{"runtimes":["node"]},"provides":[{"capability":"capability:ui5-build-tooling","what_it_does":"Serves a UI5 app's webapp directory from the Vite dev server during development, detecting the application namespace from `manifest.json` and leaving `/resources/*` and `/test-resources/*` to Vite's proxy, while production builds stay with [@ui5/cli](artifact:sap-ui5-cli).","sources":[{"url":"https://github.com/mauriciolauffer/vite-plugin-ui5","title":"mauriciolauffer/vite-plugin-ui5 — README","checked":"2026-11-12","quote":"Vite plugin for SAP Fiori/UI5 applications."},{"url":"https://github.com/mauriciolauffer/vite-plugin-ui5","title":"mauriciolauffer/vite-plugin-ui5 — README, configuration","checked":"2026-11-12","quote":"The plugin reads `manifest.json` from the webapp directory to detect the UI5 application namespace automatically."},{"url":"https://github.com/mauriciolauffer/vite-plugin-ui5","title":"mauriciolauffer/vite-plugin-ui5 — README, framework resources","checked":"2026-11-12","quote":"Requests to `/resources/*` and `/test-resources/*` are passed through to Vite's proxy."},{"url":"https://github.com/mauriciolauffer/vite-plugin-ui5","title":"mauriciolauffer/vite-plugin-ui5 — README, integration with UI5 CLI","checked":"2026-11-12","quote":"`vite-plugin-ui5` is a development tool only. Production builds should continue to use `@ui5/cli`:"}]},{"capability":"capability:ui5-typescript","what_it_does":"Transpiles TypeScript app files to AMD at serve time when `isESM: true` is set, stripping type annotations and ES class syntax so the UI5 loader can load them.","sources":[{"url":"https://github.com/mauriciolauffer/vite-plugin-ui5","title":"mauriciolauffer/vite-plugin-ui5 — README, TypeScript","checked":"2026-11-12","quote":"TypeScript files are also supported when `isESM: true`. Type annotations and ES class syntax are stripped and transpiled to AMD:"},{"url":"https://github.com/mauriciolauffer/vite-plugin-ui5","title":"mauriciolauffer/vite-plugin-ui5 — README, ESM","checked":"2026-11-12","quote":"The plugin transpiles them to AMD at serve time using `babel-plugin-transform-modules-ui5`:"}]}],"requires":[{"ref":"external:vite","for":"the development server it is a plugin for: it is registered in the project's Vite config and serves the webapp through it","requirement":"required","basis":"binding","role":"framework","sources":[{"url":"https://github.com/mauriciolauffer/vite-plugin-ui5","title":"mauriciolauffer/vite-plugin-ui5 — README, configuration","checked":"2026-11-12","quote":"Add the plugin to your `vite.config.js`:"},{"url":"https://www.npmjs.com/package/vite-plugin-ui5","title":"vite-plugin-ui5 — npm, README","checked":"2026-11-12","quote":"Modern Vite development server and tooling platform for SAPUI5 and OpenUI5 applications."}]}],"maintainers":["actor:mauriciolauffer"],"provenance":{"discovered_via":[{"source":"source:github"}],"first_seen":"2026-11-12"},"drafted_with_ai":true},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"good","evidence":"1 month since release"},{"label":"Continuity","tier":"fair","evidence":"2 contributors, 1 publisher"},{"label":"Repository","tier":"good","evidence":"pushed 2026-11, 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":"release green, 2026-10-14"}],"practice":[{"label":"Tests","tier":"good","evidence":"43 test files, npm test"},{"label":"Docs","tier":"good","evidence":"README 4 KB"},{"label":"Changelog","tier":"good","evidence":"CHANGELOG in the repo"}],"reach":[{"value":16,"unit":"installs/week"},{"value":1,"unit":"watching"}]},"signals":{"crawled_at":"2026-11-12","latest_version":"0.2.1","majors":{"0.1":{"version":"0.1.0","date":"2026-10-14"},"0.2":{"version":"0.2.0","date":"2026-10-14"}},"license":"MIT","first_release":"2026-10-14","last_release":"2026-10-14","releases":4,"cadence_days":0,"maintainers":1,"repository":"git+https://github.com/mauriciolauffer/vite-plugin-ui5.git","repository_directory":null,"peer_cds":null,"dependencies":1,"node_engine":null,"test_script":true,"types":true,"downloads_weekly":16,"downloads_monthly":80,"readme_path":"README.md","readme_bytes":4342,"months_since_release":1,"dormant":false,"repo_read":"2026-11-12","stars":1,"forks":0,"open_issues":1,"archived":false,"pushed_at":"2026-11-01","language":"JavaScript","license_spdx":"MIT","org_owned":false,"default_branch":"main","created_at":"2026-05-05T04:50:14Z","open_prs":1,"tree_truncated":false,"test_files":43,"workflows":6,"other_ci":false,"docs_files":0,"changelog":true,"license_file":true,"dts_files":0,"first_commit":"2026-05-05","last_commit":"2026-10-14","commits":25,"contributors":2,"ci_status":"success","ci_run_at":"2026-10-14","ci_workflow":"release","ci_event":"push","readme_sha":"3d78d9a5cae05bf2fcfe916844d27eb3197f4efc"},"edges":{"maintainers":[{"ref":"actor:mauriciolauffer","name":"Mauricio Lauffer","json":"/actors/mauriciolauffer.json"}],"contributors":[],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}