npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@supabase/auth-js

v2.94.0

Published

Official SDK for Supabase Auth

Readme

Build Package License: MIT pkg.pr.new

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

Install

npm install --save @supabase/auth-js

Usage

import { AuthClient } from '@supabase/auth-js'

const GOTRUE_URL = 'http://localhost:9999'

const auth = new AuthClient({ url: GOTRUE_URL })
  • signUp(): https://supabase.com/docs/reference/javascript/auth-signup
  • signIn(): https://supabase.com/docs/reference/javascript/auth-signin
  • signOut(): https://supabase.com/docs/reference/javascript/auth-signout

Custom fetch implementation

auth-js uses the cross-fetch library to make HTTP requests, but an alternative fetch implementation can be provided as an option. This is most useful in environments where cross-fetch is not compatible, for instance Cloudflare Workers:

import { AuthClient } from '@supabase/auth-js'

const AUTH_URL = 'http://localhost:9999'

const auth = new AuthClient({ url: AUTH_URL, fetch: fetch })

Development

This package is part of the Supabase JavaScript monorepo. To work on this package:

Building

# Complete build (from monorepo root)
npx nx build auth-js

# Build with watch mode for development
npx nx build auth-js --watch

# Individual build targets
npx nx build:main auth-js    # CommonJS build (dist/main/)
npx nx build:module auth-js  # ES Modules build (dist/module/)

# Other useful commands
npx nx lint auth-js          # Run ESLint
npx nx typecheck auth-js     # TypeScript type checking
npx nx docs auth-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

The auth-js package has two test suites:

  1. CLI Tests - Main test suite using Supabase CLI (331 tests)
  2. Docker Tests - Edge case tests requiring specific GoTrue configurations (11 tests)

Prerequisites

  • Supabase CLI - Required for main test suite (installation guide)
  • Docker - Required for edge case tests

Running Tests

# Run main test suite with Supabase CLI (recommended)
npx nx test:auth auth-js

# Run Docker-only edge case tests
npx nx test:docker auth-js

# Run both test suites
npx nx test:auth auth-js && npx nx test:docker auth-js

Main Test Suite (Supabase CLI)

The test:auth command automatically:

  1. Stops any existing Supabase instance
  2. Starts a local Supabase instance via CLI
  3. Runs the test suite (excludes docker-tests/ folder)
  4. Cleans up after tests complete
# Individual commands for manual control
npx nx test:infra auth-js    # Start Supabase CLI
npx nx test:suite auth-js    # Run tests only
npx nx test:clean-post auth-js  # Stop Supabase CLI

Docker Tests (Edge Cases)

The test:docker target runs tests that require specific GoTrue configurations not possible with a single Supabase CLI instance:

  • Signup disabled - Tests for disabled signup functionality
  • Asymmetric JWT (RS256) - Tests for RS256 JWT verification
  • Phone OTP / SMS - Tests requiring Twilio SMS provider
  • Anonymous sign-in disabled - Tests for disabled anonymous auth

These tests are located in test/docker-tests/ and use the Docker Compose setup in infra/docker-compose.yml.

# Individual commands for manual control
npx nx test:docker:infra auth-js    # Start Docker containers
npx nx test:docker:suite auth-js    # Run Docker tests only
npx nx test:docker:clean-post auth-js  # Stop Docker containers

Development Testing

For actively developing and debugging tests:

# Start Supabase CLI once
npx nx test:infra auth-js

# Run tests multiple times (faster since instance stays up)
npx nx test:suite auth-js

# Clean up when done
npx nx test:clean-post auth-js

Test Infrastructure

| Suite | Infrastructure | Configuration | | ------------ | -------------- | --------------------------- | | CLI Tests | Supabase CLI | test/supabase/config.toml | | Docker Tests | Docker Compose | infra/docker-compose.yml |

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.