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

@apihawk/billia-sdk

v0.0.60

Published

The ApiHawk Billia SDK

Downloads

62

Readme

Billia SDK

Node.js SDK for easy interaction with the Billia REST API. The code is written in TypeScript and provides typings for all methods and data objects.

Installation

npm i @apihawk/billia-sdk

Requires Node.js version 10.0.0+

Usage

Import the BilliaSDK constructor and create a new instance:

import { BilliaSDK } from '@apihawk/billia-sdk';

const billia = new BilliaSDK({
  apiUrl: '<BILLIA API URL>',
  clientId: '<YOUR CLIENT ID>',
  clientSecret: '<YOUR CLIENT SECRET>'
});

const session = await billia.Authentication.authenticate(
  '[email protected]',
  'my_password_123'
);

const orders = await billia.Orders.getOrders(session, {
  page: 1,
  page_size: 10
});

console.log(orders.items);

You can also use the SDK on the client (Angular/React/Vue etc.) to import Billia specific application data object types (interfaces) without including the actual implementation code. All types and interfaces are prefixed with I and are in the /lib/types namespace.

import { ICatalogProduct } from '@apihawk/billia-sdk/lib/types';

function showProductName(product: ICatalogProduct) {
  console.log(`${product.name} (${product.module})`);
}

Contributing

Linking

  1. Go to the root of the project and run npm link.
  2. Go to the root of the project importing this module and run npm link @apihawk/billia-sdk.

Build

You must compile the TypeScript source code into JavaScript. You can do this by running: npm run build.

Test

Before you start the tests, make sure your code passes the linting rules set by TSLint:

npm run lint

You can execute the integration tests by running:

npm test

This will start the Jest test runner and each module will get tested in parallel.

It's important to always run the test suite before you contribute to this project and add tests for new features you implement. The tests are located in the src/__tests__ folder, the JSON API mocks are in the src/__mocksData__ while src/__mocks__ contains JS mock objects.

Hooks

There are pre-commit hooks which will:

  • run the linter (TSLint)
  • run the tests (Jest)
  • run the code formatter on the staged files (Prettier)

If one of these fails, your changes won't be commited. You have to fix the errors and fix your code until the pre-commit hooks pass.

If for some reason the hooks do not work for you, please run npm rebuild. This will re-initialize the Husky hooks.

Release (for project maintainers only)

Using GitLab's CI:

  1. git checkout production
  2. git pull origin production
  3. npm version patch (or minor / major)
  4. git push origin production --tags

Manual (not recommended)

  1. npm version patch (or minor / major)
  2. npm publish --access public