open-index/open-npm huggingface dataset:
npm package: @hieuxit/react-native-smartconfig
Description: React native smart config for both android and ios
Author: Truong Hoang Hieu
Latest version: 0.2.0

# react-native-smartconfig

React native smart config for both android and ios

## Installation

```sh
npm install react-native-smartconfig
```

## Usage

```js
import Smartconfig from "react-native-smartconfig";

// ...

const result = await Smartconfig.multiply(3, 7);
```

## Contributing

See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.

## License

MIT
npm package: @hieuzest/koishi-plugin-cache-sync
Description: Synchronous cache service
Latest version: 1.0.5

# @hieuzest/koishi-plugin-cache-sync

[![npm](https://img.shields.io/npm/v/@hieuzest/koishi-plugin-cache-sync?style=flat-square)](https://www.npmjs.com/package/@hieuzest/koishi-plugin-cache-sync)

Synchronous cache service
npm package: @hieuzest/koishi-plugin-execute
Description: Execute command directly via context
Latest version: 1.0.0

# @hieuzest/koishi-plugin-execute

[![npm](https://img.shields.io/npm/v/@hieuzest/koishi-plugin-execute?style=flat-square)](https://www.npmjs.com/package/@hieuzest/koishi-plugin-execute)

Execute command directly via context
npm package: @hieuzest/koishi-plugin-im
Description: [![npm](https://img.shields.io/npm/v/koishi-plugin-im?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-im)
Latest version: 1.0.1
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# koishi-plugin-im

[![npm](https://img.shields.io/npm/v/koishi-plugin-im?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-im)
npm package: @hieuzest/koishi-plugin-majsoul-launcher
Description: [![npm](https://img.shields.io/npm/v/@hieuzest/koishi-plugin-majsoul-launcher?style=flat-square)](https://www.npmjs.com/package/@hieuzest/koishi-plugin-majsoul-launcher)
Latest version: 1.2.3

# @hieuzest/koishi-plugin-majsoul-launcher

[![npm](https://img.shields.io/npm/v/@hieuzest/koishi-plugin-majsoul-launcher?style=flat-square)](https://www.npmjs.com/package/@hieuzest/koishi-plugin-majsoul-launcher)

The backend of @hieuzest/mahjong, majsoul observation server

## Use as Standalone

clone this repository and setup

create config file according to definition

then run `node <path-to-gateway.js> -c <path-to-config>`
npm package: @hieuzest/koishi-plugin-mjcontest
Description: Mahjong contest management
Latest version: 0.0.1
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @hieuzest/koishi-plugin-mahjong-contest

[![npm](https://img.shields.io/npm/v/@hieuzest/koishi-plugin-mahjong-contest?style=flat-square)](https://www.npmjs.com/package/@hieuzest/koishi-plugin-mahjong-contest)

Mahjong contest management
npm package: @hife/browser-md5-file
Description: MD5 file in browser.
Author: forsigner
Latest version: 1.0.1

# browser-md5-file

## Unlike [browser-md5-file](https://github.com/forsigner/browser-md5-file), the dist source is es5.


MD5 file in browser. Base on [js-spark-md5](https://github.com/satazor/js-spark-md5).

<!-- ### Demo -->

<!-- [demo](http://forsigner.com/browser-md5-file) -->
### Installation

```bash
$ npm i @hife/browser-md5-file -S
```

### Usage

```js
import BMF from 'browser-md5-file';

const el = document.getElementById('upload');
const bmf = new BMF();

el.addEventListener('change', handle, false);

function handle(e) {
  const file = e.target.files[0];
  bmf.md5(
    file,
    (err, md5) => {
      console.log('err:', err);
      console.log('md5 string:', md5); // 97027eb624f85892c69c4bcec8ab0f11
    },
    progress => {
      console.log('progress number:', progress);
    },
  );
}
```

You can abort it before success to md5 :

```js
  bmf.abort();
```

### Browser compatibility

- IE9+
- Firefox
- Chrome
- Safari
- Opera

### License

[MIT](LICENSE)
npm package: @hife/cat-mobile
Description: 喜马拉雅国际版移动端基础组件库
Latest version: 1.1.0

# cat-mobile

喜马拉雅国际版移动端基础组件库


## 更新日志

[更新日志](./changelog.md)

## 安装

```shell
npm install @hife/cat-mobile
```

or

```shell
yarn add @hife/cat-mobile
```

## 使用

### 1 在入口中导入 `css` 文件

```js
// index.js
import '@hife/catui/styles/index.css';
```

### 2 使用组件

```jsx
import { Button } from '@hife/cat-mobile';

const App = () => {
  return <Button>Add</Button>;
};

export default App;
```

### 3 组件按需加载

- `yarn add babel-plugin-import -D` 下载 `babel-plugin-import` 插件
- 配置 `babel-plugin-import` 插件：

webpack.config.js

```js
/**
 * css name covert
 * 1 Button => button
 * 2 ElementSelect => element-select
 * @param {string} name 组件名称
 */
const cssNameConvert = function(name) {
  const len = name.length;
  let ret = '';
  for (let i = 0; i < len; i++) {
    const charCode = name.charCodeAt(i);
    if (charCode >= 65 && charCode <= 90) {
      ret +=
        i === 0
          ? String.fromCharCode(charCode + 32)
          : `-${String.fromCharCode(charCode + 32)}`;
    } else {
      ret += name[i];
    }
  }
  return ret;
};

module.exprots = {
  module: {
    rules: [
      {
        {
          test: /\.(js|mjs|jsx|ts|tsx)$/,
          loader: require.resolve('babel-loader'),
          options: {
            plugins: [
              [
                'import',
                {
                  libraryName: '@hife/catui',
                  libraryDirectory: 'lib/components',
                  "camel2DashComponentName": false,
                  customStyleName: name => {
                    const newName = cssNameConvert(name);
                    return `@hife/catui/styles/${newName}.css`;
                  }
                }
              ]
            ]
          }
        }
      }
    ]
  }
}
```

## 开发流程

[开发流程](./docs/开发流程.md)
npm package: @hife/rich-editor
Description: 基于 React 的富文本编辑器
Latest version: 0.7.0

# rich-editor 基于 React 的富文本编辑器

## 更新日志

[更新日志](./changelog.md)

## 安装

```shell
npm install @hife/rich-editor
```

or

```shell
yarn add @hife/rich-editor
```

## 使用
```jsx
import RichEditor from '@hife/rich-editor';
import '@hife/rich-editor/styles/rich-editor.css';

const App = () => {
  return <RichEditor
    defaultValue={value}
    max={100}
    onChange={(html: string, text: string) => saveValue(html)}
  />;
};

export default App;
```

## 文档

[文档](https://hifeteam.github.io/rich-editor/)
npm package: @hifed/babel-preset
Description: Babel preset.
Author: hisanshao
Latest version: 1.1.0

# @hifed/babel-preset

## Install

使用 yarn:

```shell
yarn add @hifed/babel-preset@next -D
```

## Usage

babel.config.js

```javascript
module.exports = {
  presets: [
    [
      '@hifed/babel-preset',
      {
        debug: false,
        enableReactRefresh: true,
        /**
         * false: 不处理polyfill，自己手动引入【全量】
         * usage: 按需加载 polyfill，且不需要手动引入【按需】
         * entry: 必须手动引入，但会根据设置的目标环境全量导入【按环境全量】
         * 注：在 Babel 7.4.0 之后的版本，Babel官方明确建议了不再使用 @babel/polyfill ，建议使用 core-js/stable 和 regenerator-runtime/runtime。本包已经安装了core-js、@babel/plugin-transform-runtime和@babel/runtime，所以选择false或者entry选项的只需要在主文件顶部引入core-js即可
         */
        useBuiltIns: 'usage',
        useRuntimeCoreJs: false,
        proposals: false,
        typescript: true,
        react: true,
      }
    ]
  ],
  plugins: [
    [require('babel-plugin-import'), { "libraryName": "antd", "style": true }, 'antd']
  ]
}
```

package.json

```json
{
  "browserslist": [
    "Chrome >= 35",
    "ChromeAndroid >= 35",
    "iOS >= 8",
    "Safari >= 8",
    "Android >= 4.1",
    "QQAndroid >= 4.1",
    "UCAndroid >= 4.1"
  ],
}
```
npm package: @hifed/eslint-config
Description: Eslint config.
Author: hisanshao
Latest version: 1.2.0

# `@hifed/eslint-config`

## VSCode Plugins

Prettier - Code formatter@5.5.0、ESLint@2.1.8、stylelint-mixins@0.2.0

```json
// .vscode/settings.json
{
  "editor.formatOnPaste": false,
  "editor.formatOnSave": false,
  "javascript.validate.enable": false,
  "typescript.validate.enable": true,
  "typescript.tsdk": "node_modules/typescript/lib",
  "css.validate": false,
  "less.validate": false,
  "scss.validate": false,
  "html.validate.scripts": false,
  "html.validate.styles": false,
  "editor.tabSize": 2,
  "eslint.enable": true,
  "eslint.options": {
    "configFile": "eslint.config.js",
    "ignorePath": ".eslintignore"
  },
  "eslint.validate": ["javascript", "javascriptreact", "typescript", "typescriptreact", "html" ],
  "stylelint.enable": true,
  "stylelint.autoFixOnSave": true,
  "stylelint.allowEmptyInput": true,
  "stylelint.configFile": "stylelint.config.js",
  "stylelint.ignorePath": ".stylelintignore",
  "[jsonc]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[javascriptreact]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[typescript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[typescriptreact]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[html]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true,
    "source.fixAll.stylelint": true
  }
}


```

## Install

使用 yarn:

```shell
npm install @hifed/eslint-config --only=dev
```

## Usage

```javascript
// eslint.config.js
module.exports = {
  extends: ['@hifed/eslint-config'],
}
```
npm package: @hifed/stylelint-config
Description: Stylelint config.
Author: hisanshao
Latest version: 1.2.0

# `@hifed/stylelint-config`

## VSCode Plugins

Prettier - Code formatter@5.5.0、ESLint@2.1.8、stylelint-mixins@0.2.0

```json
// .vscode/settings.json
{
  "editor.formatOnPaste": false,
  "editor.formatOnSave": false,
  "javascript.validate.enable": false,
  "typescript.validate.enable": true,
  "typescript.tsdk": "node_modules/typescript/lib",
  "css.validate": false,
  "less.validate": false,
  "scss.validate": false,
  "html.validate.scripts": false,
  "html.validate.styles": false,
  "editor.tabSize": 2,
  "eslint.enable": true,
  "eslint.options": {
    "configFile": "eslint.config.js",
    "ignorePath": ".eslintignore"
  },
  "eslint.validate": ["javascript", "javascriptreact", "typescript", "typescriptreact", "html" ],
  "stylelint.enable": true,
  "stylelint.autoFixOnSave": true,
  "stylelint.allowEmptyInput": true,
  "stylelint.configFile": "stylelint.config.js",
  "stylelint.ignorePath": ".stylelintignore",
  "[jsonc]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[javascriptreact]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[typescript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[typescriptreact]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[html]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true,
    "source.fixAll.stylelint": true
  }
}


```

## Install

使用 yarn:

```shell
npm install @hifed/stylelint-config --only=dev
```

## Usage

```javascript
// stylelint.config.js
module.exports = {
  extends: ['@hifed/stylelint-config'],
}

module.exports = {
  extends: ['@hifed/stylelint-config', 'stylelint-config-css-modules'],
}
```