open-index/open-npm huggingface dataset:
npm package: @mc-proto/revel-api-client
Description: [![pipeline status](https://gitlab.com/revelsystems/microservices/revel-api-client/badges/master/pipeline.svg)](https://gitlab.com/revelsystems/microservices/revel-api-client/commits/master) [![coverage report](https://gitlab.com/revelsystems/microservice
Latest version: 0.4.0

# Revel Api Client
[![pipeline status](https://gitlab.com/revelsystems/microservices/revel-api-client/badges/master/pipeline.svg)](https://gitlab.com/revelsystems/microservices/revel-api-client/commits/master)
[![coverage report](https://gitlab.com/revelsystems/microservices/revel-api-client/badges/master/coverage.svg)](https://gitlab.com/revelsystems/microservices/revel-api-client/commits/master)

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](https://revelsystems.gitlab.io/microservices/revel-api-client/ "here").

# Installation & Usage

Add the library to your npm project
```shell script
npm i --save @mc-proto/revel-api-client
```

Import the methods you need
```js
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
npm package: @mc-proto/revel-buefy
Description: Revel + Bulma + Buefy
Author: Ben Webb
Latest version: 0.1.4

# Revel Buefy
Revel + Bulma + Buefy

## Installation
First, `npm install -S @mc-proto/revel-buefy`.

Install the plugin
```vue
import RevelBuefy from '@mc-proto/revel-buefy';
import './assets/scss/app.scss';

Vue.use(RevelBuefy);
```

In app.scss
```scss
// Let revel-buefy know where to find proxima so Vue can package/serve it
$font-path-proxima-nova: '~@mc-proto/revel-bulma/fonts/proxima-nova';
// Import the main scss bundle. $font-path-proxima-nova will override the default value in the bundle.
@import "~@mc-proto/revel-buefy/scss/bundle";

```

Optional: Add imports with style-resources-loader
`vue add style-resources-loader`
then in vue.config.js
```js
const path = require('path');

module.exports = {
	pluginOptions: {
		'style-resources-loader': {
			preProcessor: 'scss',
			patterns: [
				path.resolve(__dirname, './node_modules/@mc-proto/revel-buefy/scss/imports.scss'),
			],
		},
	},
};
```

This will make all Bulma/Buefy/Revel variables available in each component's scss.
npm package: @mc-proto/revel-bulma
Description: Revel Design, Bulmafied!
Latest version: 0.1.5

# Revel Bulma
Revel Design, Bulmafied!

## Usage
* Install using npm: `npm i -S revel-bulma`

You have a few options for including the theme in your project.

* If you're using Scss in your project, import the main bundle with `scss/bundle.scss`.
* If you need to import non-rendering scss (ie variables, mixins, etc) into a single component, import `scss/imports.scss`.
* Just want the css in a handy, standalone package? `dist/bundle.css` has you covered. Just pull it in as a static file, import into some js, you do you.

### Fonts

This package comes with the font Proxima Nova included, but it requires a bit of setup. The css bundle uses relative paths to reference the font files in the dist folder, so if you copy the dist folder as a unit the fonts should resolve without issue. If you're using scss you can use the `$font-path-proxima-nova` variable to override the default path to match your configuration. You can see an example of this in the demo app at `src/assets/scss/app.scss`. 

If you're using Vue and Scss you can use webpack to magically pull the assets out of this package. It's pretty cool. Check out https://cli.vuejs.org/guide/html-and-static-assets.html#relative-path-imports for an explanation and you can find a working example in revel-buefy. 

## Local Development

Revel Bulma comes packaged with a small Vue app to allow for easy testing of changes. Just run `npm run serve` to spin it up.

## Making a new build

Just run `npm run build`.