open-index/open-npm huggingface dataset:
npm package: @remato/eslint-config
Description: ``` $ yarn add --dev eslint @remato/eslint-config ```
Latest version: 2.1.1

# Remato ESLint config

## Use

```
$ yarn add --dev eslint @remato/eslint-config
```

## Edit and publish

1. Edit appropriate rule file
2. Commit
3. Run `$ yarn publish`
5. Enter your npm credentials
6. Push to master
7. Create [Github release](https://github.com/rematocorp/eslint-config/releases)
8. Update your repository package.json dependency version using `yarn workspace xxx add @remato/eslint-config@^<version> --dev`

## Test

Use [yarn link](https://classic.yarnpkg.com/en/docs/cli/link/).
npm package: @remato/personal-code-to-birthday
Description: Converts personal identification codes from various countries into birthdate
Latest version: 1.2.0

# Personal Code to Birthday

[![Build](https://img.shields.io/github/actions/workflow/status/rematocorp/personal-code-to-birthday/ci.yml)](https://github.com/rematocorp/personal-code-to-birthday/actions/workflows/ci.yml)
[![Codecov](https://img.shields.io/codecov/c/github/rematocorp/personal-code-to-birthday?token=NDT35FM2LG&style=flat)](https://codecov.io/gh/rematocorp/personal-code-to-birthday)

Converts personal identification codes from various countries into birthdate.

### Features

-   **Automatic Birthdate Extraction**: Effortlessly extracts birthdates from national ID codes.
-   **Built-in Validation**: Confirms personal code validity using checksum verification before returning a date.
-   **Country-Agnostic**: Automatically identifies and processes the country format, requiring no additional parameters.
-   **Lightweight & Seamless Integration**: Designed for easy integration into any project with minimal setup.

### Limitations

-   **Date Range Restriction**: Only supports personal codes issued from 1900 to the present. Future-dated codes are not currently supported.

### Installation

```bash
npm install @remato/personal-code-to-birthday
```

### Usage

```ts
const birthday = personalCodeToBirthday('39309262855')

console.log(birthday) // outputs { day: 26, month: 9, year: 1993 }
```

### Countries supported

1. 🇺🇦 Ukraine
2. 🇪🇪 Estonia
3. 🇱🇻 Latvia
4. 🇱🇹 Lithuania
5. 🇵🇱 Poland
6. 🇫🇮 Finland
7. 🇸🇪 Sweden
8. 🇳🇴 Norway
9. 🇩🇰 Denmark
10. 🇷🇴 Romania

Need support for a new country or have feedback? [Create an issue.](https://github.com/rematocorp/personal-code-to-birthday/issues/new)
npm package: @remato/vision-camera-code-scanner
Description: VisionCamera Frame Processor Plugin to read barcodes using MLKit Vision Barcode Scanning
Author: Rodrigo gomes
Latest version: 0.2.3

# vision-camera-code-scanner

VisionCamera Frame Processor Plugin to read barcodes using MLKit Vision Barcode Scanning

## Installation

```sh
yarn add vision-camera-code-scanner
```

make sure you correctly [setup](https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/installation/) react-native-reanimated and insert as a first line of your [`index.tsx`](https://github.com/rodgomesc/vision-camera-code-scanner/blob/1409a8afd02328a26e336036493b2d6ef8441359/example/index.tsx#L1)

```sh
import 'react-native-reanimated'
```

Add this to your `babel.config.js`

```
[
  'react-native-reanimated/plugin',
  {
    globals: ['__scanCodes'],
  },
]
```

## Usage

Simply call the `useScanBarcodes()` hook or call `scanBarcodes()` inside of the `useFrameProcessor()` hook. In both cases you will need to pass an array of `BarcodeFormat` to specify the kind of barcode you want to detect.

> Note: The underlying MLKit barcode reader is only created once meaning that changes to the array will not be reflected in the app.

```js
import * as React from 'react';

import { StyleSheet, Text } from 'react-native';
import { useCameraDevices } from 'react-native-vision-camera';
import { Camera } from 'react-native-vision-camera';
import { useScanBarcodes, BarcodeFormat } from 'vision-camera-code-scanner';

export default function App() {
  const [hasPermission, setHasPermission] = React.useState(false);
  const devices = useCameraDevices();
  const device = devices.back;

  const [frameProcessor, barcodes] = useScanBarcodes([BarcodeFormat.QR_CODE], {
    checkInverted: true,
  });

  // Alternatively you can use the underlying function:
  //
  // const frameProcessor = useFrameProcessor((frame) => {
  //   'worklet';
  //   const detectedBarcodes = scanBarcodes(frame, [BarcodeFormat.QR_CODE], { checkInverted: true });
  //   runOnJS(setBarcodes)(detectedBarcodes);
  // }, []);

  React.useEffect(() => {
    (async () => {
      const status = await Camera.requestCameraPermission();
      setHasPermission(status === 'authorized');
    })();
  }, []);

  return (
    device != null &&
    hasPermission && (
      <>
        <Camera
          style={StyleSheet.absoluteFill}
          device={device}
          isActive={true}
          frameProcessor={frameProcessor}
          frameProcessorFps={5}
          zoom={device?.neutralZoom ?? 1}
        />
        {barcodes.map((barcode, idx) => (
          <Text key={idx} style={styles.barcodeTextURL}>
            {barcode.displayValue}
          </Text>
        ))}
      </>
    )
  );
}

const styles = StyleSheet.create({
  barcodeTextURL: {
    fontSize: 20,
    color: 'white',
    fontWeight: 'bold',
  },
});
```

## Contributing

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

## License

MIT
npm package: @remato/vite-plugin-svg-sprite
Description: SVG sprite plugin for Vite
Author: meowtec
Latest version: 0.4.1

# vite-plugin-svg-sprite
SVG sprite plugin for [Vite](https://github.com/vitejs/vite)

## install
```
npm i @remato/vite-plugin-svg-sprite -D
```

## Usage
vite.config.js:

```javascript
import createSvgSpritePlugin from '@remato/vite-plugin-svg-sprite';

const config = {
  plugins: [
    createSvgSpritePlugin({
      symbolId: 'icon-[name]-[hash]',
    }),
  ],
}
```

app code:
```javascript
import appIconId from './path/to/icons/app.svg';

// react or vue component, as you want
export default function App() {
  return (
    <svg>
      <use
        xlinkHref={`#${appIconId.id}`}
      />
    </svg>
  );
}
```

## options

```javascript
const plugin = createSvgSpritePlugin(options);
```

### `options.symbolId: string`

For generating the `id` attribute of `<symbol>` element. Defaults to `[name]`

### `options.include: string | string[]`

Match files that will be transformed. Defaults to `'**.svg'`. See [micromatch](https://github.com/micromatch/micromatch) for the syntax document.

### `options.svgo: boolean | SvgoOptions`

Enable [SVGO](https://github.com/svg/svgo) for optimizing SVG. Defaults to `true`.
npm package: @rematter/genql
Description: Generate a TypeScript SDK for any GraphQl API
Author: Tommaso De Rossi, morse
Latest version: 7.2.1

<div align='center'>
    <br/>
    <br/>
    <img src='https://genql.dev/banner.png' width='380px'>
    <br/>
    <br/>
    <h3>Type safe Graphql query builder</h3>
    <h4>Write Graphql queries with type validation and auto completion</h4>
    <br/>
    <br/>
</div>

Read the [quick start guide](https://genql.dev/docs) to generate your client and start writing queries.

You can stay up to date with the latest changes subscribing to the [Genql changelog](https://changelog.genql.dev).

**Features**

-   ✅ Type completion & Type validation
-   🍃 No dependencies (not even graphql)
-   ⚡️ [Can easily fetch all scalar fields in a type](https://genql.dev/docs/usage/fetch-all-fields-on-a-type)
-   🐎 [Works with any client (Apollo, Relay, etc)](https://genql.dev/docs/usage/integrate-with-other-graphql-clients)
-   🥃 [Support for Subscriptions](https://genql.dev/docs/usage/subscriptions)
-   🔋 [Built in batching support](https://genql.dev/docs/usage/batching-queries)
-   ↔️ [Easy migrate existing GraphQL queries to Genql code](https://genql.dev/converter)
-   🚂 Works in browser, Node, Deno, Cloudflare workers, Bun and more

## Example

First generate your client with the `genql` cli.

> You can find other cli options [here](https://genql.dev/docs/cli-reference)

```sh
npm i -D @rematter/genql # cli to generate the client code
genql --schema ./schema.graphql --output ./generated
```

Then you can use your client as follow

```js
import { createClient, everything } from './generated'
const client = createClient()

client
    .query({
        countries: {
            // pass arguments to the query
            __args: {
                filter: {
                    currency: {
                        eq: 'EUR',
                    },
                },
            },
            name: true,
            code: true,
            nestedField: {
                // fetch all scalar fields
                __scalar: true,
            },
        },
    })
    .then(console.log)
```

The code above will fetch the graphql query below

```graphql
query {
    countries(filter: { currency: { eq: "EUR" } }) {
        name
        code
        nestedField {
            scalarField1
            scalarField2
        }
    }
}
```

## Why

Genql has a lot of benefits over writing graphql queries by hand:

-   Writing queries is faster thanks to TypeScript auto completion
-   You can safely update your schema and be sure your queries are still valid
-   You can fetch all scalar fields in a type with `__scalar: true`
-   No `graphql` package dependency, no runtime parsing of queries
-   You have to generate the client only after your schema changes, not after every query change

---

## Sponsors

[**Notaku**](https://notaku.so)

[![Notaku](https://notaku.so/github_banner.jpg)](https://notaku.so)

[![Vercel](https://genql.dev/vercel-logo.svg)](https://vercel.com?utm_source=genql)

---

[Licensed under MIT]().
npm package: @remax-component/checkbox
Description: checkbox UI for Remax
Author: IronLu233
Latest version: 0.0.2

# rmc-checkbox

Remax 的单选框组件

## 安装

```sh
yarn add @remax-component/checkbox
# 或者
npm i @remax-component/checkbox
```

## 使用

```js
import "rmc-checkbox/dist/assets/index.css"; // 亦可引入其它样式
import { View } from "remax/one";
import Checkbox from "rmc-checkbox";

export default () => {
  return (
    <View>
      <Checkbox />
    </View>
  );
};
```

## API

| 名称           | 类型                            | 默认值 | 描述                                                                        |
| -------------- | ------------------------------- | ------ | --------------------------------------------------------------------------- |
| prefixCls      | string                          |        | rmc-checkbox                                                                |
| className      | string                          |        | 为根节点添加的额外类名                                                      |
| name           | string                          |        | 用于原生的 Form 的表单字段                                                  |
| checked        | boolean                         |        | 是否被选中（受控属性）                                                      |
| defaultChecked | boolean                         |        | 是否默认被选中，当且仅当组件被挂载时生效                                    |
| onChange       | `(event: CheckboxEvent) => any` |        | Checkbox 值改变时被调用，通过`e.target.value`和`e.target.checked`可获取状态 |
| onClick        | `(event: CheckboxEvent) => any` |        | 同`onChange`                                                                |

## 开发

```sh
yarn install
yarn watch:example:web
```

最后用支付宝工具打开`example/dist/alipay`目录。

![image](https://user-images.githubusercontent.com/20639676/79632808-399db080-8194-11ea-8f10-d0ae527c99f1.png)

## TODO

- [x] 单元测试
- [ ] 网页端 Demo

## License

MIT
npm package: @remax-component/dialog
Description: dialog UI for Remax
Author: IronLu233
Latest version: 0.0.2

# rmc-dialog

Remax 的对话框组件

![image](https://user-images.githubusercontent.com/20639676/83356165-baa4b600-a396-11ea-8438-52bfca2f1115.png)

## 安装

```sh
yarn add @remax-component/dialog
# 或者
npm i @remax-component/dialog
```

## 使用

```js
import React from "react";
import { View } from "remax/one";
import Checkbox from "@remax-component/dialog";
import "@remax-component/dialog/dist/assets/index.css"; // 亦可引入其它样式

export default () => {
  return (
    <View>
      <Dialog title="一个标题" visible>
        <View style={{ height: "100PX", overflow: "scroll" }}>
          <View>Scroll</View>
          <View>Scroll</View>
          <View>Scroll</View>
          <View>Scroll</View>
          <View>Scroll</View>
          <View>Scroll</View>
          <View>Scroll</View>
          <View>Scroll</View>
          <View>Scroll</View>
          <View>Scroll</View>
        </View>
      </Dialog>
    </View>
  );
};
```

## API

| 名称                                         | 类型                                 | 默认值         | 描述                                                                                                         |
| -------------------------------------------- | ------------------------------------ | -------------- | ------------------------------------------------------------------------------------------------------------ |
| prefixCls                                    | `string`                             | `'rmc-dialog'` | className 前缀                                                                                               |
| zIndex                                       | `number | undefined`                 | `undefined`    | 对话框 zIndex;                                                                                               |
| title 和 footer 和 children                  | `ReactNode`                          | `null`         | 对话框各部分的内容                                                                                           |
| transitionName 和 maskTransitionName         | `string|undefined`                   | `undefined`    | 对话框内容和底层遮罩的 CSS 动画名称，见                                                                      |
| transitionDuration 和 maskTransitionDuration | `number | undefined`                 | `undefined`    | 对话框内容和遮罩动画的过渡时间。如果只指定`transitionDuration`，`maskTransitionDuration`会使用与前者相同的值 |
| maskClosable                                 | `boolean | undefined`                | `true`         | 点击遮罩层是否可关闭                                                                                         |
| onClose                                      | `((e: TapEvent) => any) | undefined` | `undefined`    | 引起关闭的事件触发时的回调（目前仅有点击遮罩会触发)                                                          |

## TODO

- [ ]补充更多测试用例
- [ ] 网页端 Demo

## License

MIT
npm package: @remax/dva
Description: 在 Remax 小程序中使用 dva。
Author: Wei Zhu
Latest version: 1.0.0-beta.2

# remax-dva

在 Remax 小程序中使用 dva。

## 安装

```bash
$ npm install remax-dva --save
```

或者

```bash
$ yarn add remax-dva
```

## 使用

```javascript
// app.js
import * as React from 'react';
import dva, { connect } from '@remax/dva';
import todo from './models/todo';

const app = dva();

app.model(todo);

const App = app.start(({ children }) => {
  return <>{children}</>;
});

export default App;
```

## 协议

MIT
npm package: @remax/jest-puppeteer
Description: Run your tests using Jest & Puppeteer.
Author: Greg Bergé
Latest version: 4.3.2

# jest-puppeteer

[![Build Status][build-badge]][build]
[![version][version-badge]][package]
[![MIT License][license-badge]][license]

Jest preset containing all required configuration for writing integration tests using Puppeteer.

```
npm install jest-puppeteer puppeteer
```

## Usage

```js
// jest.config.js
module.exports = {
  preset: 'jest-puppeteer',
}
```

## License

MIT

[build-badge]: https://img.shields.io/travis/smooth-code/jest-puppeteer.svg?style=flat-square
[build]: https://travis-ci.org/smooth-code/jest-puppeteer
[version-badge]: https://img.shields.io/npm/v/jest-puppeteer-preset.svg?style=flat-square
[package]: https://www.npmjs.com/package/jest-puppeteer-preset
[license-badge]: https://img.shields.io/npm/l/jest-puppeteer-preset.svg?style=flat-square
[license]: https://github.com/smooth-code/jest-puppeteer/blob/master/LICENSE
npm package: @remax/jest-puppeteer-preset
Description: Run your tests using Jest & Puppeteer.
Author: Greg Bergé
Latest version: 4.3.2

# jest-puppeteer-preset

[![Build Status][build-badge]][build]
[![version][version-badge]][package]
[![MIT License][license-badge]][license]

Jest preset containing all required configuration for writing integration tests using Puppeteer.

```
npm install jest-puppeteer-preset puppeteer
```

## Usage

```js
// jest.config.js
module.exports = {
  preset: 'jest-puppeteer-preset',
}
```

## License

MIT

[build-badge]: https://img.shields.io/travis/smooth-code/jest-puppeteer.svg?style=flat-square
[build]: https://travis-ci.org/smooth-code/jest-puppeteer
[version-badge]: https://img.shields.io/npm/v/jest-puppeteer-preset.svg?style=flat-square
[package]: https://www.npmjs.com/package/jest-puppeteer-preset
[license-badge]: https://img.shields.io/npm/l/jest-puppeteer-preset.svg?style=flat-square
[license]: https://github.com/smooth-code/jest-puppeteer/blob/master/LICENSE
npm package: @remax/mini-types
Description: TypeScript declarations for Alipay's mini program.
Latest version: 0.1.0

# mini-types

> [中文版本](./README.md)

[![npm package](https://img.shields.io/npm/v/mini-types.svg?style=flat-square)](https://www.npmjs.com/package/mini-types)
[![GitHub stars](https://img.shields.io/github/stars/ant-mini-program/mini-types.svg)](https://github.com/ant-mini-program/mini-types/stargazers)
[![GitHub forks](https://img.shields.io/github/forks/ant-mini-program/mini-types.svg)](https://github.com/ant-mini-program/mini-types/network/members)
[![NPM downloads](https://img.shields.io/npm/dm/mini-types.svg?style=flat-square)](https://www.npmjs.com/package/mini-types)
[![GitHub issues](https://img.shields.io/github/issues/ant-mini-program/mini-types.svg)](https://github.com/ant-mini-program/mini-types/issues)

TypeScript declarations for Alipay's mini program.

## Install

```
npm install mini-types --save
```

## Usage

Specify `types` option in the `tsconfig.json` file.

```json
{
   "compilerOptions": {
      "types" : ["mini-types"]
   }
}
```

## Contributing

We welcome all contributions. You can submit any ideas as [pull requests](https://github.com/ant-mini-program/mini-types/pulls) or as a [GitHub issue](https://github.com/ant-mini-program/mini-types/issues).
npm package: @remax/miniprogram-api-typings
Description: Type definitions for APIs of Wechat Mini Program in TypeScript
Author: Wechat Miniprogram
Latest version: 2.10.0

# 微信小程序定义文件

> [English version](./README-en.md)

[![已在 NPM 发布](https://img.shields.io/npm/v/miniprogram-api-typings.svg?style=flat)](https://www.npmjs.com/package/miniprogram-api-typings)
[![MIT 协议](https://img.shields.io/github/license/wechat-miniprogram/api-typings.svg)](https://github.com/wechat-miniprogram/api-typings)
[![Travis CI 测试状况](https://travis-ci.org/wechat-miniprogram/api-typings.svg?branch=master)](https://travis-ci.org/wechat-miniprogram/api-typings)

微信小程序 API 的 TypeScript 类型定义文件

## 安装

通过 npm 安装：
```bash
# 安装对应最新基础库的定义文件
npm install miniprogram-api-typings
```

或者通过版本号指定一个基础库版本：
```bash
# 安装对应基础库版本 2.4.1 的定义文件
npm install miniprogram-api-typings@2.4.1
```

## 版本

所有可用的版本和对应的基础库版本，参考 [VERSIONS.md](https://github.com/wechat-miniprogram/api-typings/blob/master/VERSIONS.md)

## 更新日志

参考 [CHANGELOG.md](https://github.com/wechat-miniprogram/api-typings/blob/master/CHANGELOG.md)

## 贡献

API 的定义文件（`lib.wx.api.d.ts`）是随 [文档](https://developers.weixin.qq.com/miniprogram/dev/index.html) 一起自动生成的，如果发现了 API 接口的定义错误，请提一个 issue 给我们，关于 API 的 PR 将 __不会__ 被接受。

如果有针对页面（`Page`）、自定义组件（`Component`）等接口的 bug 和建议，欢迎 PR 或提一个 issue 给我们。非常感谢！

### 测试

本定义文件使用 [`tsd`](https://github.com/SamVerschueren/tsd) 进行测试，所有的测试样例放在 `test` 目录下。

想执行测试的话，克隆本项目并完成 `npm install --save-dev` 后执行 `npm test` 即可。

如果您发现了不能通过自动化测试的测试样例，可以提交 PR 或者提一个 issue。当然，能通过自动化测试的强有力的测试样例也是欢迎的。
npm package: @remax/plugin-babel-cache
Description: Remax Babel Cache 插件
Author: watsonhaw
Latest version: 1.0.0

# @remax/plugin-babel-cache

babel-cache 用于缓存 Remax 中大型项目 中 babel js/ts 文件编译。

> 当开启该插件后，每当移除 dist 输出目录后，也需要一并移除 cache 目录。(因为当 babel 有缓存目录时会优先读取目录，当移除 Remax 构建输出文件后，组件依赖名称已变，无法命中缓存，导致引用依赖失效。)

## 安装

```bash
$ npm install @remax/plugin-babel-cache --save
或者
$ yarn add  @remax/plugin-babel-cache -D
```

## 使用

```js
const BabelCache = require('@remax/plugin-babel-cache')

module.exports = {
    // cache 目录默认为 node_modules 下的 .cache 目录
    plugins: [BabelCache()]
};
```

## 配置

支持配置 cacheDir 参数，用于设置需要缓存的目录名

```js
const BabelCache = require('@remax/plugin-babel-cache')
const path = require('path');

module.exports = {
    plugins: [BabelCache({cacheDir: path.resolve(__dirname, '.cache')})]
};

```

## LICENSE

[MIT](LICENSE)