open-index/open-npm huggingface dataset:
npm package: @m00n/gatsby-plugin-nav-tree
Description: Gatsby Plugin to Auto Generate Nested Page Tree for Left Nav
Author: Adam Moon
Latest version: 0.6.0

# @m00n/gatsby-plugin-nav-tree

Provide drop-in support for automated generation of a nested Page Navigation Tree for each page. Automatically discovers your nested path stucture to provide the data needed to generate a proper nested Nagivation Tree Component

## Install

`npm install --save @m00n/gatsby-plugin-nav-tree`

## How to use

Add the plugin to your `gatsby-config.js`.

```javascript
plugins: [
    {
      resolve: "@m00n/gatsby-plugin-nav-tree",
      options: {
        ignorePaths: ["/categories", "/tags",  "/404", "/offline-plugin-app-shell-fallback",
        "/dev-404-page"]
      }
    }
] 
```

## Example Usage

### Including `navTree` graphQL Fragment into a Page Component

###### Notice the ...navTree fragment reference in the the Page graphql query

```javascript
import React from "react";
import Helmet from "react-helmet";
import { graphql } from "gatsby";
import Layout from "../layout";
import DocListing from "../components/DocListing";
import config from "../../data/SiteConfig";
import { PageContext } from '../templates/pageContext';

class Index extends React.Component {
render() {
    const { data } = this.props;
    const docEdges = data.allMarkdownRemark.edges;

    return (
    <PageContext.Provider value={{data}}>
        <Layout location={this.props.location}>
        <div className="index-container">
            <Helmet title={config.siteTitle} />
            <DocListing docEdges={docEdges} />
        </div>
        </Layout>
    </PageContext.Provider>
    );
}  
}

export default Index;

export const pageQuery = graphql`	
query IndexQuery($slug: String) {
    ...navTree
    allMarkdownRemark(	
    limit: 2000	
    sort: { fields: [fields___date], order: DESC }	
    ) {	
    edges {	
        node {	
        fields {	
            slug	
            date	
        }	
        excerpt
        frontmatter {	
            title	
            tags	
            date	
        }	
        }	
    }	
    }	
}	
`;
```

### Using navTree Data to Generate a Left Nav Component
npm package: @m00nbyte/classmix
Description: Combines class names conditionally, ensuring uniqueness and proper formatting
Author: m00nbyte
Latest version: 1.0.0

# classmix

