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/brevo

v0.0.9

Published

A Brevo (Sendinblue) email module that implements the email interface of AntelopeJS

Readme

@antelopejs/brevo

The AntelopeJS Brevo module sends transactional email through the Brevo HTTP API. It implements the email interface so application modules can send messages without depending on the provider directly.

Part of AntelopeJS, the TypeScript framework where modules depend on contracts and the application chooses the provider. Built by the team behind AntelopeJS DMS.

Interfaces

| Interface | Documentation | | ------------------------------------------------------------------------------ | --------------------------------------------------------------------- | | @antelopejs/interface-email | Email |

The module implements Send, SendBatch, SendTemplate, and GetCapabilities. It supports plain text and HTML messages, batches, inline templates, Brevo template IDs, tags, and scheduled sends. An attachment can be a URL, a Buffer, or a string with encoding: "base64". The module drops any other attachment and logs an error for a file path attachment. Message metadata, priority, the tracking options, and inline cid attachments are not supported: the Brevo API has no per-message field for them, so GetCapabilities reports them as false.

Install

ajs project modules add @antelopejs/brevo

The module ships no default configuration. Add a config block and supply a Brevo API key before starting the project.

Configuration

Set BREVO_API_KEY in your runtime environment and configure a sender verified in your Brevo account. Do not commit the API key.

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

export default defineConfig({
  name: "my-project",
  modules: {
    brevo: {
      source: {
        type: "package",
        package: "@antelopejs/brevo",
        version: "^0.0.6",
      },
      config: {
        apiKey: "",
        defaultSender: {
          email: "[email protected]",
          name: "My project",
        },
      },
    },
  },
  envOverrides: {
    BREVO_API_KEY: "modules.brevo.config.apiKey",
  },
});

| Key | Description | | ---------------- | ------------------------------------------------------------------------------------------------------------------------------ | | apiKey | Required Brevo API key, supplied through BREVO_API_KEY in the example. | | defaultSender | Optional sender, { email, name? }, used when a message has no from. Batch sends use defaults.from or this sender. | | emailWhitelist | Optional array of regular-expression strings applied to to, cc and bcc. An omitted or empty array allows all recipients. |

Without a message sender or defaultSender, sending returns a MISSING_SENDER error. To restrict development recipients, set emailWhitelist to an array such as ["@example\\.com$"].

Warning: If filtering leaves no to recipients, the module skips the send and returns a successful response without a message ID, even if cc or bcc recipients remain. Do not treat this response as proof of delivery.

Quick start

In the module that sends email, add the interface:

pnpm add @antelopejs/interface-email

Call Send after AntelopeJS loads the configured Brevo module:

import { Send } from "@antelopejs/interface-email";

const result = await Send({
  to: "[email protected]",
  subject: "Welcome",
  text: "Your account is ready.",
  html: "<p>Your account is ready.</p>",
});

result.success tells you whether the Brevo API accepted the request, apart from the whitelist case above. A successful send has the status queued, which does not confirm delivery. On a failure, result.error holds the error code and message.

SendTemplate accepts inline templates with {{variable}} substitution or a Brevo template ID as a numeric string. Inline substitution does not escape HTML, so escape untrusted values before inserting them into HTML templates.

Documentation

Compatibility

| Package | Supported | Tested with | | ----------------------------- | ---------------- | ----------- | | @antelopejs/interface-core | >=0.2.4 <1.0.0 | 0.4.0 | | @antelopejs/interface-email | >=0.2.0 <0.3.0 | 0.2.0 |

Contributing

Use the Node.js version in .nvmrc and the pnpm version in the packageManager field of package.json:

pnpm install --frozen-lockfile
pnpm prepack
pnpm lint
pnpm format:check
pnpm knip
pnpm typecheck
pnpm test

Tests mock HTTP requests and do not require a Brevo API key or send real email. Read the contribution guidelines before opening a pull request.

License

Apache-2.0