open-index/open-npm huggingface dataset:
npm package: @kebian/flags
Description: npm module for gosquared/flags
Author: Rob Stiles
Latest version: 1.0.0

# GoSquared's Flag Icon Set

Here you'll find all the files available in our [flag icon set][1] and the tools we use to generate the downloadable file.

If you have any comments, corrections or additions then let us know with an issue or pull request

## Coming soon

 * More flags
 * Flag sprites along with accompanying CSS/SCSS/SASS and tools to generate them

## License and Usage

MIT, see [LICENSE.txt](https://github.com/gosquared/flags/blob/master/LICENSE.txt)

## Building your own version of the icon set

If you want to build your own version of this flag set, with any additions or modifications, just edit the files in `src/flags`. Each flag has its own folder, and inside each folder there is one PNG file for each size of the flag. Also in each folder is a file called `code`, which contains the ISO-3166-2 country code for the flag.

To generate the full set, just run `make` (you may want to run `make clean` if you have removed any flags). To speed up generation, try running `make -jN` where `N` is the number of CPU cores you have (e.g. `make -j4` on a quad-core machine)

### Tools required for generating the set

 * GNU Make
 * imagemagick
 * png2icns (provided on Ubuntu by `icnsutils`, or [via sourceforge](http://icns.sourceforge.net/))


[1]: https://www.gosquared.com/resources/flag-icons
npm package: @kebian/fontawesome-free-metadata
Description: Metadata for Font Awesome free icons
Author: Rob Stiles
Latest version: 1.0.4

# Metadata for Font Awesome Free
Upon install, this packages parses the YAML metadata from the @fortawesome/fontawesome-free package and creates JSON exports.

Example CommonJS usage:
```javascript
const { categories, icons, shims, sponsors } = require('@kebian/fontawesome-free-metadata')

const iconNames = Object.keys(icons)
for (const name of iconNames) {
    console.log(`${name}: ${icons[name].label}`)
}
```

Example ES6 usage:
```javascript
import { categories, icons, shims, sponsors } from '@kebian/fontawesome-free-metadata'

const iconNames = Object.keys(icons)
for (const name of iconNames) {
    console.log(`${name}: ${icons[name].label}`)
}
```
npm package: @kebian/material-design-icons
Description: Google's Material Design Icons
Author: Rob Stiles
Latest version: 1.0.5

# material-design-icons
An npm package for self-hosting Google's Material Design Icons.

Fonts are pulled from Google's git repository and then used to generate the missing eot, woff and woff2 files.

Also exports icon and category lists.

## Example Sass Usage
```scss
@import '@kebian/material-design-icons/scss/material-design-icons';
```

## Example JS usage
```javascript
import { icons } from '@kebian/material-design-icons'

icons.forEach(icon => console.log('Icon name: ' + icon))
```

```javascript
import { twotone, categories } from '@kebian/material-design-icons'

categories.forEach(category => {
    category.icons.forEach(icon => {
        if (twotone.includes(icon)) {
            console.log(`Category ${category.name} has a twotone ${icon} icon`)
        }
    })
})
```
npm package: @kebian/piggy
Description: Piggy in Search of Kak (a simple platform game)
Author: Rob Stiles
Latest version: 1.1.7

# Piggy in Search of Kak

This is the resurrection of an old college project I made in 1993.  Originally
it was in C++ but I've converted it to JavaScript, while retaining the
original graphics for posterity.

More info here:
http://void7.net/piggy/
npm package: @kebian/rehype-mdx-parse-html
Description: Allows MDX to apply its component substitution to html tags in markdown files.
Author: Rob Stiles
Latest version: 1.0.2

# rehype-mdx-parse-html

A Rehype plugin to allow MDX to apply its component substitution to HTML tags in markdown files.

## Example Usage

Using node:
```js
import { promises as fs } from 'node:fs'
import { compile } from '@mdx-js/mdx'
import mdxParseHtml from '@kebian/rehype-mdx-parse-html'

console.log(String(await compile(await fs.readFile('example.mdx'), { rehypePlugins: [mdxParseHtml] })))
```

Using Next.js:

```js
// next.config.mjs

import mdxParseHtml from '@kebian/rehype-mdx-parse-html'
import mdx from '@next/mdx'

const withMDX = mdx({
  extension: /\.mdx?$/,
  options: {
    rehypePlugins: [mdxParseHtml]
  }
})

/** @type {import('next').NextConfig} */
const nextConfig = {
  experimental: {
    appDir: true,
  },
  pageExtensions: ['ts', 'tsx', 'js', 'jsx', 'md', 'mdx'],
}

export default withMDX(nextConfig)
```

## Background

MDX version 2 changed the way that HTML tags are parsed in markdown files.

Let's assume we have this simple MDX file with 2 headings.

```md
# First Heading

<h1>Second Heading</h1>
```

and let's assume we want to replace all `h1` elements with `h2` elements by passing a components property to the MDX content.

```tsx
import MDXContent from './markdown.mdx'

const Page = () => {
    return (
        <MDXContent components={{
            'h1': (props) => <h2 {...props}>
        }}>
    )
}

export default Page
```

By default, MDX will change the "First Heading" element to an `h2` but will not change "Second Heading". This seems counter-intuitive and is a change from the original behavior in version 1.

You can read some discussion on the issue [here](https://github.com/mdx-js/mdx/pull/2052).
npm package: @kebo69/sidepanel
Description: A CSS Library for the left-side overlay panel
Author: Kenta Kubo
Latest version: 0.1.1

# sidepanel

[![npm (scoped)](https://img.shields.io/npm/v/@kebo69/sidepanel.svg)](https://www.npmjs.com/package/@kebo69/sidepanel)

A CSS Library for the left-side overlay panel.

## Demo

[Here (JS Bin)](http://jsbin.com/wixucigeyi/1/edit?html,css,js,output)

## Usage

### Legacy

Load `sidepanel.css` and `sidepanel.js` on your HTML file just like [`example.html`](./example.html) or [`empty.html`](./empty.html).

### npm

Install via npm.

```bash
npm install @kebo69/sidepanel
```

And load them on your HTML file.

```html
<link href="node_modules/@kebo69/sidepanel/dist/sidepanel.css" rel="stylesheet">
<script src="node_modules/@kebo69/sidepanel/dist/sidepanel.js"></script>
```

## Browser compatibility

- Safari 10+ on iOS/iPadOS/macOS (Recommended)
- Firefox 50+
- Chrome 55+
npm package: @keboola/codemirror-mode-sfsql
Description: A CodeMirror mode for the Snowflake Data Warehouse
Author: Keboola s.r.o.
Latest version: 0.1.3

# codemirror-mode-sfsql

> A CodeMirror mode for the Snowflake Data Warehouse

[![Build Status](https://travis-ci.com/keboola/codemirror-mode-sfsql.svg?branch=master)](https://travis-ci.com/keboola/codemirror-mode-sfsql)

## Installation

```console
yarn add @keboola/codemirror-mode-sfsql
```
npm package: @keboola/eslint-plugin-kbc-ui
Description: Custom Eslint rules set for KBC-UI application
Latest version: 2.0.0

# eslint-plugin-kbc-ui &middot; [![Build Status](https://travis-ci.com/keboola/eslint-plugin-kbc-ui.svg?branch=master)](https://travis-ci.com/keboola/eslint-plugin-kbc-ui)

## Rules

### `modal-backdrop-static`

Ensure all react bootstrap modals have backdrop prop defined as "static" or "false"

## Development

- `yarn`
- `yarn test`

## License

MIT
npm package: @keboola/flow-builder
Description: Flow graph rendering
Latest version: 0.8.3

# flow builder

```
$ yarn add @keboola/flow-builder
```

### Usage

#### ESM/CJS

Ensure that `react@16.x.x` and `react-dom@16.x.x` are installed as peer dependencies.

```tsx
import "@keboola/flow-builder/dist/Graph.css"; // include this CSS file in your bundle
import * as Flow from "@keboola/flow-builder";

<Flow.Graph edges={["a.out->b+c+d.in"]}>
  <Flow.Node name="a" position={[50, 50]}>
    <Flow.Output name="out" />
    <div className="content">Node A</div>
  </Flow.Node>
  <Flow.Group name="b+c+d" position={[50, 200]}>
    <Flow.Input name="in" />
    <Flow.Node name="b">
      <div className="content">Node B</div>
    </Flow.Node>
    <Flow.Node name="c">
      <div className="content">Node C</div>
    </Flow.Node>
    <Flow.Node name="d">
      <div className="content">Node D</div>
    </Flow.Node>
  </Flow.Group>
</Flow.Graph>;
```

#### UMD

`flow-builder` can also be used directly in the browser:

```html
<!-- React + ReactDOM -->
<script crossorigin src="https://unpkg.com/react@16/umd/react.production.min.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script>
<!-- flow-builder -->
<link
  crossorigin
  rel="stylesheet"
  href="https://unpkg.com/@keboola/flow-builder@<version>/dist/Graph.css"
/>
<script
  crossorigin
  type="text/javascript"
  src="https://unpkg.com/@keboola/flow-builder@<version>/dist/index.umd.js"
></script>
```

### Local development

```
$ yarn dev
```

## License

MIT licensed, see [LICENSE](./LICENSE) file.
npm package: @keboola/manage-api-js-client
Description: Javascript client for Keboola Management API
Author: Jakub Matejka
Latest version: 1.0.1

## Javascript client for Keboola Management API

[![Build Status](https://travis-ci.org/keboola/manage-api-js-client.svg?branch=master)](https://travis-ci.com/keboola/manage-api-js-client)
[![Maintainability](https://api.codeclimate.com/v1/badges/7b5744c1377b4b09802f/maintainability)](https://codeclimate.com/github/keboola/manage-api-js-client/maintainability)

Javascript client for Keboola Connection Management API. 

### Installation

1. Install npm package: `yarn add @keboola/manage-api-js-client`


### Usage

You can use ES6 imports (`import ManageApi from '@keboola/manage-api-js-client';`) or require (`const ManageApi = require('@keboola/manage-api-js-client').default;`).

```javascript
const ManageApi = require('@keboola/manage-api-js-client').default;
const manageApi = new ManageApi('https://connection.keboola.com', 'TOKEN');


```


### Tests and development

You need to set some env variables for the tests:
- `KBC_URL`
- `KBC_TOKEN` - a *master* token
Tests can be run using `yarn test`.

The repository requires conforming to a set of coding standards based on [AirBnB code standard](https://github.com/airbnb/javascript). You can run the check using `yarn lint`.

### Deployment

Deployment to NPM compiles the code from `src` directory to `dist` directory.
npm package: @keboola/middy-error-logger
Description: Error logger middleware for Middy
Author: Jakub Matejka
Latest version: 2.0.3

## Error Logger Middleware for Middy

[![Build Status](https://travis-ci.org/keboola/middy-error-logger.svg?branch=master)](https://travis-ci.org/keboola/middy-error-logger)

Errors logging middleware for [Middy](https://middy.js.org/).

The middleware catches thrown exceptions and rejected promises and logs them comprehensibly to the console. All logs are enriched with event and context.

It works with `http-errors` module and creates a proper HTTP response for them using the message and the status code.

### Usage

```javascript
import createError from 'http-errors';
import middy from 'middy';
import errorLogger from '@keboola/middy-error-logger';

export const handler = middy(() => {
  throw new createError.UnprocessableEntity();
});

handler
  .use(errorLogger());
```

This sample code writes such a stringified json to the console:

```json
{
  "message": "Unprocessable Entity",
  "statusCode": 422,
  "stack": [
    "UnprocessableEntityError: Unprocessable Entity",
    "at Function._callee$ (/var/task/src/lambda.js:6:19)",
    "at tryCatch (/var/task/node_modules/regenerator-runtime/runtime.js:62:40)",
    "..."
  ],
  "event": {
    "resource": "/",
    "httpMethod": "GET",
    "queryStringParameters": null,
    "body": null
  },
  "context": {
    "sourceIp": "214.178.123.91",
    "userAgent": "Paw/3.1.7 (Macintosh; OS X/10.14.0) GCDHTTPRequest"
  },
  "awsRequestId": "ab022f5a-d3ad-11e8-89f6-89a425b4ca0a"
}
```

And return this message to the request response:

```json
{
  "errorMessage": "Unprocessable Entity",
  "errorCode": 422,
  "requestId": "ab022f5a-d3ad-11e8-89f6-89a425b4ca0a"
}
```

If the error is not an instance from `http-errors`, the error message in the response is replaced with "Internal Error." and the status code is set to 500.
npm package: @keboola/middy-event-validator
Description: Event validation middleware for Middy
Author: Jakub Matejka
Latest version: 1.0.0

## Event Validation Middleware for Middy

[![Build Status](https://travis-ci.org/keboola/middy-event-validator.svg?branch=master)](https://travis-ci.org/keboola/middy-event-validator)

[Joi](https://github.com/hapijs/joi) powered event validation middleware for [Middy](https://middy.js.org/).

The middleware integrates Joi validation library to validate AWS Lambda events triggered by API Gateway.

Failed validations throw error of `http-errors` instance with status code 422.

### Usage

```javascript
import middy from 'middy';
import eventValidator from '@keboola/middy-event-validator';

export const handler = middy(() => {
  // ...
});

handler
  .use(eventValidator({
    path: {
      id: Joi.string().required()
    },
    body: {
      size: Joi.number().integer()
    },
    pagination: true
  }));
```

The configuration accepts following options:
- `headers` - validation of HTTP headers
- `body` - validation of HTTP body in JSON format
- `path` - validation of path parameters (shortcut for API Gateway's `pathParameters`)
- `query` - validation of query string (shortcut for API Gateway's `queryStringParameters`)
- `pagination: true` - shortcut for two query string parameters `offset` and `limit` validated as numbers. 
  - Default and maximum for `limit` is 1000. It can be changed by a definition: `pagination: { max: 10 }` 


The module also offers a set of validation shortcuts using class `Validation`:

```javascript
import middy from 'middy';
import eventValidator, { Validation } from '@keboola/middy-event-validator';

handler
  .use(eventValidator({
    path: {
      id: Validation.string('id').required()
    }
  }));
```

List of available shortcuts:

- `getJoi()` - returns Joi instance for custom validation
- `forbidden(param)` - setting of the parameter is forbidden
- `boolean(param)` - boolean value
- `string(param)` - string. All string shortcuts promote trimming of trailing white spaces
- `stringMaxLength(param, length)` - string with maximal length
- `integer(param)`
- `object(param)`
- `enum(param, values)`
- `array(param)`
- `arrayOfStrings(param)`

All shortcuts create optional parameters, for required parameters add `.required()`.
npm package: @keboola/serverless-default-error-responses
Description: Serverless plugin that adds unified API Gateway responses for error states
Author: Jakub Matejka
Latest version: 2.1.1

## serverless-default-error-responses

[![serverless](http://public.serverless.com/badges/v3.svg)](http://www.serverless.com)

Serverless plugin that adds unified API Gateway responses for error states. It adds CORS headers to all 4xx and 5xx API responses and formats output for users like this:
```json
{
  "errorMessage": "Application Error", 
  "errorCode": 500, 
  "apiRequestId": "2e2819fa-c93c-11e7-a46f-91ce8f8df51e"
}
```
It hides real error reason in case of 5xx errors and replaces it for `Application Error`. It also adds API Gateway request id for potential further investigation in CloudWatch logs. 


### Installation

1. Install npm package: `yarn add @keboola/serverless-default-error-responses --dev`
2. Add plugin to your `serverless.yml`:
```yaml
plugins:
- '@keboola/serverless-default-error-responses'
```
npm package: @keboola/serverless-papertrail-logging
Description: Serverless plugin for log delivery from CloudWatch Logs to Papertrail using a lambda function with log groups subscription
Author: Jakub Matejka
Latest version: 1.1.1

## serverless-papertrail-logging

[![serverless](http://public.serverless.com/badges/v3.svg)](http://www.serverless.com)
[![Build Status](https://travis-ci.org/keboola/serverless-papertrail-logging.svg?branch=master)](https://travis-ci.org/keboola/serverless-papertrail-logging)
[![Maintainability](https://api.codeclimate.com/v1/badges/af9d714e852ca05d842b/maintainability)](https://codeclimate.com/github/keboola/serverless-papertrail-logging/maintainability)

Serverless plugin for log delivery from CloudWatch Logs to Papertrail using a lambda function with log groups subscription.

The plugin ignores implicit Lambda logs (starting with `START`, `END` and `REPORT`) and adds Lambda request id to each event. Notice that it expects the logs to be in json format (and converts them to json if they are not).

### Installation

1. Install npm package: `yarn add @keboola/serverless-papertrail-logging --dev`
2. Add plugin to your `serverless.yml`:
```yaml
custom:
  papertrail:
    port: 1234
    host: logs.papertrailapp.com
    
plugins:
- '@keboola/serverless-papertrail-logging'
```
 It must be put before **serverless-webpack** and other similar plugins to work correctly. 
 
 Host name is optional and has default value `logs.papertrailapp.com`.
npm package: @kebsu/cli
Description: Build swagger-compliant REST APIs using TypeScript and Node
Author: Luke Autry
Latest version: 6.0.0-rc.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

This package contains the tsoa build time components.

For a comprehensive Readme, please refer to [the main readme](https://github.com/lukeautry/tsoa#readme).
npm package: @kebsu/runtime
Description: Build swagger-compliant REST APIs using TypeScript and Node
Author: Luke Autry
Latest version: 6.0.0-rc.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

This package contains the runtime helpers for tsoa.

For a comprehensive Readme, please refer to [the main readme](https://github.com/lukeautry/tsoa#readme).
npm package: @kebsu/tsoa
Description: Build swagger-compliant REST APIs using TypeScript and Node
Author: Luke Autry
Latest version: 6.0.0-rc.0-fix

<div align="center">
  <a href="https://tsoa-community.github.io/docs/" target="blank">
    <h1>tsoa</h1>
  </a>
Pronounced so·uh

OpenAPI-compliant REST APIs using TypeScript and Node

![build status](https://github.com/lukeautry/tsoa/actions/workflows/runTestsOnPush.yml/badge.svg)
[![npm version](https://img.shields.io/npm/v/tsoa/latest)](https://www.npmjs.com/package/tsoa)

</div>

## Goal

- TypeScript controllers and models as the single source of truth for your API
- A valid OpenAPI (formerly Swagger) spec (2.0 or 3.0 if you choose 😍) is generated from your controllers and models, including:
  - Paths (e.g. GET /users)
  - Definitions based on TypeScript interfaces (models)
  - Parameters/model properties marked as required or optional based on TypeScript (e.g. myProperty?: string is optional in the OpenAPI spec)
  - jsDoc supported for object descriptions (most other metadata can be inferred from TypeScript types)
- Routes are generated for middleware of choice
  - Express, Hapi, and Koa currently supported, other middleware can be supported using a simple handlebars template
  - Validate request payloads

## Philosophy

- Rely on TypeScript type annotations to generate API metadata if possible
- If regular type annotations aren't an appropriate way to express metadata, use decorators
- Use jsdoc for pure text metadata (e.g. endpoint descriptions)
- Minimize boilerplate
- Models are best represented by interfaces (pure data structures), but can also be represented by classes
- Runtime validation of tsoa should behave as closely as possible to the specifications that the generated OpenAPI 2/3 schema describes. Any differences in validation logic are clarified by logging warnings during the generation of the OpenAPI Specification (OAS) and/or the routes.
  - Please note that by enabling OpenAPI 3 you minimize the chances of divergent validation logic since OpenAPI 3 has a more expressive schema syntax.

## Getting Started

- [Documentation](https://tsoa-community.github.io/docs/)
- [API Reference](https://tsoa-community.github.io/reference/)
- [Getting started guide](https://tsoa-community.github.io/docs/getting-started)

## Examples

Check out the [guides](https://tsoa-community.github.io/docs/getting-started)

See example controllers in [the tests](tests/fixtures/controllers)

See example models in [the tests](tests/fixtures/testModel.ts)

## Help wanted

### Contributing code

To contribute (via a PR), please first see the [Contributing Guide](https://github.com/lukeautry/tsoa/tree/master/docs/CONTRIBUTING.md)

### Becoming a maintainer

tsoa wants additional maintainers! The library has increased in popularity and has quite a lot of pull requests and issues. [Please post in this issue](https://github.com/lukeautry/tsoa/issues/236) if you're willing to take on the role of a maintainer.
npm package: @keccak256-evg/zeek-client
Description: ZEEK SDK UPDATE >>> Mon Nov 13 16:14:53 CST 2023
Latest version: 0.5.21

# Zeek Client

## Content
- Zeek Contract
- ERC721
- ERC1155
- Contract Config

## Build
### Install
```shell
npm install
```

### Build
```shell
npm run build
```

### Publish
```shell
npm publish
```
### Doc
- https://zeek-client.vercel.app

```shell
# generate doc
npx typedoc
```
```shell
# deploy doc to vercel
vercel
```
npm package: @keckelt/tsne
Description: Updated t-SNE implementation in TypeScript.
Author: Klaus Eckelt
Latest version: 1.0.2

# tSNE

Updated implementation of [tSNEJS](https://github.com/karpathy/tsnejs) in TypeScript.
Published it on NPM: `npm install @keckelt/tsne`.

## Usage

```ts
import {TSNE} from '@keckelt/tsne-js';

const data = [...];

// TODO one hot encoding, normalization, ...

const opt = {
  epsilon: 10, // epsilon is learning rate (10 = default)
  perplexity: data.length ** 0.5, // roughly how many neighbors each point influences (30 = default)
  dim: 2 // dimensionality of the embedding (2 = default)
};

const tsne = new TSNE(opt);
tsne.initDataRaw(data);

const iterations = 500;
for(let i = 0; i < iterations; i++) {
  tsne.step(); // every time you call this, solution gets better
}

var Y = tsne.getSolution(); // Y is an array of 2-D points that you can plot
```


### Worker

You can use [Comlink](https://github.com/GoogleChromeLabs/comlink), for example, to wrap the TSNE class and have the code executed in a worker thread:

```ts
import * as Comlink from 'comlink';
import { TSNE } from '@keckelt/tsne-js';

Comlink.expose(TSNE);
```
npm package: @kecoyo/egg-error-handler
Description: 为 @kecoyo/egg-framework 提供了统一的错误处理机制
Author: kecoyo
Latest version: 1.0.0

# egg-error-handler

[![NPM version][npm-image]][npm-url]
[![build status][travis-image]][travis-url]
[![Test coverage][codecov-image]][codecov-url]
[![David deps][david-image]][david-url]
[![Known Vulnerabilities][snyk-image]][snyk-url]
[![npm download][download-image]][download-url]

[npm-image]: https://img.shields.io/npm/v/egg-error-handler.svg?style=flat-square
[npm-url]: https://npmjs.org/package/egg-error-handler
[travis-image]: https://img.shields.io/travis/eggjs/egg-error-handler.svg?style=flat-square
[travis-url]: https://travis-ci.org/eggjs/egg-error-handler
[codecov-image]: https://img.shields.io/codecov/c/github/eggjs/egg-error-handler.svg?style=flat-square
[codecov-url]: https://codecov.io/github/eggjs/egg-error-handler?branch=master
[david-image]: https://img.shields.io/david/eggjs/egg-error-handler.svg?style=flat-square
[david-url]: https://david-dm.org/eggjs/egg-error-handler
[snyk-image]: https://snyk.io/test/npm/egg-error-handler/badge.svg?style=flat-square
[snyk-url]: https://snyk.io/test/npm/egg-error-handler
[download-image]: https://img.shields.io/npm/dm/egg-error-handler.svg?style=flat-square
[download-url]: https://npmjs.org/package/egg-error-handler

<!--
Description here.
-->

## Install

```bash
$ npm i egg-error-handler --save
```

## Usage

```js
// {app_root}/config/plugin.js
exports.errorHandler = {
  enable: true,
  package: 'egg-error-handler',
};
```

## Configuration

```js
// {app_root}/config/config.default.js
exports.errorHandler = {
};
```

see [config/config.default.js](config/config.default.js) for more detail.

## Example

<!-- example here -->

## Questions & Suggestions

Please open an issue [here](https://github.com/eggjs/egg/issues).

## License

[MIT](LICENSE)
npm package: @kecoyo/egg-extend
Description: 为 @kecoyo/egg-frameword 框架提供一个扩展方法。
Author: kecoyo
Latest version: 1.0.0

# @kecoyo/egg-extend

[![NPM version][npm-image]][npm-url]
[![build status][travis-image]][travis-url]
[![Test coverage][codecov-image]][codecov-url]
[![David deps][david-image]][david-url]
[![Known Vulnerabilities][snyk-image]][snyk-url]
[![npm download][download-image]][download-url]

[npm-image]: https://img.shields.io/npm/v/egg-extend.svg?style=flat-square
[npm-url]: https://npmjs.org/package/egg-extend
[travis-image]: https://img.shields.io/travis/kecoyo/egg-extend.svg?style=flat-square
[travis-url]: https://travis-ci.org/kecoyo/egg-extend
[codecov-image]: https://img.shields.io/codecov/c/github/kecoyo/egg-extend.svg?style=flat-square
[codecov-url]: https://codecov.io/github/kecoyo/egg-extend?branch=master
[david-image]: https://img.shields.io/david/kecoyo/egg-extend.svg?style=flat-square
[david-url]: https://david-dm.org/kecoyo/egg-extend
[snyk-image]: https://snyk.io/test/npm/egg-extend/badge.svg?style=flat-square
[snyk-url]: https://snyk.io/test/npm/egg-extend
[download-image]: https://img.shields.io/npm/dm/egg-extend.svg?style=flat-square
[download-url]: https://npmjs.org/package/egg-extend

<!--
Description here.
-->

## Install

```bash
$ npm i @kecoyo/egg-extend --save
```

## Usage

```js
// {app_root}/config/plugin.js
exports.extend = {
  enable: true,
  package: "@kecoyo/egg-extend",
};
```

## Configuration

```js
// {app_root}/config/config.default.js
exports.extend = {};
```

see [config/config.default.js](config/config.default.js) for more detail.

## Example

<!-- example here -->

## Questions & Suggestions

Please open an issue [here](https://github.com/kecoyo/egg-extend/issues).

## License

[MIT](LICENSE)
npm package: @kecoyo/egg-framework
Description: Awesome Egg.js Web Framework and Plugin.
Author: kecoyo
Latest version: 1.0.3

# @kecoyo/egg-framework

Awesome Egg.js Web Framework and Plugin.

## QuickStart

```bash
$ npm install @kecoyo/egg-framework
```

publish your framework to npm, then change app's framework config:

```js
// {app_root}/index.js
{
  "name": "egg-app",
  "egg": {
    "framework": "@kecoyo/egg-framework"
  }
}
```

## Questions & Suggestions

Please open an issue [here](https://github.com/eggjs/egg/issues).
npm package: @kecoyo/prettier-config
Description: Standard prettier configuration for projects
Author: kecoyo
Latest version: 1.0.2

# @kecoyo/prettier-config

Standard prettier configuration for projects

## Usage

Install the package using `npm` (or `yarn`)

```sh
npm install --save-dev @kecoyo/prettier-config
```

Add the `prettier` key to your `package.json`

```diff
   "keywords": [
     "prettier"
   ],
+  "prettier": "@kecoyo/prettier-config",
   "license": "MIT",
   "author": "GitHub Inc.",
   "main": "index.js"
```

[Check out the `prettier` documentation for more info on sharing configurations](https://prettier.io/docs/en/configuration.html#sharing-configurations).
npm package: @kecrily/eslint-config
Description: An ESLint config for Percy Ma.
Author: Percy Ma
Latest version: 0.3.3

# @kecrily/eslint-config

> An ESLint config for Percy Ma.

## Usage

Install eslint, config and typescript:

```sh
pnpm i eslint @kecrily/eslint-config typescript -D
```

Create `eslint.config.js` file and add:

```js
export { default } from '@kecrily/eslint-config'
```

## License

**eslint-config** © [Percy Ma](https://github.com/kecrily), Released under [MIT License](LICENSE).
npm package: @ked3/kui
Description: 一个现代化的React UI组件库
Latest version: 0.1.5

# KUI 组件库

一个现代化的React UI组件库，提供优雅、简洁的设计体验。

## 特性

- 🎨 优雅美观：提供美观且简洁的设计体验
- 🛠️ 易于定制：支持灵活的主题定制
- 💡 类型友好：使用TypeScript编写，提供完整的类型定义
- 📦 开箱即用：提供丰富的组件，满足各种业务场景

## 安装

```bash
# 使用 npm
npm install @ked3/kui

# 使用 yarn
yarn add @ked3/kui
```

## 快速开始

```jsx
import React from 'react';
import ReactDOM from 'react-dom/client';
import { Button } from '@ked3/kui';
import '@ked3/kui/dist/kui.css';

function App() {
  return (
    <div>
      <Button type="primary">开始使用</Button>
    </div>
  );
}

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<App />);
```

## 本地开发

```bash
# 克隆仓库
git clone <repository-url>

# 安装依赖
npm install

# 启动开发服务器
npm start
```

## 构建

```bash
npm run build
```

## 组件

目前已实现的组件：

- Button 按钮：提供多种按钮类型、尺寸和状态

## 贡献指南

欢迎贡献代码或提出问题。请先阅读贡献指南。

## 许可证

MIT
npm package: @kedachen/ruler
Description: <p align="middle" ><img src="./ruler.png"/></p> <h2 align="middle">Ruler</h2>
Author: kedachen
Latest version: 0.2.0

<p align="middle" ><img src="./ruler.png"/></p>
<h2 align="middle">Ruler</h2>

## ⚙️ Install

### yarn

```sh
yarn add @kedachen/ruler
```

## 🚀 How to use

```code
import Ruler from "@kedachen/ruler";

const App = () => {
  return <Ruler height={26} zoom={1} min={-120} lineColor="red" />;
};

export type LineStyle = {
  color?: string;
  width?: number;
  shortLength?: number; //短线(最小刻度)长度 默认为总高度30%
  mediumLength?: number; //中线(大刻度一半)长度 默认为总高度 50%
  longLength?: number; //长线(大刻度) 默认为总高度
};

export type TextStyle = {
  color?: string;
  size?: number;
  align?: 'left' | 'right' | 'center';
  baseLine?: 'top' | 'middle' | 'hanging'; //基线对齐 默认middle
  top?: number; //文字距离顶部位置 默认居中高度50%
  left?: number; //文字距离左边位置 默认6px
};

export type Props = {
  height?: number;
  width?: number;
  backgroundColor?: string;
  scaleLineStyle?: LineStyle;
  textStyle?: TextStyle;
  min?: number;
  max?: number;
  zoom?: number;
  horizontal?: boolean;
  textFormat?: (scale: number) => string;
};

```
npm package: @kedao/convert
Description: A convert helper for Kedao Editor.
Author: banyudu
Latest version: 0.0.2

# @kedao/convert

## 与@kedao/editor搭配使用的数据转换工具

### 使用方法

```bash
# use yarn
yarn add @kedao/convert
# use npm
npm install --save @kedao/convert
```

```javascript
import { convertRawToHTML, convertHTMLToRaw } from '@kedao/convert'

const draftRawData = '{"blocks":[{"key":"9hu83","text":"Hello World!","type":"unstyled","depth":0,"inlineStyleRanges":[{"offset":6,"length":5,"style":"BOLD"},{"offset":6,"length":5,"style":"COLOR-F32784"}],"entityRanges":[],"data":{}}],"entityMap":{}}'
const htmlString = '<p>Hello <strong><span style="color:#f32784">World</span></strong>!</p>'

convertRawToHTML(JSON.parse(draftRawData))
// <p>Hello <strong><span style="color:#f32784">World</span></strong>!</p>

JSON.stringify(convertHTMLToRaw(htmlString))
// {"blocks":[{"key":"8v6eh","text":"Hello World!","type":"unstyled","depth":0,"inlineStyleRanges":[{"offset":6,"length":5,"style":"BOLD"},{"offset":6,"length":5,"style":"COLOR-F32784"}],"entityRanges":[],"data":{}}],"entityMap":{}}
```
npm package: @kedarv/bugsnag-sourcemap-webpack-plugin
Description: A Webpack plugin to upload sourcemaps to Bugsnag after build
Author: kedarv
Latest version: 0.9.11

# BugsnagSourceMapPlugin
![dependencies](https://david-dm.org/bakunyo/bugsnag-sourcemap-webpack-plugin.svg)  ![Travis CI](https://travis-ci.org/bakunyo/bugsnag-sourcemap-webpack-plugin.svg?branch=master) [![npm version](https://badge.fury.io/js/bugsnag-sourcemap-webpack-plugin.svg)](https://badge.fury.io/js/bugsnag-sourcemap-webpack-plugin)

A [Webpack](http://webpack.github.io/) plugin to upload sourcemaps to [Bugsnag](https://bugsnag.com/) after build

## Installation
```
$ npm install --save-dev bugsnag-sourcemap-webpack-plugin
```

## Usage
In your webpack.config.js
```javascript
const BugsnagSourceMapPlugin = require('bugsnag-sourcemap-webpack-plugin');

module.exports = {
  // your settings for webpack
  devtool: 'source-map',
  plugins: [
    new BugsnagSourceMapPlugin({
      apiKey: 'YOUR_BUGSNAG_API_KEY',
      publicPath: 'https://your.site/assets/path'
    }),
  ]
}
```

## Options
|key|required|content|default|
|:--|:--|:--|:--|
|apiKey|y|the Bugsnag API key that is used in your app.|-|
|publicPath|y|the Base hosted url of your compiled assets.|-|
|appVersion||the version of the app that the source map applies to as set in the JavaScript notifier.|-|
|silent||whether or not ignore js errors in upload to Bugsnag.|false|
|overwrite||whether to overwrite any existing version of files.|false|
|uploadSource||whether to upload source file (see `minifiedFile` in Bugsnag docs).|false|
|removeSourceMap||whether to remove sourcemap file after uploaded.|true|

## Reference
[Bugsnag - Sourcemap Upload API](https://docs.bugsnag.com/api/js-source-map-upload/)
npm package: @kedarv/kexec
Description: Replace your Node.js process with another process. Like Ruby exec.
Author: JP Richardson
Latest version: 4.0.0

Node.js - kexec
===============

[![npm Package](https://img.shields.io/npm/v/kexec.svg?style=flat-square)](https://www.npmjs.org/package/kexec)
[![build status](https://api.travis-ci.org/jprichardson/node-kexec.svg)](http://travis-ci.org/jprichardson/node-kexec)
[![JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/)

This module causes your current Node.js process to be replaced by the process invoked by the parameter of this function. It's like the Ruby exec function. It currently does not work on Windows.


Usage
-----

```js
var kexec = require('kexec')

kexec('top') //your process now becomes top, can also accept parameters in one string
```

```javascript
var kexec = require('kexec')

kexec('du', [ '-sh', '/etc/fstab' ]) //your process now becomes du, with the arguments indicated
```


Details
-------

`kexec` can be called in either of two ways, as indicated by the examples, above.

With one argument `arg`, that argument must be a string.  The resulting system
call is:

    execvp("/bin/sh", [ "/bin/sh", "-c", arg, 0 ]);

With two arguments, the first (`cmd`) must be a string, and the second (`args`) an array of strings.  The resulting
system call is:

    execvp(cmd, [ cmd, args[0], args[1], ..., 0 ]);

In the first case, the command is subject to shell parsing, and shell meta
characters retain their special meanings.  In the second case, the arguments
are passed directly to `execvp`, without an intervening shell.


License
-------

(The MIT License)

Copyright (c) 2011-2015 JP Richardson
npm package: @kedata-ui/slots
Description: **@kedata-software/slots** is a collection of tailwind components using [Tailwind Variants](https://www.tailwind-variants.org/). It can be used as a base styling for creating your own components. Basically, these slots are agnostic to the framework you ar
Latest version: 0.3.2

# @kedata-software/slots

**@kedata-software/slots** is a collection of tailwind components using [Tailwind Variants](https://www.tailwind-variants.org/). It can be used as a base styling for creating your own components. Basically, these slots are agnostic to the framework you are using.

## Installation

**npm**

```bash
npm install @kedata-software/slots
```

**yarn**

```bash
yarn add @kedata-software/slots
```

## Usage

You can import the components directly from the package and use it into your project with framework like **React**, **Vue**, **SolidJS**, **Angular**, **Svelte**, etc.

```tsx
import { buttonSlot } from '@kedata-software/slots';

// React or Solid
const Button = (props) => {
  const slots = buttonSlot();

  return <button className={slots.root()} {...props} />;
};
```
npm package: @kedata-ui/solid-modular-form
Description: **@kedata-software/solid-modular-form** is a solid-js library for creating modular forms. It is built on top of the [@modular-forms/solid](https://github.com/modular-forms/solid) library. This library just extends feature of form store.
Latest version: 0.3.2

# @kedata-software/solid-modular-form

**@kedata-software/solid-modular-form** is a solid-js library for creating modular forms. It is built on top of the [@modular-forms/solid](https://github.com/modular-forms/solid) library. This library just extends feature of form store.

## Installation

**npm**

```bash
npm install @kedata-software/solid-modular-form @modular-forms/solid
```

**yarn**

```bash
yarn add @kedata-software/solid-modular-form @modular-forms/solid
```

_Note: we also need install **@modular-forms/solid** if you want import validation schema helpers such as `valiForm` and `zodForm`. Please visit [https://modularforms.dev/solid/guides/validate-your-fields](https://modularforms.dev/solid/guides/validate-your-fields)._

## Feedback

If you have any feedback or suggestions about the API please make an issue in the [issue tracker](https://github.com/kedata-software/kedata-ui/issues).
npm package: @kedataindo/slots
Description: **@kedata-software/slots** is a collection of tailwind components using [Tailwind Variants](https://www.tailwind-variants.org/). It can be used as a base styling for creating your own components. Basically, these slots are agnostic to the framework you ar
Latest version: 0.4.4

# @kedata-software/slots

**@kedata-software/slots** is a collection of tailwind components using [Tailwind Variants](https://www.tailwind-variants.org/). It can be used as a base styling for creating your own components. Basically, these slots are agnostic to the framework you are using.

## Installation

**npm**

```bash
npm install @kedata-software/slots
```

**yarn**

```bash
yarn add @kedata-software/slots
```

## Usage

You can import the components directly from the package and use it into your project with framework like **React**, **Vue**, **SolidJS**, **Angular**, **Svelte**, etc.

```tsx
import { buttonSlot } from '@kedata-software/slots';

// React or Solid
const Button = (props) => {
  const slots = buttonSlot();

  return <button className={slots.root()} {...props} />;
};
```
npm package: @kedharnath/my-button-component
Description: A reusable React button component with dynamic text
Author: Your Name
Latest version: 2.1.0

# React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Babel](https://babeljs.io/) for Fast Refresh
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh

## Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:

```js
export default tseslint.config({
  extends: [
    // Remove ...tseslint.configs.recommended and replace with this
    ...tseslint.configs.recommendedTypeChecked,
    // Alternatively, use this for stricter rules
    ...tseslint.configs.strictTypeChecked,
    // Optionally, add this for stylistic rules
    ...tseslint.configs.stylisticTypeChecked,
  ],
  languageOptions: {
    // other options...
    parserOptions: {
      project: ['./tsconfig.node.json', './tsconfig.app.json'],
      tsconfigRootDir: import.meta.dirname,
    },
  },
})
```

You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:

```js
// eslint.config.js
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'

export default tseslint.config({
  plugins: {
    // Add the react-x and react-dom plugins
    'react-x': reactX,
    'react-dom': reactDom,
  },
  rules: {
    // other rules...
    // Enable its recommended typescript rules
    ...reactX.configs['recommended-typescript'].rules,
    ...reactDom.configs.recommended.rules,
  },
})
```
npm package: @kedoit/rollup-tpl
Description: ## rollup
Latest version: 0.0.2

# 打包练习

## rollup

[](https://segmentfault.com/a/1190000040720081)



## grunt,gulp构建工具 和 webpack，rollup模块打包器

* Grunt 是一套前端自动化工具，帮助处理反复重复的任务。一般用于：编译，压缩，合并文件，简单语法检查等

* Gulp 是基于“流”的自动化构建工具，采用代码优于配置的策略，更易于学习和使用

* Webpack 是模块化管理工具和打包工具。通过 loader 的转换，任何形式的资源都可以视作模块，比如 CommonJs 模块、AMD 模块、ES6 模块、CSS、图片等。它可以将许多松散的模块按照依赖和规则打包成符合生产环境部署的前端资源。还可以将按需加载的模块进行代码分隔，等到实际需要的时候再异步加载。Webpack 的定位是模块打包器，而 Gulp/Grunt 属于构建工具。Webpack 可以代替 Gulp/Grunt 的一些功能，但不是一个职能的工具，可以配合使用

* Rollup 是下一代 ES6 模块化工具，它最大的亮点是利用 ES6 模块设计，生成更简洁、更简单的代码。尽可能高效地构建出能够直接被其它 JavaScript 库引用的模块
基于权衡，Rollup 目前还不支持代码拆分（Code Splitting）和模块的热更新（HMR）
一般而言，对于应用使用 Webpack，对于类库使用 Rollup；需要代码拆分(Code Splitting)，或者很多静态资源需要处理，再或者构建的项目需要引入很多 CommonJS 模块的依赖时，使用 webpack。代码库是基于 ES6 模块，而且希望代码能够被其他人直接使用，使用 Rollup
Rollup 与 Webpack 有这不同的用途，因此会共同存在，并相互支持
React 已经将构建工具从 Webpack 换成了 Rollup
npm package: @kedos-srl/3dera-js
Description: A blazing fast powerful tool for 3D visualization with WASM engine
Author: Kedos srl
Latest version: 1.1.0

# 3Dera-JS

[![npm package][npm-img]][npm-url]
[![Build Status][build-img]][build-url]
[![Downloads][downloads-img]][downloads-url]
[![Issues][issues-img]][issues-url]
[![Code Coverage][codecov-img]][codecov-url]
[![Commitizen Friendly][commitizen-img]][commitizen-url]
[![Semantic Release][semantic-release-img]][semantic-release-url]

> 3DeraJS is the JavaScript library to access 3Dera core functionality

## Install

```bash
npm install @kedos-srl/3dera-js
```

## Documentation

To see all available API options, take a look at the [documentation](https://kedos-srl.github.io/3dera-doc/)

## Usage

```ts
import HederaJS from '3dera-js';

const canvas = document.getElementById('3dera-canvas') as HTMLCanvasElement;
await HederaJS.init(canvas);
await HederaJS.start();
```

[npm-img]: https://img.shields.io/npm/v/@kedos-srl/3dera-js
[build-img]: https://github.com/Kedos-srl/3dera-js/actions/workflows/release.yml/badge.svg
[build-url]: https://github.com/Kedos-srl/3dera-js/actions/workflows/release.yml
[npm-url]: https://www.npmjs.com/package/@kedos-srl/3dera-js
[issues-img]: https://img.shields.io/github/issues/Kedos-srl/3dera-js
[issues-url]: https://github.com/Kedos-srl/3dera-js/issues
[codecov-img]: https://codecov.io/gh/Kedos-srl/3dera-js/branch/main/graph/badge.svg
[codecov-url]: https://codecov.io/gh/Kedos-srl/3dera-js
[semantic-release-img]: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg
[semantic-release-url]: https://github.com/semantic-release/semantic-release
[commitizen-img]: https://img.shields.io/badge/commitizen-friendly-brightgreen.svg
[commitizen-url]: http://commitizen.github.io/cz-cli/
[downloads-img]: https://img.shields.io/npm/dt/@kedos-srl/3dera-js
[downloads-url]: https://www.npmtrends.com/@kedos-srl/3dera-js
npm package: @kedoska/exp2slack
Description: Send errors to slack
Author: Marco Casula
Latest version: 0.1.4

exp2slack
=========

You can use this to report errors to Slack from your node application, **as an ExpressJs middleware** or **standalone library**.

<p align="center">
    <img src="https://user-images.githubusercontent.com/11739105/41510978-ac3989c4-7233-11e8-976b-2e3abe0199cb.png" alt="exp2slack" style="max-width:100%;">
</p>

## Get Your Slack Web Hook Url

1. set up a new application in slack
2. create a new Incoming Webhooks and get your `SLACK_WEBHOOK_URL`
3. `npm i @kedoska/exp2slack --save` or `yarn add @kedoska/exp2slack`

## Use it as express middleware

See the [example](https://github.com/kedoska/exp2slack/blob/master/examples/express-middleware.js) and make sure you are initializing this middleware AFTER all your `app` setup/routes. Also consider that when this *is a middleware* it will:

1. report the error to slack (wait for slack to reply)
2. call `next` passing the original error in the express pipeline. This will may slowdown your application (if it is firing a lot of errors).

```javascript
const express = require('express') // <-- Step 1
const exp2slack = require('@kedoska/exp2slack')
const app = express()

const url = 'https://hooks.slack.com/services/XXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'

app.get('/', (req, res) => {
  const runTimeError = foo + bar  // <-- Step 3 ( foo not defined)
})

app.use((exp2slack(url))) // <-- Step 2

app.listen(8080)
```

More details about Express Error Handling available [here](https://expressjs.com/en/guide/error-handling.html)

## Now without express

Once you have initialized the `IncomingWebhook` with your `url` you can manually push an error to slack by calling the notify function. Here the example **without express**.

After passing the `url` to the `configure` method, you can `notify` any `Error`.

```javascript
const { configure, notify } = require('@kedoska/exp2slack') // <-- Step 1
const url = 'https://hooks.slack.com/services/XXXXXXXXX/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'

configure(url) // <-- Step 2

const initApplication = () => {
  try {
    throw new Error('')
  } catch (err) {
    notify(err) // <-- Step 3
  }
}

initApplication()
```

### Dependencies

1. [error-stack-parser](https://github.com/stacktracejs/error-stack-parser)
2. [node-slack-sdk](https://github.com/slackapi/node-slack-sdk) (@slack/client)

### Extra code and fancy If/s

:warning: I'm adding some extra if to the original output of `error-stack-parser`. Mainly to cut some paths and try to get a nice format in slack.
npm package: @kedrovski/gs-localize
Description: Scripts for localize your app using google sheets
Author: Ruslan Kedrovski
Latest version: 1.0.16

# gs-localize
Scripts for localize your app using google sheets

Updated at 17.08.2021 for support latest Google Sheets API

Based on originally published library by @zxcabs (https://github.com/zxcabs/gs-localize)
npm package: @keduoli-q/hardware-monitor
Description: Node.js hardware monitor built on LibreHardwareMonitorLib, using named pipes and CLI reader.
Author: kedoli
Latest version: 2.0.0

# hardware-monitor

基于 [LibreHardwareMonitor](https://github.com/LibreHardwareMonitor/LibreHardwareMonitor) 的 Node.js 硬件监控工具，使用命名管道与 CLI 进程通信，支持持续或一次性获取系统传感器数据。

---

## 📦 安装

```node
npm i @keduoli-q/hardware-monitor
```

## 使用

```node
const { startReader, sendCommand } = require("@keduoli-q/hardware-monitor");

// 日志输出
const log = true
const get = async () => {
    await startReader((err, data) => {
    if (err) {
        console.error("解析失败:", err.message);
    } else {
        console.log("硬件信息:", data);
    }
    }, log);
    await sendCommand({ type: "once"}); // 获取一次数据
    // 其他命令
}
get()

// 输出
硬件信息: {
  Motherboard: [ { model: 'B760M Snow Dream wifi/W', sensors: {} } ],
  Cpu: [ { model: '12th Gen Intel Core i7-12700F', sensors: [Object] } ],
  Memory: [ { model: 'Generic Memory', sensors: [Object] } ],
  Gpu: [ { model: 'NVIDIA GeForce RTX 4060 Ti', sensors: [Object] } ]
}
```

## 命令说明

| 命令(type)                          | 示例代码                                                     |
| ----------------------------------- | ------------------------------------------------------------ |
| `start`，`filter`                   | `sendCommand({ type: "start" })` — 启动持续获取全部数据      |
| `once`                              | `sendCommand({ type: "once"})` — 获取一次数据                |
| `config`                            | `sendCommand({ type: "config"})` —配置参数， 必须指定data 可用参数`intervalms`, `cpu`, `memory`, `gpu`, `storage`, `motherboard`, `network` |
| `stop`                              | `sendCommand({ type: "stop" })` — 停止持续获取数据           |
| `exit`,`quit`<br>`close`,`shutdown` | `sendCommand({ type: "exit" })` — 退出                       |
npm package: @keduoli03/bilibili-bangumi-component
Description: 展示 bilibili 与 Bangumi 追番列表的 WebComponent 组件
Latest version: 0.3.2

# bilibili-bangumi-component

使用 [WebComponent](https://developer.mozilla.org/zh-CN/docs/Web/API/Web_components) 实现的追番列表组件，支持 Bilibili 与 Bangumi

## 特性

- 💡 使用 WebComponent 实现，可用于任何前端应用
- 🖼️ 支持 Bilibili 与 Bangumi
- 🎨 支持主题设置
- 🔌 支持自定义数据
- 💪 适配移动端

详细介绍请参考 [github bilibili-bangumi-component](https://github.com/yixiaojiu/bilibili-bangumi-component) 文档