@chance/mailgun-js
TypeScript icon, indicating that this package has built-in type declarations

0.2.0 • Public • Published

@chance/mailgun-js

A fork of https://github.com/mailgun/mailgun-js

This is for my personal use, but it may be useful for others. I might add my own documentation eventually but the API is mostly the same as the original.

TODO:

  • Changelog
  • Better docs
  • Finish this TODO list :)

Installation

npm install @chance/mailgun-js
# OR
yarn add @chance/mailgun-js

Key differences from mailgun.js

When instantiating a client, the original lib has a dependency on ky-universal. You might already be using node-fetch or some other wrapper in your project, so this fork requires you to establish that dependency and tell the client how to make requests.

// Note: Named export instead of a default export!
import { Mailgun } from "@chance/mailgun-js";

// We're using node-fetch, but you could also use ky-universal if you want,
// or native fetch if using in the browser
import nodeFetch from "node-fetch";

import FormData from "form-data";

const mailgun = new Mailgun(FormData);
const mg = mailgun.client({
	username: "api",
	key: process.env.MAILGUN_API_KEY,
	publicKey: process.env.MAILGUN_PUBLIC_API_KEY, // Note: `publicKey` vs. `public_key`
	fetch: nodeFetch,
});

There is also lots of room for improvement in the types in the core lib. I'm going to try and tackle some of these. Would love to get these fixed upstream, but there are some old open PRs that don't give me too much hope. We'll see!

Lastly, I'm bundling with Rollup instead of Webpack. I want the bundles to be extremely light on modifying the source to avoid issues like this (this one in particular is breaking the source lib in Node which ... kind of sucks). I'm also providing ES modules and may decide to skip bundling altogether in a future version. We'll see.

Readme

Keywords

Package Sidebar

Install

npm i @chance/mailgun-js

Weekly Downloads

1

Version

0.2.0

License

MIT

Unpacked Size

229 kB

Total Files

44

Last publish

Collaborators

  • chancestrickland