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

@nexusauth/typeorm-adapter

v0.1.2

Published

TypeORM adapter for NexusAuth - Database integration with schema mapping support

Readme

@nexusauth/typeorm-adapter

This library is the official TypeORM adapter for nexus-auth.

Building

Run nx build @nexusauth/typeorm-adapter to build the library.

Usage

To use this adapter, you need to pass it to the NexusAuth core constructor. You can either pass a DataSource instance or DataSourceOptions.

Basic Configuration

import { NexusAuth } from "@nexusauth/core";
import { TypeORMAdapter } from "@nexusauth/typeorm-adapter";

const auth = new NexusAuth({
  adapter: TypeORMAdapter({
    type: "postgres",
    host: "localhost",
    port: 5432,
    username: "user",
    password: "password",
    database: "mydatabase",
    synchronize: true, // Be careful with this in production
  }),
  // ... other options
});

Custom Entities

You can provide your own entities to override the default ones. Your custom entities must implement the corresponding interfaces from @nexusauth/core.

import { TypeORMAdapter } from "@nexusauth/typeorm-adapter";
import { UserEntity } from "./my-entities"; // Your custom entity

const adapter = TypeORMAdapter({
  type: "postgres",
  // ... other datasource options
  entities: {
    user: UserEntity,
  }
});

Migrations

synchronize: true is great for development, but for production, you should use migrations to manage your database schema.

This adapter is designed to integrate with TypeORM's standard migration workflow.

1. Create a Data Source file

Create a file named data-source.ts (or similar) in the root of your project. This file will be used by the TypeORM CLI.

// data-source.ts
import { DataSource, DataSourceOptions } from "typeorm";
import { UserEntity, AccountEntity, SessionEntity } from "@nexusauth/typeorm-adapter/entities";

// If you have custom entities, import them instead
// import { MyUserEntity } from './path/to/your/entities';

export const dataSourceOptions: DataSourceOptions = {
  type: "postgres",
  host: "localhost",
  port: 5432,
  username: "user",
  password: "password",
  database: "mydatabase",
  synchronize: false, // Migrations require this to be false
  entities: [
    UserEntity,       // or MyUserEntity
    AccountEntity,
    SessionEntity,
  ],
  migrations: ["src/migrations/*.ts"], // Path to your migrations
};

export const AppDataSource = new DataSource(dataSourceOptions);

2. Configure your package.json

Add scripts to your package.json to run the TypeORM CLI.

"scripts": {
  "typeorm": "typeorm-ts-node-commonjs -d ./data-source.ts"
}

Note: typeorm-ts-node-commonjs is used here. You might use ts-node or another runner depending on your project setup.

3. Generate Migrations

Now, you can generate a migration that will create the necessary tables (users, accounts, sessions).

npm run typeorm migration:generate src/migrations/InitialAuthSetup

This will create a new migration file in src/migrations/.

4. Run Migrations

Run the migration to apply the changes to your database.

npm run typeorm migration:run

Your database is now set up with the required tables for @nexusauth/typeorm-adapter.