open-index/open-npm huggingface dataset:
npm package: @joyo-ionic/secret
Description: Joyo Ionic Native - Native plugins for ionic apps
Author: JoyoDuan
Latest version: 1.1.103

<a style="float:right;font-size:12px;" href="http://github.com/ionic-team/ionic-native/edit/master/src/@ionic-native/plugins/joyo-ionic-secret/index.ts#L15">
  Improve this doc
</a>

# Secret
npm package: @joyo-ionic/secrets
Description: Joyo Ionic Native - Native plugins for ionic apps
Author: JoyoDuan
Latest version: 1.1.106

<a style="float:right;font-size:12px;" href="http://github.com/ionic-team/ionic-native/edit/master/src/@ionic-native/plugins/joyo-ionic-secrets/index.ts#L15">
  Improve this doc
</a>

# Secrets
npm package: @joyo-ionic/socket-service
Description: Joyo Ionic Native - Native plugins for ionic apps
Author: JoyoDuan
Latest version: 1.1.106

<a style="float:right;font-size:12px;" href="http://github.com/ionic-team/ionic-native/edit/master/src/@ionic-native/plugins/joyo-ionic-socket-service/index.ts#L9">
  Improve this doc
</a>

# joyo-socket-service
npm package: @joyo-ionic/storage-service
Description: Joyo For Ionic apps
Author: JoyoDuan
Latest version: 3.1.0

<a style="float:right;font-size:12px;" href="http://github.com/ionic-team/ionic-native/edit/master/src/@ionic-native/plugins/storage-service/index.ts#L112">
  Improve this doc
</a>

# IonicStorage
npm package: @joyo-ionic/system-helper
Description: Joyo For Ionic apps
Author: JoyoDuan
Latest version: 3.0.1

<a style="float:right;font-size:12px;" href="http://github.com/ionic-team/ionic-native/edit/master/src/@ionic-native/plugins/system-helper/index.ts#L13">
  Improve this doc
</a>

# SystemHelper
npm package: @joyo-ionic/system-service
Description: Joyo For Ionic apps
Author: JoyoDuan
Latest version: 3.0.4

<a style="float:right;font-size:12px;" href="http://github.com/ionic-team/ionic-native/edit/master/src/@ionic-native/plugins/system-service/index.ts#L25">
  Improve this doc
</a>

# SystemService
npm package: @joyo-ionic/url-service
Description: Joyo Ionic Native - Native plugins for ionic apps
Author: JoyoDuan
Latest version: 1.1.115

<a style="float:right;font-size:12px;" href="http://github.com/ionic-team/ionic-native/edit/master/src/@ionic-native/plugins/joyo-ionic-url-service/index.ts#L8">
  Improve this doc
</a>

# URLService
npm package: @joyo-ionic/utils
Description: Joyo Ionic Native - Native plugins for ionic apps
Author: JoyoDuan
Latest version: 1.1.111

<a style="float:right;font-size:12px;" href="http://github.com/ionic-team/ionic-native/edit/master/src/@ionic-native/plugins/joyo-ionic-utils/index.ts#L5">
  Improve this doc
</a>

# Utils
npm package: @joyo-ionic/validators
Description: Joyo Ionic Native - Native plugins for ionic apps
Author: JoyoDuan
Latest version: 1.1.102

<a style="float:right;font-size:12px;" href="http://github.com/ionic-team/ionic-native/edit/master/src/@ionic-native/plugins/joyo-ionic-validators/index.ts#L8">
  Improve this doc
</a>

# Validators
npm package: @joyo-shared/classie
Description: Joyo For Ionic apps
Author: JoyoDuan
Latest version: 3.1.0

<a style="float:right;font-size:12px;" href="http://github.com/ionic-team/ionic-native/edit/master/src/@ionic-native/plugins/classie/index.ts#L0">
  Improve this doc
</a>

# Classie
npm package: @joyo-shared/data-service
Description: Joyo For Ionic apps
Author: JoyoDuan
Latest version: 3.0.0

<a style="float:right;font-size:12px;" href="http://github.com/ionic-team/ionic-native/edit/master/src/@ionic-native/plugins/data-service/index.ts#L8">
  Improve this doc
</a>

# DataService
npm package: @joyo-shared/events
Description: Joyo For Ionic apps
Author: JoyoDuan
Latest version: 3.0.0

<a style="float:right;font-size:12px;" href="http://github.com/ionic-team/ionic-native/edit/master/src/@ionic-native/plugins/events/index.ts#L10">
  Improve this doc
</a>

# Events
npm package: @joyo-shared/global-data
Description: Joyo For Ionic apps
Author: JoyoDuan
Latest version: 3.0.0

<a style="float:right;font-size:12px;" href="http://github.com/ionic-team/ionic-native/edit/master/src/@ionic-native/plugins/global-data/index.ts#L6">
  Improve this doc
