open-index/open-npm huggingface dataset:
npm package: @middy/sqs-json-body-parser
Description: SQS batch json body parser middleware for the middy framework
Author: Middy contributors
Latest version: 2.5.7

# Middy sqs json body parsing middleware

<div align="center">
  <img alt="Middy logo" src="https://raw.githubusercontent.com/middyjs/middy/main/docs/img/middy-logo.png"/>
</div>

<div align="center">
  <p><strong>SQS batch json body parsing middleware for the middy framework, the stylish Node.js middleware engine for AWS Lambda</strong></p>
</div>

<div align="center">
<p>
  <a href="http://badge.fury.io/js/%40middy%2Fsqs-json-body-parser">
    <img src="https://badge.fury.io/js/%40middy%2Fsqs-json-body-parser.svg" alt="npm version" style="max-width:100%;">
  </a>
  <a href="https://snyk.io/test/github/middyjs/middy">
    <img src="https://snyk.io/test/github/middyjs/middy/badge.svg" alt="Known Vulnerabilities" data-canonical-src="https://snyk.io/test/github/middyjs/middy" style="max-width:100%;">
  </a>
  <a href="https://standardjs.com/">
    <img src="https://img.shields.io/badge/code_style-standard-brightgreen.svg" alt="Standard Code Style"  style="max-width:100%;">
  </a>
  <a href="https://gitter.im/middyjs/Lobby">
    <img src="https://badges.gitter.im/gitterHQ/gitter.svg" alt="Chat on Gitter"  style="max-width:100%;">
  </a>
</p>
</div>

Middleware for iterating through a SQS batch of records and parsing the string body to a JSON body.

## Install

To install this middleware you can use NPM:

```bash
npm install --save @middy/sqs-json-body-parser
```

## Options

 - `reviver` (function) (optional): A function to be passed as the reviver for [JSON.parse(text[, reviver])](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON). If safeParse is provided then reviver will be passed to it and it is up the provided safeParse function to use it or ignore it.

## Sample usage

```javascript
import middy from '@middy/core'
import sqsJsonBodyParser from '@middy/sqs-json-body-parser'

const baseHandler = (event, context) => {
  const { Records } = event
  return Promise.all(Records.map(async (record, index) => { /* your message processing logic */ }))
}

const handler = middy(baseHandler).use(sqsJsonBodyParser())
```

## Middy documentation and examples

