open-index/open-npm huggingface dataset:
npm package: @geoblink/ajv-extra
Description: Extra goods for ajv
Author: Geoblink
Latest version: 1.0.22

Ajv extra is a drop in replacement for ajv with extra goods.

# Installation

```js
const Ajv = require('@geoblink/ajv-extra')
const ajv = new Ajv({ allErrors: true })

const schema = { /*** a valid JSON schema ***/ }
validator = ajv.compile(schema)

const isValid = validator({ /*** JSON object to be validated ***/})
```

#### OneOfByKey

Sometimes the schema is parametrized by some information. For example:

```js
const schema = {
  type: 'object',
  required: ['data'],
  properties: {
    data: {
      oneOf: [
        {
          type: 'object',
          properties: {
            origin: {
              enum: ['external']
            },
            /** some external properties **/
          }
        },
        {
          type: 'object',
          properties: {
            origin: {
              enum: ['internal']
            },
            /** some external properties **/
          }
        },
      ]
    }
  }
}
```

In the previous example, we receive data that can be either internal or external with a schema that depends on origin. This schema is nice to work with because data is always present. Depending on the origin we'll have one or the other.

However, there is a big hindrance. Logs are really ugly. If we are given:

```js
const obj = {
  data: {
    origin: 'internal',
    /** wrong properties for internal **/
  }
}
```

ajv has will show the logs for internal and external, although we are only interested in the internal properties. To solve this problem, we can use `oneOfByKey` which has a very similar syntax


```js
const schema = {
  type: 'object',
  required: ['data'],
  properties: {
    data: {
      oneOfByKey: {
        key: 'origin',
        oneOf: [
          {
            type: 'object',
            properties: {
              origin: {
                enum: ['external']
              },
              /** some external properties **/
            }
          },
          {
            type: 'object',
            properties: {
              origin: {
                enum: ['internal']
              },
              /** some external properties **/
            }
          },
        ]
      }
    }
  }
}
```

Now the validator knows that we are only interested in errors for internal properties
npm package: @geoblink/apidoc-plugin-ts
Description: A plugin for apidoc leveraging TypeScript interfaces.
Latest version: 2.0.4

# apidoc-plugin-ts

