open-index/open-npm huggingface dataset:
npm package: @openeagle/uniapp-using-component-webpack-plugin
Description: `@openeagle/uniapp-using-component-webpack-plugin` 是供 uni-app 使用微信小程序原生组件的 wepack 插件，
Latest version: 1.0.1

# @openeagle/uniapp-using-component-webpack-plugin

`@openeagle/uniapp-using-component-webpack-plugin` 是供 uni-app 使用微信小程序原生组件的 wepack 插件，

## 背景

- 原生组件配置繁琐

    在 uniapp 中要使用第三方 UI 库(vant-weapp，iView-weapp)的时候 ，需要在 src/pages.json 中的 usingComponents 添加对应的组件声明，如：

    ```json
    // src/pages.json
    "usingComponents": {
      "van-button": "/wxcomponents/@vant/weapp/button/index",
    }
    ```

    在开发过程中，我们需要手动一个个配置第三方组件，且在后续维护过程中也要求做好相应的增删 —— 不需要了要记得删掉，但大部分人往往都会忘记处理。

- 手工操作更新依赖

    使用第三方组件，除了在 src/pages.json 还需要在对应的生产目录下建立 wxcomponents，并将第三方的库拷贝至该文件下。这样在升级第三方库版本时需要重新下载依赖，并手动拷贝更新。

- 无用代码占用打包文件

    实际项目可能不会用到全部的第三方组件，但最终打包上传时会将全局配置的所有原生组件都上传上去，导致代码体积增加。

## 优化

使用 webpack 插件自动同步配置原生组件，且在打包上传时通过模板分析，排除掉没用的组件。这样，开发者只需要在项目中引入第三方依赖包。

## 使用

1. 安装依赖

    ```shell
    npm install @openeagle/uniapp-using-component-webpack-plugin --save-dev
    ```

2. 集成配置

    ```js
    // vue.config.js
    const UniappUsingComponentsWebpackPlugin = require('@openeagle/uniapp-using-component-webpack-plugin');

    module.exports = {
      plugins: [
        new UniUsingComponentsWebpackPlugin({
          patterns: [
            {
              prefix: 'van', // 组件的前缀，如 Vant 使用是 van 开头的前缀，iview 使用是 i 开头的前缀，具体可看它们各自的官方文档。
              module: '@vant/weapp', // 第三方 UI 库的包名
            },
            {
              prefix: 'i',
              module: 'iview-weapp',
            },
          ],
        }),
      ],
    }
    ```
