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 🙏

© 2024 – Pkg Stats / Ryan Hefner

plaid-fetch

v1.0.2

Published

Fetch-based client for the Plaid API

Downloads

51

Readme

plaid-fetch

This is a simple wrapper around the Plaid API that uses fetch to make requests for compatibility in edge environments that don't support Plaid's official Node SDK, which requires Axios support.

Code is generated using Plaid's OpenAPI spec with @openapitools/openapi-generator-cli with the typescript-fetch generator. This allows similar usage to the official Plaid Node SDK, which is generated using the same package.

This is an unofficial, community-maintained library. It is not maintained by Plaid, and has not been extensively tested, so use at your own risk and please report or contribute if you find any issues.

Getting started

First, you'll need to create a Plaid account and get your API keys. You can do that here.

Install the package:

npm install plaid-fetch
# or
yarn add plaid-fetch
# or
pnpm add plaid-fetch

Then, initialize a client:

import { Configuration, PlaidApi } from 'plaid-fetch';

const configuration = new Configuration({
    basePath: 'https://sandbox.plaid.com',
    headers: {
        'PLAID-CLIENT-ID': process.env.PLAID_CLIENT_ID,
        'PLAID-SECRET': process.env.PLAID_SECRET,
    },
})

const plaid = new PlaidApi(configuration);

You can now use this client to make requests similar to the official Plaid SDK:

const response = await plaid.transactionsEnrich({
    account_type: "credit",
    transactions: [{
        id: "abc123",
        description: "SQ *COACHELLA VALLEY M Royal Oak MI US 48067",
        amount: 26.10,
        direction: 'OUTFLOW',
        mcc: "5814",
        date_posted: new Date('2024-04-14'),
        iso_currency_code: "USD",
        location: { country: "US", region: "MI", city: "Royal Oak", postal_code: "48067" }
    }]
});

const enrichedTransactions = response.enriched_transactions;

Differences versus the official SDK

  • Configuring the client is slightly different, since the official SDK uses Axios and this one uses fetch. You need to pass the basePath and headers to the Configuration constructor (see above).
  • Responses are returned directly, so you don't need to access the data property. For example, response.data.enriched_transactions becomes response.enriched_transactions. This behavior may change in the future to match the official SDK more closely; if so, it will be released as a major version bump.

Development

When a new Plaid API version is released, the wrapper can be updated by running the following command:

pnpm generate

TODO: Set up changesets and automated releases.