[![Build Status](https://travis-ci.org/geoblink/apidoc-plugin-ts.svg?branch=master)](https://travis-ci.org/geoblink/apidoc-plugin-ts)
[![npm](https://img.shields.io/npm/v/@geoblink/apidoc-plugin-ts.svg)](https://www.npmjs.com/package/@geoblink/apidoc-plugin-ts) [![Greenkeeper badge](https://badges.greenkeeper.io/geoblink/apidoc-plugin-ts.svg)](https://greenkeeper.io/)

A plugin for [apidoc](https://www.npmjs.com/package/apidoc) that injects params like `@apiSuccess` and `@apiParam` from TypeScript interfaces.
Supports extended and nested interfaces.

## Getting started

```javascript
npm install --save-dev apidoc @geoblink/apidoc-plugin-ts
```

```javascript
yarn add -D apidoc @geoblink/apidoc-plugin-ts
```

The following custom api-doc params are exposed:
- `@apiParamInterface`
- `@apiQueryInterface`
- `@apiBodyInterface`
- `@apiSuccessInterface`

```javascript
@CUSTOM_PARAM (optional path to definitions file) {INTERFACE_NAME}
 ```

## Example

Given the following interface:

```javascript
// filename: ./employers.ts

export interface Employer {
  /**
   * Employer job title
   */
  jobTitle: string;
  /**
   * Employer personal details
   */
  personalDetails: {
    name: string;
    age: number;
  }
}
```

and the following custom param:

```javascript
@apiSuccessInterface (./employers.ts) {Person}
```

under the hood this would transpile to:

```javascript
@apiSuccess {String} jobTitle Job title
@apiSuccess {Object} personalDetails Employer personal details
@apiSuccess {String} personalDetails.name
@apiSuccess {Number} personalDetails.age
```

*Note if the `Person` interface is defined in the same file then you can drop the path:*

```javascript
@apiSuccessInterface {Person}
```
npm package: @geoblink/design-system
Description: Geoblink Design System for Vue.js
Author: Geoblink
Latest version: 37.1.2

---
home: true
heroImage: /assets/img/logo.svg
heroText: Geoblink Design system
tagline: A production-ready Open Source Design System for Vue.js applications
actionText: Components →
actionLink: ./docs/Elements.html
features:
- title: Highly composable
  details: Use our components standalone or mix them to composed complex layouts.
- title: Battle-tested
  details: We intensively test all components in automated unit tests and use them in production.
- title: Locale Agnostic
  details: We do not make assumptions on the languages and formats supported by your application.
footer: MIT Licensed | Copyright © 2018-present Geoblink
---
npm package: @geoblink/jest-summary-reporter
Description: Simple reporter to summarize the failing tests at the END of a test run. Without this, you may be scrolling through pages of results to figure out which files to edit.
Latest version: 1.0.0

# Summary reporter for Jest

Simple reporter to summarize the failing tests at the END of a test run. Without this, you may be scrolling through pages of results to figure out which files to edit.

See the [issue](https://github.com/facebook/jest/issues/3322) that inspired this.

## Configuration

By default it prints the detailed failure messages and the summary of the failed tests.

Add `@geoblink/jest-summary-reporter` in addition to default reporters that Jest provides:
```
{
  "reporters": [
    "default",
    "@geoblink/jest-summary-reporter"
  ]
}
```

If you want to see passing/pending tests as well:
```
{
  "reporters": [
    "default",
    ["@geoblink/jest-summary-reporter", {"failuresOnly": false}]
  ]
}
```

If you want to omit the detailed failure messages:
```
{
  "reporters": [
    "default",
    ["@geoblink/jest-summary-reporter", {"shouldPrintFailureMessages": false}]
  ]
}
```

NB: This module is not complete enough to be useful as the only reporter.

See also: [Jest docs for custom reporter configuration](
https://facebook.github.io/jest/docs/en/configuration.html#reporters-array-modulename-modulename-options
)
npm package: @geoblink/lodash-mixins
Description: A collection of useful functions built on top of Lodash
Author: Geoblink
Latest version: 1.4.8

[![GitHub license](https://img.shields.io/github/license/geoblink/lodash-mixins.svg)](https://github.com/geoblink/lodash-mixins/blob/master/LICENSE)
[![Build Status](https://travis-ci.org/geoblink/lodash-mixins.svg?branch=master)](https://travis-ci.org/geoblink/lodash-mixins)
[![Coverage Status](https://coveralls.io/repos/github/geoblink/lodash-mixins/badge.svg)](https://coveralls.io/github/geoblink/lodash-mixins)
![npm bundle size (minified)](https://img.shields.io/bundlephobia/min/@geoblink/lodash-mixins.svg)
[![npm](https://img.shields.io/npm/v/@geoblink/lodash-mixins.svg)](https://www.npmjs.com/package/@geoblink/lodash-mixins)
[![docs](https://img.shields.io/badge/docs-automated-blue.svg)](https://geoblink.github.io/lodash-mixins/) [![Greenkeeper badge](https://badges.greenkeeper.io/geoblink/lodash-mixins.svg)](https://greenkeeper.io/)



# @geoblink/lodash-mixins

A collection of functionalities to extend lodash library.

## Installation

Using NPM:

```bash
npm i --save @geoblink/lodash-mixins
```

Or yarn:

```bash
yarn add --save @geoblink/lodash-mixins
```

## Usage

In your app:

```javascript
const _ = require('lodash')
require('@geoblink/lodash-mixins')(_)
```

## Docs

Documentation is automatically updated whenever a new version is released and can be checked in [https://geoblink.github.io/lodash-mixins](https://geoblink.github.io/lodash-mixins).
npm package: @geoblink/publish-to-npm
Description: CLI tool to publish a package to NPM
Author: Geoblink
Latest version: 1.0.2

[![Build Status](https://travis-ci.org/geoblink/publish-to-npm.svg?branch=master)](https://travis-ci.org/geoblink/publish-to-npm)
[![NPM package version](https://img.shields.io/npm/v/@geoblink/publish-to-npm)](https://www.npmjs.com/package/@geoblink/publish-to-npm)
[![Greenkeeper badge](https://badges.greenkeeper.io/geoblink/publish-to-npm.svg)](https://greenkeeper.io/)

# @geoblink/publish-to-npm

GitHub action to automatically publish package to NPM if they are not already published.

# Usage

Create a new `.github/workflows/publish-to-npm.yml` file:

```yml
name: publish-to-npm
on:
  push:
    branches:
      - master # Change this to your default branch
jobs:
  publish-to-npm:
    name: publish-to-npm
    runs-on: ubuntu-latest
    steps:
    - name: Checkout repository
      uses: actions/checkout@master
    - name: Set up Node.js
      uses: actions/setup-node@master
      with:
        node-version: 12.0.0
    - name: Publish version
      uses: geoblink/publish-to-npm@1.0.0
      env:
        NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} # You must set this in your repo settings
```

## Environment variables

- `NPM_AUTH_TOKEN`: this is the token the action will use to authenticate to NPM. You most generate one with publishing permissions in NPM, then you can add it to your secrets (_Settings_ » _Secrets_) so that it can be passed to the action. **DO NOT** put the token directly in your workflow file.