PDF Designer and Email Designer are out Discover

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 + compatibilityMokadev native extension
JavaScriptjQuery, RequireJS, KnockoutJS, then a rewrite in Alpine.jsA few Alpine.js components, with no dependency
StylesSeparate LESS or CSS files to overrideTailwind classes compiled into your theme CSS
Strict CSPInline expressions and eval to work aroundCompatible with the Hyvä CSP theme
Full page cacheBlocks sometimes not cacheableCacheable pages, customer data through Hyvä sections
UpdatesTwo vendors to wait forA single package, tested on Hyvä with every release

Our principles

  1. CSP-compatible Alpine.js. Components declared with Alpine.data(), no evaluated inline expressions, scripts registered with the Hyvä CSP policy.
  2. Tailwind in your build. Our templates use the classes and colour tokens of your theme: a single CSS file, in your brand colours.
  3. Performance by default. No extra request on page load when it can be avoided, pages compatible with the full page cache and Varnish.
  4. Customisable without copying. Layout arguments, movable blocks, overridable templates, extension points in di.xml and documented JavaScript events.
  5. 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.

Browse the extensions Installation guide

Choose which cookies you accept. Your choice is kept for 182 days and can be changed at any time. Cookie policy

  • Required for the store to work: cart, login, security and your cookie choices. They cannot be disabled.

    Always active
    See the cookies (5)
    Cookie Provider Purpose Duration
    PHPSESSID This store Keeps your session (cart, login). Session
    form_key This store Protects forms against CSRF attacks. 1 year
    mage-cache-sessid, mage-cache-storage, private_content_version, section_data_ids This store Cart, customer data and page cache. 1 year
    X-Magento-Vary This store Serves the right cached page version. Session
    mokadev_consent This store Remembers your cookie choices. 6 months
  • Remember your settings (language, currency, recently viewed products) to personalise your visit.

  • Help us understand how the store is used (audience measurement) to improve it.

    See the cookies (1)
    Cookie Provider Purpose Duration
    _ga, _ga_* Google Analytics Audience measurement. 13 months
  • Used by our advertising partners (e.g. Google) to measure ad performance and show you relevant ads.

    See the cookies (1)
    Cookie Provider Purpose Duration
    _gcl_au, IDE Google Ads Ad conversion measurement and personalisation. 3 to 13 months

Check the spelling or try a more general term.