open-index/open-npm huggingface dataset:
npm package: @sheyste/providers
Description: Package that contains all the providers of shensuu-movie
Author: shensuu-movie
Latest version: 2.2.5

# @movie-web/providers

package that holds all providers of movie-web.
Feel free to use for your own projects.

features:
- scrape popular streaming websites
- works in both browser and server-side

Visit documentation here: https://movie-web.github.io/providers/

## How to run locally or test my changes

These topics are also covered in the documentation, [read about it here](https://movie-web.github.io/providers/extra-topics/development).
npm package: @shf0811/ptree
Description: tree command prettified with emojis🌲
Author: Shinya Fujino
Latest version: 0.0.2

# ptree

ptree prettifies `tree` command with emojis like this:

```
$ ptree
📁 .
├── 🤖 binary.bin
├── 📄 document.txt
├── 🦏 javascript.js
├── 📝 markdown.md
├── 🐪 perl.pl
├── 🐍 python.py
└── 🦀 rust.rs

0 directory, 7 files
```

## Installation

```sh
$ npm install -g @shf0811/ptree
```

## Usage

* List contents of directories:

```
$ ptree .
📁 .
├── 📁 bar
│   └── 📄 baz.ts
└── 📄 foo.js

1 directory, 2 files
```

* Specify the maximum display depth of the directory tree:

```
$ ptree --level 1 .
📁 .
├── 📁 bar
└── 📄 foo.js

1 directory, 1 file
```

* Specify the emojis to show:

```
$ ptree --emojis '{".js": "🦏", ".ts": "🦕"}' .
📁 .
├── 📁 bar
│   └── 🦕 baz.ts
└── 🦏 foo.js

1 directory, 2 files
```

* List only directories:

```
$ ptree --dir .
📁 .
└── 📁 bar

1 directory
```

* List only those files that matches the given pattern:

```
$ ptree --include 'foo*' .
📁 .
├── 📁 bar
└── 📄 foo.js

1 directory, 1 file
```

* List only those files that doesn't match the given pattern:

```
$ ptree --exclude 'foo*' .
📁 .
└── 📁 bar
    └── 📄 baz.ts

1 directory, 1 file
```

* Show help:

```
$ ptree --help
ptree <path> [options]

Options:
      --version  Show version number                                   [boolean]
  -a, --all      Print all files and directories including those starting with a
                  dot                                 [boolean] [default: false]
  -d, --dir      Print only directories               [boolean] [default: false]
  -e, --emojis   Mapping of file extensions to emojis   [string] [default: "{}"]
  -l, --level    Maximum depth to traverse          [number] [default: Infinity]
  -i, --include  Include files matching this pattern                    [string]
  -x, --exclude  Exclude files matching this pattern                    [string]
  -h, --help     Show help                                             [boolean]
```

## Customization

You can specify the emojis to use beforehand by creating a config file named `.ptree.json` in your home folder like this:

```
$ cat ~/.ptree.json 
{
  "emojis": {
    ".js": "🦏",
    ".ts": "🦕"
  }
}
```

Now you don't have to use the option each time:

```
$ ptree .
📁 .
├── 📁 bar
│   └── 🦕 baz.ts
└── 🦏 foo.js

1 directory, 2 files
```
npm package: @shgga/mpa-cli
Description: A commander tools for MPA-for-vue
Latest version: 1.0.4

# A boilerplate of vue for Multiple Page App.

## Why

虽然现在单页面应用比较多,但是单页面模板的扩展性比较差,如果有需要多建一个页面,就凉了.而多页面模板也可以用于适用单页面应用的开发.

## Usage

``` bash
npm install @shgga/mpa-cli -g

mpa init project-name

// For JDer
mpa init project-name -j
```

## Features

一个在vue-cli基础上改动的多页面模板.

1. Build to Multiple Pages

src下pages文件夹里面一个js文件会打包成一个独立的页面,页面名称与js文件名相同.建议pages下面文件夹名称与js文件名称相同.

2. Mobile Web is available.

支持移动端rem页面适配.css里面单位直接用750设计图的设计尺寸,会经过postcss自动转换为rem,根字体大小16pt. 如设计图320px,对应160pt,会转换为10rem.相关逻辑在index.html里.

3. Default & Custom html template for every page

默认html模板文件为跟目录下index.html.如果js文件同级目录中有html文件,那么会使用该文件作为模板

4. Copy files in '/static' to custom path.

static文件夹下资源会拷贝到dist/static下

## ChangeLog

##### v1.04
+ fixed 模板下载的问题

-----

##### v1.03
+ fixed 京东专属模板下载的问题

-----

##### v1.02
+ 添加京东人专属模板.(需内网使用)

## License

MIT
npm package: @shgysk8zer0/11ty-filters
Description: A collection of filters for Eleventy
Author: Chris Zuber
Latest version: 0.1.2

# 11ty-filters
A collection of filters for Eleventy

[![GitHub license](https://img.shields.io/github/license/shgysk8zer0/11ty-filters.svg)](https://github.com/shgysk8zer0/11ty-filters/blob/master/LICENSE)
[![GitHub last commit](https://img.shields.io/github/last-commit/shgysk8zer0/11ty-filters.svg)](https://github.com/shgysk8zer0/11ty-filters/commits/master)
[![GitHub release](https://img.shields.io/github/release/shgysk8zer0/11ty-filters?logo=github)](https://github.com/shgysk8zer0/11ty-filters/releases)
[![GitHub Sponsors](https://img.shields.io/github/sponsors/shgysk8zer0?logo=github)](https://github.com/sponsors/shgysk8zer0)

[![CodeQL](https://github.com/shgysk8zer0/11ty-filters/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/shgysk8zer0/11ty-filters/actions/workflows/codeql-analysis.yml)
[![npm](https://img.shields.io/npm/v/@shgysk8zer0/11ty-filters)](https://www.npmjs.com/package/@shgysk8zer0/11ty-filters)
![npm bundle size gzipped](https://img.shields.io/bundlephobia/minzip/@shgysk8zer0/11ty-filters)
[![npm](https://img.shields.io/npm/dw/@shgysk8zer0/11ty-filters?logo=npm)](https://www.npmjs.com/package/@shgysk8zer0/11ty-filters
)

[![GitHub followers](https://img.shields.io/github/followers/shgysk8zer0.svg?style=social)](https://github.com/shgysk8zer0)
![GitHub forks](https://img.shields.io/github/forks/shgysk8zer0/11ty-filters.svg?style=social)
![GitHub stars](https://img.shields.io/github/stars/shgysk8zer0/11ty-filters.svg?style=social)
[![Twitter Follow](https://img.shields.io/twitter/follow/shgysk8zer0.svg?style=social)](https://twitter.com/shgysk8zer0)

[![Donate using Liberapay](https://img.shields.io/liberapay/receives/shgysk8zer0.svg?logo=liberapay)](https://liberapay.com/shgysk8zer0/donate "Donate using Liberapay")
- - -

- [Code of Conduct](./.github/CODE_OF_CONDUCT.md)
- [Contributing](./.github/CONTRIBUTING.md)
<!-- - [Security Policy](./.github/SECURITY.md) -->
npm package: @shgysk8zer0/aegis-component
Description: Base component using `@shgysk8zer0/aegis` & `@shgysk8zer0/aegis-styles`
Author: Chris Zuber
Latest version: 0.0.4

# `@shgysk8zer0/aegis-component`

Base component using [`@shgysk8zer0/aegis`](https://github.com/shgysk8zer0/aegis)
& [`@shgysk8zer0/aegis-styles`](https://github.com/shgysk8zer0/aegis-styles).

[![CodeQL](https://github.com/shgysk8zer0/aegis-component/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/shgysk8zer0/aegis-component/actions/workflows/codeql-analysis.yml)
![Node CI](https://github.com/shgysk8zer0/aegis-component/workflows/Node%20CI/badge.svg)
![Lint Code Base](https://github.com/shgysk8zer0/aegis-component/workflows/Lint%20Code%20Base/badge.svg)

[![GitHub license](https://img.shields.io/github/license/shgysk8zer0/aegis-component.svg)](https://github.com/shgysk8zer0/aegis-component/blob/master/LICENSE)
[![GitHub last commit](https://img.shields.io/github/last-commit/shgysk8zer0/aegis-component.svg)](https://github.com/shgysk8zer0/aegis-component/commits/master)
[![GitHub release](https://img.shields.io/github/release/shgysk8zer0/aegis-component?logo=github)](https://github.com/shgysk8zer0/aegis-component/releases)
[![GitHub Sponsors](https://img.shields.io/github/sponsors/shgysk8zer0?logo=github)](https://github.com/sponsors/shgysk8zer0)

[![npm](https://img.shields.io/npm/v/@shgysk8zer0/aegis-component)](https://www.npmjs.com/package/@shgysk8zer0/aegis-component)
![node-current](https://img.shields.io/node/v/@shgysk8zer0/aegis-component)
![npm bundle size gzipped](https://img.shields.io/bundlephobia/minzip/@shgysk8zer0/aegis-component)
[![npm](https://img.shields.io/npm/dw/@shgysk8zer0/aegis-component?logo=npm)](https://www.npmjs.com/package/@shgysk8zer0/aegis-component)

[![GitHub followers](https://img.shields.io/github/followers/shgysk8zer0.svg?style=social)](https://github.com/shgysk8zer0)
![GitHub forks](https://img.shields.io/github/forks/shgysk8zer0/aegis-component.svg?style=social)
![GitHub stars](https://img.shields.io/github/stars/shgysk8zer0/aegis-component.svg?style=social)
[![Twitter Follow](https://img.shields.io/twitter/follow/shgysk8zer0.svg?style=social)](https://twitter.com/shgysk8zer0)

[![Donate using Liberapay](https://img.shields.io/liberapay/receives/shgysk8zer0.svg?logo=liberapay)](https://liberapay.com/shgysk8zer0/donate "Donate using Liberapay")
- - -

- [Code of Conduct](./.github/CODE_OF_CONDUCT.md)
- [Contributing](./.github/CONTRIBUTING.md)
<!-- - [Security Policy](./.github/SECURITY.md) -->

## Example Component

```js
import { AegisComponent, TRIGGERS, SYMBOLS } from '@shgysk8zer0/aegis-component';
import { html, css, appendTo, addStyles } from '@shgysk8zer0/aegis';

export class HTMLHelloWorldElement extends AegisComponent {
  [SYMBOLS.render](type, { shadow }) {
    switch(type) {
      case TRIGGERS.constructed:
        appendTo(shadow, html`<h1 class="foo">Hello, World!</h1>`);

        addStyles(shadow, css`
          .foo {
            color: red;
          }
        `);
       break;
    }
  }
}

HTMLHelloWorldElement.register('hello-world');
```
npm package: @shgysk8zer0/aegis-markdown
Description: Markdown parser for `@shgysk8zer0/aegis`
Author: Chris Zuber
Latest version: 0.0.3

# `@shgysk8zer0/aegis-markdown`

Markdown parser for [`@shgysk8zer0/aegis`](https://github.com/shgysk8zer0/aegis)

[![CodeQL](https://github.com/shgysk8zer0/aegis-markdown/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/shgysk8zer0/aegis-markdown/actions/workflows/codeql-analysis.yml)
![Node CI](https://github.com/shgysk8zer0/aegis-markdown/workflows/Node%20CI/badge.svg)
![Lint Code Base](https://github.com/shgysk8zer0/aegis-markdown/workflows/Lint%20Code%20Base/badge.svg)

[![GitHub license](https://img.shields.io/github/license/shgysk8zer0/aegis-markdown.svg)](https://github.com/shgysk8zer0/aegis-markdown/blob/master/LICENSE)
[![GitHub last commit](https://img.shields.io/github/last-commit/shgysk8zer0/aegis-markdown.svg)](https://github.com/shgysk8zer0/aegis-markdown/commits/master)
[![GitHub release](https://img.shields.io/github/release/shgysk8zer0/aegis-markdown?logo=github)](https://github.com/shgysk8zer0/aegis-markdown/releases)
[![GitHub Sponsors](https://img.shields.io/github/sponsors/shgysk8zer0?logo=github)](https://github.com/sponsors/shgysk8zer0)

[![npm](https://img.shields.io/npm/v/@shgysk8zer0/aegis-markdown)](https://www.npmjs.com/package/@shgysk8zer0/aegis-markdown)
![node-current](https://img.shields.io/node/v/@shgysk8zer0/aegis-markdown)
![NPM Unpacked Size](https://img.shields.io/npm/unpacked-size/%40shgysk8zer0%2Faegis-markdown)

[![npm](https://img.shields.io/npm/dw/@shgysk8zer0/aegis-markdown?logo=npm)](https://www.npmjs.com/package/@shgysk8zer0/aegis-markdown)

[![GitHub followers](https://img.shields.io/github/followers/shgysk8zer0.svg?style=social)](https://github.com/shgysk8zer0)
![GitHub forks](https://img.shields.io/github/forks/shgysk8zer0/aegis-markdown.svg?style=social)
![GitHub stars](https://img.shields.io/github/stars/shgysk8zer0/aegis-markdown.svg?style=social)
[![Twitter Follow](https://img.shields.io/twitter/follow/shgysk8zer0.svg?style=social)](https://twitter.com/shgysk8zer0)

[![Donate using Liberapay](https://img.shields.io/liberapay/receives/shgysk8zer0.svg?logo=liberapay)](https://liberapay.com/shgysk8zer0/donate "Donate using Liberapay")
- - -

- [Code of Conduct](./.github/CODE_OF_CONDUCT.md)
- [Contributing](./.github/CONTRIBUTING.md)
<!-- - [Security Policy](./.github/SECURITY.md) -->

## Example

```js
import { md } from '@shgysk8zer0/aegis-markdown';

document.body.append(md`# Hello, World!`);
```
npm package: @shgysk8zer0/aegis-styles
Description: Pre-made and reusable styles for `@shgysk8zer0/aegis`
Author: Chris Zuber
Latest version: 0.0.3

# @shgysk8zer0/aegis-styles

Pre-made and reusable styles for [`@shgysk8zer0/aegis`](https://github.com/shgysk8zer0/aegis)

[![CodeQL](https://github.com/shgysk8zer0/aegis-styles/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/shgysk8zer0/npm-template/actions/workflows/codeql-analysis.yml)
![Node CI](https://github.com/shgysk8zer0/aegis-styles/workflows/Node%20CI/badge.svg)
![Lint Code Base](https://github.com/shgysk8zer0/aegis-styles/workflows/Lint%20Code%20Base/badge.svg)

[![GitHub license](https://img.shields.io/github/license/shgysk8zer0/aegis-styles.svg)](https://github.com/shgysk8zer0/aegis-styles/blob/master/LICENSE)
[![GitHub last commit](https://img.shields.io/github/last-commit/shgysk8zer0/aegis-styles.svg)](https://github.com/shgysk8zer0/aegis-styles/commits/master)
[![GitHub release](https://img.shields.io/github/release/shgysk8zer0/aegis-styles?logo=github)](https://github.com/shgysk8zer0/aegis-styles/releases)
[![GitHub Sponsors](https://img.shields.io/github/sponsors/shgysk8zer0?logo=github)](https://github.com/sponsors/shgysk8zer0)

[![npm](https://img.shields.io/npm/v/@shgysk8zer0/npm-template)](https://www.npmjs.com/package/@shgysk8zer0/npm-template)
![node-current](https://img.shields.io/node/v/@shgysk8zer0/npm-template)
![npm bundle size gzipped](https://img.shields.io/bundlephobia/minzip/@shgysk8zer0/npm-template)
[![npm](https://img.shields.io/npm/dw/@shgysk8zer0/npm-template?logo=npm)](https://www.npmjs.com/package/@shgysk8zer0/npm-template)

[![GitHub followers](https://img.shields.io/github/followers/shgysk8zer0.svg?style=social)](https://github.com/shgysk8zer0)
![GitHub forks](https://img.shields.io/github/forks/shgysk8zer0/aegis-styles.svg?style=social)
![GitHub stars](https://img.shields.io/github/stars/shgysk8zer0/aegis-styles.svg?style=social)
[![Twitter Follow](https://img.shields.io/twitter/follow/shgysk8zer0.svg?style=social)](https://twitter.com/shgysk8zer0)

[![Donate using Liberapay](https://img.shields.io/liberapay/receives/shgysk8zer0.svg?logo=liberapay)](https://liberapay.com/shgysk8zer0/donate "Donate using Liberapay")
- - -

- [Code of Conduct](./.github/CODE_OF_CONDUCT.md)
- [Contributing](./.github/CONTRIBUTING.md)
<!-- - [Security Policy](./.github/SECURITY.md) -->
npm package: @shgysk8zer0/consts
Description: A collection of constants for files, HTTP, dates, etc.
Author: Chris Zuber
Latest version: 1.0.8

# @shgysk8zer0/consts

A collection of constants for files, HTTP, dates, etc.

This is nothing special. It's just a bunch of commonly used and useful constants.
Why? Because I kept defining constants in different projects for the same things,
so decided to just do it once and avoid repeating myself.

[![CodeQL](https://github.com/shgysk8zer0/consts/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/shgysk8zer0/consts/actions/workflows/codeql-analysis.yml)
![Node CI](https://github.com/shgysk8zer0/consts/workflows/Node%20CI/badge.svg)
![Lint Code Base](https://github.com/shgysk8zer0/consts/workflows/Lint%20Code%20Base/badge.svg)

[![GitHub license](https://img.shields.io/github/license/shgysk8zer0/consts.svg)](https://github.com/shgysk8zer0/consts/blob/master/LICENSE)
[![GitHub last commit](https://img.shields.io/github/last-commit/shgysk8zer0/consts.svg)](https://github.com/shgysk8zer0/consts/commits/master)
[![GitHub release](https://img.shields.io/github/release/shgysk8zer0/consts?logo=github)](https://github.com/shgysk8zer0/consts/releases)
[![GitHub Sponsors](https://img.shields.io/github/sponsors/shgysk8zer0?logo=github)](https://github.com/sponsors/shgysk8zer0)

[![npm](https://img.shields.io/npm/v/@shgysk8zer0/consts)](https://www.npmjs.com/package/@shgysk8zer0/consts)
![node-current](https://img.shields.io/node/v/@shgysk8zer0/consts)
![npm bundle size gzipped](https://img.shields.io/bundlephobia/minzip/@shgysk8zer0/consts)
[![npm](https://img.shields.io/npm/dw/@shgysk8zer0/consts?logo=npm)](https://www.npmjs.com/package/@shgysk8zer0/consts)

[![GitHub followers](https://img.shields.io/github/followers/shgysk8zer0.svg?style=social)](https://github.com/shgysk8zer0)
![GitHub forks](https://img.shields.io/github/forks/shgysk8zer0/consts.svg?style=social)
![GitHub stars](https://img.shields.io/github/stars/shgysk8zer0/consts.svg?style=social)
[![Twitter Follow](https://img.shields.io/twitter/follow/shgysk8zer0.svg?style=social)](https://twitter.com/shgysk8zer0)

[![Donate using Liberapay](https://img.shields.io/liberapay/receives/shgysk8zer0.svg?logo=liberapay)](https://liberapay.com/shgysk8zer0/donate "Donate using Liberapay")
- - -

- [Code of Conduct](./.github/CODE_OF_CONDUCT.md)
- [Contributing](./.github/CONTRIBUTING.md)
<!-- - [Security Policy](./.github/SECURITY.md) -->

## Installation

```bash
npm i @shgysk8zer0/consts
```

## Usage
```js
import * as  HTTP_STATUS from '@shgysk8zer0/consts/status.js';
import * as TYPES from '@shgysk8zer0/consts/types.js';
import * as EXTS from '@shgysk8zer0/consts/exts.js';
import { DAY } from '@shgysk8zer0/consts/date.js';
```

### Tip

You can use `<importmap>` to make use in client-side code easier:

```html
<script type="importmap">
  {
    "imports": {
      "@shgysk8zer0/consts/": "https://unpkg.com/@shgysk8zer0/consts@1.0.0/"
    }
  }
</script>
```

... If you don't want to take that route, you can always update the example code
with full URLs: `https://unpkg.com/@shgysk8zer0/consts/*`.
npm package: @shgysk8zer0/eslint-config
Description:  A shared ESLint config
Author: Chris Zuber
Latest version: 1.0.9

# eslint-config

A shared ESLint config

[![CodeQL](https://github.com/shgysk8zer0/eslint-config/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/shgysk8zer0/eslint-config/actions/workflows/codeql-analysis.yml)
![Node CI](https://github.com/shgysk8zer0/eslint-config/workflows/Node%20CI/badge.svg)
![Lint Code Base](https://github.com/shgysk8zer0/eslint-config/workflows/Lint%20Code%20Base/badge.svg)

[![GitHub license](https://img.shields.io/github/license/shgysk8zer0/eslint-config.svg)](https://github.com/shgysk8zer0/eslint-config/blob/master/LICENSE)
[![GitHub last commit](https://img.shields.io/github/last-commit/shgysk8zer0/eslint-config.svg)](https://github.com/shgysk8zer0/eslint-config/commits/master)
[![GitHub release](https://img.shields.io/github/release/shgysk8zer0/eslint-config?logo=github)](https://github.com/shgysk8zer0/eslint-config/releases)
[![GitHub Sponsors](https://img.shields.io/github/sponsors/shgysk8zer0?logo=github)](https://github.com/sponsors/shgysk8zer0)

[![npm](https://img.shields.io/npm/v/@shgysk8zer0/eslint-config)](https://www.npmjs.com/package/@shgysk8zer0/eslint-config)
![node-current](https://img.shields.io/node/v/@shgysk8zer0/eslint-config)
![npm bundle size gzipped](https://img.shields.io/bundlephobia/minzip/@shgysk8zer0/eslint-config)
[![npm](https://img.shields.io/npm/dw/@shgysk8zer0/eslint-config?logo=npm)](https://www.npmjs.com/package/@shgysk8zer0/eslint-config)

[![GitHub followers](https://img.shields.io/github/followers/shgysk8zer0.svg?style=social)](https://github.com/shgysk8zer0)
![GitHub forks](https://img.shields.io/github/forks/shgysk8zer0/eslint-config.svg?style=social)
![GitHub stars](https://img.shields.io/github/stars/shgysk8zer0/eslint-config.svg?style=social)
[![Twitter Follow](https://img.shields.io/twitter/follow/shgysk8zer0.svg?style=social)](https://twitter.com/shgysk8zer0)

[![Donate using Liberapay](https://img.shields.io/liberapay/receives/shgysk8zer0.svg?logo=liberapay)](https://liberapay.com/shgysk8zer0/donate "Donate using Liberapay")
- - -

- [Code of Conduct](./.github/CODE_OF_CONDUCT.md)
- [Contributing](./.github/CONTRIBUTING.md)
<!-- - [Security Policy](./.github/SECURITY.md) -->

## Purpose

This package is just to make configuring ESLint easier by providing preset configs for node & browser.
It also automatically ignores files listed in `.gitignore`.

## Example

```js
import { node } from '@shgysk8zer0/eslint-config';

export default node();
```

## Advanced example

```js
import { rules } from '@shgyk8zer0/eslint-config/rules.js';
import { ignoreFile } from '@shgysk8zer0/eslint-config/ignoreFile.js';
import { languageOptions } from '@shgysk8zer0/eslint-config/languageOptions.js';

export default [
  ignoreFile,
  { rules, languageOptions }
];
```
npm package: @shgysk8zer0/http-server-echo
Description: Just a simple endpoint/handler to echo request details for @shgysk8zer0/http-server
Author: Chris Zuber
Latest version: 1.0.4

# `@shgysk8zer0/http-server-echo`

Just a simple endpoint/handler to echo request details for [`@shgysk8zer0/http-server`](https://github.com/shgysk8zer0/http-server)

[![CodeQL](https://github.com/shgysk8zer0/http-server-echo/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/shgysk8zer0/http-server-echo/actions/workflows/codeql-analysis.yml)
![Node CI](https://github.com/shgysk8zer0/http-server-echo/workflows/Node%20CI/badge.svg)
![Lint Code Base](https://github.com/shgysk8zer0/http-server-echo/workflows/Lint%20Code%20Base/badge.svg)

[![GitHub license](https://img.shields.io/github/license/shgysk8zer0/http-server-echo.svg)](https://github.com/shgysk8zer0/http-server-echo/blob/master/LICENSE)
[![GitHub last commit](https://img.shields.io/github/last-commit/shgysk8zer0/http-server-echo.svg)](https://github.com/shgysk8zer0/http-server-echo/commits/master)
[![GitHub release](https://img.shields.io/github/release/shgysk8zer0/http-server-echo?logo=github)](https://github.com/shgysk8zer0/http-server-echo/releases)
[![GitHub Sponsors](https://img.shields.io/github/sponsors/shgysk8zer0?logo=github)](https://github.com/sponsors/shgysk8zer0)

[![npm](https://img.shields.io/npm/v/@shgysk8zer0/http-server-echo)](https://www.npmjs.com/package/@shgysk8zer0/http-server-echo)
![node-current](https://img.shields.io/node/v/@shgysk8zer0/http-server-echo)
![npm bundle size gzipped](https://img.shields.io/bundlephobia/minzip/@shgysk8zer0/http-server-echo)
[![npm](https://img.shields.io/npm/dw/@shgysk8zer0/http-server-echo?logo=npm)](https://www.npmjs.com/package/@shgysk8zer0/http-server-echo)

[![GitHub followers](https://img.shields.io/github/followers/shgysk8zer0.svg?style=social)](https://github.com/shgysk8zer0)
![GitHub forks](https://img.shields.io/github/forks/shgysk8zer0/http-server-echo.svg?style=social)
![GitHub stars](https://img.shields.io/github/stars/shgysk8zer0/http-server-echo.svg?style=social)
[![Twitter Follow](https://img.shields.io/twitter/follow/shgysk8zer0.svg?style=social)](https://twitter.com/shgysk8zer0)

[![Donate using Liberapay](https://img.shields.io/liberapay/receives/shgysk8zer0.svg?logo=liberapay)](https://liberapay.com/shgysk8zer0/donate "Donate using Liberapay")
- - -

- [Code of Conduct](./.github/CODE_OF_CONDUCT.md)
- [Contributing](./.github/CONTRIBUTING.md)
<!-- - [Security Policy](./.github/SECURITY.md) -->
npm package: @shgysk8zer0/http-status
Description: A simple module for HTTP status codes
Author: Chris Zuber
Latest version: 1.1.4

# @shgysk8zer0/http-status
A simple module for HTTP status codes

[![GitHub license](https://img.shields.io/github/license/shgysk8zer0/http-status.svg)](https://github.com/shgysk8zer0/http-status/blob/master/LICENSE)
[![GitHub last commit](https://img.shields.io/github/last-commit/shgysk8zer0/http-status.svg)](https://github.com/shgysk8zer0/http-status/commits/master)
[![GitHub release](https://img.shields.io/github/release/shgysk8zer0/http-status?logo=github)](https://github.com/shgysk8zer0/http-status/releases)
[![GitHub Sponsors](https://img.shields.io/github/sponsors/shgysk8zer0?logo=github)](https://github.com/sponsors/shgysk8zer0)

[![CodeQL](https://github.com/shgysk8zer0/http-status/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/shgysk8zer0/http-status/actions/workflows/codeql-analysis.yml)
[![npm](https://img.shields.io/npm/v/@shgysk8zer0/http-status)](https://www.npmjs.com/package/@shgysk8zer0/http-status)
![npm bundle size gzipped](https://img.shields.io/bundlephobia/minzip/@shgysk8zer0/http-status)
[![npm](https://img.shields.io/npm/dw/@shgysk8zer0/http-status?logo=npm)](https://www.npmjs.com/package/@shgysk8zer0/http-status
)

[![GitHub followers](https://img.shields.io/github/followers/shgysk8zer0.svg?style=social)](https://github.com/shgysk8zer0)
![GitHub forks](https://img.shields.io/github/forks/shgysk8zer0/http-status.svg?style=social)
![GitHub stars](https://img.shields.io/github/stars/shgysk8zer0/http-status.svg?style=social)
[![Twitter Follow](https://img.shields.io/twitter/follow/shgysk8zer0.svg?style=social)](https://twitter.com/shgysk8zer0)

[![Donate using Liberapay](https://img.shields.io/liberapay/receives/shgysk8zer0.svg?logo=liberapay)](https://liberapay.com/shgysk8zer0/donate "Donate using Liberapay")
- - -

- [Code of Conduct](./.github/CODE_OF_CONDUCT.md)
- [Contributing](./.github/CONTRIBUTING.md)
<!-- - [Security Policy](./.github/SECURITY.md) -->

## Installation

### NPM

```bash
npm i @shgysk8zer0/http-status
```

## Usage

### ES Module

```js
import { status } from '@shgysk8zer0/http-status';
// or
import { status } from 'https://unpkg.com/@shgysk8zer0@1.0.2/http-status.js';
console.log(status.OK); // 200
```
npm package: @shgysk8zer0/jss
Description: Simple JavaScript StyleSheets & Palettes
Author: Chris Zuber
Latest version: 1.0.1

# @shgysk8zer0/jss
Simple JavaScript StyleSheets & Palettes

[![CodeQL](https://github.com/shgysk8zer0/jss/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/shgysk8zer0/jss/actions/workflows/codeql-analysis.yml)
![Node CI](https://github.com/shgysk8zer0/jss/workflows/Node%20CI/badge.svg)
![Lint Code Base](https://github.com/shgysk8zer0/jss/workflows/Lint%20Code%20Base/badge.svg)

[![GitHub license](https://img.shields.io/github/license/shgysk8zer0/jss.svg)](https://github.com/shgysk8zer0/jss/blob/master/LICENSE)
[![GitHub last commit](https://img.shields.io/github/last-commit/shgysk8zer0/jss.svg)](https://github.com/shgysk8zer0/jss/commits/master)
[![GitHub release](https://img.shields.io/github/release/shgysk8zer0/jss?logo=github)](https://github.com/shgysk8zer0/jss/releases)
[![GitHub Sponsors](https://img.shields.io/github/sponsors/shgysk8zer0?logo=github)](https://github.com/sponsors/shgysk8zer0)

[![npm](https://img.shields.io/npm/v/@shgysk8zer0/jss)](https://www.npmjs.com/package/@shgysk8zer0/jss)
![node-current](https://img.shields.io/node/v/@shgysk8zer0/jss)
![npm bundle size gzipped](https://img.shields.io/bundlephobia/minzip/@shgysk8zer0/jss)
[![npm](https://img.shields.io/npm/dw/@shgysk8zer0/jss?logo=npm)](https://www.npmjs.com/package/@shgysk8zer0/jss)

[![GitHub followers](https://img.shields.io/github/followers/shgysk8zer0.svg?style=social)](https://github.com/shgysk8zer0)
![GitHub forks](https://img.shields.io/github/forks/shgysk8zer0/jss.svg?style=social)
![GitHub stars](https://img.shields.io/github/stars/shgysk8zer0/jss.svg?style=social)
[![Twitter Follow](https://img.shields.io/twitter/follow/shgysk8zer0.svg?style=social)](https://twitter.com/shgysk8zer0)

[![Donate using Liberapay](https://img.shields.io/liberapay/receives/shgysk8zer0.svg?logo=liberapay)](https://liberapay.com/shgysk8zer0/donate "Donate using Liberapay")
- - -

- [Code of Conduct](./.github/CODE_OF_CONDUCT.md)
- [Contributing](./.github/CONTRIBUTING.md)
<!-- - [Security Policy](./.github/SECURITY.md) -->

---

Best when used with [`@shgysk8zer0/jswaggersheets`](https://npmjs.com/package/@shgysk8zer0/jswaggersheets).

## Example

```js
import { createSheet } from '@shgysk8zer0/jswaggersheets/swagger.js';
import * as bootstrap from '@shgysk8zer0/jss/palette/bootstrap.js';
import { systemFonts } from '@shgysk8zer0/jss/system-fonts.js';
import { gnomeStyles } from '@shgysk8zer0/jss/gnome.js';
import { utility } from '@shgysk8zer0/jss/utility.js';
import { base } from '@shgysk8zer0/jss/base.js';

Promise.all([
	createSheet(base),
	createSheet(systemFonts),
	createSheet(gnomeStyles),
	createSheet(utility),
]).then(sheets => document.adoptedStyleSheets = sheets);

/* Maps to `--bs-red-200` */
document.querySelector('.nav').style.setProperty('background-color', bootstrap.red[1]);
```
npm package: @shgysk8zer0/netlify-func-utils
Description:  A collection of helpful functions for building Netlify Functions
Author: Chris Zuber
Latest version: 1.1.2

# @shgysk8zer0/netlify-func-utils
 A collection of helpful functions for building Netlify Functions

> [!IMPORTANT]
> This package relies on `FormData` and `File` support, which was added in Node 20
> and will be available on Netlify and AWS Lambda sometime after it reaches LTS
> on or about 2023-10-24. In Node 18, `FormData` is supported, but uploads will
be `Blob`s instead of `File`s.

## Features
- Custom `NetlifyRequest` class extending `Request`
  - Created from a `HandlerEvent` event
  - Adds convenient `searchParams` property (`URLSearchParams`)
  - Adds `cookies` property as a `Map` from the `Cookie` header
- A `createHandler` function
  - Accepts an object of HTTP Methods and callbacks
  - Automatically handles errors
  - Callbacks are passed a `NetlifyRequest` object and must return a `Response`
  - Automatically adds CORS headers (can be disabled)
  
## Example

```js
import { createHandler } from '@shgysk8zer0/netlify-func-utils`;
import { BAD_REQUEST, NOT_AUTHORIZED } from '@shgysk8zer0/http/status';
import { HttpError } from '@shgysk8zer0/http/error';

export const handler  = createHandler({
  get: async req => {
    if (req.searchParams.has('id')) {
      return Response.json(await getItem(req.searchParams.get('id)));
    }
  },
  post: async req = {
    if (! req.cookies.has('token')) {
      throw new HTTPError('You must be signed-in.', { status: NOT_AUTHORIZED });
    } else {
      const data = await req.formData(); // `FormData`, including `File` objects
      
      if (! data.has('required-field')) {
        throw new HTTPError('Missing requied field.', { status: BAD_REQUEST });
      } else {
        // Maybe save something to a DB.
        return Response.json({ created: item.id });
      }
    }
  },
  delete: async req => {
    //
  },
}, {
  cors: true,
  headers: new Headers({ 'X-UID': crypto.randomUUID() }),
  allowHeaders: ['X-Foo', 'X-UID'],
}
```
npm package: @shgysk8zer0/postcss-import
Description: Plug-in for importing local & remote stylesheets with PostCSS 
Author: Chris Zuber
Latest version: 1.1.2

# @shgysk8zer0/postcss-import
Plug-in for importing local & remote stylesheets with PostCSS

## Installation

```bash
npm i @shgysk8zer0/postcss-import
```

## Usage

### `postcss.config.js`

```js
import postCSSImport from '@shgysk8zer0/postcss-import';

export default {
	map: { inline: false },
	plugins: [
	  postCSSImport({ resolveUrls: true, recursive: true }),
	]
};
```
npm package: @shgysk8zer0/schema
Description: A collection of JS classes implementing types for schema.org 
Author: Chris Zuber
Latest version: 0.0.1

# @shgysk8zer0/schema

A collection of JS classes implementing types for schema.org

[![CodeQL](https://github.com/shgysk8zer0/schemaJS/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/shgysk8zer0/schemaJS/actions/workflows/codeql-analysis.yml)
![Node CI](https://github.com/shgysk8zer0/schemaJS/workflows/Node%20CI/badge.svg)
![Lint Code Base](https://github.com/shgysk8zer0/schemaJS/workflows/Lint%20Code%20Base/badge.svg)

[![GitHub license](https://img.shields.io/github/license/shgysk8zer0/schemaJS.svg)](https://github.com/shgysk8zer0/schemaJS/blob/master/LICENSE)
[![GitHub last commit](https://img.shields.io/github/last-commit/shgysk8zer0/schemaJS.svg)](https://github.com/shgysk8zer0/schemaJS/commits/master)
[![GitHub release](https://img.shields.io/github/release/shgysk8zer0/schemaJS?logo=github)](https://github.com/shgysk8zer0/schemaJS/releases)
[![GitHub Sponsors](https://img.shields.io/github/sponsors/shgysk8zer0?logo=github)](https://github.com/sponsors/shgysk8zer0)

[![npm](https://img.shields.io/npm/v/@shgysk8zer0/schema)](https://www.npmjs.com/package/@shgysk8zer0/schema)
![node-current](https://img.shields.io/node/v/@shgysk8zer0/schema)
![npm bundle size gzipped](https://img.shields.io/bundlephobia/minzip/@shgysk8zer0/schema)
[![npm](https://img.shields.io/npm/dw/@shgysk8zer0/schema?logo=npm)](https://www.npmjs.com/package/@shgysk8zer0/schema)

[![GitHub followers](https://img.shields.io/github/followers/shgysk8zer0.svg?style=social)](https://github.com/shgysk8zer0)
![GitHub forks](https://img.shields.io/github/forks/shgysk8zer0/schemaJS.svg?style=social)
![GitHub stars](https://img.shields.io/github/stars/shgysk8zer0/schemaJS.svg?style=social)
[![Twitter Follow](https://img.shields.io/twitter/follow/shgysk8zer0.svg?style=social)](https://twitter.com/shgysk8zer0)

[![Donate using Liberapay](https://img.shields.io/liberapay/receives/shgysk8zer0.svg?logo=liberapay)](https://liberapay.com/shgysk8zer0/donate "Donate using Liberapay")
- - -

- [Code of Conduct](./.github/CODE_OF_CONDUCT.md)
- [Contributing](./.github/CONTRIBUTING.md)
<!-- - [Security Policy](./.github/SECURITY.md) -->