open-index/open-npm huggingface dataset:
npm package: @smyak/tg-send
Description: Simple send message to Telegram group
Latest version: 0.0.3

# Simple send message with Telegram
1. Copy .env-sample to .env (if not exists in your project)

2. Get TELEGRAM_TOKEN from Bot Father and add to .env

3. Create group and add your bot to group

4. Get chat id with https://api.telegram.org/botYOUR_BOT_TOKEN/getUpdates (should started with - like -123456789)

5. Add TELEGRAM_CHAT_ID to .env

6. require('simpleSendTg')('Any text message');
npm package: @smyd/animation
Description: animations
Author: ben forrester
Latest version: 1.0.0

# \<smyd-animation\>



## Install the Polymer-CLI

First, make sure you have the [Polymer CLI](https://www.npmjs.com/package/polymer-cli) and npm (packaged with [Node.js](https://nodejs.org)) installed. Run `npm install` to install your element's dependencies, then run `polymer serve` to serve your element locally.

## Viewing Your Element

```
$ polymer serve
```

## Running Tests

```
$ polymer test
```

Your application is already set up to be tested via [web-component-tester](https://github.com/Polymer/web-component-tester). Run `polymer test` to run your application's test suite locally.
npm package: @smyd/app-functions
Description: basic app functions and helpers
Author: ben forrester
Latest version: 1.0.7

# \<app-functions\>



## Install the Polymer-CLI

First, make sure you have the [Polymer CLI](https://www.npmjs.com/package/polymer-cli) and npm (packaged with [Node.js](https://nodejs.org)) installed. Run `npm install` to install your element's dependencies, then run `polymer serve` to serve your element locally.

## Viewing Your Element

```
$ polymer serve
```

## Running Tests

```
$ polymer test
```

Your application is already set up to be tested via [web-component-tester](https://github.com/Polymer/web-component-tester). Run `polymer test` to run your application's test suite locally.
npm package: @smyd/app-imgs
Description: common img and carousel helpers
Author: ben forrester
Latest version: 1.0.5

# \<app-imgs\>



## Install the Polymer-CLI

First, make sure you have the [Polymer CLI](https://www.npmjs.com/package/polymer-cli) and npm (packaged with [Node.js](https://nodejs.org)) installed. Run `npm install` to install your element's dependencies, then run `polymer serve` to serve your element locally.

## Viewing Your Element

```
$ polymer serve
```

## Running Tests

```
$ polymer test
```

Your application is already set up to be tested via [web-component-tester](https://github.com/Polymer/web-component-tester). Run `polymer test` to run your application's test suite locally.
npm package: @smyd/app-overlays
Description: basic app overlays and modals
Author: Spriteful spritefuldev@gmail.com
Latest version: 1.0.6

# \<app-overlays\>



## Install the Polymer-CLI

First, make sure you have the [Polymer CLI](https://www.npmjs.com/package/polymer-cli) and npm (packaged with [Node.js](https://nodejs.org)) installed. Run `npm install` to install your element's dependencies, then run `polymer serve` to serve your element locally.

## Viewing Your Element

```
$ polymer serve
```

## Running Tests

```
$ polymer test
```

Your application is already set up to be tested via [web-component-tester](https://github.com/Polymer/web-component-tester). Run `polymer test` to run your application's test suite locally.
npm package: @smyd/app-pay
Description: braintree payment
Author: ben forrester
Latest version: 1.0.0

# \<app-pay\>

braintree payment

## Install the Polymer-CLI

First, make sure you have the [Polymer CLI](https://www.npmjs.com/package/polymer-cli) and npm (packaged with [Node.js](https://nodejs.org)) installed. Run `npm install` to install your element's dependencies, then run `polymer serve` to serve your element locally.

## Viewing Your Element

```
$ polymer serve
```

## Running Tests

```
$ polymer test
```

Your application is already set up to be tested via [web-component-tester](https://github.com/Polymer/web-component-tester). Run `polymer test` to run your application's test suite locally.
npm package: @smyd/app-shared
Description: shared elements between basic app components
Author: ben forrester
Latest version: 1.0.3

# \<app-shared\>



## Install the Polymer-CLI

First, make sure you have the [Polymer CLI](https://www.npmjs.com/package/polymer-cli) and npm (packaged with [Node.js](https://nodejs.org)) installed. Run `npm install` to install your element's dependencies, then run `polymer serve` to serve your element locally.

## Viewing Your Element

```
$ polymer serve
```

## Running Tests

```
$ polymer test
```

Your application is already set up to be tested via [web-component-tester](https://github.com/Polymer/web-component-tester). Run `polymer test` to run your application's test suite locally.
npm package: @smyd/app-shell
Description: basic app 
Author: ben forrest
Latest version: 1.0.8

# \<app-shell\>



## Install the Polymer-CLI

First, make sure you have the [Polymer CLI](https://www.npmjs.com/package/polymer-cli) and npm (packaged with [Node.js](https://nodejs.org)) installed. Run `npm install` to install your element's dependencies, then run `polymer serve` to serve your element locally.

## Viewing Your Element

```
$ polymer serve
```

## Running Tests

```
$ polymer test
```

Your application is already set up to be tested via [web-component-tester](https://github.com/Polymer/web-component-tester). Run `polymer test` to run your application's test suite locally.
npm package: @smyd/asg-event-shared-elements
Description: Shared elements for asg events
Author: Ben Forrester
Latest version: 1.0.0

# \<asg-event-shared-elements\>



## Install the Polymer-CLI

First, make sure you have the [Polymer CLI](https://www.npmjs.com/package/polymer-cli) and npm (packaged with [Node.js](https://nodejs.org)) installed. Run `npm install` to install your element's dependencies, then run `polymer serve` to serve your element locally.

## Viewing Your Element

```
$ polymer serve
```

## Running Tests

```
$ polymer test
```

Your application is already set up to be tested via [web-component-tester](https://github.com/Polymer/web-component-tester). Run `polymer test` to run your application's test suite locally.
npm package: @smyd/asg-icons
Description: Alpha Strike Games icons shared between both apps
Author: Ben Forrester
Latest version: 1.0.0

# \<asg-icons\>



## Install the Polymer-CLI

First, make sure you have the [Polymer CLI](https://www.npmjs.com/package/polymer-cli) and npm (packaged with [Node.js](https://nodejs.org)) installed. Run `npm install` to install your element's dependencies, then run `polymer serve` to serve your element locally.

## Viewing Your Element

```
$ polymer serve
```

## Running Tests

```
$ polymer test
```

Your application is already set up to be tested via [web-component-tester](https://github.com/Polymer/web-component-tester). Run `polymer test` to run your application's test suite locally.
npm package: @smyd/asg-shop-card-details
Description: Mtg e-commerce card small layout
Author: Ben Forrester
Latest version: 1.0.0

# \<asg-shop-card-details\>



## Install the Polymer-CLI

First, make sure you have the [Polymer CLI](https://www.npmjs.com/package/polymer-cli) and npm (packaged with [Node.js](https://nodejs.org)) installed. Run `npm install` to install your element's dependencies, then run `polymer serve` to serve your element locally.

## Viewing Your Element

```
$ polymer serve
```

## Running Tests

```
$ polymer test
```

Your application is already set up to be tested via [web-component-tester](https://github.com/Polymer/web-component-tester). Run `polymer test` to run your application's test suite locally.
npm package: @smyd/asg-shop-card-item
Description: Mtg e-commerce card small layout
Author: Ben Forrester
Latest version: 1.0.0

# \<asg-shop-card-item\>

Card for displaying mtg card, info, and pricing


## Install the Polymer-CLI

First, make sure you have the [Polymer CLI](https://www.npmjs.com/package/polymer-cli) and npm (packaged with [Node.js](https://nodejs.org)) installed. Run `npm install` to install your element's dependencies, then run `polymer serve` to serve your element locally.

## Viewing Your Element

```
$ polymer serve
```

## Running Tests

```
$ polymer test
```

Your application is already set up to be tested via [web-component-tester](https://github.com/Polymer/web-component-tester). Run `polymer test` to run your application's test suite locally.
npm package: @smyd/boot
Description: basic boot
Author: ben forrester
Latest version: 1.0.6

# \<smyd-boot\>



## Install the Polymer-CLI

First, make sure you have the [Polymer CLI](https://www.npmjs.com/package/polymer-cli) and npm (packaged with [Node.js](https://nodejs.org)) installed. Run `npm install` to install your element's dependencies, then run `polymer serve` to serve your element locally.

## Viewing Your Element

```
$ polymer serve
```

## Running Tests

```
$ polymer test
```

Your application is already set up to be tested via [web-component-tester](https://github.com/Polymer/web-component-tester). Run `polymer test` to run your application's test suite locally.
npm package: @smyd/cms-elements
Description: common cms elements
Author: ben forrester
Latest version: 1.0.5

# \<cms-e\>



## Install the Polymer-CLI

First, make sure you have the [Polymer CLI](https://www.npmjs.com/package/polymer-cli) and npm (packaged with [Node.js](https://nodejs.org)) installed. Run `npm install` to install your element's dependencies, then run `polymer serve` to serve your element locally.

## Viewing Your Element

```
$ polymer serve
```

## Running Tests

```
$ polymer test
```

Your application is already set up to be tested via [web-component-tester](https://github.com/Polymer/web-component-tester). Run `polymer test` to run your application's test suite locally.
npm package: @smyd/dhg-elements
Description: elements for dhg only
Author: ben forrester
Latest version: 1.0.3

# \<dhg-elements\>



## Install the Polymer-CLI

First, make sure you have the [Polymer CLI](https://www.npmjs.com/package/polymer-cli) and npm (packaged with [Node.js](https://nodejs.org)) installed. Run `npm install` to install your element's dependencies, then run `polymer serve` to serve your element locally.

## Viewing Your Element

```
$ polymer serve
```

## Running Tests

```
$ polymer test
```

Your application is already set up to be tested via [web-component-tester](https://github.com/Polymer/web-component-tester). Run `polymer test` to run your application's test suite locally.
npm package: @sn-koarashi/react-native-watermark-component
Description: react-native项目中的水印组件，支持前置水印和后置水印
Latest version: 0.3.0

# Watermark(水印)

react-native项目中的水印插件（文字水印）

	npm install react-native-watermark-component

## 使用
使用起来也不麻烦，把`WatermarkView`当做普通`View`组件使用就行

	import { WatermarkView } from 'react-native-watermark-component';

	const {
      watermark = '朋友 · 爱',
      style = styles.container,
      itemWidth = 100,
      itemHeight = 100,
      rotateZ = -45,
      watermarkTextStyle = styles.watermarkTextStyle
    } = this.state;
    
	<WatermarkView
        foreground
        watermark={watermark}
        style={style}
        itemWidth={itemWidth}
        itemHeight={itemHeight}
        rotateZ={rotateZ}
        watermarkTextStyle={ watermarkTextStyle }
      >
        <View>
	        <Text>朋友 · 爱</Text>
        </View>
        {your_component}
        {/* 这里放置你自己的组件 */}
      </WatermarkView>


|props|type|default value|notes|
|:---:|:---:|:---:|:---:|
|foreground|bool|false|是否需要前置水印|
|style|ViewPropTypes.style|-||
|watermark|string|-|水印文本内容，为空字符串时不显示水印|
|itemWidth|number|160|单个水印的宽度|
|itemHeight|number|100|单个水印的高度|
|watermarkTextStyle|Text.propTypes.style|-|水印文本样式|
|rotateZ|number|-45|水印旋转角度|


![后置水印](./images/background.png)
![前置水印](./images/foreground.png)
![结构分析](./images/source.png)
npm package: @sn-ui/big-data-design
Description: A Component Library for Vue.js.
Latest version: 1.3.4

## 快速上手

仅限内部使用

### 引入 big-data-design

你可以引入整个 big-data-design，或是根据需要仅引入部分组件。我们先介绍如何引入完整的 big-data-design。

#### 完整引入

在 main.js 中写入以下内容：

```javascript
import Vue from 'vue';
import SnDesign from '@sn-ui/big-data-design';
import '@sn-ui/big-data-design/lib/theme-chalk/index.css';
import App from './App.vue';

Vue.use(SnDesign);

new Vue({
  el: '#app',
  render: h => h(App)
});
```

以上代码便完成了 big-data-design 的引入。需要注意的是，样式文件需要单独引入。

#### 按需引入

借助 [babel-plugin-component](https://github.com/QingWei-Li/babel-plugin-component)，我们可以只引入需要的组件，以达到减小项目体积的目的。

首先，安装 babel-plugin-component：

```bash
npm install babel-plugin-component -D
```

然后，将 .babelrc 修改为：

```json
{
  "presets": [
    [
      "env",
      {
        "modules": false,
        "targets": {
          "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
        }
      }
    ],
    "stage-2"
  ],
  "plugins": [
    "transform-vue-jsx",
    "transform-runtime",
    [
      "component",
      {
        "libraryName": "@sn-ui/big-data-design",
        "styleLibraryName": "theme-chalk"
      }
    ]
  ]
}
```

接下来，如果你只希望引入部分组件，比如 Button 和 Input，那么需要在 main.js 中写入以下内容：

```javascript
import Vue from 'vue';
import { Button, Input } from '@sn-ui/big-data-design';
import App from './App.vue';

Vue.component(Button.name, Button);
Vue.component(Input.name, Input);
/* 或写为
 * Vue.use(Button)
 * Vue.use(Input)
 */

new Vue({
  el: '#app',
  render: h => h(App)
});
```

### 全局配置

在引入 SnUIElement 时，可以传入一个全局配置对象。该对象目前支持 `size` 与 `zIndex` 字段。`size` 用于改变组件的默认尺寸，`zIndex` 设置弹框的初始 z-index（默认值：2000）。按照引入 SnUIElement 的方式，具体操作如下：

完整引入 SnUIElement：

```js
import Vue from 'vue';
import SnDesign from '@sn-ui/big-data-design';
Vue.use(SnDesign, { size: 'small', zIndex: 3000 });
```

按需引入 Element：

```js
import Vue from 'vue';
import { Button } from '@sn-ui/big-data-design';

Vue.prototype.$SNDESIGN = { size: 'small', zIndex: 3000 };
Vue.use(Button);
```

按照以上设置，项目中所有拥有 `size` 属性的组件的默认尺寸均为 'small'，弹框的初始 z-index 为 3000。

### 开始使用

至此，一个基于 Vue 和 big-data-design 的开发环境已经搭建完毕，现在就可以编写代码了。各个组件的使用方法请参阅它们各自的文档。
npm package: @sn.secure-t-org/jodit-react
Description: Jodit is awesome and usefully wysiwyg editor with filebrowser
Author: Chupurnov
Latest version: 2.0.5

# React Jodit WYSIWYG Editor

[![npm](https://img.shields.io/npm/v/jodit-react.svg)](https://www.npmjs.com/package/jodit-react)
[![npm](https://img.shields.io/npm/dm/jodit-react.svg)](https://www.npmjs.com/package/jodit-react)
[![npm](https://img.shields.io/npm/l/jodit-react.svg)](https://www.npmjs.com/package/jodit-react)

React wrapper for [Jodit](https://xdsoft.net/jodit/)

> [Jodit React PRO](https://xdsoft.net/jodit/pro/) it is an extended version of Jodit React with the same API, but with a lot more features.

## Installation

```bash
npm install jodit-react --save
```

## Update editor version

```bash
npm update jodit-react
```

## Run demo

```bash
npm install --dev
npm run demo
```

and open

```
http://localhost:4000/
```

## Usage

### 1. Require and use Jodit-react component inside your application.

```jsx
import React, { useState, useRef, useMemo } from 'react';
import JoditEditor from 'jodit-react';

const Example = ({ placeholder }) => {
	const editor = useRef(null);
	const [content, setContent] = useState('');

	const config = useMemo(
		{
			readonly: false, // all options from https://xdsoft.net/jodit/docs/,
			placeholder: placeholder || 'Start typings...'
		},
		[placeholder]
	);

	return (
		<JoditEditor
			ref={editor}
			value={content}
			config={config}
			tabIndex={1} // tabIndex of textarea
			onBlur={newContent => setContent(newContent)} // preferred to use only this option to update the content for performance reasons
			onChange={newContent => {}}
		/>
	);
};
```

### Jodit plugins

You can use all Jodit features and write your [own plugin](https://xdsoft.net/jodit/docs/modules/plugin.html) for example.

```js
import JoditEditor, { Jodit } from '../../src/';

/**
 * @param {Jodit} jodit
 */
function preparePaste(jodit) {
	jodit.e.on(
		'paste',
		e => {
			if (confirm('Change pasted content?')) {
				jodit.e.stopPropagation('paste');
				jodit.s.insertHTML(
					Jodit.modules.Helpers.getDataTransfer(e)
						.getData(Jodit.constants.TEXT_HTML)
						.replace(/a/g, 'b')
				);
				return false;
			}
		},
		{ top: true }
	);
}
Jodit.plugins.add('preparePaste', preparePaste);

//...
return <JoditEditor/>;
```

## License

This package is available under `MIT` License.
npm package: @sn0wbit/use-sound
Description: Simple useSound hook that allow you to play audio file by just 1 hook.
Author: Sn0wBiT
Latest version: 1.0.5

# @sn0wbit/use-sound

> Simple useSound hook that allow you to play audio file by just 1 hook.
Using Howler

[![NPM](https://img.shields.io/npm/v/@sn0wbit/use-sound.svg)](https://www.npmjs.com/package/@sn0wbit/use-sound) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
npm install --save @sn0wbit/use-sound
```

## Usage

```tsx
import React, { useState } from 'react'
import useSound from '@sn0wbit/use-sound'

const navSounds = [
  require('./assets/audio/FRONTEND_NAV_GEN_03.wav'),
  require('./assets/audio/FRONTEND_NAV_GEN_04.wav')
]

const App = () => {
  const [randomIndex, setRandomIndex] = useState<number>(0)

  const [playNavigate] = useSound({
    src: navSounds[randomIndex],
    volume: 0.5
  })
  const [playNavigate2] = useSound({
    src: 'https://cdn.freesound.org/previews/178/178186_33044-lq.mp3',
    volume: 0.5
  })
  return (
    <div>
      <p>Example</p>
      <div>
      <button onClick={() => {
          randomIndex === 0 ? setRandomIndex(1) : setRandomIndex(0)
        }}>Switch sound 1</button>
      </div>
      <div>
        <button onClick={() => {
          playNavigate()
        }}>Play Navigate 1</button>
        <button onClick={() => {
          playNavigate2()
        }}>Play Navigate 2</button>
      </div>
    </div>
  )
}
```

## License

MIT © [Sn0wBiT](https://github.com/Sn0wBiT)
npm package: @sn0wye/eslint-config
Description: ESLint configuration used by Sn0wye.
Author: Sn0wye
Latest version: 3.0.1

# Sn0wye ESLint config

## Whats included?

- React plugin;
- React Hooks plugin;
- JSX a11y plugin;

## Setup

1. Install the dependencies

```
pnpm i eslint @sn0wye/eslint-config -D
```

2. Create a `.eslintrc.cjs` or file extending the config:
```ts
const path = require('path');

/** @type {import("eslint").Linter.Config} */
module.exports = {
  extends: ['@sn0wye/eslint-config/react'],
  parser: '@typescript-eslint/parser',
  parserOptions: {
    project: path.join(__dirname, 'tsconfig.json')
  }
};
```

3. Add the linting scripts

```json
// package.json
"scripts": {
  // ...,
  "lint": "eslint src --ext ts,tsx",
  "lint:fix": "eslint src --ext ts,tsx --fix",
}
```
npm package: @sn8/themify-icons
Description: Themify Icon Font
Author: Themify
Latest version: 1.0.0

# themify-icons

1) Upload the ‘themify-icons.css’ file and ‘fonts’ folder to your server

2) Add the CSS file into the <head> section of your site:
<link href="http://yoursite.com/themify-icons.css" rel="stylesheet">

3) Add the icon markup in your page:
<span class="ti-download"></span>

All icons can be viewed at: http://themify.me/themify-icons
npm package: @sn8/vuex-undo-redo
Description: A Vue.js plugin to undo/redo mutations
Author: Artem Sinkov
Latest version: 1.0.3

# vuex-undo-redo

A Vue.js plugin that allows you to undo or redo a mutation.
Based on [anthonygore/vuex-undo-redo](https://github.com/anthonygore/vuex-undo-redo), but using another idea for undo or redo a mutations.


## Installation

```js
yarn add vuex-undo-redo
```

### Browser

```html
<script type="text/javascript" src="node_modules/vuex-undo-redo/dist/vuex-undo-redo.min.js"></script>
```

### Usage

Since it's a plugin, use it like:

```js
import VuexUndoRedo from 'vuex-undo-redo';

Vue.use(VuexUndoRedo, {
  rules: [
    {
      from: 'INSERT',
      to: `DELETE`,
    },
    {
      from: 'DELETE',
      to: 'INSERT',
    },
    {
      from: 'UPDATE',
      to: 'UPDATE',
      mapPayload: { oldValues: 'newValues', newValues: 'oldValues' },
    },
  ],
});

```

You must, of course, have the Vuex plugin installed as well, and it must be intalled before this plugin.

```js
new Vuex.Store({
  state: {
    elements: [],
  },
  mutations: {
    /* "element" should be non-reactive */
    INSERT(state, { index, element }) {
      state.elements.splice(index, 0, element);   
    },
    /* "element" should be non-reactive */
    DELETE(state, { index, element }) {
      state.elements.splice(index, 1);
    },
    /* "newValues" and "oldValues" should be non-reactive */
    UPDATE(state, { index, newValues, oldValues }) {
      const element = state.elements[index];
      for (const [key, value] of Object.entries(newValues)) {
        element[key] = value;
      }
    },
  },
});
```

## API

### Computed properties

`canUndo` a boolean which tells you if the state is undo-able

`canRedo` a boolean which tells you if the state is redo-able

### Methods

`undo` undoes the last mutation

`redo` redoes the last mutation

`resetUndoRedo` resets the all history
npm package: @sn8z/pop-pop.css
Description: A pure CSS tooltip library
Author: Marcus Sneitz
Latest version: 1.0.2

# Pop-Pop.css
![npm](https://img.shields.io/npm/v/@sn8z/pop-pop.css?style=flat-square)
![npm bundle size](https://img.shields.io/bundlephobia/minzip/@sn8z/pop-pop.css?style=flat-square)
![npm](https://img.shields.io/npm/dw/@sn8z/pop-pop.css?style=flat-square)
[![GitHub license](https://img.shields.io/github/license/Sn8z/pop-pop.css?style=flat-square)](https://github.com/Sn8z/pop-pop.css/blob/master/LICENSE)

A __pure CSS__ tooltip library with __no dependencies__ and support for __CSS custom properties__.

## Demo

[Pop-Pop.css website](https://sn8z.github.io/pop-pop.css/)

## Features

* No dependencies
* Pure CSS
* ~ 14kb minified (~ 1,3kb when minified & Gzipped)
* Customizable
* Supports CSS custom properties
* Supports multiple browsers

## Installation & Basic usage

### NPM / Yarn
```
npm install @sn8z/pop-pop.css
```
```
yarn add @sn8z/pop-pop.css
```
You can then import the normal CSS file or the minified version from the *dist* folder in the package.

```
@import "node_modules/@sn8z/pop-pop.css/dist/pop-pop.min.css";
```
or
```
<link rel="stylesheet" href="node_modules/@sn8z/pop-pop.css/dist/pop-pop.min.css">
```
### CDN
You can import the CSS from unpkg.
```
<link rel="stylesheet" href="https://unpkg.com/@sn8z/pop-pop.css@latest/dist/pop-pop.min.css">
```
### Download
You can also download the CSS from GitHub and include it to your html as you would normally do.
```
<link rel="stylesheet" href="pop-pop.min.css">
```
### Usage
To add a tooltip simply add the attribute *data-pop* and an *aria-label* to the tag where you want it to appear.
```
<div data-pop aria-label="Tooltip text goes here">...</div>
```
For more examples and configuration check out the [website](https://sn8z.github.io/pop-pop.css/).
## Contribute
If you want to contribute with enhancements and/or bugfixes:
* Fork and/or clone the repo
```
git clone https://github.com/Sn8z/pop-pop.css.git
```
* Enter the directory
```
cd pop-pop.css
```
* Run
```
npm install
```
* Edit *pop-pop.scss* in the *src* folder.
* Run the following command to generate the minified and normal CSS file.
```
npm run build:all
```
* Open the *index.html* file found in the *docs* folder to confirm things are working as expected.
* If everything works as expected open a Pull request with a brief explanation!

## Sponsor

If you enjoy using Pop-Pop.css consider [supporting me here on GitHub by becoming a sponsor](https://github.com/sponsors/Sn8z)!

### Made by [@Sn8z](https://github.com/Sn8z)
npm package: @snabcentr/yandex-metrika
Description: A simple Yandex Mertika (Яндекс Метрика) package for Angular 14.
Author: Sergey Smirnov
Latest version: 2.3.2

# Angular Yandex Metrika

A simple Yandex Mertika (Яндекс Метрика) [tag.js](https://yandex.ru/support/metrika/) package for Angular 14. 

_Based on https://github.com/kolkov project._

## Install

Install via [npm][npm] package manager

```
npm install @snabcentr/yandex-metrika --save
```

Add the package to your `app.module.ts`.
Then simple add property `yaCounterId` to the `environment` constant or use inline

```ts
import { RouterModule } from '@angular/router';
import { YandexMetrikaModule } from '@snabcentr/yandex-metrica';

@NgModule({
  imports: [
    RouterModule.forRoot([]),
    YandexMetrikaModule.forRoot(new YandexMetrikaConfig(91948419, { ... })),
  ]
})
```

## Pageviews

The package will listen to route changes by default, you just need to instantiate service in the root of the project. 

```ts
export class AppComponent {
  constructor(private ym: YandexMetrikaService) { }
}
```

YandexMetrika is a service that also allows you to track pageViews manually. 

```ts
this.ym.hit.emit();

// or with custom params

this.ym.hit.emit(new YandexMetrikaHitConfig('some_url', { ... }));
```

## ReachGoal

[ReachGoal](https://yandex.ru/support/metrika/objects/reachgoal.html) expect an action. 

```ts
this.ym.reachGoal.next({
                           target: 'TARGET_NAME',
                           callback: (e) => {},
                           params: { },
                           ctx: element,
                       })
```

## Goal Directive

Many analytics events are tracked based on user interaction, such as button clicks. Just tell it which DOM event to track.  

```html
<button ymGoal trackOn="click" target="BUTTON_CLICK" (click)="onClick()">Test reach goal</button>
```

This will register a general Target in Yandex Metrika based on the target name.

You can pass optional params to the directive like so:

```html
<div ymGoal     
     target="PROGUCT_DRAGGED"     
     [params.params]="{ targetLabel: 'Something cool just happened' }">

   Some Product...
   
</div>
```

The directive will produce the following event on dragstart. 

## What's included

Within the download you'll find the following directories and files. You'll see something like this:

```
metrika/
└── projects/
    ├── yandex-metrika/
    └── yandex-metrika-example-app/
```
`yandex-metrika/` - library

`yandex-metrika-example-app/` - demo application

## Documentation

The documentation hosted at [Yandex Metrika](https://yandex.ru/support/metrica/index.html).

## Contributing

Ask developers: Sergey Smirnov<[sss.rusproj@gmail.com]()>

## Creators

Sergey Smirnov <[sss.rusproj@gmail.com]()>
npm package: @snackbar/core
Description: Show a brief message at the bottom of the screen.
Author: egoist
Latest version: 1.7.0

# @snackbar/core

[![NPM version](https://badgen.net/npm/v/@snackbar/core)](https://npmjs.com/package/@snackbar/core) [![NPM downloads](https://badgen.net/npm/dm/@snackbar/core)](https://npmjs.com/package/@snackbar/core) [![CircleCI](https://badgen.net/circleci/github/egoist/snackbar/master)](https://circleci.com/gh/egoist/snackbar/tree/master) [![donate](https://badgen.net/badge/support%20me/donate/ff69b4)](https://patreon.com/egoist) [![chat](https://badgen.net/badge/chat%20on/discord/7289DA)](https://chat.egoist.moe)

![preview](./media/snack.gif)

## Install

```bash
yarn add @snackbar/core
```

## Documentation

📝 **https://snackbar.egoist.sh**

## Contributing

1. Fork it!
2. Create your feature branch: `git checkout -b my-new-feature`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin my-new-feature`
5. Submit a pull request :D

## Author

**snackbar** © [EGOIST](https://github.com/egoist), Released under the [MIT](./LICENSE) License.<br>
Authored and maintained by EGOIST with help from contributors ([list](https://github.com/egoist/snackbar/contributors)).

> [egoist.sh](https://egoist.sh) · GitHub [@EGOIST](https://github.com/egoist) · Twitter [@\_egoistlily](https://twitter.com/_egoistlily)
npm package: @snackbase/skills
Description: Claude AI skills for SnackBase
Latest version: 0.1.0

# @snackbase/skills

Agent Skills for SnackBase.

This package contains specialized knowledge and best practices for working with SnackBase, formatted according to the [Agent Skills specification](https://agentskills.io/specification).

## Included Skills

- **snackbase**: Comprehensive guide to using the SnackBase JavaScript/TypeScript SDK, including authentication, CRUD operations, and service-specific rules.

## Installation

### Option 1: npx (Recommended)

Automatically install the skill to `.claude/skills/`:

```bash
npx @snackbase/skills
```

### Option 2: npm/pnpm install

Install as a dev dependency (runs automatically on install):

```bash
pnpm add -D @snackbase/skills
# or
npm install -D @snackbase/skills
```

### Option 3: Manual

Clone the repo and copy `skills/snackbase/` to `.claude/skills/snackbase/`.

## Usage with AI Agents

Once installed, restart Claude Code to load the skill.

### Other Agents (Windsurf, Cursor, etc.)

Check your agent's documentation for "Agent Skills" support. Most agents look for skills in `.claude/skills/` automatically.

## Development

Individual skills are located in `skills/<skill-name>/`. Each skill directory contains a `SKILL.md` file and a `rules/` directory for granular documentation.
npm package: @snacking/bpmn
Description: bpmn...
Author: 虫儿飞
Latest version: 0.0.1

# bpmn

#### 介绍
bpmn

#### 软件架构
软件架构说明


#### 安装教程

1.  xxxx
2.  xxxx
3.  xxxx

#### 使用说明

1.  xxxx
2.  xxxx
3.  xxxx

#### 参与贡献

1.  Fork 本仓库
2.  新建 Feat_xxx 分支
3.  提交代码
4.  新建 Pull Request


#### 特技

1.  使用 Readme\_XXX.md 来支持不同的语言，例如 Readme\_en.md, Readme\_zh.md
2.  Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
3.  你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
4.  [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目，是综合评定出的优秀开源项目
5.  Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
6.  Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
npm package: @snacking/collector
Description: 前端采集
Author: 虫儿飞
Latest version: 0.0.7

# @snacking/collector

## 介绍

该模块用来生成采集页面信息的脚本

支持dom事件、ajax请求的相关数据采集

支持对dom事件、ajax请求、命名空间里的方法、vue组件的方法设置埋点采集

支持个性化配置，分为编译前个性化和运行时个性化两种方案

## 安装

    npm install @snacking/collector
    
或者...

    yarn add @snacking/collector

## 初始化

    npx sn-coll init
    
会生成以下4个文件：
- tsconfig.json
> 接口和类型在typeScript描述文件中体现，可以直接使用typeScript
- index.ts
> 入口文件
- appConfig.ts
> 个性化配置文件，用来做编译前个性化
- buildConfig.ts
> 编译用配置，就是输出的文件名，以及输出的变量名

## 编译

    npx sn-coll build
    
会在dist目录下输出编译好的脚本文件

#### 编译前个性化

在`appConfig.ts`文件中进行个性化配置，接口定义如下，也可以参见`AppConfig`接口

    interface AppConfig {
    
        /****** sessionId、pageId、serviceUrl ******/
        sessionId?: (() => string) | string; // sessionId值，或者取得sessionId的方法，可空，默认"" [根据应用修改]
        pageId?: (() => string) | string;    // pageId值，或者生成pageId的方法，可空，默认为uuid [根据应用修改]
        serviceUrl?: string;                 // 接受数据的服务地址，可空，默认在控制台输出 [根据应用修改]
        
        /****** 数据补充方式 ******/
        points?: Points[] | null;            // 埋点
        supplement?: Supplement | null;      // 补充数据，支持全部数据都补充，或者按采集器补充
        
        /****** 采集器配置 ******/
        domEvents?: Keys<WindowEventMap>[];  // 需要采集的dom事件，支持所有window Event
        processors?: Processor[] | null;     // 数据处理器，允许个性化数据处理
        collector?: CollectorMapping;        // 给每个采集大类指定采集器
        
        /****** 归集提交报文用 ******/
        gather?: boolean;                    // 采集到的数据，是否归集到最上层页面后才发送，false为本页面直接发送
        messageFlag?: string;                // 消息标识，在message事件中识别消息用（使用message事件归集数据）
        targetOrigin?: string;               // 指定message事件中的域（使用message事件归集数据）
    }


#### 运行时个性化

将编译输出的脚本，在具体的页面上引用之后，可以通过变量调用api的方式进行运行时个性化，具体的变量名在`buildConfig.ts`文件中指定，默认为`_clt`

具体的个性化api定义如下，也可以参见`monitor`的定义

    const monitor: {
        init(config?: AppConfig): void;                                              // 设置配置
        setServiceUrl(url: string): void;                                            // 设置服务地址
        setGather(gather: boolean): void;                                            // 设置数据是否归集到上层发送
        setSessionId(sessionId: string): void;                                       // 设置sessionId
        setPageId(pageId: string): void;                                             // 设置pageId
        addDomEvent(events: Keys<WindowEventMap> | Keys<WindowEventMap>[]): number;  // 增加要监听的dom事件
        addPoint(points: Points | Points[]): void;                                   // 增加埋点
        addProcessor(processor: Processor | Processor[]): void;                      // 增加消息处理器
        addCollector(mapping: CollectorMapping): void;                               // 增加采集器
    };

#### 编译用配置

在`buildConfig.ts`文件中进行编译用配置，接口定义如下，也可以参见`BuildConfig`接口

    interface BuildConfig {
        fileName?: string; // 输出的文件名
        var?: string;      // 导出的变量名称
    }
npm package: @snacking/electron
Description: electron 14应用脚手架...
Author: 虫儿飞
Latest version: 0.0.10

# electron

#### 介绍
electron

#### 软件架构
软件架构说明


#### 安装教程

1.  xxxx
2.  xxxx
3.  xxxx

#### 使用说明

1.  xxxx
2.  xxxx
3.  xxxx

#### 参与贡献

1.  Fork 本仓库
2.  新建 Feat_xxx 分支
3.  提交代码
4.  新建 Pull Request


#### 特技

1.  使用 Readme\_XXX.md 来支持不同的语言，例如 Readme\_en.md, Readme\_zh.md
2.  Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
3.  你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
4.  [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目，是综合评定出的优秀开源项目
5.  Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
6.  Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
npm package: @snacking/html-minify
Description: html压缩...
Author: 虫儿飞
Latest version: 0.0.1

# @snacking/html-minify 使用指南 #

## 说明 ##

html压缩...

## 安装 ##

    npm install @snacking/html-minify --save
    
## 方法调用 ##

    const { uglify } = require("@snacking/html-minify");
    console.log( uglify(`
        <div>
            hello
        </div>
    `) );
    
## 在gulp中使用 ##

    const { src, dest } = require("gulp");
    const { forGulp: uglify } = require("@snacking/html-minify");
    src("./*.html").pipe(uglify()).pipe(dest("./dist"));
    
可以设置options，具体选项参见[https://www.npmjs.com/package/html-minifier-terser](https://www.npmjs.com/package/html-minifier-terser)...

    src("./*.json").pipe(uglify({
        collapseWhitespace: false
    })).pipe(dest("./dist"));
npm package: @snacking/json-merge
Description: json文件合并且美化...
Author: 虫儿飞
Latest version: 0.0.2

# @snacking/json-merge 使用指南 #

## 说明 ##

json的合并与美化...

## 安装 ##

    npm install @snacking/json-merge --save
    
## 方法调用 ##

    const merge = require("@snacking/json-merge").merge;
    console.log(merge("{a:1}","{b:1}"));
    
## 在gulp中使用 ##

    const { src, dest } = require("gulp");
    const merge = require("@snacking/json-merge").forGulp;
    src("./*.json").pipe(merge()).pipe(dest("./dist"));
    
可以指定合并后的文件名，如果不指定，则默认为merged.json...

    src("./*.json").pipe(merge("test.json")).pipe(dest("./dist"));
npm package: @snacking/json-minify
Description: json迷你化...
Author: 虫儿飞
Latest version: 0.0.1

# @snacking/json-minify 使用指南 #

## 说明 ##

json的压缩，允许属性值是js函数...

## 安装 ##

    npm install @snacking/json-minify --save
    
## 方法调用 ##

    const { uglify } = require("@snacking/json-minify");
    uglify(`{"a":  1, "b": 2  }`, function (re) {
        console.log(re)
    });
    
## 在gulp中使用 ##

    const { src, dest } = require("gulp");
    const { forGulp: uglify } = require("@snacking/json-minify");
    src("./*.json").pipe(uglify()).pipe(dest("./dist"));
npm package: @snacking/pretreat
Description: 根据约定的结构配置，进行资源预处理...
Author: 虫儿飞
Latest version: 1.0.0

# @snacking/pretreat 使用指南 #

## 说明 ##

基于gulp开发，目的是，只要配置好资源路径，执行命令就能进行资源预处理...

## 全局安装 ##

    npm install @snacking/pretreat -g
    
## 查看版本号 ##

    sn-pr -v
    
## 准备配置文件 ##

    sn-pr init

将得到配置文件示例pretreat.json，该文件里做了较为详细的配置说明...

主要是设置需要执行什么任务，资源源路径，输出路径，是否压缩等等...

本工具会依据该配置进行资源预处理...

目前支持：
> - less编译成css，以及合并、压缩
> - css的合并、压缩
> - js的合并、压缩，支持babel转换
> - html的合并、压缩
> - json的合并、压缩，属性值支持js函数
> - 图像的压缩
> - 各类资源的复制

### 例子 ###

1、在当前目录里，将js做压缩并输出，并且使用babel转换

    {
      "projects": [
        {
          "js": {
            "useBabel": true,
            "paths": [
              {
                "source": "./",
                "minify": true
              }
            ]
          }
        }
      ]
    }

2、将当前目录的js及其压缩文件输出到dist目录

    {
        "output": "./dist",
        "projects": [
            {
                "js": {
                    "paths": [
                        {
                            "source": "./",
                            "minify": true
                        }
                    ]
                }
            }
        ]
    }
    
3、需要处理的资源在不同的工程中：./demo_1 ./demo_2

    {
        "projects": [
            {
                "name": "demo_1"
                "js": {
                    "paths": [
                        {
                            "source": "",
                            "minify": true
                        }
                    ]
                }
            },
            {
                "name": "demo_2"
                "js": {
                    "paths": [
                        {
                            "source": "",
                            "minify": true
                        }
                    ]
                }
            }
        ]
    }

4、需要处理的资源有较长的公共目录：./demo_1/src

    {
        "projects": [
            {
                "base": "./demo/src",
                "js": {
                    "paths": [
                        {
                            "source": "",
                            "minify": true
                        }
                    ]
                }
            }
        ]
    }

## 执行预处理 ##

    sn-pr
    
### 选项 ###
    
该命令有4个选项...

    -clr --clear [path]            指定预处理前需要清空的目录，默认不清空任何目录
    -cfg --config [fileName]       指定配置文件名称，默认使用pretreat.json
    -w --watch [open]              是否开启监听，默认不监听
    -pn --pName [projectName]      指定项目名处理，如果在配置文件里设置了项目名称，默认全部处理
    
### 例子 ###

    sn-pr -clr ./dist/**/*.*       预处理前清空dist目录下所有文件
    sn-pr -cfg example.json        把example.json作为配置文件
    sn-pr -w true                  开启监听
    sn-pr -pn demo                 仅处理demo项目里的任务
    
使用多个选项...

    sn-pr -clr ./dist/**/*.* -cfg example.json
    
如果不需要选项里的内容，且配置文件名为pretreat.json，执行

    sn-pr

即可...
npm package: @snacking/see-react
Description: 基于webpack的react脚手架...
Author: 虫儿飞
Latest version: 0.0.5

# see-react

#### Description
react脚手架

#### Software Architecture
Software architecture description

#### Installation

1.  xxxx
2.  xxxx
3.  xxxx

#### Instructions

1.  xxxx
2.  xxxx
3.  xxxx

#### Contribution

1.  Fork the repository
2.  Create Feat_xxx branch
3.  Commit your code
4.  Create Pull Request


#### Gitee Feature

1.  You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
2.  Gitee blog [blog.gitee.com](https://blog.gitee.com)
3.  Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
4.  The most valuable open source project [GVP](https://gitee.com/gvp)
5.  The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
6.  The most popular members  [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
npm package: @snacking/webpack
Description: 通过简化配置生成webpack 5的config，以及生成常用的babel、eslint、browserslist、typescript等配置文件...
Author: 虫儿飞
Latest version: 0.3.5

# @snacking/webpack

## 说明

在Webpack.Configuration的基础上，增加了一些应用设置，更快的输出webpack的配置...
npm package: @snacking/what-admin
Description: what-admin...
Author: 虫儿飞
Latest version: 0.0.1

# what-admin

#### Description
{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**}

#### Software Architecture
Software architecture description

#### Installation

1.  xxxx
2.  xxxx
3.  xxxx

#### Instructions

1.  xxxx
2.  xxxx
3.  xxxx

#### Contribution

1.  Fork the repository
2.  Create Feat_xxx branch
3.  Commit your code
4.  Create Pull Request


#### Gitee Feature

1.  You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
2.  Gitee blog [blog.gitee.com](https://blog.gitee.com)
3.  Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
4.  The most valuable open source project [GVP](https://gitee.com/gvp)
5.  The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
6.  The most popular members  [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
npm package: @snackstack/mui
Description: To install `@mui/material`, follow their [installation guide](https://mui.com/material-ui/getting-started/installation/).
Author: Tobias Tengler
Latest version: 1.3.1

<h1 align="center" style="font-size: 30px;">@snackstack/mui</h1>
<p align="center">A Material UI adapter for <a href="https://github.com/snackstack/core" alt="Link to @snackstack/core">@snackstack/core</a></p>

<p align="center">
  <a href="https://www.npmjs.com/package/@snackstack/mui" alt="npm.js package link">
    <img src="https://img.shields.io/npm/v/@snackstack/mui?color=F50057" alt="Latest version published to npm.js" />
    <img src="https://img.shields.io/npm/dm/@snackstack/mui?color=1976D2" alt="npm downloads per month" />
    <img src="https://img.shields.io/npm/l/@snackstack/mui?color=00C853" alt="Project license" />
  </a>
</p>

## Installation

To install `@mui/material`, follow their [installation guide](https://mui.com/material-ui/getting-started/installation/).

> ⚠️ Note: Only `@mui/material` v5 or later is supported.

To install the latest stable version with [npm](https://www.npmjs.com/get-npm), run the following command:

```
npm install @snackstack/core @snackstack/mui
```

Or if you're using [yarn](https://classic.yarnpkg.com/docs/install/):

```
yarn add @snackstack/core @snackstack/mui
```

## Setup

Make sure you have setup the `SnackProvider` component as shown in the [Get started](https://snackstack.github.io/docs#setup) section of the documentation.

Then you just need to import the `MuiSnack` component and pass it as the value for the `Component` property on the [SnackStack](https://snackstack.github.io/docs/api-reference/components/SnackStack) component.

```diff
import React from 'react';
import ReactDOM from 'react-dom/client';
import { SnackProvider, SnackStack, SnackManager } from '@snackstack/core';
+ import { MuiSnack } from '@snackstack/mui';

const snackManager = new SnackManager({ maxSnacks: 7 });

const root = ReactDOM.createRoot(document.getElementById('root') as HTMLElement);

root.render(
  <React.StrictMode>
    <SnackProvider manager={snackManager}>
      <App />

+     <SnackStack Component={MuiSnack} />
    </SnackProvider>
  </React.StrictMode>
```

[Learn more about the Material UI adapter](https://snackstack.github.io/docs/adapters/mui)

[Learn more about managing notifications](https://snackstack.github.io/docs/guides/managing-notifications)
npm package: @snackui/static
Description: - onPress extraction + media query extraction have most speed up - bug with props after spread not applying, make them deopt:   - <VStack {...baseStyle} cursor="default" /> wont be right rn - have seen bugs with <Spacer flex /> and <VStack fullscreen /> -
Latest version: 0.18.3

- onPress extraction + media query extraction have most speed up
- bug with props after spread not applying, make them deopt:
  - <VStack {...baseStyle} cursor="default" /> wont be right rn
- have seen bugs with <Spacer flex /> and <VStack fullscreen />
- make pressStyle override hoverStyle always
- activeStyle may be desirable...
- <Image /> // harder than seems RN does some werid stuff with cover/etc
- spacing
  - SmallButton good example case of constant
- hoverStyle/pressStyle (spread + constant too - TagButton, DishView)
  - final step is hoverStyle={{ color: x, ...parent.hoverStyle, }}
- pass in config to be able to create static extracted easily within web
  - OverlayLinkButton
- SmallCircleButton case spreads
- Circle, EmojiButton, LinearGradient, VoteButton
- LinkButton - getting this to just extract styles would be big
  - just needs to tell compiler _never_ to go to just <div />
- onPressIn/onPressOut etc can all be converted to inline functions still as divs (HomeAutocompleteBackground, SearchLocationButton, etc)
- // TODO WHY SCALE NOT WORKING???
- Link - can maybe fully extract, if we can just run the actual component and then return the results???
- CSS variables for color!
npm package: @snadeau/crx3-webpack-plugin
Description: a webpack plugin for crx3
Author: Scott Nadeau
Latest version: 1.0.1

# crx3-webpack-plugin
A Webpack plugin to bundle chrome extensions for CRX3. The api is essentially identical to [crx-webpack-plugin](https://github.com/johnagan/crx-webpack-plugin), and you can simply swap the two and go.

This repo has been forked from [garrettlr/crx3-webpack-plugin](https://github.com/garrettlr/crx3-webpack-plugin)

## Inspired or enabled by the following projects:
[crx-webpack-plugin](https://github.com/johnagan/crx-webpack-plugin)

[crx3](https://github.com/ahwayakchih/crx3)

## API

add the plugin
```
yarn add -D crx3-webpack-plugin
```

require it:
```javascript
const crx3 = require('crx3-webpack-plugin');
```

configure the plugin:
```javascript
// webpack.config.js

module.exports = {
  entry: //...,
  output: //...,
  plugins: [
    new crx3({
      updateUrl: 'url-to-update.xml',
      updateFilename: 'update.xml',
      keyFile: './build.pem',
      contentPath: './build',
      outputPath: './dist',
      name: 'my-extension.crx',
      zip: true,
      browserVersion: '64.0.3242'
   })
  ]
}
```


### Configuration Settings:

| Option | Required | Type | Default | About |
|---|---|---|---|---|
| contentPath |  yes | string | none  | location of build files. should be the webpack output folder to consume your bundle(s). |
| outputPath |  yes | string | none  | where to export the built extension.  |
| keyFile | no | string | generates build.pem | a private key required to update the extension. |
| name | no | string | 'crx' | the name of the built extension |
| updateUrl | no | string | none | where to find updates.xml |
| updateFilename | no | string | name | filename for updates.xml |
| zip | no | boolean | false | provides a zip of the build files along with the CRX. |
| browserVersion | no | string | none | specify a minimum browser version for the app. |


Note: your build process should copy your manifest.json to outputPath before the plugin runs, or it will fail.



### Important Note: CRX_REQUIRED_PROOF_MISSING
See [crx3](https://github.com/ahwayakchih/crx3#issues) for further details. Essentially, due to tightening regulations regarding the sources of chrome extensions, most users will be unable to install extensions built with this plugin, and it will be difficult to update them. This plugin therefore is probably not suitable for public Chrome Extensions. Your best bet is probably to bundle your application via Webpack and build and distribute manually through the web store. This plugin is useful for managing enterprise plugins however, provided that you're able to enforce a [managed policy](https://support.google.com/chrome/a/answer/2657289?hl=en&ref_topic=9027936).