open-index/open-npm huggingface dataset:
npm package: @hellobikefe/dora
Description: hellobike-micro-frontend-lib
Author: hello
Latest version: 0.0.1


# taro小程序微前端集成框架
dora是一个哈啰出行的开源的taro小程序微前端集成框架，具有把多页业务拆分并集成编译的与通讯的能力，解耦了业务与业务，降低了总体的复杂度与多业务线合作难度


## 集成编译
dora具有集成编译功能，app与在subapp中添加以下config既可以运行，会自动集成各业务线的路由, 可以参考demo仓库

## 事件通讯
dora使用事件通讯来解耦业务线与业务线之间的关系，在subapp的config中可以定义事件来监听整个app的运行周期与自定义事件
```
  componentDidShow () {
    doraEvent.emit({
      eventName : 'app:componentDidShow',
      args : {},
    });
  }
```
```
  event : {
    'app:componentDidShow' : (arg) => {
      console.log('subapp 启动');
      console.log('持续检测用户当前订单是否偏离导航，触发安全机制。');
    },
    'app:componentDidHide' : (arg) => {
      console.log('subapp 启动');
      console.log('推入后台暂停检测');
    },
  },
```
在小程序componentDidShow时候就会打印
<image src='./docs/event.png' >

## 子父通讯与桥接
dora使用ctx来桥接父与子仓库的通讯

### setCtx
```
import useCtx from '../../../../../src/export/useCtx';

setCtx({
  moduleA: ()=>{
    return '我来自父app'
  }
})
```

### useCtx
```
<View className='index'>
  我是subapp的页面
  <View >
    {useCtx().moduleA()}
  </View>
</View>
```

## 版本控制
### dora update
`dora update`
把所有subapp的版本切换为父应用中的版本
### dora publish
`dora publish`
把当前目录publish到父仓库中去，请确定你拥有父仓库与子仓库的push权限

## demo
https://github.com/hellof2e/doraAppExample 父应用demo
https://github.com/hellof2e/doraSubappExample 子应用demo


## 指令
```
命令
Options:
  -V, --version     output the version number
  -h, --help        display help for command
Commands:
  publish           发布子应用代码至父应用
  update [options]  更新子应用
  help [command]    display help for command
```
npm package: @hellobtu/sdk
Description: _description_
Author: Stone
Latest version: 0.1.1

# @hellobtu/sdk

[![npm version][npm-version-src]][npm-version-href]
[![npm downloads][npm-downloads-src]][npm-downloads-href]
[![bundle][bundle-src]][bundle-href]
[![License][license-src]][license-href]

# Hello BTU Library

A TypeScript library for HelloBTU protocol.
## Usage

### Installation

```bash
npm install @hellobtu/sdk
# or
yarn add @hellobtu/sdk
```

### Preparation

Downloads [secp256k1.wasm](./assets/secp256k1.wasm) to public/

### Fetch channel info

```typescript
import { getProInfo } from '@hellobtu/sdk'

const info = await getProInfo('bitcoin_testnet', 'tb1...')
```

### Upgrade to PRO
```typescript
import { getProInfo } from '@hellobtu/sdk'

const info = await upgradeToPro('bitcoin_testnet', 'tb1...')
```

### Stake Bitcoin

```typescript
import { stakeBitcoin } from '@hellobtu/sdk'

const stakeProps = {
  address: 'your-bitcoin-address',
  pubkey: 'your-public-key',
  committee: 'committee-address',
  amount: '1000000', // amount in satoshis
  feeRate: 5, // in sat/vB
  chainId: 11155111, // destination chain ID
  recipient: 'recipient-address',
  signer: 'your-wallet-provider, with signPsbt implemented'
}

// Stake Bitcoin
const txHash = await stakeBitcoin('bitcoin_testnet', stakeProps)
console.log('Transaction Hash:', txHash)
```

## License

MIT

<!-- Badges -->