For more documentation and examples, refers to the main [Middy monorepo on GitHub](https://github.com/middyjs/middy) or [Middy official website](https://middy.js.org).


## Contributing

Everyone is very welcome to contribute to this repository. Feel free to [raise issues](https://github.com/middyjs/middy/issues) or to [submit Pull Requests](https://github.com/middyjs/middy/pulls).


## License

Licensed under [MIT License](LICENSE). Copyright (c) 2017-2021 Luciano Mammino, will Farrell, and the [Middy team](https://github.com/middyjs/middy/graphs/contributors).

<a href="https://app.fossa.io/projects/git%2Bgithub.com%2Fmiddyjs%2Fmiddy?ref=badge_large">
  <img src="https://app.fossa.io/api/projects/git%2Bgithub.com%2Fmiddyjs%2Fmiddy.svg?type=large" alt="FOSSA Status"  style="max-width:100%;">
</a>
npm package: @midea-infra/cli
Description: A CLI for scaffolding midea-infra projects.
Author: NieFZ
Latest version: 0.0.34

### CLI 服务

CLI (@midea-infra/cli) 是一个全局安装的 npm 包，构建于 webpack 和 webpack-dev-server 之上的。它包含了：

- 一个针对绝大部分应用优化过的内部的 webpack 配置；
- 项目内部的命令，提供 dev、build 和 deploy 命令。

### 全局安装

```
npm install -g @midea-infra/cli
# OR
yarn global add @midea-infra/cli
```

### 查看可用模版

```
midea-infra list --token <token>
```

Available official templates:

- ★ react - Set up a react modern web app by running one command.
- ★ vue-2.x - Set up a vue 2.x modern web app by running one command.
- ★ vue-3.x - Set up a vue 3.x modern web app by running one command.

## 初始化项目

### 使用官方模版

```
midea-infra init <template-name> [project-name]
```

在生成项目时，您会被要求输入项目的基本信息，不同项目模板需要配置的信息不同。当项目创建完成后，我们会根据您的选项自动帮您完成 `包依赖安装`，当然您也可以尝试手动安装。

### 从 Github 下载模板

以 `github` 上的用户自定义模板仓库为例，你可以使用如下命令下载：

```
midea-infra init <owner/repo> [project-name]
```

依赖 `Secure Shell` 机制，如果此仓库受网络环境访问限制(例如公司内网版 github)，你必须保证本地 git 有权限访问此仓库，关于此问题您可以参阅 [Connecting to GitHub with SSH](https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh)。

如果您的仓库不允许 `clone` 下载模式，你可以运行以下命令使用 `HTTP` 模式进行模板下载。

```
midea-infra init <owner/repo> [project-name] --no-clone
```

注：当使用 `@midea-infra/cli` 时，你可能使用自定义的私人模板创建工程，并且此工程保存在受网络访问限制的代码托管平台中，您需要确保本地 git 有权限访问您输入的模板仓库。

### 使用本地模板

`@midea-infra/cli` 支持使用本地的模板创建工程，您可以通过以下命令使用本地模板。

```
midea-infra init </User/home/xxx/templateName> [project-name]
# OR
midea-infra init <./xxx/templateName> [project-name]
```
npm package: @midea-infra/eslint-config
Description: Eslint shareable configuration for Midea Infra Frontend Guidelines
Author: niefz
Latest version: 0.1.22

# @midea-infra/eslint-config

Javascript 编码规范（[ESLint 可共享配置](http://eslint.org/docs/developer-guide/shareable-configs.html)）。

## 安装

```bash
npm install @midea-infra/eslint-config @babel/core @babel/eslint-parser --save-dev

or

yarn add @midea-infra/eslint-config @babel/core @babel/eslint-parser --dev
```

## 使用

### JavaScript

```javascript
// .eslintrc.js
module.exports = {
  extends: ['@midea-infra/eslint-config'],
};
```

### JavaScript + React

```javascript
// .eslintrc.js
module.exports = {
  extends: ['@midea-infra/eslint-config/react'],
};
```

### JavaScript + Vue2

```javascript
// .eslintrc.js
module.exports = {
  extends: ['@midea-infra/eslint-config/vue2'],
};
```

### JavaScript + Vue3

```javascript
// .eslintrc.js
module.exports = {
  extends: ['@midea-infra/eslint-config/vue3'],
};
```

## 配合 Prettier 使用

如果你的项目使用 [Prettier](https://prettier.io/) 进行代码格式化，本包的一些规则可能会跟 Prettier 格式化结果有冲突。为了避免冲突，你需要手动安装 [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) 和 [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier)：

```bash
npm install eslint-config-prettier eslint-plugin-prettier --save-dev

or

yarn add eslint-config-prettier eslint-plugin-prettier --dev
```

### 配置

```javascript
// .eslintrc.js
module.exports = {
  extends: [
    '@midea-infra/eslint-config/vue3',
    // Turn on prettier rules
    /** ==== eslint-config-prettier ==== */
    'plugin:prettier/recommended',
  ],
};
```

## 了解更多

- 如果你对 ESLint 还不熟悉，可以阅读官网的 [Getting Started](https://eslint.org/docs/user-guide/getting-started) 快速入门。
- 了解如何为 IDE 配置 ESLint，可以参考官网的 [Integrations](http://eslint.org/docs/user-guide/integrations)。
- 了解如何在继承本包的基础上对项目 ESLint 进行个性化配置，可参考官网的 [Configuring ESLint](https://eslint.org/docs/user-guide/configuring)。下面简介下 ESLint 配置中的几个常用字段：
  - `extends`: 继承一组规则集。`"extends": "@midea-infra/eslint-config",` 表示继承本包定义的规则配置。
  - `rules`: 配置规则，这里定义的规则会覆盖 `extends` 的规则。如果觉得本包开启的某条规则过于严格，你可以暂时在这里将其关闭。
  - `parser`: 设置 ESLint 的解析器。ESLint 使用 espree 作为默认的解析器，可以通过这个参数指定其他的解析器。比如指定为 [@babel/eslint-parser](https://npmjs.com/package/@babel/eslint-parser)，以解析 Babel 支持但 ESLint 默认解析器不支持的语法（本包不同配置文件使用的解析器可在简介表格中的「依赖 parser」一列查看）。
  - `globals`: 指定代码中可能用到的全局变量，以免全局变量被 [no-undef](http://eslint.org/docs/rules/no-undef) 规则报错。
  - `env`: 指定代码的运行环境，每个环境预定义了一组对应的全局变量，本包已开启的环境有 browser、node、jquery、es6 及几个测试框架的环境。
- 了解常用的 ESLint 命令，如 `--fix`、`--ext`，可参考官网的 [Command Line Interface](http://eslint.org/docs/user-guide/command-line-interface)。
npm package: @midea-infra/stylelint-config
Description: Stylelint shareable configuration for Midea Infra Frontend Guidelines
Author: niefz
Latest version: 0.1.12

# @midea-infra/stylelint-config

CSS 编码规范（[stylelint 可共享配置](https://stylelint.io/user-guide/configure)）。

## 安装

```bash
npm install @midea-infra/stylelint-config --save-dev

or

yarn add @midea-infra/stylelint-config --dev
```

## 使用

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