open-index/open-npm huggingface dataset:
npm package: @maiscrm/qr.js
Description: qrcode encoding in javascript
Author: Roman Shtylman
Latest version: 0.0.1

# qr.js

qrcode encoding in pure javascript with no additional dependencies

```js
var qr = require('qr.js');

var qrcode = qr('foo bar baz');

var cells = qrcode.modules;

// cell[R] -> row
// if cell[R][C] is true, that cell is "on"
```

[interactive example](http://tryme.jit.su/shtylman/qr.js/example)

# credit

This library is repackaged work from the qrcode library here http://www.d-project.com/ which is also licensed under the MIT license. See LICENSE-qrcode for the license file to that project.

# notes
The word "QR Code" is registered trademark of DENSO WAVE INCORPORATED
http://www.denso-wave.com/qrcode/faqpatent-e.html
npm package: @maiscrm/vue-tap
Description: The mobile touch event plugin for Vue.js.
Author: leolin
Latest version: 1.0.2

# vue-tap

> Tap events plugin for Vue.js

This is a lightweight plugin for TouchEvent in mobile without any dependency, which removes the 300ms delay from clicks.

## Install

#### CommonJS

- Available through npm as `vue-tap`.

``` js
var VueTap = require('vue-tap')
Vue.use(VueTap)
```

#### Direct include

- You can also directly include it with a `<script>` tag. It will automatically install itself, and will add a global `VueTap`.

## Usage

#### Using the `v-tap` directive

``` html
<div v-tap="handler">I am a div.</div>
```

also, you can pass parameters to the directive, like this:

``` html
<div v-tap="handler('hello', $event)">I am a div.</div>
```

## License

MIT
npm package: @maiscrm/vuepress-plugin-code-box
Description: 📝 Demo and code plugin for vuepress
Latest version: 0.1.0

<h1 align="center">vuepress-plugin-code-gen-box</h1>

> code-gen-box plugin for vuepress.

With this plugin, you can both display demo and code via following syntax.

```md
::: demo
<div @click="onClick">Click me!</div>

<script>
export default {
  methods: {
    onClick: () => { window.alert(1) },
  },
}
</script>
:::
```

## Features

- Only one source code
- Foldable code

## Install

- First of all, install [vuepress v1.x](https://github.com/vuejs/vuepress)

- Then install the plugin

```bash
$ npm i vuepress-plugin-code-gen-box -D
# OR
$ yarn add vuepress-plugin-code-gen-box -D
```

## Usage

Write vuepress config

```js
module.exports = {
  plugins: ["code-gen-box"],
};
```

## Options

This plugin supports the following configurations.

```js
module.exports = {
  plugins: [
    [
      "demo-code",
      {
        showText: "show code",
        hideText: "hide",
        styleStr: "text-decoration: underline;",
        demoCodeMark: "demo-code",
      },
    ],
  ],
};
```

### showText

- Type: `String`
- Default: `显示代码`

The display text of unfold code button.

### hideText

- Type: `String`
- Default: `隐藏代码`

The display text of fold code button.

## License

[MIT](http://opensource.org/licenses/MIT)
npm package: @maiscrm/vuepress-plugin-exportpdf
Description: Export your VuePress site to a PDF file with outline
Latest version: 0.1.3

# vuepress-plugin-exportpdf

Inspired by [vuepress-plugin-export](https://github.com/ulivz/vuepress-plugin-export).

> This plugin requires VuePress >= **1.0.0-alpha.44**.

## Features

- Merge all of your pages automatically.
- Create outline by your sidebar.
- Inject page numbers.

## Install

```shell
npm i @maiscrm/vuepress-plugin-exportpdf
```

## Usage

Using this plugin:

```javascript
// .vuepress/config.js
module.exports = {
  plugins: [
    [
      '@maiscrm/vuepress-plugin-exportpdf',
      {
        themeConfig: {
          navbar: false,
          nextLinks: false,
          prevLinks: false,
          sidebar: [
            'docs/',
            {
              title: 'Plugin',
              children: [
                'docs/plugin/',
                'docs/plugin/using-a-plugin'
              ]
            }
          ]
        }
      }
    ]
  ]
}
```

Then run:

```bash
vuepress exportpdf [path/to/your/docs]
```

## Development

```bash
# Note that this package is powered by [puppeteer](https://github.com/GoogleChrome/puppeteer), if you are in a mysterious wall, consider setting this [environment variables](https://github.com/GoogleChrome/puppeteer/blob/v1.11.0/docs/api.md#environment-variables) before installation.
export PUPPETEER_DOWNLOAD_HOST=https://npm.taobao.org/mirrors
yarn install
yarn exportpdf
```
npm package: @maiscrm/vuepress-theme-antdocs
Description: An Ant Design style theme for VuePress.
Latest version: 0.1.4

<div align="center"><img src="https://s2.ax1x.com/2020/02/27/3aIcDK.png" height = "150" /></div>

<h1 align="center">AntDocs</h1>

<div align="center">

An Ant Design style theme for VuePress.

</div>

<div align="center">

![Build](https://img.shields.io/badge/build-passing-brightgreen?style=flat-square) ![GitHub package.json version (branch)](https://img.shields.io/github/package-json/v/zpfz/vuepress-theme-antdocs?style=flat-square) ![License](https://img.shields.io/github/license/zpfz/vuepress-theme-antdocs?style=flat-square)

</div>

# Features
- Equipped with Ant Design style, you can directly use various components of the UI library.
- Optimize parts of styles.
- More features are waiting for you to discover ...

# Quick start

#### Install theme

```sh
npm i vuepress-theme-antdocs
```
or
```sh
yarn add vuepress-theme-antdocs
```

#### Use theme  

Open your `.vuepress/config.js`, and then add VuePress theme reference code:
```js
module.exports = {
  theme: 'antdocs'
}
```
You can get help here: [Using a theme](https://vuepress.vuejs.org/theme/using-a-theme.html#theme-shorthand)
npm package: @maisondigital/jsontoschema
Description: Convert JSON to a simplified, human-readable schema. Types replace values, arrays merge into one representative item, optional fields get marked with ?.
Author: MAISON DIGITAL SAS
Latest version: 1.2.0

# jsontoschema

Convert JSON to a simplified, human-readable schema. Types replace values, arrays collapse to one representative item, and optional fields get marked with `?`.

Built for LLM prompts, API docs, and anywhere you need to describe JSON structure without the bulk of actual data.

## Install

```bash
npm install @maisondigital/jsontoschema
```

## Usage

### Programmatic

```ts
import { convert } from "@maisondigital/jsontoschema";

const schema = convert({
  id: 1,
  name: "Alice",
  tags: ["admin", "user"],
  address: {
    city: "New York",
    zip: "10001",
  },
});

console.log(schema);
// {
//   id: number,
//   name: string,
//   tags: string[],
//   address: {
//     city: string,
//     zip: string
//   }
// }
```

### From a JSON string

```ts
import { convertFromString } from "@maisondigital/jsontoschema";

const result = convertFromString('{"id": 1, "name": "Alice"}');

if (result.success) {
  console.log(result.schema);
} else {
  console.error(result.error);
}
```

### With examples

Pass `includeExamples: true` to show observed values alongside types:

```ts
convert({ brand: "bmw", year: 2024 }, { includeExamples: true });
// {
//   brand: "bmw" | string,
//   year: 2024 | number
// }
```

### Array merging

When an array contains objects, fields are merged into one representative item. Fields that don't appear in every item are marked optional:

```ts
convert([
  { id: 1, name: "Alice" },
  { id: 2, name: "Bob", role: "admin" },
]);
// [{
//   id: number,
//   name: string,
//   role?: string
// }]
```

### Token estimation

```ts
import { estimateTokens } from "@maisondigital/jsontoschema";

estimateTokens(schemaString); // rough count (~4 chars/token)
```

## CLI

```bash
# From a file
npx @maisondigital/jsontoschema data.json

# With examples
npx @maisondigital/jsontoschema data.json --examples

# Custom indent
npx @maisondigital/jsontoschema data.json --indent 4

# From stdin
cat data.json | npx @maisondigital/jsontoschema
```

## Options

| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `includeExamples` | `boolean` | `false` | Show observed values alongside types |
| `indent` | `number` | `2` | Spaces per indentation level |

## How it works

- Primitive values become their type: `string`, `number`, `boolean`, `null`
- Objects keep their keys, values become types
- Arrays of primitives become `type[]`
- Arrays of objects merge all items into one representative shape
- Fields missing from some array items become optional (`key?`)
- Mixed types become unions: `string | number`
- No depth limit, no recursive deduplication

## Web tool

Try it in the browser at [jsontoschema.com](https://jsontoschema.com). Client-side only, your JSON never leaves the browser.

## License

MIT
npm package: @maisonsdumonde/pm2-gelf
Description: PM2 Logging to GELF for GrayLog
Author: Charlie Livingston
Latest version: 0.0.2

pm2-gelf
=================

A library to redirect your [PM2](http://pm2.io) logs to a [GELF](http://docs.graylog.org/en/latest/pages/gelf.html) input stream

* Heavily based on [https://github.com/dfrankland/pm2-loggly](https://github.com/dfrankland/pm2-loggly)
* Uses [https://github.com/robertkowalski/gelf-node](https://github.com/robertkowalski/gelf-node) to output to GELF

## Installation

Tested on node-4.5.x, requires pm2.

```sh
  pm2 install pm2-gelf
```

## Configuration

This module has multiple configuration variables, all fed into gelf-node

- "graylogPort": The UDP port to send gelf messages to (Default: 12201)
- "graylogHostname": The hostname of the GELF input (Default: '127.0.0.1')
- "connection": Lan or Wan - The connection type (Default: 'wan')
- "maxChunkSizeWan": The largest chunk to send via WAN (Default: 1420)
- "maxChunkSizeLan": The largest chunk to sent via LAN (Default: 8154)


After having installed the module:

```sh
  pm2 set pm2-gelf:<param> <value>
```

Examples:

```sh
  pm2 set pm2-gelf:graylogHostname my.cool.host
  pm2 set pm2-gelf:graylogPort 12345
```