0.4.0 • Published 4 years ago

@mc-proto/revel-api-client v0.4.0

Weekly downloads
-
License
-
Repository
-
Last release
4 years ago

Revel Api Client

pipeline status coverage report

You get some data! And you get some data!

A shared api client library that can connect various frontends to api microservices. It contains methods for communicating with our api, methods for getting mock data for api endpoints that may not exist yet, and typescript interfaces to type the data structures used. A client like this should be the universal way of interfacing with our apis via javascript/typescript.

The mocking methods are particularly important, as they allow us to use a frontend first methodology, building out a system of mock data that will allow us to develop a frontend against an api that doesn't exist yet.

You can find up to date documentation here.

Installation & Usage

Add the library to your npm project

npm i --save @mc-proto/revel-api-client

Import the methods you need

import { fetchNavigation } from '@mc-proto/revel-api-client';

fetchNavigation()
    .then((directory) => {
        // Do cool stuff
    })

Optionally provide a custom transform function to mutate the api response data or don't and a default transform function will be used. Also feel free to create a merge request to add additional transforms to api client.

Local Development

Building and local development are handled by Rollup, with linting from Eslint. To develop locally just clone the repo, npm install and run some cli commands.

  • npm run dev : Compiles with rollup and rebuilds on change. Linting will be displayed in the console with every build but the linter will not throw fatal errors.
  • npm run test : invokes mocha test runner. 100% code coverage threshold required for tests to pass.
  • npm run build : Compiles with rollup and lints. Linting errors and warnings will be fatal, breaking the build.

CI/CD

Gitlab will generate a build pipeline for merge requests, commits to valid branch formats and git flow style release tags like 1.2.3. Linting will run on every build, breaking the build on error or warning. A successful build on a release tag will publish to npm and generate documentation.

Contributing

Create a feature branch in the format 'feature/jira-case' or 'hotfix/jira-case' depending on the task

All api methods for a specific entity should reside in the same directory i.e. /navigation (Please clone this directory as boilerplate)

The test suite requires 100% code coverage

0.4.0

4 years ago

0.3.0

4 years ago

0.1.6

4 years ago

0.1.5

4 years ago

0.1.4

4 years ago

0.1.3

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago