I was wondering what the current state of the shopify-app-express
package is, and if Shopify is still actively supporting it. I haven’t been able to find any statements about this.
I see it listed right next to shopify-app-remix
in the shopify-app-js repository, however it doesn’t seem like it is up to date or even still being worked on in a meaningful way.
Specifically it seems to still be missing support for managed app installations, managed billing, and probably more features that I’m not currently aware of. It seems to me like Shopify is highly prioritizing Remix, and seems to be leaving everything else up to the dev community (which is totally fine btw, but would be nice to know)
Right now we are in the process of trying to move over to using managed installations, and the only viable way for us seems to be to ditch the reliance on shopify-app-express
and writing our own wrapper.
With that said, it’s pretty frustrating how hard it is to find good documentation surrounding this topic. Lot’s of Shopify’s own documentation is either out-of-date, non-existent or really hard to find.
Examples:
-
Here it says that managed installations are recommended for embedded apps
-
Under “Non-remix App” brings us to docs regarding shopify.auth.tokenExchange
-
The first line links to session tokens, and access tokens (which is a dead link btw)
-
Reading the session tokens page it says this:
For the most part, you shouldn’t have to manage the anatomical details of session tokens. In most scenarios, you’ll use a library, such as
authenticated_fetch
from app-bridge, which generates and includes the session token in your requests. On the backend, you can use middleware similar tovalidateAuthenticatedSession
in @shopify/shopify-app-express.
Okay? but this is not at all talking about managed installations, rather the older “Authorization Code Grant Flow” that we are trying to move away from. Also in app-bridge v4 we no longer need to use authenticated_fetch
as the authorization gets automatically injected into global fetch. Also it is directly referring to shopify-app-express
which doesnt support managed installations.
So now it’s not really clear what the right path is from just reading the docs. Rather we are just relying on assumptions that we ourselves have to make. Either from piecing together bits and pieces of what documentation there is, where it is not clear what is out-of-date and what isn’t, or from reading through the code on GitHub. We find that the docs a lot of times leads us down the wrong paths, because it’s a mixture of outdated/updated info.
I’m almost certain that we are not the first ones trying to migrate our express embedded apps to these new “managed” systems, are we missing something here?