// the find
Shopify/shopify-app-js
Shopify's official monorepo for calling its APIs from TypeScript or JavaScript. It has typed clients for the Admin, Storefront, and generic GraphQL APIs, plus OAuth, webhook, and session middleware for building Shopify apps in Node, Remix, or Express. Aimed at people building Shopify apps or integrations, not at one-off scripts.
The API clients are split from the app packages, so calling the Admin API with @shopify/admin-api-client does not pull in OAuth or session code. The codegen preset generates types from Shopify's schema and wires them into the clients, so responses are typed against the real API version instead of hand-written interfaces. Session storage sits behind one interface with ten backends, from Postgres and Redis to Cloudflare KV and Drizzle, so the storage choice stays out of app code. Each package has its own test suite, and changesets drive the release notes.
Shopify retires API versions on its own schedule, and anything pinned to an old version will eventually need a manual bump. Adding a version touches every client and the codegen output. Ten session storage backends means ten places a bug can hide, and the README table says what each one is without saying which ones are tested against a real database. Only Remix and Express get a middleware package, so any other framework gets the core library and writes the glue itself. The dev loop is build, install by file path, restart the app, and the README documents no shortcut for it.