|
Download node_modules/@supabase/functions-js/README.md from metarm/QMetaRam: direct link, hf CLI and curl.
- Browser
- Download file 4.91 kB
-
https://huggingface.co/metarm/QMetaRam/resolve/main/node_modules/%40supabase/functions-js/README.md
- Command line
-
hf download hf://metarm/QMetaRam/node_modules/@supabase/functions-js/README.md
-
curl -L -o README.md https://huggingface.co/metarm/QMetaRam/resolve/main/node_modules/%40supabase/functions-js/README.md
4.91 kB
| <br /> | |
| <p align="center"> | |
| <a href="https://supabase.io"> | |
| <picture> | |
| <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/supabase/supabase/master/packages/common/assets/images/supabase-logo-wordmark--dark.svg"> | |
| <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/supabase/supabase/master/packages/common/assets/images/supabase-logo-wordmark--light.svg"> | |
| <img alt="Supabase Logo" width="300" src="https://raw.githubusercontent.com/supabase/supabase/master/packages/common/assets/images/logo-preview.jpg"> | |
| </picture> | |
| </a> | |
| <h1 align="center">Supabase Functions JS SDK</h1> | |
| <h3 align="center">JavaScript SDK to interact with Supabase Edge Functions.</h3> | |
| <p align="center"> | |
| <a href="https://supabase.com/docs/guides/functions">Guides</a> | |
| · | |
| <a href="https://supabase.com/docs/reference/javascript/functions-invoke">Reference Docs</a> | |
| · | |
| <a href="https://supabase.github.io/supabase-js/functions-js/v2/spec.json">TypeDoc</a> | |
| </p> | |
| </p> | |
| <div align="center"> | |
| [](https://github.com/supabase/supabase-js/actions?query=branch%3Amaster) | |
| [](https://www.npmjs.com/package/@supabase/functions-js) | |
| [](#license) | |
| [](https://pkg.pr.new/~/supabase/functions-js) | |
| </div> | |
| ## Requirements | |
| - **Node.js 22 or later** (Node.js 20 support dropped in v2.110.0) | |
| - 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](https://github.com/orgs/supabase/discussions/37217), support for Node.js 18 was dropped on October 31, 2025. | |
| > ⚠️ **Node.js 20 Deprecation Notice** | |
| > | |
| > Node.js 20 reached end-of-life on April 30, 2026. As announced in [our deprecation notice](https://github.com/orgs/supabase/discussions/45715), support for Node.js 20 was dropped in v2.110.0. | |
| ## Quick Start | |
| ### Installation | |
| ```bash | |
| npm install @supabase/functions-js | |
| ``` | |
| ### Usage | |
| ```js | |
| import { FunctionsClient } from '@supabase/functions-js' | |
| const functionsUrl = 'https://<project_ref>.supabase.co/functions/v1' | |
| const publishableKey = '<publishable_key>' | |
| const functions = new FunctionsClient(functionsUrl, { | |
| headers: { | |
| Authorization: `Bearer ${publishableKey}`, | |
| }, | |
| }) | |
| // Invoke a function | |
| const { data, error } = await functions.invoke('hello-world', { | |
| body: { name: 'Functions' }, | |
| }) | |
| ``` | |
| ## Development | |
| This package is part of the [Supabase JavaScript monorepo](https://github.com/supabase/supabase-js). To work on this package: | |
| ### Building | |
| ```bash | |
| # Complete build (from monorepo root) | |
| pnpm nx build functions-js | |
| # Build with watch mode for development | |
| pnpm nx build functions-js --watch | |
| # Individual build targets | |
| pnpm nx build:main functions-js # CommonJS build (dist/main/) | |
| pnpm nx build:module functions-js # ES Modules build (dist/module/) | |
| # Other useful commands | |
| pnpm nx clean functions-js # Clean build artifacts | |
| pnpm nx typecheck functions-js # TypeScript type checking | |
| pnpm 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. | |
| ```bash | |
| # Run all tests (from monorepo root) | |
| pnpm nx test functions-js | |
| # Run tests with coverage report | |
| pnpm nx test functions-js --coverage | |
| # Run tests in watch mode during development | |
| pnpm nx test functions-js --watch | |
| # CI test command (runs with coverage) | |
| pnpm nx test:ci functions-js | |
| ``` | |
| #### Test Requirements | |
| - **Node.js 22+** - 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](../../../CONTRIBUTING.md) 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. | |