@sanity/client compatibility with JS runtimes

You should be able to use @sanity/client from any runtime, including Cloudflare Workers, Deno, Bun, and more.

StatusNameRuntimeEntryConditionsAdapterEnvironment
Bun Canarybunexports.browserbrowser, bun, import, module, node, node.deno, node.import, node.module, worker, worker.browser, worker.nodefetchbrowser
Bun Latestbunexports.browserbrowser, bun, import, module, node, node.deno, node.import, node.module, worker, worker.browser, worker.nodefetchbrowser
Cloudflare Workercloudflare-workerexports.browserbrowser, import, worker, worker.browserfetchbrowser
Cloudflare Worker Node compatibility modecloudflare-workerexports.browserbrowser, import, worker, worker.browserfetchbrowser
Deno v1 npm specifierdenoexports.denodeno, import, node, node.deno, node.import
Deno v1 Packages from CDNdenoexports.denobrowser, deno, import, module, worker, worker.browserfetchbrowser
Next.js Edge Functionvercel-edgeexports.browserbrowser, edge-light, import, module, node, node.deno, node.import, node.module, worker, worker.browser, worker.nodefetchbrowser
Next.js Serverless Functionnodeexports.node.import+exports.node.requireimport, node, node.deno, node.importnodenode
Node.js CJS v12nodeexports.requirenode, node.require, require
Node.js CJS v14nodeexports.requirenode, node.require, requirenodenode
Node.js CJS v16nodeexports.requirenode, node.require, requirenodenode
Node.js CJS v18nodeexports.requirenode, node.require, requirenodenode
Node.js CJS v19nodeexports.requirenode, node.require, requirenodenode
Node.js ESM v14nodeexports.node.import+exports.node.requireimport, node, node.deno, node.import
Node.js ESM v16nodeexports.node.import+exports.node.requireimport, node, node.deno, node.import
Node.js ESM v18nodeexports.node.import+exports.node.requireimport, node, node.deno, node.importnodenode
Node.js ESM v19nodeexports.node.import+exports.node.requireimport, node, node.deno, node.import