Modules based on the Magento Luma or Blank themes require a Compatibility Module to work with Hyvä.
Out of the box, Magento uses LESS, RequireJS, jQuery, Knockout.js and a lot of other very dated and bloated libraries.
Hyvä on the other hand uses TailwindCSS and Alpine.js only.
To make modules work with Hyvä, the incompatible Luma code needs to be replaced by a Hyvä compatibility module.
A compatibility module re-implements the parts of a module that don’t work out of the box in a Hyvä store front.
Usually this work is limited to template files. Sometimes a plugin that interferes with the view layer also has to be adjusted.
The amount of work to create a compatibility module depends on the module in question, but for the most part it’s rather straight forward.
Styles need to be converted to TailwindCSS and JavaScript built with the heavy Magento requirejs/jquery/knockout/etc stack have to be converted to Alpine.js or native JavaScript.
Because most Magento shops install a similar subset of modules, it makes sense to share compatibility modules, too, rather than recreating the same work again and again.
This approach captures the spirit of the Magento open source community, and helps Hyvä implementors to get the job done even more quickly.
Shared compatibility modules are published as in the hyva-themes composer namespace.
That way, when a compatibility module is tagged with a release number, it can be installed through the hyvä packagist.com account.
To improve visibility which modules are needed, which ones are available, and which modules work in progress we have created a Compatibility Module Tracker.
In the left column are requested modules that currently are not (yet) compatible with Hyvä.
Hyvä license holders are able to upvote module requests by giving the underlying ticket a Thumbs-Up. Modules with a high number of votes will be considered to be implemented by the Hyvä theme.
The Accepted column lists modules that will be made available, but are not yet under active development (looking at the details will show who committed to making the compatibility module)
The Published column lists modules for which compatibility modules already exist.
Please note that some compatibility modules do not cover 100% of the features the original module offers. Maybe only a subset was needed by the author of the compatibility module.
In such cases others can increase the feature coverage of the existing module by opening a merge request.
For modules listed in the final column, Compatible, means no compatibility module is required - they work with Hyvä natively.
Further information:
- Compatibility Module Tracker: https://gitlab.hyva.io/hyva-public/module-tracker/-/boards
- More information on writing compatibility modules can be found in the Hyvä documentation (at the time of writing only available to Hyvä license holders).