open-index/open-npm huggingface dataset:
npm package: @repositive/generator-node-base-service
Description: This is a [yeoman](http://yeoman.io) generator intended provide the basic setup for a new microservice.
Latest version: 1.1.0

## node-base-service

This is a [yeoman](http://yeoman.io) generator intended provide the basic setup for a new microservice.

**What this automates**
- Basic structure
- Deployment configurations
- Dependencies:
    - Typescript
    - Tape
    - Sinon
    - TsLint
    - Istanbul
    - Nodemon
    - Husky
    - Config
- NPM Scripts:
    - make
    - lint
    - test
    - coverage
    - start
    - startDev

**Installing with NPM**
```bash
  $ npm i @repositive/generator-node-base-service
```

**Generating the base service**

```bash
    $ yo @repositive/node-base-service
```
npm package: @repositive/hapi-route-loader
Description: Load hapi routes into the hapi router from a folder
Author: Repositive Team
Latest version: 0.1.1

@repositive/hapi-route-loader
---

Load hapi routes into the hapi router from a folder

**How to use**

First define your routes in any folder you like. Your route module must comply with the route schema definition for the module to be loaded:

```ts
export interface RouteConfiguration {
  path: string;
  method: HTTP_METHODS_PARTIAL | '*' | (HTTP_METHODS_PARTIAL | '*')[];
  vhost?: string;
  handler?: string | RouteHandler | RouteHandlerPlugins;
  config?: RouteAdditionalConfigurationOptions | ((server: Server) => RouteAdditionalConfigurationOptions);
}
```

An example of a route:

```ts
/* /src/routes/hello.ts */

export const method = 'get';
export const path = '/';

export function handler(req: any, rep: any) {
  rep('Hello World');
}
```


Then load your routes with the plugin:

```ts
import { Server } from 'hapi';
import { promisify } from 'bluebird';
import routeLoader from '@repositive/hapi-route-loader';


async function startApi() {
  const server = new Server();
  const register: any = promisify(server.register, {context: server});
  const start: any = promisify(server.start, {context: server});
  
  server.connection({
    port: 3000
  });
  
  await register({
    register: routeLoader,
    options: {
      /**
       *  match needs to point to the compiled js files that you want to load.
       */
      match: `dist/routes/**/*.js`
    }
  });
  
  await start();

  console.log('API initialized');
}

```

**Notes**

The repository has git hooks on `precommit` and `prepush`. You need to pass the linting criteria before commit and the test and coverage criteria before push. The test requirements are 80% overall.
npm package: @repositive/liz-skin
Author: Repositive Team
Latest version: 1.1.0

# liz-skin


### Changelog - to v1.0.0

* No `.u-` namespacing. There is a 'gotacha' - some old classes in Discover's custom directory still have `.u-`, I will tidy this ASAP.
* Revised spacing scale: deleted the 96px space, introduced the 3px space:
```scss
.p0 {} // = 0px padding
.p1 {} // = 3px padding
.p2 {} // = 6px padding
.p3 {} // = 12px padding
.p4 {} // = 24px padding
.p5 {} // = 48px padding
```
* Inline documentation.
* More responsiveness. Use the suffixes `-s`,`-m`, `-l`, `-w` (note: not every suffix is available for every utility) to apply different margins, paddings, displays (show/hide) on different media breakpoints.
* Some simplified syntax: e.g. `.block`, `.inline-block`, `.absolute`, `.relative`, `.circle`, `.square`.
* Everything relating to font has a 'f' in front of it. So `.u-tc-primary` is replaced by`.fc-primary`, to be consistent with font-size and font-weight.
* No arbitrary image width classes (`.u-w4`). See `icon.scss` for new width classes, designed around common avatar sizes. It might not be the perfect system, but it's an improvement.
npm package: @repositive/rps
Description: A node base scaffolding tool
Latest version: 2.3.2

## rps

This is a [yeoman](http://yeoman.io) generator intended provide the basic setup for a new microservice.

**What this automates**
- Basic structure
- Deployment configurations
- Dependencies:
    - Typescript
    - Tape
    - Sinon
    - TsLint
    - Istanbul
    - Nodemon
    - Husky
    - Config
- NPM Scripts:
    - make
    - lint
    - test
    - coverage
    - start
    - startDev

**Installing with NPM**
```bash
  npm i -g @repositive/rps
```

**Available commands:

```bash
  rps -h
  rps gen -h
```
npm package: @repositories/inmem
Description: Generic IRepository implementation using an In-Memory DB
Author: Ben Lugavere
Latest version: 0.0.0

# InMem-Repository [![NPM version][npm-image]][npm-url]

## Installation 

```sh
$ npm install --save @repositories/inmem
```

## Usage

```js

'use strict'

const mongoose = require('mongoose');
const InMemRepository = require('@repositories/inmem');

class CatRepository extends InMemRepository {
  constructor(){
    super();
    this.find = this.find.bind(this);
  }
  // custom implementations
  find(query, cb) {
    this.findAll((err, all) => {
      if(err) return cb(err);
      cb(null, _.filter(all, query))
    });
  }
}

// or if you dont need custom functionality

const repo = new InMemRepository();

repo.add({ name: 'Tom' }, (err, doc) => {
  console.log(doc);
});

```

## Getting Started


## License

MIT © [Ben Lugavere](http://benlugavere.com/)


[npm-image]: https://badge.fury.io/js/@repositories/inmem.svg
[npm-url]: https://npmjs.org/package/@repositories/inmem
[travis-image]: https://travis-ci.org/blugavere/@repositories/inmem.svg?branch=master
[travis-url]: https://travis-ci.org/blugavere/@repositories/inmem
[daviddm-image]: https://david-dm.org/blugavere/@repositories/inmem.svg?theme=shields.io
[daviddm-url]: https://david-dm.org/blugavere/@repositories/inmem
[coveralls-image]: https://coveralls.io/repos/blugavere/@repositories/inmem/badge.svg
[coveralls-url]: https://coveralls.io/r/blugavere/@repositories/inmem
npm package: @repositories/redis
Description: Generic IRepository implementation for Redis
Author: Ben Lugavere
Latest version: 1.0.0

# Redis Repository
[![NPM version][npm-image]][npm-url]
[![NPM Downloads][downloads-url]][downloads-link]

## Installation 

```sh
$ npm install --save @repositories/redis
```

## Usage

```js

'use strict';

const redis = require('redis');
const client = redis.createClient();
const RedisRepository = require('@repositories/redis');

class TodoRepository extends RedisRepository {
  constructor(client){
    super(client, 'todos');
  }
  // custom implementations
}

// or if you dont need custom functionality

const repo = new RedisRepository(client, 'todos');

repo.add({ name: 'Tom' }, (err, doc) => {
  console.log(doc);
});
 
// expire after 5 seconds
repo.add({ name: 'Tom' }, { expire: 5 }, (err, doc) => {
  console.log(doc);
});

```

[npm-image]: https://img.shields.io/npm/v/@repositories/inmem.svg
[npm-url]: https://npmjs.org/package/@repositories/redis
[downloads-url]: https://img.shields.io/npm/dm/@repositories/redis.svg?style=flat
[downloads-link]: https://www.npmjs.com/package/@repositories/redis
npm package: @repositoryname/noop
Description: doing nothing as a function
Author: Dennis Sen
Latest version: 1.0.6

# noop

Function that does the nothing.

```js
import noop from '@repositoryname/noop'

noop() // no operation is executed
```

For a less casual noop, check [@underdash/noop](https://github.com/isthisstackoverflow/noop).
npm package: @repositoryname/vuex-generators
Description: Generator functions for simple vuex store interactions.
Latest version: 1.1.2

# vuex-generators

Generator functions for simple vuex store interactions.

## generateSimpleGetters

Returns an object of simple getters for a state object, where simple means that they will just return an entry for any key.  
For example, given a state object `{key: value}`, an object `{key: state => state[key]}` will be returned.  
This is useful to avoid writing basic operations.

## generateSimpleMutations

Returns an object of simple mutations for a state object, where simple means that they will just replace an entry for any key.  
For example, given a state object `{key: value}`, an object `{setKey: (state, payload) => state[key] = payload}` will be returned.  
This is useful to avoid writing basic operations.

## getSetGenerator

Prepares a vuex store variable to be usable as `v-model`, assuming that a fitting mutation (e.g. generated by `generateSimpleMutations`) exists. Use within Vue component as either `getSetGenerator(['varName'])` for root store or `getSetGenerator('moduleName', ['varName'])` for any nested module.

## Usage examples

```js
import { generateSimpleGetters, generateSimpleMutations } from '@repositoryname/vuex-generators'

const initialState = {
  example: 'value',
  exampleToo: 'Two'
}

// generate getters example, exampleToo
const simpleGetters = generateSimpleGetters(initialState)
// generate mutations setExample, setExampleToo
const simpleMutations = generateSimpleMutations(initialState)

// getters object can be extended - this pattern comes in handy
export const getters = {
  ...simpleGetters,
  other: ({example}) => example.toUpperCase()
}

// same pattern allows overriding simple mutations in case they do something later
export const mutations = {
  ...simpleMutations,
  setExample: (state, payload) => state.example = payload.toLowerCase()
}
```

```html
<template>
  <!-- fictional component -->
  <InputRange v-model="red" />
  <InputRange v-model="green" />
  <InputRange v-model="blue" />
</template>

<script>
// in a vue component
import { getSetGenerator } from '@repositoryname/vuex-generators'

export default {
  computed: {
    ...getSetGenerator('paletteModule', ['red', 'green', 'blue'])
  }
}
</script>
```
npm package: @reprex/create-project
Description: A CLI to bootstrap my new projects
Author: SeyyedKhandon@gmail.com
Latest version: 1.2.1

# A simple CLI tool for templating
## try use it:

`npx @reprex/create-project myproject`

`or`

## install it globally:

```
npm install -g @reprex/create-project
create-project myproject
```