Overview of Shopify API and app tools for JavaScript
mainThis repository is a monorepo containing various TypeScript and JavaScript packages designed to help developers interact with Shopify's APIs and build Shopify apps. The tools are categorized into three main areas: API clients for direct interaction, Apps and middlewares for building full applications, and Session storage implementations for managing app sessions.
API Clients
Used to interact with Shopify APIs when you have the required access tokens.
@shopify/admin-api-client: Client for GraphQL and REST Admin APIs.@shopify/storefront-api-client: Client for the GraphQL Storefront API.@shopify/graphql-client: A generic GraphQL API client.@shopify/api-codegen-preset: A GraphQL Codegen preset that integrates with the clients above.
Apps and Middlewares
Used to build Shopify apps using specific technology stacks.
@shopify/shopify-api: A framework-agnostic library for Shopify OAuth, APIs, webhooks, and more.@shopify/shopify-app-remix: An implementation of@shopify/shopify-apispecifically for Remix.@shopify/shopify-app-express: An implementation of@shopify/shopify-apispecifically for Express.
Session Storage
Database-specific implementations to manage @shopify/shopify-api sessions. The base interface is provided by @shopify/shopify-app-session-storage. Available implementations include:
- Drizzle (
@shopify/shopify-app-session-storage-drizzle) - DynamoDB (
@shopify/shopify-app-session-storage-dynamodb) - Cloudflare KV (
@shopify/shopify-app-session-storage-kv) - Memory (
@shopify/shopify-app-session-storage-memory) - MongoDB (
@shopify/shopify-app-session-storage-mongodb) - MySQL (
@shopify/shopify-app-session-storage-mysql) - PostgreSQL (
@shopify/shopify-app-session-storage-postgresql) - Prisma (
@shopify/shopify-app-session-storage-prisma) - Redis (
@shopify/shopify-app-session-storage-redis) - SQLite (
@shopify/shopify-app-session-storage-sqlite)