</a>

# GlobalData
npm package: @joyo-shared/global-service
Description: Joyo For Ionic apps
Author: JoyoDuan
Latest version: 3.0.0

<a style="float:right;font-size:12px;" href="http://github.com/ionic-team/ionic-native/edit/master/src/@ionic-native/plugins/global-service/index.ts#L10">
  Improve this doc
</a>

# GlobalService
npm package: @joyo-shared/logger
Description: Joyo For Ionic apps
Author: JoyoDuan
Latest version: 3.0.0

<a style="float:right;font-size:12px;" href="http://github.com/ionic-team/ionic-native/edit/master/src/@ionic-native/plugins/logger/index.ts#L13">
  Improve this doc
</a>

# Logger
npm package: @joyo-shared/mescroll-service
Description: Joyo For Ionic apps
Author: JoyoDuan
Latest version: 3.0.0

<a style="float:right;font-size:12px;" href="http://github.com/ionic-team/ionic-native/edit/master/src/@ionic-native/plugins/mescroll-service/index.ts#L14">
  Improve this doc
</a>

# MeScrollService
npm package: @joyo-shared/secrets
Description: Joyo For Ionic apps
Author: JoyoDuan
Latest version: 3.1.0

<a style="float:right;font-size:12px;" href="http://github.com/ionic-team/ionic-native/edit/master/src/@ionic-native/plugins/secrets/index.ts#L11">
  Improve this doc
</a>

# Secrets
npm package: @joyo-shared/socket-service
Description: Joyo For Ionic apps
Author: JoyoDuan
Latest version: 3.0.0

<a style="float:right;font-size:12px;" href="http://github.com/ionic-team/ionic-native/edit/master/src/@ionic-native/plugins/socket-service/index.ts#L9">
  Improve this doc
</a>

# joyo-socket-service
npm package: @joyo-shared/storage-service
Description: Joyo For Ionic apps
Author: JoyoDuan
Latest version: 3.0.0

<a style="float:right;font-size:12px;" href="http://github.com/ionic-team/ionic-native/edit/master/src/@ionic-native/plugins/storage-service/index.ts#L5">
  Improve this doc
</a>

# StorageService
npm package: @joyo-shared/url-service
Description: Joyo For Ionic apps
Author: JoyoDuan
Latest version: 3.0.0

<a style="float:right;font-size:12px;" href="http://github.com/ionic-team/ionic-native/edit/master/src/@ionic-native/plugins/url-service/index.ts#L8">
  Improve this doc
</a>

# URLService
npm package: @joyo-shared/utils
Description: Joyo For Ionic apps
Author: JoyoDuan
Latest version: 3.1.2

<a style="float:right;font-size:12px;" href="http://github.com/ionic-team/ionic-native/edit/master/src/@ionic-native/plugins/utils/index.ts#L5">
  Improve this doc
</a>

# Utils
npm package: @joyo-shared/validators
Description: Joyo For Ionic apps
Author: JoyoDuan
Latest version: 3.0.0

<a style="float:right;font-size:12px;" href="http://github.com/ionic-team/ionic-native/edit/master/src/@ionic-native/plugins/validators/index.ts#L6">
  Improve this doc
</a>

# Validators
npm package: @joyofrepo/eslint-config
Description: Common ESLint Configuration for projects at github.com/joyofrepo
Latest version: 1.0.0

# eslint-config-joyofrepo

Personal ESLint Configuration for projects at github.com/joyofrepo

### Features

* JavaScript linting with `eslint-config-airbnb`
* React best practices (including hooks)
* Accessibility (a11y) best practices
* Browser compatibility warnings
* Typescript integration
* Import sorting

### Sort Order

This configuration enables automatic import sorting using `eslint --fix` to sort imports to the following order:

1. `import React from 'react'` (always goes first)
2. Third party libraries (i.e. from `node_modules`)
3. Imports from the root directory using the alias `'@/../..'`
4. Relative imports (i.e. `../` or `./`)

Imports in the same group will then be sorted alphabetically.
npm package: @joyplay/wx-mini-component
Description: 微信小程序组件
Latest version: 0.0.7

# miniprogram-custom-component

小程序自定义组件开发模板：

* 支持使用 less 语法编写 wxss 文件
* 使用 webpack 构建 js
* 支持自定义组件单元测试
* 支持 eslint
* 支持多入口构建

## 使用