[![npm version](https://img.shields.io/npm/v/@m00nbyte/classmix.svg)](https://www.npmjs.org/package/@m00nbyte/classmix) [![npm downloads](https://img.shields.io/npm/dm/@m00nbyte/classmix)](https://www.npmjs.org/package/@m00nbyte/classmix)

---

## Description

Combines class names conditionally, ensuring uniqueness and proper formatting.

## Installation

```bash
npm install -D @m00nbyte/classmix
yarn add -D @m00nbyte/classmix
```

## Usage

```js
import cm from '@m00nbyte/classmix';

cm('c1', 'c2', 'c3');
// Result => 'c1 c2 c3'
```

## Parameters

### `...args`

A list of arguments that can be strings, arrays of strings, objects where keys are class names and values are booleans, or nested arrays with the same structure.

#### Possible parameter types

#### `string`

Represents a single class name. This type allows individual class names to be added directly.

#### `string[]`

Represents an array of class names. You can group multiple class names together within an array.

#### `{ [key: string]: boolean }`

Each key-value pair in the object corresponds to a class name, and the boolean value indicates whether the class should be included or not.

#### `(string | string[] | { [key: string]: boolean } | ...)[]`

Each nested array can contain elements of the same types described above, enabling complex structures where arrays can contain strings, arrays of strings, objects, or even further nested arrays.

## Examples

<!-- prettier-ignore-->
```js
import cm from '@m00nbyte/classmix';

cm(
    // strings
    'c1', 'c2', 'c3',

    // objects
    { c4: true, c5: false, c6: null },

    // arrays
    ['c5', 'c6', ['c7', { c8: true }]],

    // conditions
    true ? 'c9' : '',
    !false ? 'c10' : '',
    true && 'c11',
    !false && 'c12',

    // ignored
    [
        // duplicates
        'c12', 'c12',

        // falsy
        null, false, undefined, 0
    ]
);
// Result => 'c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12'
```

## Contribution

Feel free to submit issues or pull requests.

## Like my work?

This project needs a :star: from you.
Don't forget to leave a star.

<a href="https://www.buymeacoffee.com/m00nbyte" target="_blank">
    <img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" width="217" height="60">
</a>

## [Changelog](CHANGELOG.md)

## [License](LICENSE)
npm package: @m00nbyte/data-extractor
Description: Effortlessly extract multiple keys from deeply nested structures within an object, resulting in a reduced, flattened output
Author: m00nbyte
Latest version: 1.0.1

# data-extractor

[![npm version](https://img.shields.io/npm/v/@m00nbyte/data-extractor.svg)](https://www.npmjs.org/package/@m00nbyte/data-extractor) [![npm downloads](https://img.shields.io/npm/dm/@m00nbyte/data-extractor)](https://www.npmjs.org/package/@m00nbyte/data-extractor)

---

## Description

Effortlessly extract multiple keys from deeply nested structures within an object, resulting in a reduced, flattened output.

## Installation

```bash
npm install -D @m00nbyte/data-extractor
yarn add -D @m00nbyte/data-extractor
```

## Usage

```js
import extractData from '@m00nbyte/data-extractor';

const sourceObj = {
    level1: {
        '- quoted key -': 'yes',
        level2: {
            id: 'bc04be50',
            level3: {
                test: 'something',
                level4: {
                    arr: ['hello', [123, { test: true }]]
                }
            }
        }
    }
};

const pathMap = {
    quoted: 'level1.- quoted key -',
    id: 'level1.level2.id',
    test: 'level1.level2.level3.test',
    arr_0: 'level1.level2.level3.level4.arr[0]',
    arr_1_0: 'level1.level2.level3.level4.arr[1][0]',
    test2: 'level1.level2.level3.level4.arr[1][1].test',
    almeria: 'level1.level2.level3.level4.level5.almeria'
};

// optional
const defaultValue = 'not-found';

const extractedKeys = extractData(sourceObj, pathMap, defaultValue);

if (extractedKeys.id && extractedKeys.test) {
    // do something
}
```

## Parameters

### `sourceObject`

Type: `Object`<br />

The source object to extract data from.

### `pathMap`

Type: `Object`<br />

An object mapping property names to their paths in the source object.

### `defaultValue`

Type: `String|undefined`

Default: `undefined`<br />

An optional default value to return if a key does not exist in the source object.

## Contribution

Feel free to submit issues or pull requests.

## Like my work?

This project needs a :star: from you.
Don't forget to leave a star.

<a href="https://www.buymeacoffee.com/m00nbyte" target="_blank">
    <img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" width="217" height="60">
</a>

## [Changelog](CHANGELOG.md)

## [License](LICENSE)
npm package: @m00nbyte/generate-humanstxt
Description: A nodejs package to generate a humans.txt file
Author: m00nbyte
Latest version: 1.0.1

# generate-humanstxt

[![NPM version](https://img.shields.io/npm/v/@m00nbyte/generate-humanstxt.svg)](https://www.npmjs.org/package/@m00nbyte/generate-humanstxt)

Generating `humans.txt` using nodejs

## Getting Started

```shell
npm install --save-dev @m00nbyte/generate-humanstxt
```

## Usage

```js
import generateTxt from '@m00nbyte/generate-humanstxt';

const options = {
    team: [
        [
            { key: '<Title>', value: '<Value>' },
            { key: '<Title>', value: '<Value>' },
            { key: '<Title>', value: '<Value>' },
            { key: '<Title>', value: '<Value>' }
        ]
    ],
    thanks: [
        [
            { key: '<Title>', value: '<Value>' },
            { key: '<Title>', value: '<Value>' },
            { key: '<Title>', value: '<Value>' },
            { key: '<Title>', value: '<Value>' }
        ]
    ],
    site: [
        { key: '<Title>', value: '<Value>' },
        { key: '<Title>', value: '__date__' },
        { key: '<Title>', value: ['<Value>', '<Value>', '<Value>'] }
    ]
};

generateTxt(options)
    .then((content) => {
        console.log(content);

        return content;
    })
    .catch((error) => {
        throw error;
    });
```

If you pass `__DATE__` as value, it will return the current date

For more informations about `humans.txt` check out the [official website](https://humanstxt.org/Standard.html)

## CLI

```shell
node generate-humanstxt --config /path/to/config.json
```

-   `path` - optional path for humans.txt (this should contain the full path including the file name, example: `/path/to/humans.txt`).
-   `options` - see options above.

## Contribution

Feel free to submit issues or pull requests.

## [Changelog](CHANGELOG.md)

## [License](LICENSE)
npm package: @m00nbyte/humanstxt-webpack-plugin
Description: A webpack plugin to generate a humans.txt file
Author: m00nbyte
Latest version: 1.0.1

# humanstxt-webpack-plugin

[![NPM version](https://img.shields.io/npm/v/@m00nbyte/humanstxt-webpack-plugin.svg)](https://www.npmjs.org/package/@m00nbyte/humanstxt-webpack-plugin)

Webpack plugin for [generate-humanstxt](https://github.com/m00nbyte/generate-humanstxt/)

## Getting Started

```shell
npm install --save-dev @m00nbyte/humanstxt-webpack-plugin
```

## Usage

**webpack.config.js**

```js
const HumansTxtPlugin = require('@m00nbyte/humanstxt-webpack-plugin');

const options = {};

module.exports = {
    plugins: [new HumansTxtPlugin(options)]
};
```

## Options

-   `path` - optional path for humans.txt (this should contain the full path including the file name, example: `/path/to/humans.txt`).
-   `options` - see [generate-humanstxt](https://github.com/m00nbyte/generate-humanstxt) options.

## Related

-   [generate-humanstxt](https://github.com/m00nbyte/generate-humanstxt) - api for this package.

## Contribution

Feel free to submit issues or pull requests.

## [Changelog](CHANGELOG.md)

## [License](LICENSE)
npm package: @m00nbyte/rollup-plugin-strip-prop-types
Description: Removes propTypes, defaultProps, and prop-types imports, with TypeScript support and custom import paths
Author: m00nbyte
Latest version: 1.0.3

# rollup-plugin-strip-prop-types

[![npm version](https://img.shields.io/npm/v/@m00nbyte/rollup-plugin-strip-prop-types.svg)](https://www.npmjs.org/package/@m00nbyte/rollup-plugin-strip-prop-types) [![npm downloads](https://img.shields.io/npm/dm/@m00nbyte/rollup-plugin-strip-prop-types)](https://www.npmjs.org/package/@m00nbyte/rollup-plugin-strip-prop-types)

---

## Features

-   Remove `propTypes` and `defaultProps` statements from react components
-   Remove `require` and `import` statements for the `prop-types` package
-   Custom import paths
-   TypeScript support

## Installation

```bash
npm install -D @m00nbyte/rollup-plugin-strip-prop-types
yarn add -D @m00nbyte/rollup-plugin-strip-prop-types
```

## Usage

```js
// rollup.config.js
import stripPropTypes from '@m00nbyte/rollup-plugin-strip-prop-types';

export default {
    plugins: [
        stripPropTypes({
            include: ['**/*.jsx', '**/*.tsx'],
            exclude: ['node_modules/**'],
            imports: ['/some_other_module'],
            sourceMap: true
        })
    ]
};
```

## Options

### `include`

Type: `String | RegExp | Array[...String|RegExp]`
Default: `['**/*.jsx', '**/*.tsx']`<br />

A [picomatch pattern](https://github.com/micromatch/picomatch), or array of patterns, which specifies the files in the build the plugin should operate on. If defined, it will overwrite the default values.

### `exclude`

Type: `String | RegExp | Array[...String|RegExp]`
Default: `['node_modules/**']`<br />

A [picomatch pattern](https://github.com/micromatch/picomatch), or array of patterns, which specifies the files in the build the plugin should ignore. If defined, it will overwrite the default values.

### `imports`

Type: `Array[...String]`
Default: `['prop-types']`<br />

By default only `require` and `import` statements for the `prop-types` package are removed. Additional module paths can be defined. These paths will be merged with the default values without duplicates.

### `sourceMap`

Type: `Boolean`
Default: `true`<br />

Set to `false` if source maps are not used.

## Contribution

Feel free to submit issues or pull requests.

## Like my work?

This project needs a :star: from you.
Don't forget to leave a star.

<a href="https://www.buymeacoffee.com/m00nbyte" target="_blank">
    <img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" width="217" height="60">
</a>

## [Changelog](CHANGELOG.md)

## [License](LICENSE)
npm package: @m03geek/server-status
Description: Module for getting simple server stats
Author: m03geek
Latest version: 1.1.1

# server-status

[![NPM Version](https://img.shields.io/npm/v/@m03geek/server-status.svg)](https://www.npmjs.com/package/@m03geek/server-status)
[![Downloads Count](https://img.shields.io/npm/dm/@m03geek/server-status.svg)](https://www.npmjs.com/package/@m03geek/server-status)
[![Vunerabilities Count](https://snyk.io/test/npm/@m03geek/server-status/badge.svg)](https://www.npmjs.com/package/@m03geek/server-status)
[![Build Status](https://gitlab.com/m03geek/server-status/badges/master/pipeline.svg)](https://gitlab.com/m03geek/server-status/commits/master)
[![Coverage Status](https://gitlab.com/m03geek/server-status/badges/master/coverage.svg)](https://gitlab.com/m03geek/server-status/commits/master)
[![License](https://img.shields.io/npm/l/@m03geek/server-status.svg)](https://gitlab.com/m03geek/server-status/blob/master/LICENSE)

Returns common info about node.js server. Could be used for

## ToC

- [server-status](#server-status)
  - [ToC](#toc)
  - [Installation](#installation)
  - [Usage](#usage)
  - [Format](#format)

## Installation

```sh
npm i @m03geek/server-status --save
```

<sub>[Back to top](#toc)</sub>

## Usage

```js
const serverstatus = require('server-status');
console.log(serverstatus());
```

<sub>[Back to top](#toc)</sub>

## Format

```js
{ 
  name: '@m03geek/server-status', // your server name from package.json
  version: '1.0.0', // your server version from package.json
  now: 2018-08-15T12:18:14.284Z,
  uptime: '0d 00:00:01',
  uptimeSec: 0.817,
  title: 'node',
  runtime: { node: 'v10.8.0' } 
}
```

<sub>[Back to top](#toc)</sub>
npm package: @m03geek/verdaccio-google-cloud
Description: verdaccio storage plugin implementation for google cloud
Author: Juan Picado
Latest version: 0.1.0

# verdaccio-google-cloud
[![npm](https://img.shields.io/npm/v/verdaccio-google-cloud.svg)](https://www.npmjs.com/package/verdaccio-google-cloud)
[![CircleCI](https://circleci.com/gh/verdaccio/verdaccio-google-cloud.svg?style=svg)](https://circleci.com/gh/verdaccio/verdaccio-google-cloud)
[![codecov](https://codecov.io/gh/verdaccio/verdaccio-google-cloud/branch/master/graph/badge.svg)](https://codecov.io/gh/verdaccio/verdaccio-google-cloud)
[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fverdaccio%2Fverdaccio-google-cloud.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fverdaccio%2Fverdaccio-google-cloud?ref=badge_shield)
[![backers](https://opencollective.com/verdaccio/tiers/backer/badge.svg?label=Backer&color=brightgreen)](https://opencollective.com/verdaccio)
[![discord](https://img.shields.io/discord/388674437219745793.svg)](http://chat.verdaccio.org/)
![MIT](https://img.shields.io/github/license/mashape/apistatus.svg)


☁️📦 Google Cloud storage plugin for verdaccio

⚠️⚠️ This plugin is experimental and might be unstable. It requires further testing. ⚠️⚠️

```
npm i -g verdaccio-google-cloud
yarn global add verdaccio-google-cloud
pnpm i -g verdaccio-google-cloud
```

### Requirements

* Google Cloud Account
* Service account with 'Cloud Datastore Owner' role and read/write access to the bucket
* Verdaccio server (see below)

```
npm install -g verdaccio@latest
yarn global add verdaccio@latest
pnpm -g verdaccio@latest
```

### Configuration

Complete configuration example:

```yaml
store:
  google-cloud:
   ## google project id
   projectId: project-01 || env (GOOGLE_CLOUD_VERDACCIO_PROJECT_ID)

   ## namespace for metadata database
   kind: someRandonMetadataDatabaseKey

   ## this pluging do not create the bucket, it has to exist
   bucket: my-bucket-name

   ## google cloud recomend this file only for development
   ## this field is not mandatory
   keyFilename: /path/project-01.json || env (GOOGLE_CLOUD_VERDACCIO_KEY)

   ## default validation is, it can be overrided by 
   ## https://cloud.google.com/nodejs/docs/reference/storage/1.6.x/File.html#createWriteStream
   # validation: crc32c
```
Define `env` whether you want load the value from environment variables.

> If you are willing to use some of `env` just **do not define** properties on
`config.yaml` or let them emtpy. Properties have preceden over `env` variables.

## Disclaimer

⚠️⚠️ This plugin is experimental and might be unstable. It requires further testing. ⚠️⚠️

## License

[MIT Licensed](http://www.opensource.org/licenses/mit-license.php)


[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fverdaccio%2Fverdaccio-google-cloud.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fverdaccio%2Fverdaccio-google-cloud?ref=badge_large)
npm package: @m0dch3n/vue-cli-plugin-cordova
Description: vue-cli 3.x plugin for Apache Cordova
Author: m0dch3n
Latest version: 0.0.4

# @m0dch3n/vue-cli-plugin-cordova
[Vue CLI 3.x](https://github.com/vuejs/vue-cli) plugin for Apache Cordova.

Integrate Cordova into Vue Cli App

## How To
```sh
$ npm install -g cordova # If cordova is not already installed
$ vue add @m0dch3n/cordova
$ npm run cordova-serve-android # Development Android
$ npm run cordova-build-android # Build Android
$ npm run cordova-serve-ios # Development IOS
$ npm run cordova-build-ios # Build IOS
$ npm run cordova-serve-browser # Development Browser
$ npm run cordova-build-browser # Build Browser
```
## What is the plugin doing ?
### During installation

* Setting **baseUrl** in vue.config.js to '' because in cordova production, files are served from **file://android_asset/www/** 
* Setting cordovaPath in **vue.config.js** 
* Checking if **router** is available and modify router mode to **'hash'** if process.env.CORDOVA_PLATFORM is set
* Adding ignore paths for cordova in **.gitignore**
* Executing '**cordova create cordovaPath id appName**' (cordovaPath, id and appName will be **prompted**)
* Executing '**cordova platform add platform**' (platform will be prompted) 

### In development mode

* Adding **cordova.js** to your **index.html**
* Defining **process.env.CORDOVA_PLATFORM** to **android** or **ios**
* Starting the Dev Server
* Pointing the cordova **config.xml** to Dev Server
* Executing '**cordova clean**'
* Executing '**cordova run platform**'

### In Production mode
* Adding **cordova.js** to your **index.html**
* Defining **process.env.CORDOVA_PLATFORM** to **android** or **ios**
* Pointing the cordova **config.xml** to **index.html**
* Building the app, output to **/cordovaPath/www**
* Executing '**cordova clean**'
* Executing '**cordova build platform  --release**'

## Please note

* You need to **manually sign** and **publish** the app in the app store
* You need to handle cordova's **"deviceready"** etc in your app
* **Cordova Plugins** can be added under /cordovaPath by executing '**cordova plugin add PLUGIN**' 
* If you want to **debug** your build app, using **chrome devtools**, build your app with '**cordova build platform --debug**' and make sure /cordovaPath/www has your **latest build**

## License
MIT