@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 Canaryunknownexports.workerbun, import, node, node.deno, node.import, worker, worker.nodefetchbrowser
Bun Latestunknownexports.workerbun, import, node, node.deno, node.import, worker, worker.nodefetchbrowser
Cloudflare Workercloudflare-workerexports.browserbrowser, import, worker, worker.browserfetchbrowser
Cloudflare Worker Node compatibility modecloudflare-workerexports.browserbrowser, import, worker, worker.browserfetchbrowser
Deno v1 npm specifierunknownexports.denodeno, import, node, node.deno, node.importfetchbrowser
Deno v1 Packages from CDNunknownexports.denobrowser, deno, import, module, worker, worker.browser, worker.nodefetchbrowser
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.importnodenode
Node.js ESM v16nodeexports.node.import+exports.node.requireimport, node, node.deno, node.importnodenode
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.importnodenode