I’m encountering an issue with the latest version of the @shopify/shopify-app-remix package (currently v3.8.5) while building a Remix-based app.
The following line inside node_modules/@shopify/shopify-app-remix/dist/esm/react/components/AppProvider/AppProvider.mjs causes the app to fail to compile:
import enI18n from ‘@shopify/polaris/locales/en.json’ with { type: ‘json’ };
his with { type: ‘json’ } import assertion breaks builds in many environments, especially when using bundlers or runtime environments that don’t yet support import assertions or JSON modules (e.g., Remix + Node without custom loaders or Vite config).
Since this is part of a precompiled output in node_modules, it’s difficult to work around without manually patching or ejecting the build.
Could you please advise on:
Whether there is a supported way to use @shopify/shopify-app-remix without running into this issue?
is there’s a recommended workaround for remix users
Looking in to this with our team, this is most likely a Node.js version compatibility issue rather than a problem with the package itself. The import assertions work correctly with the supported Node.js versions specified in the template: ^18.20 || ^20.10 || >=21.0.0.
Can you check what Node.js version you’re currently running? If you’re on an older version, upgrading would resolve this build issue. If you’re already using one of the supported versions and still experiencing the error, let me know your specific setup details and we can dig deeper into what might be causing the issue.
I double-checked, and I’m currently running Node.js v22.9.0, which is newer than the supported versions listed (^18.20 || ^20.10 || >=21.0.0). Could the issue be arising because v22 isn’t officially supported yet? If so, I can downgrade to an LTS-supported version like v20.10.0 to stay within the recommended range.
For additional context: I’m actively developing a Remix-based embedded Shopify app. Simulated webhooks are working fine, but I’m still debugging why real order creation in the dev store isn’t triggering the webhook handler. Just want to rule out any incompatibilities due to the Node version while I’m still in the prototyping phase.
Also, is Remix still the recommended framework for prototyping Shopify apps, or should I be considering the updated Node/Express template instead?
Hey @Sanjeev_Kapoor, thanks for the update and sharing that you have this working now. Let me clear up some of those remaining questions:
Remix is still the recommended framework. The official scaffolding documentation continues to position Remix as the primary choice, and when you run shopify app init, you’ll see “Build a Remix app” as the main option.
Regarding the CLI commands, shopify login and shopify auth login are no longer supported in CLI 3.x. The CLI now prompts you to authenticate automatically when you run commands that require it. https://shopify.dev/docs/api/shopify-cli/app
For your webhook debugging issue, since simulated webhooks work but real orders don’t trigger your handler, first verify your webhook subscription is actually registered by querying your webhook subscriptions via the Admin API using the webhookSubscriptions query. This will confirm the subscription exists and show you the exact endpoint configuration. Once confirmed, the webhook troubleshooting documentation has detailed steps for diagnosing other delivery issues.