modernize-ui5-app
Modernize UI5 freestyle JS app ➜ UI5 TypeScript app
Convert a legacy UI5 freestyle JavaScript app (typical 2018–2021 era — sync bootstrap, JS
controllers, jQuery.sap.*, global formatter, ES5 patterns, no types, sap_belize) into a
modern UI5 TypeScript app on a recent 1.x release with async loading, manifest-driven
configuration, a proper BaseController, sap_horizon theme, ES modules, typed event handlers,
and clean ui5-linter + tsc --noEmit output. Runs side-by-side: the legacy app stays
untouched at <source_app>/; the modern app lands in <modern_app>/.
This skill is one of two parallel UI paths after the RAP backend lands. Pick this one if
the target architecture is a freestyle TypeScript app (custom controllers, manual binding,
explicit i18n). Pick convert-ui5-to-fiori-elements.md instead if the target is a
Fiori Elements V4 app (annotation-driven; minimal custom code). Both start from the same
legacy JS app + the same V4 RAP service produced by migrate-segw-to-rap.