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/interface-dms

v0.13.2

Published

Public AntelopeJS interfaces of the DMS: pages, components, permissions, tenancy, auth, notifications and HTML rendering.

Readme

@antelopejs/interface-dms

The public contracts of the AntelopeJS DMS: pages and components, permissions and tenancy, authentication, notifications and HTML rendering.

What it does

  • Declares pages, categories, modules and page extensions (/page), and the blocks they carry: forms, tables, charts and layouts (/base).
  • Registers permissions, guards routes, and scopes data to a tenant (/permissions, /guards, /tenant-scoped-model…).
  • Authenticates requests and manages users, sessions and external identities (/auth).
  • Declares notification categories and sends notifications (/notifications), and renders HTML templates server-side (/html-render).
  • Lets a module compile against the contract rather than against the implementation, @antelopejs/dms.

Install

Add the interface to the module that extends the DMS:

pnpm add @antelopejs/interface-dms

Depend on it with a range wide enough that every module shares one installed copy, and never bundle or vendor it: the host and every module must resolve the same installed copy, since the package holds live registries. @antelopejs/core fails at startup with Incompatible interface package resolution when a module resolves another copy.

Quick start

import { PageController, RegisterPage, pagesCategory } from "@antelopejs/interface-dms/page";
import { KpiCard } from "@antelopejs/interface-dms/base/kpi-card";

@RegisterPage()
export class SalesPage extends PageController("sales", {
  displayName: "Sales",
  icon: "i-ph-chart-line",
  category: pagesCategory,
}) {
  static revenue = KpiCard({ title: "Revenue", fetchUrl: "/api/sales/revenue" });
}

| Import | What it holds | | --- | --- | | @antelopejs/interface-dms | the core surface: pages, permissions, tenancy, hooks | | @antelopejs/interface-dms/<module> | one module of it: /page, /permissions, /hooks, /db… | | @antelopejs/interface-dms/auth | authentication: users, sessions, external identities | | @antelopejs/interface-dms/base | the component library: forms, tables, charts, layouts | | @antelopejs/interface-dms/notifications | notification categories, subjects and delivery | | @antelopejs/interface-dms/html-render | server-side HTML templates |

Compatibility

| Package | Supported | Tested with | | ------------------------------------------- | ----------------- | ----------- | | @antelopejs/interface-api | >=0.3.0 <1.0.0 | 0.2.0 | | @antelopejs/interface-api-util | >=0.1.3 <1.0.0 | 0.3.0 | | @antelopejs/interface-core | >=0.4.0 <1.0.0 | 0.4.0 | | @antelopejs/interface-data-api | >=0.6.0 <1.0.0 | 0.6.0 | | @antelopejs/interface-database | >=0.1.11 <1.0.0 | 0.3.1 | | @antelopejs/interface-database-decorators | >=0.3.0 <1.0.0 | 0.3.1 | | @antelopejs/interface-file-storage | >=0.1.4 <1.0.0 | 0.1.4 |

A @antelopejs/dms release implements the @antelopejs/interface-dms range listed in the compatibility block of the dms README.

Documentation

An importable file is not necessarily a supported API. Paths under internal/, symbols tagged @internal, and internal namespaces are implementation wiring, even when the wildcard export makes them reachable. Use the public declarations and contracts documented here.

Contributing

This package lives in the AntelopeJS/dms pnpm workspace, next to the runtime that implements it. Read CONTRIBUTING.md, the repository README and AGENTS.md, which covers what is public and what is internal. Release this package (Release DMS interface) before a @antelopejs/dms version that needs it.

License

Apache-2.0