npm package: @openeagle/vue-pickr
Description: `@openeagle/vue-pickr` 是基于 [Simonwep/pickr](https://github.com/Simonwep/pickr) 封装实现的适用于 vue3 的颜色选择器，
Latest version: 1.0.0

# Vue Pickr

`@openeagle/vue-pickr` 是基于 [Simonwep/pickr](https://github.com/Simonwep/pickr) 封装实现的适用于 vue3 的颜色选择器，

## 用法

```vue
<template>
  <div>
    <ColorPickr v-model:value="color" @update:value="handleChange" />
    <ColorPickr class="demo1" v-model:value="color" @update:value="handleChange" />
    <ColorPickr class="demo2" v-model:value="color" @update:value="handleChange" />
    <ColorPickr class="demo3" v-model:value="color" @update:value="handleChange" />
  </div>
</template>

<script>
import { ColorPickr } from '@openeagle/vue-pickr';
import '@openeagle/vue-pickr/es/index.less';
export default {
  components: {
    ColorPickr
  },
  data() {
    return {
      color: '#ff0000'
    };
  },
  methods: {
    handleChange(color) {
      console.log(color);
    }
  },
};
</script>

<style scoped>
.demo1 {
  width: 50px;
  height: 50px;
}
.demo2 {
  width: 100px;
  height: 100px;
}
.demo3 {
  width: 200px;
  height: 200px;
}
</style>
```
npm package: @openeagle/vue-quill
Description: 基于 [vue-quill-editor](https://github.com/surmon-china/vue-quill-editor) 改造且适用于 vue3 的 quill 富文本编辑器，用法与 [vue-quill-editor](https://github.com/surmon-china/vue-quill-editor) 保持一致。
Latest version: 1.0.0

# @openeagle/vue-quill

基于 [vue-quill-editor](https://github.com/surmon-china/vue-quill-editor) 改造且适用于 vue3 的 quill 富文本编辑器，用法与 [vue-quill-editor](https://github.com/surmon-china/vue-quill-editor) 保持一致。


## 安装

```
npm install @zthy/vue-quill --save

# or
yarn add @zthy/vue-quill
```

## 使用

```vue
<template>
  <QuillEditor />
</template>
<script>
import { QuillEditor } from '@openeagle/vue-quill';
import 'quill/dist/quill.core.css';
import 'quill/dist/quill.snow.css';
import 'quill/dist/quill.bubble.css';

export default {
  components: {
    QuillEditor
  }
}
</script>
```


或

```tsx
import { defineComponent } from 'vue';
import { QuillEditor } from '@openeagle/vue-quill';
import 'quill/dist/quill.core.css';
import 'quill/dist/quill.snow.css';
import 'quill/dist/quill.bubble.css';

export default defineComponent({
  render() {
    return (
      <QuillEditor />
    );
  },
});
```
npm package: @openeagle/wechat-webview
Description: 小程序 webview 页面通信组件，支持以下通信方式：
Latest version: 1.0.0

# @openeagle/wechat-webview

小程序 webview 页面通信组件，支持以下通信方式：

- H5 =》小程序：从 H5 页面向前一个小程序页面发送信息
- 小程序 =》 h5：小程序向前一个 H5 页面发送信息
- H5 =》H5：H5 向前一个 H5 页面发送信息

## 实现原理

核心是基于 H5 hash 实现的通信，从当前页面返回到前一个 H5 页面的时候，`@openeagle/wechat-webview` 会向 webview 的 URL 后面追加一段 hash 信息，H5 通过监听 hash 变化来获取通信信息。

## API

### H5

```js
const oew = require('@openeagle/wechat-webview')

oew.config(); // 配置 JSSDK

oew.getLaunchOptions(); // 获取冷启动参数
oew.getEnterOptions(); // 获取热启动参数

oew.onAppHide(function () {}) // 监听应用切到后台
oew.offAppHide(function () {}) // 取消监听应用切到后台

oew.onAppShow(function () {}) // 监听应用切到前台
oew.offAppShow(function () {}) // 取消监听应用切到前台

oew.onPageHide(function () {}) // 监听应用切到后台
oew.offPageHide(function () {}) // 取消监听应用切到后台

oew.offPageShow(function () {}) // 监听应用切到前台
oew.onPageShow(function () {}) // 取消监听应用切到前台
```

### 小程序

```js
<openeagle-wechat-webview url="{{url}" />
```
npm package: @openelectricity/svelte-charts
Description: Reusable time series charts built with Svelte and LayerCake.
Author: Open Electricity
Latest version: 0.2.8

# Svelte Charts

Reusable time series charts built with Svelte 5 and LayerCake.

## Installation

```
npm install -D @openelectricity/svelte-charts layercake
```

## Usage

... more to come

## License

Open source under the MIT license. See the LICENSE file for details.

## Publishing

```
npm run build
```

then

```
npm publish
```
npm package: @openeljur/typescript-sdk
Description: TypeScript SDK for OpenEljur backend
Latest version: 0.1.3

# OpenEljur TypeScript SDK

TypeScript SDK for `OpenEljur`.

## Install

```bash
npm i @openeljur/typescript-sdk
```

## Quick Start

```ts
import { OpenEljurClient } from "@openeljur/typescript-sdk";

const client = new OpenEljurClient({
  baseUrl: "http://localhost:8080",
});

const login = await client.login({
  username: "user",
  password: "pass",
  school_id: "eljur",
});

if (!login.ok || !login.data?.token) {
  throw new Error(login.error?.message ?? "Login failed");
}

const diary = await client.diary({
  access_token: login.data.token,
  school_id: "eljur",
});
```

## Unwrap Helper

```ts
const token = (await client.unwrap(client.login({ username, password, school_id }))).token;
```

`unwrap()` throws `OpenEljurAPIError` if unified response contains `error`.

## Endpoints

- `login()` -> `POST /v1/auth/login`
- `diary()` -> `POST /v1/diary`
- `marks()` -> `POST /v1/marks`
- `updates()` -> `POST /v1/updates`
- `messages()` -> `POST /v1/messages`
- `dashboard()` -> `POST /v1/dashboard`
- `schoolsSearch()` -> `POST /v1/schools/search`
- `healthz()` -> `GET /healthz`

## Development

```bash
npm install
npm run build
npm run typecheck
```

## License

[MIT](LICENSE)
npm package: @openemm/n8n-nodes-openemm
Description: Automated email communication
Author: AGNITAS AG
Latest version: 0.3.2

# @openemm/n8n-nodes-openemm

These are OpenEMM community nodes for n8n. They let you use OpenEMM in your n8n workflows.

[OpenEMM](https://www.agnitas.de/openemm-wiki/) is a web based enterprise application for email and marketing automation. It is used for automated email communication with customers, leads, members and employees. It can be operated via a web browser or in headless mode via its SOAP or REST API. OpenEMM is published under open source license [APGLv3](https://www.gnu.org/licenses/agpl-3.0.html).

[n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/sustainable-use-license/) workflow automation platform.

[Installation](#installation)
[Operations](#operations)
[Credentials](#credentials)
[Compatibility](#compatibility)
[Usage](#usage)
[Resources](#resources)
[History](#history)


## Installation

Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.


## Operations

The OpenEMM community nodes are extended from time to time. You can find the up-to-date functionality of all triggers and actions along with input and output parameters in the [OpenEMM Wiki](https://wiki-iframe.agnitas.de/doku.php?id=integration-apis).


## Credentials

The OpenEMM community nodes use the REST API of OpenEMM for its action nodes and the callback API (webhooks) of OpenEMM for trigger nodes. Create credentials in n8n for the REST API so that an n8n workflow can access your OpenEMM instance. Copy the webhook URLs generated by n8n into the settings of the events in your OpenEMM instance so that OpenEMM can trigger workflows in n8n.


## Compatibility

To be able to use all triggers and actions provided by the OpenEMM community nodes for n8n you have to use at least version 25.11 of OpenEMM.


## Usage

Use the trigger nodes to receive event data from OpenEMM like mail openings, link clicks or profile field changes (via OpenEMM's callback API/webhooks).
Use the action nodes to send data to OpenEMM like mailing or recipient data or to initiate an action like sending out a mailing (via OpenEMM's REST API).


## Resources
* [OpenEMM integrations documenation](https://wiki-iframe.agnitas.de/doku.php?id=start#integrations)
* [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)


## History

0.3.0 update license to MIT
0.2.0 initial public release
npm package: @openemp/root-config
Description: OpenEMP UI Root MF
Author: OpenEMP
Latest version: 0.0.1

# OpenEMP UI root Config

openmrs-esm-root-config is an javascript module
that serves as the
[single-spa root config](https://single-spa.js.org/docs/configuration.html)
for OpenEMP. It is the very first javascript module that is loaded, and controls which modules are loaded.
npm package: @openemp/styleguide
Description: OpenEMP Styleguide is the design library for OpenEMP micro-frontend
Author: OpenEMP
Latest version: 0.0.2

# openemp-ui-styleguide

OpenEMP Styleguide is the design library for OpenEMP micro-frontend

### Usage

To use the styleguide library in your HTML you can include it as following:

```
<script type="systemjs-module" src="import:@openemp-mf/styleguide"></script>
```
npm package: @openendurance/fkt
Description: A TypeScript toolkit for building endurance sports applications.
Author: Open Endurance Initiative
Latest version: 0.2.0

# FKT

> A TypeScript toolkit for building endurance sports applications.

<!-- To be written... -->

---

<div align="center">
	⛰️⛰️ Made with 💙 in Leadville, CO ⛰️⛰️
</div>
<br />
<div align="center">
	Copyright © 2022 <a href="https://algorythmic.com">Algorythmic, LLC</a>
</div>
<br />
<div align="center">

[![Solidarity](https://github.com/jpoehnelt/in-solidarity-bot/raw/main/static//badge-flat.png)](https://github.com/apps/in-solidarity)

</div>