You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

@supabase/functions-js

Package Overview
Dependencies
Maintainers
14
Versions
221
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@supabase/functions-js

JS SDK to interact with Supabase Functions.

Source
npmnpm
Version
2.98.0
Version published
Weekly downloads
15M
4.2%
Maintainers
14
Weekly downloads
 
Created
Source

Supabase Logo

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.

Keywords

functions

FAQs

Package last updated on 26 Feb 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts