open-index/open-npm huggingface dataset:
npm package: @iryu54/coco-sdk
Description: This package is just collection of common code i use across multiple projects
Latest version: 1.3.10

# Coco-sdk

This package is just collection of common code i use across multiple projects


## Install
``` npm i @iryu54/coco-sdk ```

### Modules

 - [Mongo stuff](./mongo/README.md)
 - [Middlewares stuff](./middlewares/README.md)
npm package: @iryu54/fbterm
Description: Use messenger in your terminal
Author: iryu54
Latest version: 1.5.0

# FbTerm

![Demo](./demo.gif)
## Install
``` bash
    npm i -g @iryu54/fbterm
```

## Usage
``` bash
    npm run start 
```

On first start cli ask to create credentials
Credentials are store and encrypted in credentials.json
git add .
npm package: @iryu54/nmsjs
Description: Useless package inspired from https://github.com/bartobri/no-more-secrets
Author: clabroche
Latest version: 1.0.1

# nmjs

Useless package inspired from https://github.com/bartobri/no-more-secrets


You can pretend to decrypt like hackers by piping any command to nms

![demo](./sample.gif)

# Installation
``` bash 
npm i -g @iryu54/nmsjs
```
npm package: @iryu54/object-validity
Description: ![coverage](./badge.svg)
Author: clabroche
Latest version: 1.4.3

# Object-validity
![coverage](./badge.svg)

[![Actions Status](https://github.com/clabroche/object-validity/workflows/Node%20CI/badge.svg)](https://github.com/clabroche/object-validity/actions)

## Install
``` bash 
npm i @iryu54/object-validity
```

## Usage

A schema object is a collection of field to validate. Each field are a function with a validator object. A validator function can be chained. ex:
``` javascript
validator => validator.be('number').min(2).max(5)
```

``` javascript
const {Schema} = require('@iryu54/object-validity')
const objectToValidate = {
  number: 10,
  nestedObject: {
    object: {}
  },
  arrayNested: [
    {array: []}
  ]
}
const {valid, error} = new Schema({
  number: validator=>  validator.be('number').min(9).max(12),
  nestedObject: { object: v => v.object() },
  arrayNested : [
    { array: v => v.array() }
  ]
}).validate(objectToValidate)
expect(valid).to.be.true
expect(error).to.be.null
```
npm package: @iryu54/process_communication
Description: You can communicate between processes (webextension, nodejs processes...) under only one API.
Author: clabroche
Latest version: 1.0.2

# Process_communication

Warning: This package is under development.

You can communicate between processes (webextension, nodejs processes...) under only one API.

## Already made

 - Communication between process from webextension

## TODO

 - Tests
 - Check that api responds to all cases
 - Implements Child_process of nodejs
 - Complete Readme with usage and installation
npm package: @iryu54/scraper
Description: Scrap website with a configuration
Latest version: 1.0.0

# Scraper

Scrap website with a configuration

## Usage 
``` npm i @iryu54/scraper ```


## Crawl page
``` javascript
const Scraper = require('@iryu54/scraper')
const html = await Scraper.fetch('<URL>')
```

## Scrap with a config
``` javascript
// index.js
const config = require('../test.conf')
const Scraper = require('@iryu54/scraper')
const parsedSite = await Scraper.scrapUrl('<URL>', config)
```

``` javascript
// test.conf.js
module.exports = [
  { // find .name-title and insert value in name field. Value is include in innerText of HTMLElement
    "title": "name",
    "value": ".main-title",
    "text": true
  },
  { // find .wrapper img and insert value in img field. Value is include in src attributes
    "title": "img",
    "value": ".wrapper img",
    "attr": "src"
  },
  { // find .count and insert value in nbPerson field. Value is include in value attributes then transform to a number
    "title": "nbPerson",
    "value": ".count input",
    "attr": "value",
    "transform": value => +value
  },
  { // find .list and insert value in preparation field. Value is include in innerText then transform on CheerioStatic is applied 
    "title": "preparation",
    "value": ".list",
    "text": true,
    html: value => {
      return value.toArray()
        .map(($preparation, i) => {
          $preparation = cheerio.load(cheerio.html($preparation))
          $preparation('h3').remove()
          return `<h3>Etape ${i + 1}</h3>\n<p>${$preparation('.recipe-item').text().trim()}</p>`
        }).join('\n')
    }
  },
  { // Execute instructions inside .list HTMLElement and put result in array on ingredients field
    "title": "ingredients",
    "value": ".list",
    "children": [
      {
        "title": "quantity",
        "value": ".recipe-ingredient-qt",
        "text": true
      },
      {
        "title": "name",
        "value": ".ingredient",
        "text": true
      }
    ]
  }
]
```
npm package: @iryu54/shortcuts
Description: Little package to link my system shortcuts with advanced commands made in node.js
Latest version: 1.1.1

# Shortcuts

Little package to link my system shortcuts with advanced commands made in node.js

## OS

Archlinux, kde Plasma 5

## Requirements 

 - nodejs:  >= 14

## Install

``` npm i -g @iryu54/shortcuts ```
You can link your system shortcuts to the shortcuts package

## Usage

 - Brightness: Sync brightness from all monitors (linux)
   - shortcuts brightness increase 
   - shortcuts brightness decrease