* 使用[命令行工具](https://github.com/wechat-miniprogram/miniprogram-cli)进行初始化
* 直接从 github 上 clone 下来

## 开发

1. 安装依赖：

```
npm install
```

2. 执行命令：

```
npm run dev
```

默认会在包根目录下生成 miniprogram\_dev 目录，src 中的源代码会被构建并生成到 miniprogram\_dev/components 目录下。如果需要监听文件变化动态构建，则可以执行命令：

```
npm run watch
```

> ps: 如果 minirpogram\_dev 目录下已存在小程序 demo，执行`npm run dev`则不会再将 tools 下的 demo 拷贝到此目录下。而执行`npm run watch`则会监听 tools 目录下的 demo 变动并进行拷贝。

3. 生成的 miniprogram\_dev 目录是一个小程序项目目录，以此目录作为小程序项目目录在开发者工具中打开即可查看自定义组件被使用的效果。

4. 进阶：

* 如果有额外的构建需求，可自行修改 tools 目录中的构建脚本。
* 内置支持 webpack、less 语法、sourcemap 等功能，默认关闭。如若需要可以自行修改 tools/config.js 配置文件中相关配置。
* 内置支持多入口构建，如若需要可自行调整 tools/config.js 配置文件的 entry 字段。
* 默认开启 eslint，可自行调整规则或在 tools/config.js 中注释掉 eslint-loader 行来关闭此功能。

## 发布

> ps: 发布前得确保已经执行构建，小程序 npm 包只有构建出来的目录是真正被使用到的。

1. 如果还没有 npm 帐号，可以到[ npm 官网](https://www.npmjs.com/)注册一个 npm 帐号。
2. 在本地登录 npm 帐号，在本地执行：

```
npm adduser
```

或者

```
npm login
```

3. 在已完成编写的 npm 包根目录下执行：

```
npm publish
```

到此，npm 包就成功发布到 npm 平台了。

> PS：一些开发者在开发过程中可能修改过 npm 的源，所以当进行登录或发布时需要注意要将源切回 npm 的源。

## 目录结构

以下为推荐使用的目录结构，如果有必要开发者也可以自行做一些调整:

```
|--miniprogram_dev // 开发环境构建目录
|--miniprogram_dist // 生产环境构建目录
|--src // 源码
|   |--components // 通用自定义组件
|   |--images // 图片资源
|   |
|   |--xxx.js/xxx.wxml/xxx.json/xxx.wxss // 暴露的 js 模块/自定义组件入口文件
|
|--test // 测试用例
|--tools // 构建相关代码
|   |--demo // demo 小程序目录，开发环境下会被拷贝生成到 miniprogram_dev 目录中
|   |--config.js // 构建相关配置文件
|
|--gulpfile.js
```

> PS：对外暴露的 js 模块/自定义组件请放在 src 目录下，不宜放置在过深的目录。另外新增的暴露模块需要在 tools/config.js 的 entry 字段中补充，不然不会进行构建。

## 测试

* 执行测试用例：

```
npm run test
```

* 执行测试用例并进入 node inspect 调试：

```
npm run test-debug
```

* 检测覆盖率：

```
npm run coverage
```

测试用例放在 test 目录下，使用 **miniprogram-simulate** 工具集进行测试，[点击此处查看](https://github.com/wechat-miniprogram/miniprogram-simulate/blob/master/README.md)使用方法。在测试中可能需要变更或调整工具集中的一些方法，可在 test/utils 下自行实现。

## 其他命令

* 清空 miniprogram_dist 目录：

```
npm run clean
```

* 清空 miniprogam_dev 目录：

```
npm run clean-dev
```
npm package: @joyshion/taro-plugin-platform-yunshanfu
Description: 云闪付小程序平台插件
Author: Shion
Latest version: 1.0.0

# `@joyshion/taro-plugin-platform-yunshanfu`

Taro云闪付小程序平台插件

## 安装
```bash
yarn add @joyshion/taro-plugin-platform-yunshanfu --save-dev
```

### 配置
```js
// Taro 项目配置
module.exports = {
  // ...
  plugins: [
    '@joyshion/taro-plugin-platform-yunshanfu'
  ]
}
```

### 使用
#### UPSDK的引用
修改src/index.html，在head中加入云闪付前端SDK的引入标签
```html
<head>
  <title>myApp</title>
  <%= htmlWebpackPlugin.options.upsdk %>
  <script><%= htmlWebpackPlugin.options.script %></script>
</head>
```
#### 编译打包
```shell
taro build --type ysf
```
#### 开发调试
```shell
taro build --type ysf --watch
```

#### 其他
云闪付小程序平台类型：`ysh`
- Taro的API/组件同H5一致
- 支持内置环境变量，通过`process.env.TARO_ENV`判断编译平台类型
- 支持多端组件
- 支持多端脚本逻辑
- 支持多端页面路由
npm package: @joystream/content-metadata-protobuf
Description: Joystream Content Metadata Protobuf Library 
Author: Joystream Contributors
Latest version: 1.1.0

## Joystream Content Directory Metadata Library

This package contains protobuf message definitions compiled to Javascript/Typescript used for creating and updating various metadata blobs in the joystream content directory.

### Message Specs

Documented in [doc](./doc) folder

### Choice of protobuf protocol v2

For our usecase we wish to re-use same message to create and update  subset of fields.
For this reason we need the explicit information about wether a field has been set or not and this is only possible with proto v2.

Background: required/optional feilds are deprecated in [proto v3](https://www.ben-morris.com/handling-protocol-buffers-backwards-compatibility-between-versions-2-and-3-using-c/)


### Helper methods
The custom Joystream types such as License have helper methods to construct pre-defined well known values.

### Example code:

Best place to look at are the [tests specs](./test)

### Opaque types
We use simple [ISO_639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) code representation for Language.
useful npm package https://www.npmjs.com/package/iso-639-1

### Building the package

Building will compile the protofiles and build the library from source.

- pre-requisists for compiling protofiles:
    - [protoc](https://github.com/protocolbuffers/protobuf/releases)

- pre-requisists for generating documentation:
    - [golang](https://golang.org/)
    - [protoc-gen-doc](https://github.com/pseudomuto/protoc-gen-doc) to generate docs

```
yarn && yarn build
```

### Generating docs

```
yarn generate-docs
```

### Tests

```
yarn test
```
npm package: @joystream/metadata-protobuf
Description: Joystream Metadata Protobuf Library
Author: Joystream Contributors
Latest version: 2.16.0

## Joystream Metadata Library

This package contains protobuf message definitions compiled to Javascript/Typescript used for creating and updating various metadata blobs in Joystream.

### Message Specs

Documented in [doc](./doc) folder

### Choice of protobuf protocol v2

For our usecase we wish to re-use same message to create and update  subset of fields.
For this reason we need the explicit information about wether a field has been set or not and this is only possible with proto v2.

Background: required/optional feilds are deprecated in [proto v3](https://www.ben-morris.com/handling-protocol-buffers-backwards-compatibility-between-versions-2-and-3-using-c/)


### Helper methods
The custom Joystream types such as License have helper methods to construct pre-defined well known values.

### Example code:

Best place to look at are the [tests specs](./test)

### Opaque types
We use simple [ISO_639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) code representation for Language.
useful npm package https://www.npmjs.com/package/iso-639-1

### Building the package

Building will compile the protofiles using [protobufjs](https://www.npmjs.com/package/protobufjs) and build the library from source.

- pre-requisists for generating documentation:
    - [protoc](https://github.com/protocolbuffers/protobuf/releases)
    - [golang](https://golang.org/)
    - [protoc-gen-doc](https://github.com/pseudomuto/protoc-gen-doc) to generate docs

```
yarn && yarn build
```

### Generating docs

```
yarn generate-docs
```

### Tests

```
yarn test
```
npm package: @joytest/expect
Description: Assertion module for joytest.
Author: Anio Software
Latest version: 3.0.1

# @joytest/expect

Small assertion module.

|Function|Description|Since|
|:---|:---|:---|
|💥 expect(`a`).toBe(`b`)|Asserts that `a` and `b` are the same (`===`).<br><br>💥 Throws if assertion failed.|v1.0.0|
|💥 expect(`a`).toBeInstanceOf(`b`)|Asserts that `a` is an instance of `b`.<br><br>💥 Throws if assertion failed.|v1.0.0|
|💥 expect(`a`).toEqual(`b`)|If `b` is a primitive then:<br><br>`a === b`<br><br>If `b` is not a primitive:<br><br>• Asserts same prototype<br>• Asserts same properties<br>• Asserts property value recursively with `toEqual`.<br><br>💥 Throws if assertion failed.|v1.0.0|
|💥 expect(`a`).toHaveProperty(`b`)|Asserts that object `a` has an enumerable/non-enumerable property called `b`.<br><br>💥 Throws if assertion failed.|v1.0.0|
|💥 expect(`a`).toHaveSubString(`b`)|Asserts that string `a` contains the sub-string `b`.<br><br>💥 Throws if assertion failed.|v1.0.0|
|💥 expect(`fn`).toThrowError()|Asserts that `fn` throws an error.<br><br>💥 Throws if assertion failed.|v1.0.0|
|💥 expect(`fn`).toThrowError(`message`)|Asserts that `fn` throws an error with a message containing `message`.<br><br>💥 Throws if assertion failed.|v1.0.0|
|💥 expect.assertions(`num`)|Sets how many `expect()` function calls are expected.<br><br>💥 Throws if `expect.assertions` is already set.|v1.0.0|

All assertions (except `toThrowError`) can be negated with `.not`:

```javascript
expect(1).not.toBe(2)
```

Example usage:

```javascript
import {createExpectationsContext} from "@joytest/expect"
const {expect, end} = createExpectationsContext()

expect(1).toBe(1)
end()
```