[npm-version-src]: https://img.shields.io/npm/v/@hellobtu/sdk?style=flat&colorA=080f12&colorB=1fa669
[npm-version-href]: https://npmjs.com/package/@hellobtu/sdk
[npm-downloads-src]: https://img.shields.io/npm/dm/@hellobtu/sdk?style=flat&colorA=080f12&colorB=1fa669
[npm-downloads-href]: https://npmjs.com/package/@hellobtu/sdk
[bundle-src]: https://img.shields.io/bundlephobia/minzip/@hellobtu/sdk?style=flat&colorA=080f12&colorB=1fa669&label=minzip
[bundle-href]: https://bundlephobia.com/result?p=@hellobtu/sdk
[license-src]: https://img.shields.io/github/license/HelloBTU/sdk.svg?style=flat&colorA=080f12&colorB=1fa669
[license-href]: https://github.com/HelloBTU/sdk/blob/main/LICENSE
npm package: @helloclub/joi-luxon
Description: A Joi extension to automatically convert ISO date strings to Luxon DateTime objects
Author: Hello Club
Latest version: 2.0.3
Deprecated: Moved to @reis/joi-luxon

# @helloclub/joi-luxon

[![npm version](https://img.shields.io/npm/v/@helloclub/joi-luxon.svg)](https://www.npmjs.com/package/@helloclub/joi-luxon)
[![github issues](https://img.shields.io/github/issues/helloclub/joi-luxon.svg)](https://github.com/helloclub/joi-luxon/issues)


A Joi extension to automatically convert ISO date strings to Luxon DateTime objects

[![Hello Club](https://helloclub.com/images/logo/logo-text.svg)](https://helloclub.com/?source=github)

### Features
- Validates incoming date values as ISO date strings
- Automatically converts date strings to Luxon `DateTime` objects
- Able to set timezone and use modifiers like `startOf` or `endOf`
- Able to validate against other dates or Joi references using functions like `gt`, `lt`, `gte` or `lte`

### Installation

```shell
#npm
npm install @helloclub/joi-luxon

#yarn
yarn add @helloclub/joi-luxon
```

### Usage
```js
import Joi from 'joi'
import JoiLuxon from '@helloclub/joi-luxon'

export default Joi.extend(JoiLuxon)
```

### Examples

Validate a start and end date, setting the date to start and end of day respectively and validating that the end date is after the start date:

```js
const schema = Joi.object({
  startDate: Joi
    .luxon()
    .setZone(timezone)
    .startOf('day'),
  endDate: Joi
    .luxon()
    .setZone(timezone)
    .endOf('day')
    .gt(Joi.ref('startDate')),
})
```

Set the value to a given minimum date if it’s less than that:

```js
const schema = Joi.object({
  date: Joi
    .luxon()
    .required()
    .min(Joi.ref('$minDate'))
})

const schema = Joi.object({
  date: Joi
    .luxon()
    .required()
    .min(new Date())
})
```

All available rules and helpers:

```js
Joi

  //Base validation and conversion to Luxon DateTime object
  .luxon()

  //Sets the timezone on the object
  .setZone(timezone)

  //Modified the DateTime instance to the start/end of the given period
  .startOf(period)
  .endOf(period)

  //Validates silently against a minimum / maximum date
  .min(date)
  .max(date)

  //Validate and throw errors if the date is less than or greater than a reference date
  .lt(date)
  .gt(date)
  .lte(date)
  .gte(date)
```

## Issues & feature requests

Please report any bugs, issues, suggestions and feature requests in the [joi-luxon issue tracker](https://github.com/helloclub/joi-luxon/issues).

## Sponsor

This package is sponsored by [Hello Club](https://helloclub.com?source=github), an [all-in-one club and membership management solution](https://helloclub.com?source=github) complete with booking system, automated membership renewals, online payments and integrated access and light control. 

If you belong to any kind of club or membership based organisation, or if you know someone who helps run a club, please [check us out](https://helloclub.com?source=github)!

## License

(MIT License)

Copyright 2022-2023, Hello Club
npm package: @hellocoop/express
Description: Express SDK for Hellō https://hello.dev
Author: Hello Identity Co-op
Latest version: 1.19.11

# Express package for Hellō

[Hellō](https://hello.dev) is an identity network that provides login and registration using the standard OpenID Connect protocol. Hellō offers your users choice between all popular social login providers.

This [Express](https://expressjs.com/) package provides an endpoint that handles all protocol interactions and sets an encrypted cookie with the logged in user's information. The cookie contents are decrypted and available as `req.getAuth()`.

See the [Express Quickstart documentation](https://www.hello.dev/docs/quickstarts/express) for how to add Hellō to your Express app in minutes, and the [Express SDK documentation](https://www.hello.dev/docs/sdks/express) for details.
npm package: @hellocoop/fastify
Description: Fastify SDK for Hellō https://hello.dev
Author: Hello Identity Co-op
Latest version: 1.16.11

# Fastify package for Hellō

[Hellō](https://hello.dev) is an identity network that provides login and registration using the standard OpenID Connect protocol. Hellō offers your users choice between all popular social login providers.

This [Fastify](https://fastify.dev/) package provides an endpoint that handles all protocol interactions and sets an encrypted cookie with the logged in user's information. The cookie contents are decrypted and available as `req.getAuth()`.

See the [Fastify Quickstart documentation](https://www.hello.dev/docs/quickstarts/fastify) for how to add Hellō to your Fastify app in minutes, and the [Fastify SDK documentation](https://www.hello.dev/docs/sdks/fastify) for details.
npm package: @hellocoop/mockin
Description: Hellō Mock Login OpenID Connect Server
Author: Hello Identity Co-op
Latest version: 1.4.0

# Mockin - A Mock Login Server for Hellō

Mockin is a mock of the Hellō of the OpenID Connect Login Service and implements the authorization, token, introspection, and userinfo endpoints. 

- **Development** - speeds up development as you won't be redirecting through the Hellō production server. Start the login flow by clicking on the `[ ō Continue with Hellō ]` button. Your browser will redirect to Mockin and then back to your app which will then complete the login flow.

- **Testing** - simplifies creating end to end tests, and with the `/mock` APIs, you can simulate expired and invalid responses allowing you to ensure your app properly handles all exceptions, improving your security posture.

## Usage

Mockin is available as both an npm module and a docker image:

`npx @hellocoop/mockin@latest`

`docker run  -d -p 3333:3333 hellocoop/mockin:latest`

## Issuer

Mockin defaults to `http://127.0.0.1:3333` as the Issuer. Override by setting the `ISSUER` environment variable.

## Mock API

The mock API can change the returned claims, simulate errors, and invalid ID Tokens.

For detailed information on installation, usage, and examples, visit the [documentation](https://www.hello.dev/docs/mockin).
npm package: @hellocoop/nextjs
Description: Next.js SDK for Hellō https://hello.dev
Author: Hello Identity Co-op
Latest version: 3.3.15

# Next.js package for Hellō

[Hellō](https://hello.dev) is an identity network that provides login and registration using the standard OpenID Connect protocol. Hellō offers your users choice between all popular social login providers.

This [Next.js](https://nextjs.org/) package provides:

- an endpoint that handles all protocol interactions and sets an encrypted cookie with the the logged in user's information.
- convenience functions to retrieve the user's information from the cookie
- React components for buttons and logged in context

The [Hellō Next.js Sample](https://github.com/hellocoop/hello-nextjs-sample) uses this package and [npx `@hellocoop/quickstart --nextjs`](https://www.hello.dev/docs/sdks/quickstart#nextjs) to be configured in seconds. Check it out deployed on [Vercel](https://hello-nextjs-sample.vercel.app).

See the [Next.js Quickstart documentation](https://www.hello.dev/docs/quickstarts/nextjs) for how to add Hellō to your Next.js app in minutes, and the [Next.js SDK documentation](https://www.hello.dev/docs/sdks/nextjs) for details.