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

@djs-commands/core

v2.0.1

Published

Modern Discord.js command handler — dispatcher, definitions, validators, plugins

Readme

@djs-commands/core

Modern Discord.js command handler — TypeScript-first, Components V2 native, with pluggable persistence.

📘 Full documentation: https://djscommands.deoxy.dev

Install

bun add @djs-commands/core discord.js
# or: pnpm / npm / yarn

discord.js@^14.26 is a peer dependency.

Quick start

import { Client, GatewayIntentBits } from "discord.js";
import { createCommandHandler, defineCommand } from "@djs-commands/core";

const ping = defineCommand({
	name: "ping",
	description: "Replies with pong",
	run: async ({ reply }) => {
		await reply("pong");
	},
});

const client = new Client({ intents: [GatewayIntentBits.Guilds] });

const handler = createCommandHandler({ client, commands: [ping] });
await handler.ready;

await client.login(process.env.DISCORD_TOKEN);

Prefer scaffolding? Run npx create-djs-commands my-bot and you're online in under a minute.

What's in the box

  • defineCommand — typed slash + legacy prefix commands with shared CommandRunContext. Docs →
  • Validators — built-in ownerOnly / guildOnly / channels / permissions / roles, plus custom Validator functions. Docs →
  • Cooldowns — four scopes (perUser / perGuild / perUserPerGuild / global); pluggable CacheAdapter for distributed setups. Docs →
  • Plugins — bundle commands and lifecycle hooks; setup/teardown awaited at boot. Docs →
  • Storage — generic Storage adapter contract drives guild_prefix, disabled_commands, channel_locks framework models, plus your own. Docs →
  • Components V2 — function-form builders (button, container, section, modal, …); pair with @djs-commands/jsx for JSX. Docs →
  • fs-autoloadercommandDir autoloads files; hot reloads in dev.

Companion packages

| Package | Purpose | |---|---| | @djs-commands/jsx | Components V2 JSX runtime | | @djs-commands/adapter-drizzle | Drizzle/Postgres Storage | | @djs-commands/adapter-prisma | Prisma Storage | | @djs-commands/adapter-mongoose | Mongoose Storage (v1 continuity path) | | @djs-commands/adapter-redis | Redis CacheAdapter for distributed cooldowns | | create-djs-commands | npx create-djs-commands scaffolding tool |

Migrating from v1?

@d3oxy/[email protected] is preserved at the v1-final-commit git tag and is no longer maintained. Every v1 API has a v2 equivalent — see the v1 → v2 migration guide.

License

MIT · Issues + discussions on GitHub.