open-index/open-npm huggingface dataset:
npm package: @qinolabs/ui-core
Description: Core UI component library built on Base UI + Tailwind CSS
Latest version: 0.1.0

# @qinolabs/ui-core

Core UI component library built on [Base UI](https://base-ui.com) + [Tailwind CSS v4](https://tailwindcss.com).

## Installation

```bash
npm install @qinolabs/ui-core
```

### Peer dependencies

```bash
npm install react react-dom tailwindcss class-variance-authority clsx tailwind-merge lucide-react next-themes sonner @base-ui/react react-resizable-panels
```

## Tailwind CSS v4 Setup

Add the following to your app's CSS file:

```css
@import "tailwindcss";
@import "@qinolabs/ui-core/styles/globals.css";
@source "../node_modules/@qinolabs/ui-core/dist/";
```

The `@source` directive tells Tailwind to scan the package for class names, ensuring all component styles are included in your build.

## Usage

```tsx
import { Button } from "@qinolabs/ui-core/components/button";
import { Dialog, DialogContent } from "@qinolabs/ui-core/components/dialog";
import { Input } from "@qinolabs/ui-core/components/input";
import { cn } from "@qinolabs/ui-core/lib/utils";
```

## Components

Primitives and composed components:

- **Layout**: Card, Frame, Separator, Group, Sidebar, Resizable panels
- **Forms**: Input, Textarea, Select, Checkbox, Radio, Switch, Slider, Number field, Combobox, Autocomplete
- **Feedback**: Alert, Dialog, Sheet, Toast, Spinner, Progress, Meter, Skeleton
- **Navigation**: Tabs, Breadcrumb, Pagination, Menu, Toolbar, Command palette
- **Display**: Badge, Avatar, Table, Tooltip, Popover, Preview card, Collapsible, Accordion, Toggle

## License

MIT
npm package: @qinrun/analysis-api
Description: ## Development
Author: zhaochy
Latest version: 1.1.21

# analysis-api

## Development

### Swagger

get `Swag` for Go first

```
go get -u github.com/swaggo/swag/cmd/swag
```

Run the Swag at your Go project root path(for instance ~/root/go-peoject-name), Swag will parse comments and generate required files(docs folder and docs/doc.go) at ~/root/go-peoject-name/docs.

```
swag init
```

Run `swag fmt` to format all swagger documents
init16
npm package: @qinrun/audit-api
Description: 操作日志、审计日志服务
Author: zhaochy
Latest version: 1.2.12

# audit-api
操作日志、审计日志服务

## 本地开发

启动一个本地kafka和zk
```shell
yarn startKafka
```

启动一个本地Postgresql

```shell
yarn startPG
```
npm package: @qinrun/datafactory
Description: 当前监听mongodb的change stream https://www.mongodb.com/docs/manual/changeStreams/ 来实时处理数据
Author: zhaochy
Latest version: 1.2.39

# datafactory

当前监听mongodb的change stream https://www.mongodb.com/docs/manual/changeStreams/ 来实时处理数据

主要作用为将 Staging 层的数据按照一定的格式进行建模，存储到Data Vault层

## 本地开发

1. 修改本地 hosts, mongo1, mongo2, mongo3 都指向 127.0.0.1
2. 使用`start-db.sh`在本地启动mongodb副本集和mysql数据库
3. run main.go

从mongodb官网安装`mongosh`

然后 `mongosh mongosh mongodb://mongo1:27017,mongo2:27018,mongo3:27019`连接到mongo数据库

```js
use tushare;

db.stock_basic.insert({ timestamp: 1662949539, dataType: 'Stock', dataSource: 'tushare', data: { ts_code: '000001.SZ', symbol: '000001', name: '平安银行', area: '深圳', industry: '银行', fullname: '平安银行股份有限公司', enname: 'Ping An Bank Co., Ltd.', cnspell: 'payh', market: '主板', exchange: 'SZSE', curr_type: 'CNY', list_status: 'L', list_date: 19910403, delist_date: null, is_hs: 'S' } });
```
test
npm package: @qinrun/iam-api
Description: ## Development
Author: zhaochy
Latest version: 1.6.60

# iam-api

## Development

### Swagger

get `Swag` for Go first

```
go get -u github.com/swaggo/swag/cmd/swag
```

Run the Swag at your Go project root path(for instance ~/root/go-peoject-name), Swag will parse comments and generate required files(docs folder and docs/doc.go) at ~/root/go-peoject-name/docs.

```
swag init
```

Run `swag fmt` to format all swagger documents
npm package: @qinrun/ingester-service
Description: data ingestion service - model是表结构, main 方法创建表 - data_basic 获取基础数据，股票基础数据和指数基础数据 - data_quotations 行情数据(日线，周线，年线) - data_index 指数数据(日线，周线，年线) - run 获取历史数据，每日增量数据
Author: zhaochy
Latest version: 1.0.8

# ingester
data ingestion service
- model是表结构, main 方法创建表
- data_basic 获取基础数据，股票基础数据和指数基础数据
- data_quotations 行情数据(日线，周线，年线)
- data_index 指数数据(日线，周线，年线)
- run 获取历史数据，每日增量数据

## Contribution

依赖安装：
- python3
- docker

使用 python3 virtual environments
```
# mac & linux
$ source ./bin/activate

# windows powershell
$ ps .\bin\Activate.ps1

# 关闭虚拟环境
$ deactivate
```

使用pip管理依赖

```
# always run this first
pip install --upgrade pip setuptools wheel

# 安装依赖
pip install -r requirements.txt

# 保存依赖
pip freeze > requirements.txt
```

## API

send a POST '/job' request to trigger the task

获取股票列表数据
```json
{
    "type": "stock_list"
}  
``` 

获取行情数据
```json
{
    "type": "quotations_stock",
    "args": {
        "type": "daily",
        "stockId": "000001.SZ"
    }
}
```

获取指数列表数据
```json
{
    "type": "index_list"
}
```
npm package: @qinrun/message-service
Description: 消息中心服务
Author: zhaochy
Latest version: 1.0.20

# message-service
消息中心服务

## 功能列表
1. 发短信
2. 发邮件
3. 发站内信（点对点）
4. 发站内通告
5. 范围内群发

## 技术架构

swag fmt
swag init

ingester

vTest9
npm package: @qinrun/storage-api
Description: ```` # doc for minio https://min.io/docs/minio/linux/developers/go/minio-go.html # Install Minio client go get github.com/minio/minio-go/v7 ````
Author: zhaochy
Latest version: 1.0.1

# storage-api
````
# doc for minio
https://min.io/docs/minio/linux/developers/go/minio-go.html
# Install Minio client
go get github.com/minio/minio-go/v7
````
npm package: @qintx/generator-react-component
Description: React component generator with docgen and test runner
Author: lkiarest
Latest version: 0.9.12

# @qintx/generator-react-component [![NPM version][npm-image]][npm-url]
> 

## Installation

First, install [Yeoman](http://yeoman.io) and @qintx/generator-react-component using [yarn](http://yarnpkg.com) (we assume you have pre-installed [node.js](https://nodejs.org/)).

```bash
yarn global add yo
```

Then generate your new project within a new folder:

```bash
yo @qintx/react-component
// input the Component Name
// input the UI Library Name
```

## Getting To Know Yeoman

 * Yeoman has a heart of gold.
 * Yeoman is a person with feelings and opinions, but is very easy to work with.
 * Yeoman can be too opinionated at times but is easily convinced not to be.
 * Feel free to [learn more about Yeoman](http://yeoman.io/).

## License

MIT © [qintianxiang](https://github.com/lkiarest)

[npm-image]: https://badge.fury.io/js/%40qintx%2Fgenerator-react-component.svg
[npm-url]: https://www.npmjs.com/package/@qintx/generator-react-component
npm package: @qintx/modular_egg
Author: qintianxiang
Latest version: 0.9.11

# modular_egg



## QuickStart

```bash
$ npm install
$ npm test
```

publish your framework to npm, then change app's dependencies:

```js
// {app_root}/index.js
require('modular_egg').startCluster({
  baseDir: __dirname,
  // port: 7001, // default to 7001
});

```

## Questions & Suggestions

Please open an issue [here](https://github.com/eggjs/egg/issues).
npm package: @qintx/multi-page-webpack-plugin
Description: support to build multiple html files as entries
Author: qintianxiang
Latest version: 0.9.5

# MultiPageWebpackPlugin

Automatically generate multiple entry html files in one project. An enhancement to WebpackHtmlPlugin.

### Install

```
npm install @qintx/multi-page-webpack-plugin
// or
yarn add @qintx/multi-page-webpack-plugin
```

### Usage

```
// webpack.conf.js
const MultiPageWebpackPlugin = require('multi-page-webpack-plugin')

{
    // ...
    // use this option just as a placeholder if there is no other entry.
    entry: MultiPageWebpackPlugin.ENTRY_NAME, 
    // remove HtmpWebpackPlugins and use options below instead.
    plugins: {
        // ... other plugins
        new MultiPageWebpackPlugin({
            // optional configs
        })
    }
    // ...
}

```

### Option

| name | default | description |
| :-: | :-: | :- | 
| entry | '**/entry.js' | specify the entry file rule via glob pattern |
| pageDir | 'src/pages' | the folder to search for page entries |
| output | '[entryName]/index.html' | output path, support variable '[entryName]' |
| template | 'index.html' | template file, support variable '[entryName]' |
| hot | false | support HMR (dev mode) |
| minify | false | minify the output file or not |
| commonChunks | [] | other common chunks like 'common', 'vendor' |
| debug | false | print debug infomation or not |


### Important

The webpack-dev-server cli will modify webpack config before the process of webpack. So we should use API mode of webpack-dev-server, below is an example:

```
// @file devServer.js
// -- run command 'node devServer.js'

const Webpack = require('webpack');
const WebpackDevServer = require('webpack-dev-server');

require('./webpack.dev.conf').then(webpackConfig => {
    const compiler = Webpack(webpackConfig);
    const devServerOptions = Object.assign({}, webpackConfig.devServer, {
      stats: {
        colors: true
      }
    });

    const server = new WebpackDevServer(compiler, devServerOptions);

    server.listen(8080, '0.0.0.0', () => {
      console.log('Starting server on http://localhost:8080');
    });
});

```
npm package: @qintx/rollup-plugin-web-worker-loader
Description: Rollup plugin to handle Web Workers
Author: Dario Segura
Latest version: 0.1.4

# @qintx/rollup-plugin-web-worker-loader

Rollup plugin to handle Web Workers.

Can inline the worker code or emit a script file using code-splitting.  
Handles Worker dependencies and can emit source maps.  
Worker dependencies are added to Rollup's watch list. 
Supports bundling workers for Node.js environments 

### Getting started

```
yarn add @qintx/rollup-plugin-web-worker-loader --dev
```

Add the plugin to your rollup configuration:

```javascript
import webWorkerLoader from '@qintx/rollup-plugin-web-worker-loader';

export default {
    entry: 'src/index.js',
    plugins: [
        webWorkerLoader(/* configuration */),
    ],
    format: 'esm',
};
```

In your imports:

```javascript
import DataWorker from './worker';

const dataWorker = new DataWorker();
dataWorker.postMessage('Hello World!');
```

### Configuration
The plugin responds to the following configuration options:
```javascript
webWorkerLoader({
    sourcemap?: boolean,        // when inlined, should a source map be included in the final output. Default: false
    
    inline?: boolean,           // should the worker code be inlined (Base64). Default: true
    
    preserveSource?: boolean,   // when inlined and this option is enabled, the full source code is included in the
                                // built file, otherwise it's embedded as a base64 string. Default: false
                                
    loadPath?: string           // this options is useful when the worker scripts need to be loaded from another folder.
                                // Default: ''
    patterns?: array            // the file pattern that will be processed by this plugin. Default: [/\/worker$/]
})
```

### Notes
WARNING: To use code-splitting for the worker scripts, Rollup v1.9.2 or higher is required. See https://github.com/rollup/rollup/issues/2801 for more details.

The `sourcemap` configuration option is ignored when `inline` is set to `false`, in that case the project's sourcemap configuration is inherited.

`loadPath` is meant to be used in situations where code-splitting is used (`inline = false`) and the entry script is hosted in a different folder than the worker code.  


### Roadmap
- [x] Bundle file as web worker blob
- [x] Support for dependencies using `import`
- [x] Include source map
- [x] Configuration options to inline or code-split workers
- [ ] Provide capability checks and fallbacks
- [ ] Avoid code duplication
npm package: @qintx/shein-biz-adapter
Description: 默认提供 Rest/GraphQL/Mock 三种请求方式，支持通过插件进行自定义扩展。
Latest version: 0.2.2

### 前后端请求接口适配工具

默认提供 Rest/GraphQL/Mock 三种请求方式，支持通过插件进行自定义扩展。

_使用方法见测试用例。_

#### 自定义插件

插件扩展基于 [webpack/Tapable](https://github.com/webpack/tapable) 实现，支持 preRequest/postRequest/init/error 四个扩展点。插件引入示例：

```
new Adapter(type, {
    ...,
    plugins: [new MyPlugin(options)]
})
```

自定义插件实现：

```MyPlugin.js
class MyPlugin {
    constructor(options) {
        this.options = options
    }

    apply(context) {
        context.plugin('preRequest', (params) => {
            // prepare request params
            // and return extended params
        })
    }
}

export default MyPlugin

```
npm package: @qintx/zeditor
Description: Rich text editor based on prosemirror
Author: qintianxiang
Latest version: 0.9.9

# zeditor

ProseMirro based rich text editor。

[Live Demo](https://lkiarest.github.io/zeditor/)

### Install

```shell
yarn add @qintx/zeditor # yarn
npm i @qintx/zeditor # npm
```

### Usage

```javascript
import Zeditor from '@qintx/zeditor'

// create editor
const editor = Zeditor.create(document.getElementById('#editor'), Options)

// destory editor instance
editor.destroy()
```

### Options

```javascript
{
  sourceView: false, // support source view mode
  plugins: [], // add custom plugins (Prosemirror-Plugins)
  menubar: [
    ['heading'],
    ['font_size', 'font_family', 'font_color', 'bg_color'],
    ['strong', 'em', 'underline', 'strikethrough', 'link'],
    ['bullet_list', 'ordered_list', 'blockquote', 'lift', 'join'],
    ['align_left', 'align_center', 'align_right', 'align_justify'],
    ['table', 'image', 'image_upload'],
    ['undo', 'redo']
  ],
  // font/background colors
  colors: [
    '#000000', '#4d4d4d', '#999999', '#e6e6e6', '#ffffff',
    '#e64c4c', '#e6994c', '#e6e64c', '#e6e64c', '#4ce64c',
    '#4ce699', '#4ce6e6', '#4ce6e6', '#4c4ce6', '#994ce6'
  ],
  // font families
  fontFamilies: [
    { name: 'inherit', label: '默认' },
    { name: '宋体,SimSun,STSong', label: '宋体' },
    { name: '微软雅黑,Microsoft YaHei', label: '微软雅黑' },
    { name: '楷体,楷体_GB2312, SimKai, Kaiti, STKaiti', label: '楷体' },
    { name: '黑体, SimHei, STHeiti', label: '黑体' },
    { name: '隶书, SimLi, LiSu', label: '隶书' },
    { name: 'andale mono', label: 'andale mono' },
    { name: 'arial, helvetica,sans-serif', label: 'arial' },
    { name: 'arial black,avant garde', label: 'arial black' },
    { name: 'comic sans ms', label: 'comic sans ms' },
    { name: 'impact,chicago', label: 'impact' }
  ],
  // font sizes
  fontSizes: [
    { name: 'inherit', label: '默认' },
    { name: 'x-small', label: '最小' },
    { name: 'small', label: '小' },
    { name: 'normal', label: '正常' },
    { name: 'large', label: '大' },
    { name: 'x-large', label: '极大' },
    { name: 'xx-large', label: '最大' }
  ],
  /**
   * image upload function, need to return a url
   * @param {Array} files List of file objects
   */
  upload (files) {
    // do ajax upload, and return a Promise of uploaded image
    return Promise.resolve({ url: 'http://image/url' })
  },
  events: {
    // input change event
    change (content) {
      console.log('content change:', content)
    }
  }
}
```

### IE10

Need to add polyfill for IE10:

```
import '@qintx/zeditor/lib/polyfill'
```

### Repo

[Github](https://github.com/lkiarest/zeditor)