Our approach
Why Hyvä-native extensions?
Hyvä made Magento fast by removing jQuery, RequireJS and KnockoutJS. An extension designed for Luma often brings back what you wanted to leave behind. Ours are written for Hyvä, from the first line.
The problem with "compatible" modules
Most Magento extensions were designed for Luma: their interface relies on RequireJS, jQuery, KnockoutJS and UI components. On a Hyvä theme, this code does not load. To make them work, you need a compatibility module that rewrites their storefront part, or a "fallback" that loads the Luma stack again on some pages.
The result: more JavaScript, two code bases to maintain instead of one, updates that wait for the compatibility module to catch up, and performance drifting away from what made you choose Hyvä.
What changes in practice
| Luma module + compatibility | Mokadev native extension | |
|---|---|---|
| JavaScript | jQuery, RequireJS, KnockoutJS, then a rewrite in Alpine.js | A few Alpine.js components, with no dependency |
| Styles | Separate LESS or CSS files to override | Tailwind classes compiled into your theme CSS |
| Strict CSP | Inline expressions and eval to work around | Compatible with the Hyvä CSP theme |
| Full page cache | Blocks sometimes not cacheable | Cacheable pages, customer data through Hyvä sections |
| Updates | Two vendors to wait for | A single package, tested on Hyvä with every release |
Our principles
- CSP-compatible Alpine.js. Components declared with
Alpine.data(), no evaluated inline expressions, scripts registered with the Hyvä CSP policy. - Tailwind in your build. Our templates use the classes and colour tokens of your theme: a single CSS file, in your brand colours.
- Performance by default. No extra request on page load when it can be avoided, pages compatible with the full page cache and Varnish.
- Customisable without copying. Layout arguments, movable blocks, overridable templates, extension points in
di.xmland documented JavaScript events. - Accessible. Keyboard navigation, ARIA roles and attributes, screen reader announcements, reduced motion respected.
Who is it for?
- Merchants on Hyvä who want to add features without losing their Core Web Vitals.
- Agencies migrating from Luma to Hyvä and looking for native replacements for their legacy modules.
- Developers who prefer readable, typed and tested code that they can extend cleanly.
Discover the extensions
Conversion, search, shipping, merchandising, compliance: each module solves one precise problem.