🧱 Hyvä Compatibility

Hyvä Compatibility Modules for Any Magento 2 Extension

An extension that works on Luma will often break on Hyvä, because Hyvä does not load RequireJS, Knockout.js or jQuery. We build compatibility modules that replace an extension's frontend with Hyvä templates, ViewModels and Alpine.js — without editing the original vendor code.

0Vendor files
edited
AlpineReplaces Knockout
& jQuery
CSPStrict-CSP ready
on request
UpgradeSafe through
vendor updates

What a Hyvä Compatibility Module Does

Hyvä loads its own templates in place of Luma templates. A compatibility module is a small Magento module that registers itself with Hyvä's compatibility module fallback, so when the extension renders on a Hyvä store, Magento uses our templates instead of the vendor's. Backend logic is untouched; only the frontend is replaced.

Inside the module we remove RequireJS and Knockout dependencies, move data preparation into ViewModels, write the interactive parts as Alpine.js components, and style everything with Tailwind classes that your theme compiles. If you run the CSP-compatible Hyvä theme, we write Alpine components that avoid inline expressions so they work under strict Content Security Policy.

Before building anything we check Hyvä's compatibility tracker and the vendor's own releases. If an official compatibility module already exists, installing it is cheaper than writing a new one.

Hyvä ThemeAlpine.jsAlpine CSP buildViewModelsTailwind CSS v4Layout XMLGraphQLMagewire
Common extensions we make compatible
  • ✓Search — Autocomplete and layered navigation modules
  • ✓Product — Configurators, product options, swatches and bundles
  • ✓Marketing — Reviews, Q&A, loyalty widgets and popups
  • ✓Checkout — Delivery dates, gift wrap and order attributes
  • ✓B2B — Quick order, quotes and customer-specific pricing
  • ✓Tracking — GA4, GTM and consent management modules

Hyvä Compatibility Services

From a single widget to a full set of modules for a migration project.

🔍

Compatibility Audit

We list every module in your store, check Hyvä support and estimate the effort for each one that needs work.

  • ✓Module inventory
  • ✓Official compat module check
  • ✓Effort and priority per module
🧱

Custom Compat Modules

Hyvä templates, ViewModels and Alpine.js components for extensions without official support, packaged as a separate module.

  • ✓No vendor code edits
  • ✓Composer-installable
  • ✓Documented and tested
🛡️

CSP-Compatible Components

Components written for the Hyvä CSP theme, avoiding unsafe-eval and inline expressions so they work with strict CSP on checkout and beyond.

  • ✓Alpine.data registrations
  • ✓No inline script handlers
  • ✓Nonce-aware scripts
🔁

Upgrade Maintenance

When the vendor releases a new version, we update the compatibility module and re-test it.

  • ✓Vendor changelog review
  • ✓Regression tests
  • ✓Fast patch releases
🛒

Checkout Compatibility

Extensions that hook into checkout are adapted for Hyvä Checkout using Magewire components or for the Luma checkout fallback.

  • ✓Magewire components
  • ✓Payment method renderers
  • ✓Order attribute fields
📦

Extension Vendor Support

For extension vendors: we build and maintain Hyvä compatibility for your product so Hyvä merchants can buy it.

  • ✓White-label development
  • ✓Hyvä coding conventions
  • ✓Ongoing maintenance

What Changes Inside a Compatibility Module

Take a typical product Q&A extension. On Luma it renders a template containing a data-mage-init attribute, loads a RequireJS module, and uses jQuery to post questions over AJAX and redraw the list. None of that runs on Hyvä.

In the compatibility module we override the extension's template for Hyvä only. Data that the old JavaScript calculated in the browser — the product ID, form key, translated labels and endpoint URL — moves into a ViewModel. The template outputs that data through $escaper and initialises an Alpine.js component that uses the native fetch() API to post the question and update the list reactively. Styling is written with Tailwind utility classes so it inherits your theme.

Because the module is registered with Hyvä's compatibility fallback, Luma store views on the same installation still use the vendor's original templates. The vendor module is untouched and can be updated through Composer as normal.

Compatibility Modules Built to Last

A good compatibility module is small, readable and survives vendor updates.

📏

Hyvä conventions

Templates use $escaper for output, ViewModels via the view model registry, and Alpine components with clear data and methods.

🧪

Tested against the real extension

We test against the vendor version you run and note the supported version range in the module.

♿

Accessible by default

Keyboard navigation, focus states and ARIA attributes are part of every component.

⚡

Lightweight

No jQuery and no external libraries unless necessary. Scripts are loaded only on pages that need them.

Technology We Work With

PHP 8.4Hyvä Theme 1.4Alpine.js 3Tailwind CSS v4Magento 2.4.9ComposerPlaywrightPHPStan

From Broken Widget to Hyvä-Ready Module

Small modules take a few days; complex ones such as product configurators take longer.

Analyse the extension

We review the vendor's layout XML, templates, JavaScript and AJAX endpoints to understand what the frontend does.

Design the replacement

We decide which parts become ViewModels, which become Alpine components and how data reaches the browser.

Build the module

Templates, components and styling are built in a separate compatibility module registered with Hyvä.

Test and document

Functional, accessibility and browser tests, plus a short README with supported versions.

Deliver and maintain

Delivered to your repository or private Composer registry, with optional maintenance for future vendor releases.

Frequently Asked Questions

It is a separate Magento module that provides Hyvä-specific templates and JavaScript for a third-party extension, so the extension works on a Hyvä storefront without changing the vendor's code.
If the extension outputs anything on the storefront and relies on RequireJS, Knockout.js or jQuery, it needs Hyvä compatibility. Backend-only modules usually do not.
Simple widgets take one to three days. Complex extensions such as layered navigation or product configurators can take one to three weeks.
Usually not, because we do not edit vendor code. If a vendor changes templates or data structures, we update the compatibility module.
Yes. We write components that comply with strict Content Security Policy when you use Hyva/default-csp.

Luma to Hyvä Migration

Full storefront migration including all extensions.

Learn more

Extension Development

Custom Magento 2 modules built for Hyvä and Luma.

Learn more

Hyvä Checkout

Checkout customisation with Magewire.

Learn more

Which Extensions Do You Need on Hyvä?

List the extensions (vendor and version) that are not working on Hyvä. We will check for official compatibility modules and estimate custom work for the rest.

Phone / WhatsApp

+91 79767 89212

Response Time

Within one business day, Mon–Fri

Request a Compatibility Check

No obligation. We reply within one business day.

Free SEO & eCommerce Tools — No Signup Required

Check on-page SEO, generate schema markup and estimate what a faster store is worth. Instant results, no registration.