@supabase/functions-js@2.89.0Built and signed on GitHub ActionsBuilt and signed on GitHub Actions
Supabase Functions JS SDK
JavaScript SDK to interact with Supabase Edge Functions.
Guides · Reference Docs · TypeDoc
Requirements
- Node.js 20 or later (Node.js 18 support dropped as of October 31, 2025)
- For browser support, all modern browsers are supported
⚠️ Node.js 18 Deprecation Notice
Node.js 18 reached end-of-life on April 30, 2025. As announced in our deprecation notice, support for Node.js 18 was dropped on October 31, 2025.
Quick Start
Installation
npm install @supabase/functions-js
Usage
import { FunctionsClient } from '@supabase/functions-js' const functionsUrl = 'https://<project_ref>.supabase.co/functions/v1' const anonKey = '<anon_key>' const functions = new FunctionsClient(functionsUrl, { headers: { Authorization: `Bearer ${anonKey}`, }, }) // Invoke a function const { data, error } = await functions.invoke('hello-world', { body: { name: 'Functions' }, })
Development
This package is part of the Supabase JavaScript monorepo. To work on this package:
Building
# Complete build (from monorepo root) npx nx build functions-js # Build with watch mode for development npx nx build functions-js --watch # Individual build targets npx nx build:main functions-js # CommonJS build (dist/main/) npx nx build:module functions-js # ES Modules build (dist/module/) # Other useful commands npx nx clean functions-js # Clean build artifacts npx nx typecheck functions-js # TypeScript type checking npx nx docs functions-js # Generate documentation
Build Outputs
- CommonJS (
dist/main/) - For Node.js environments - ES Modules (
dist/module/) - For modern bundlers (Webpack, Vite, Rollup) - TypeScript definitions (
dist/module/index.d.ts) - Type definitions for TypeScript projects
Testing
Docker Required for relay tests. The functions-js tests use testcontainers to spin up a Deno relay server for testing Edge Function invocations.
# Run all tests (from monorepo root) npx nx test functions-js # Run tests with coverage report npx nx test functions-js --coverage # Run tests in watch mode during development npx nx test functions-js --watch # CI test command (runs with coverage) npx nx test:ci functions-js
Test Requirements
- Node.js 20+ - Required for testcontainers
- Docker - Must be installed and running for relay tests
- No Supabase instance needed - Tests use mocked services and testcontainers
What Gets Tested
- Function invocation - Testing the
invoke()method with various options - Relay functionality - Using a containerized Deno relay to test real Edge Function scenarios
- Error handling - Ensuring proper error responses and retries
- Request/response models - Validating headers, body, and response formats
Contributing
We welcome contributions! Please see our Contributing Guide for details on how to get started.
For major changes or if you're unsure about something, please open an issue first to discuss your proposed changes.
Add Package
deno add jsr:@supabase/functions-js
Import symbol
import * as functions_js from "@supabase/functions-js";
Import directly with a jsr specifier
import * as functions_js from "jsr:@supabase/functions-js";
Add Package
pnpm i jsr:@supabase/functions-js
pnpm dlx jsr add @supabase/functions-js
Import symbol
import * as functions_js from "@supabase/functions-js";
Add Package
yarn add jsr:@supabase/functions-js
yarn dlx jsr add @supabase/functions-js
Import symbol
import * as functions_js from "@supabase/functions-js";
Add Package
vlt install jsr:@supabase/functions-js
Import symbol
import * as functions_js from "@supabase/functions-js";
Add Package
npx jsr add @supabase/functions-js
Import symbol
import * as functions_js from "@supabase/functions-js";
Add Package
bunx jsr add @supabase/functions-js
Import symbol
import * as functions_js from "@supabase/functions-js";