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

@antelopejs/dms-saas

v0.11.1

Published

SaaS module for the AntelopeJS DMS: self-service sign-up and pricing, plans that gate features, Stripe billing, workspace settings and a back office.

Readme

@antelopejs/dms-saas

Sign-up, plans, Stripe billing and a back office for a multi-tenant AntelopeJS DMS.

The SaaS dashboard of the Helio demo: what needs attention, recurring revenue, paid invoices and workspaces by status

What it does

  • Adds public pricing and registration screens, legal pages, and a completion screen for OAuth sign-ins.
  • Defines plans whose permissions cap what each workspace can do, with features, limits, trials and seat pricing.
  • Bills through Stripe: checkout, subscriptions, invoices, credit notes, refunds and Stripe Tax, with plans kept in sync.
  • Gives workspace owners their settings: general, members, billing and data export.
  • Gives the platform owner a back office: workspaces, users, segments, plan migrations, billing rules and legal documents.

Install

Run the AntelopeJS CLI from the root of a project that loads @antelopejs/dms in multi-tenant mode, with a database module, an e-mail module and a file storage:

ajs project modules add @antelopejs/dms-saas

Quick start

Give the module its Stripe keys from the environment:

// antelope.config.ts
import { defineConfig } from "@antelopejs/interface-core/config";

export default defineConfig({
  name: "my-saas",
  envOverrides: {
    STRIPE_SECRET_KEY: "modules.dms-saas.config.stripe.secretKey",
    STRIPE_PUBLISHABLE_KEY: "modules.dms-saas.config.stripe.publishableKey",
    STRIPE_WEBHOOK_SECRET: "modules.dms-saas.config.stripe.webhookSecret",
  },
  modules: {
    "dms-saas": {
      source: { type: "package", package: "@antelopejs/dms-saas", version: "^0.11.0" },
      config: {
        stripe: {
          secretKey: "sk_test_placeholder",
          publishableKey: "pk_test_placeholder",
          webhookSecret: "whsec_placeholder",
        },
      },
    },
    // dms, api, mongodb, auth-jwt, nodemailer, file-storage-local, ...
  },
});

Then point a Stripe webhook at https://<api>/api/saas/webhooks/stripe, and publish a free plan in Modules › SaaS › Plans. Registration opens every workspace on that plan. With placeholder keys, the module still runs, and the blocks that need Stripe say so. Without a usable secret key, registration takes no card, and its screens drop their card step once they have loaded the plan.

Compatibility

| Package | Supported | Tested with | | ------------------------------------------- | ----------------- | ----------- | | @antelopejs/interface-api | >=0.3.0 <1.0.0 | 0.3.0 | | @antelopejs/interface-api-util | >=0.3.2 <1.0.0 | 0.3.2 | | @antelopejs/interface-core | >=0.4.0 <1.0.0 | 0.4.0 | | @antelopejs/interface-data-api | >=0.6.1 <1.0.0 | 0.6.1 | | @antelopejs/interface-database | >=0.3.0 <1.0.0 | 0.3.0 | | @antelopejs/interface-database-decorators | >=0.3.2 <1.0.0 | 0.3.2 | | @antelopejs/interface-dms | >=0.12.0 <1.0.0 | 0.12.0 | | @antelopejs/interface-dms-automation | >=0.6.0 <1.0.0 | 0.6.0 | | @antelopejs/interface-dms-saas | workspace:^ | 0.8.0 |

The module also needs a DMS backend in a release that implements the @antelopejs/interface-dms range in the table above, and the @antelopejs/dms-frontend renderer in the range its frontend module declares in engines["@antelopejs/dms-frontend"] of frontend-vue/package.json. The ajs dms CLI refuses to build it with a renderer outside that range.

The module calls Stripe with the API version 2026-08-26.dahlia. Before upgrading an existing database, read Upgrading.

Documentation

The guide's sources live in packages/dms-saas/docs. The module ships the dms-saas Claude Code skill in packages/dms-saas/skills, declared under antelopeJs.skills.

Contributing

This package lives in the AntelopeJS/dms-saas pnpm workspace, next to @antelopejs/interface-dms-saas. Read CONTRIBUTING.md and the repository README for the development commands.

License

Apache-2.0