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

@dta5/npm-dta-sdk

v6.0.28

Published

DTA Standard Development Kit

Downloads

6

Readme

npm-dmx-sdk

Package to handle shared microservice behaviors.

A simple example:

// you should specify DMX_SERVICE env (ex. `Auctions`) which is microservice sender name
const { Authentication } = require('@dmx/npm-dmx-sdk');

const { status, body } = await Authentication.get({
  path: '/users/user-1',
  jwt: { user: { _id: 'user-1', username: '[email protected]' }, dealerId: 'dealer-1' },
});

If NODE_ENV or DMX_SERVICE are not set in process.env, requiring the module will return a function which accepts a configuration object:

const envConfig = { NODE_ENV: 'development-one', DMX_SERVICE: 'Mobile' };
const { Authentication } = require('@dmx/npm-dmx-sdk')(envConfig);

const { status, body } = await Authentication.get({
  path: '/users/user-1',
  jwt: { user: { _id: 'user-1', username: '[email protected]' }, dealerId: 'dealer-1' },
});

A sample returned value:

Promise.resolve({
  status: 200,
  body: {
    foo: 'bar',
  },
  text: '{"foo":"bar"}',
  headers: { // only the custom explicit headers, not the default ones
    'x-total-count': '456',
  },
});

A sample returned value for 4.. and 5.. responses:

Promise.reject({
  response:
    status: 400,
    text: 'invalid email',
    headers: {}
  }
});

Supported methods:

  • get
  • post
  • put
  • patch
  • delete

Supported microservices:

  • ForestAdmin
  • AdminDashboardServer
  • AdminDashboardClient
  • Appraisals
  • Auctions
  • Authentication
  • DashboardServer
  • DashboardClient
  • Gateway (some of microservices connect via gateway so use Gateway explicitly only if a microservice connects without gateway)
  • Grades
  • Ingestion
  • Inventory
  • MarketData
  • Media
  • Notifications
  • NotificationsNew
  • Payments
  • Reports
  • Scheduling
  • VehicleInfo
  • Webhooks
  • WebSockets

Fields which can be passed into the methods:

  • path: String - path including the parameters but excluding the query string
  • query: Object - query string
  • payload: Object (only in post, put and patch) - request body
  • headers: Object - custom request headers
  • jwt: Object|String - decoded (if an Object) or encoded (if a String) JSON Web Token
  • throttle: Throttle<active: Boolean, rate: Number, ratePer: Number, concurrent: Number> - instance of Throttle class (const { Throttle } = require('@dmx/npm-dmx-sdk')) configured in format specified in https://github.com/leviwheatcroft/superagent-throttle
  • responseType: String - according to https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseType
  • shouldHandle502error: Boolean - get always handles 502 error (repeats max 5 times) but for other methods 502 is handled only when shouldHandle502error is set to true, it should be used carefully, only for idempotent endpoints (calling multiple times should result in the same data stored in db as calling a single time except of logged info)

If jwt is not specified, a default JWT is created based on the DMX_SERVICE env.