SAP/ui5-tooling

Support for the new runtime feature "default theme"

codeworrior opened this issue · 2 comments

Is your feature request related to a problem? Please describe.

Since SAP/openui5@01e9de75c, the UI5 runtime supports a so called default theme. If an application configures no theme at all, no longer the incomplete base theme is used, but a default theme which depends on the used UI5 version. This feature has not only been added in master, but also in all older maintenance branches.

However, during development, one always has to reference a concrete theme project in the ui5.yaml's framework section . It's not yet possible to omit this and let the tooling pick the right dependency.

Describe the solution you'd like

It would be nice if one could specify the use of the default theme also in the dependencies of a project, either

  • by a 'magic' dependency name (like themelib_sap_default) which the tooling then translates into the default theme of the referenced UI5 version
  • or by omitting theme libs in the framework section and rather specifying a dedicated configuration (e.g. useDefaultTheme: true).

Describe alternatives that you've considered

Using the CDN is an alternative as the CDN always contains the necessary default theme per version. But this would limit the use of the default-theme feature.

Relevance

As changes of the default theme are not that frequent in UI5, this is not a hot topic. Nevertheless, support for default themes feels a bit incomplete without it.

matz3 commented

Thanks for mentioning this. There have already been ideas to add a theme configuration, where a list of concrete themes can be maintained (rather than only listing a theme-family), which can then also be used to reduce the build output size by omitting theme content that is not required.
This configuration could then also have a special <default> value (or separate flag) to support what you've described.

And as long as we keep the concept of the themelib_* libraries, it would also make the declaration of them obsolete, as they can be derived from the theme configuration.

Just some ideas, but we should definitely follow-up on this.

@codeworrior is there a way to retrieve the version-dependent default theme information other than looking into the source code file?

is there a way to retrieve the version-dependent default theme information other than looking into the source code file?

Not yet, at least not that I would be aware of. Maybe in the theme metadata in the base content?

[Update] Thinking about it again, the base content can't know the decision of UI5 which theme to pick as default. UI5 might adopt a theme later than the base content.