open-index/open-npm huggingface dataset:
npm package: @lx-frontend/cvux-xscroll
Description: Xscroll - A Javascript Scrolling Framework For Mobile Web
Author: huxiaoqi
Latest version: 0.0.1


# xscroll

Xscroll - A Javascript Scrolling Framework For Mobile Web

## Install

```
npm install xscroll

```
## HomePage

[http://xscroll.github.io/](http://xscroll.github.io/)


## Document

[http://xscroll.github.io/node_modules/xscroll/doc/XScroll.html](http://xscroll.github.io/node_modules/xscroll/doc/XScroll.html)

## Demo

[http://xscroll.github.io/demo.html](http://xscroll.github.io/demo.html)

![construct](http://gtms04.alicdn.com/tps/i4/TB13LoRGVXXXXXmXpXX7yy27VXX-1414-1128.png_600x600.jpg)



 - Email：<huxiaoqi567@gmail.com>


## ChangeLog    

### v2.1.1
- pinch缩放优化
- 滚动条计算问题
- 去除mouse事件

### v2.2.0
- 优化边界反弹动画效果
- 支持水平方向无尽滚动
- 修复滚动停止时重绘、闪烁的问题
- 新增useTransition配置，支持帧动画
- 新增easing配置 如：ease ease-out easeq-in
- API调整 
    - getCellByRow -> getCellByRowOrCol
    - getCellByOffsetTop -> getCellByOffset
    - getCellByPageY -> getCellByPagePos


### v2.3.0
- 新增snap功能
- 新增多个xscroll相互嵌套的管理机制

### v2.3.1
- DataSet guid重复问题
- 修复部分安卓设备无法点停的问题
- 修复执行stop()后定时器仍然执行的问题
- 滚动条默认隐藏
- 新增boundryout api
- scrollanimate和panend触发顺序调整

### v2.3.2
- 修复bounce为false后报错的问题

### v3.0.0
- 大版本升级，xlist插件化

### v3.1.2
- 修复点击 触发2次的问题

### v3.2.0
- 修复在ios设备上，滚动结束后又自动回滚到顶部问题
npm package: @lx-frontend/element-theme-dos-boss
Description: Element component chalk theme.
Author: yi.shyang@ele.me
Latest version: 0.0.15

# element-theme-chalk
> element component chalk theme.


## Installation
```shell
npm i element-theme-chalk -S
```

## Usage

Use Sass import
```css
@import 'element-theme-chalk';
```

Or Use webpack
```javascript
import 'element-theme-chalk';
```

Or
```html
<link rel="stylesheet" href="path/to/node_modules/element-theme-chalk/lib/index.css">
```

##  Import on demand
```javascript
import 'element-theme-chalk/lib/input.css';
import 'element-theme-chalk/lib/select.css';

// ...
```
npm package: @lx-frontend/element-theme-dos-corp-master
Description: Element component chalk theme.
Author: yi.shyang@ele.me
Latest version: 1.0.8

# element-theme-chalk
> element component chalk theme.


## Installation
```shell
npm i element-theme-chalk -S
```

## Usage

Use Sass import
```css
@import 'element-theme-chalk';
```

Or Use webpack
```javascript
import 'element-theme-chalk';
```

Or
```html
<link rel="stylesheet" href="path/to/node_modules/element-theme-chalk/lib/index.css">
```

##  Import on demand
```javascript
import 'element-theme-chalk/lib/input.css';
import 'element-theme-chalk/lib/select.css';

// ...
```

## Development

安装依赖：
```
npm install
```

启动预览：
```
npm run dev
```
npm package: @lx-frontend/element-theme-dos-merchant
Description: Element component chalk theme.
Author: yi.shyang@ele.me
Latest version: 0.1.9

# element-theme-chalk
> element component chalk theme.


## Installation
```shell
npm i element-theme-chalk -S
```

## Usage

Use Sass import
```css
@import 'element-theme-chalk';
```

Or Use webpack
```javascript
import 'element-theme-chalk';
```

Or
```html
<link rel="stylesheet" href="path/to/node_modules/element-theme-chalk/lib/index.css">
```

##  Import on demand
```javascript
import 'element-theme-chalk/lib/input.css';
import 'element-theme-chalk/lib/select.css';

// ...
```
npm package: @lx-frontend/element-theme-usedcar-center
Description: Element component chalk theme.
Author: yi.shyang@ele.me
Latest version: 0.1.7

# element-theme-chalk
> element component chalk theme.


## Installation
```shell
npm i element-theme-chalk -S
```

## Usage

Use Sass import
```css
@import 'element-theme-chalk';
```

Or Use webpack
```javascript
import 'element-theme-chalk';
```

Or
```html
<link rel="stylesheet" href="path/to/node_modules/element-theme-chalk/lib/index.css">
```

##  Import on demand
```javascript
import 'element-theme-chalk/lib/input.css';
import 'element-theme-chalk/lib/select.css';

// ...
```

## Development

安装依赖：
```
npm install
```

启动预览：
```
npm run dev
```
npm package: @lx-frontend/eslint-plugin
Description: lixin ESLint plugin
Latest version: 3.0.0

# @lx-frontend/eslint-plugin

1. taro react 推荐配置
2. import sort
3. 元素边界
4. 禁用语法、对象等
5. 代码复杂度
6. 自定义 rules

## 测试覆盖

![Statements](./badges/badge-statements.svg)
![Branches](./badges/badge-branches.svg)
![Functions](./badges/badge-functions.svg)
![Lines](./badges/badge-lines.svg)


## Installation

```shell
pnpm add --save-dev eslint prettier @lx-frontend/eslint-plugin
```

## Configuration

### taro(react) project

```shell
pnpm add --save-dev eslint-config-taro
```

```js
import eslintPlugin from '@lx-frontend/eslint-plugin'
import { defineConfig } from 'eslint/config'

export default defineConfig([...eslintPlugin.configs['flat/taroReactCustomSkipFormatting']])
```

## usage

```shell
npx eslint src --ext .tsx,.ts,js,jsx --fix && npx prettier ./src --write
```

## 说明

1. 先用 eslint 格式化一次，再用 prettier 二次格式化。
2. 当前 import 采用 eslint 进行排序
3. prettier 支持 tailwindcss、unocss class 进行格式化，无需再安装相关 eslint 插件。
4. 不要使用 eslint-plugin-prettier，把 prettier 错误抛给 eslint 展示，让 eslint 专注 lint、prettier 专注于 format。

## 相关 rules

1. 代码边界
2. 代码圈复杂度
3. url-checker
npm package: @lx-frontend/lixin-npm
Description: lixin npm cli
Latest version: 1.1.2

# @lx-frontend/lixin-npm

lixin npm cli

## 安装

```bash
npm i -g @lx-frontend/lixin-npm
```

## 使用

### 生成 .npmrc 文件

```bash
lxnpm rc
```

默认生成 .npmrc 文件只包含 @lixin-sdk scope 相关配置；如需加入其他配置，可自行添加 .lxnpmrc 文件配置。

默认读取当前目录下的 .lxnpmrc 文件，通过 -c flag 可指定自定义相对当前目录路径


### 登录 lixin npm

```bash
lxnpm login
```

gitlab ci 环境下会跳过登录流程
npm package: @lx-frontend/lixin-release
Description: lixin release cli
Latest version: 0.1.3

# @lx-frontend/lixin-release

lixin release cli —— 基于 [Changesets](https://github.com/changesets/changesets) 的自动化发布工具，适用于 monorepo 和单体项目，通常配合 CI/CD 流水线使用。

## 安装

```bash
npm i -g @lx-frontend/lixin-release
```

## 使用

```bash
lxrelease
```

在项目根目录（或 CI 环境中）运行即可，无需额外参数。

## 工作流程

执行 `lxrelease` 后，CLI 会按以下步骤自动完成发布：

1. **初始化 Changeset 配置**

   - 确保 `.changeset/` 目录存在
   - 写入 `changelog-config.js` 和 `config.json`（始终覆盖，保持最新）

2. **读取 Commit 信息**

   - 支持 merge commit（自动取 `HEAD^2` 作为信息来源）
   - 普通 commit 直接取 `HEAD`

3. **推断语义化版本类型**

   | Commit 前缀                   | 版本类型 |
   | ----------------------------- | -------- |
   | `feat!:` / `BREAKING CHANGE:` | `major`  |
   | `feat:` / `feat(scope):`      | `minor`  |
   | 其他                          | `patch`  |

4. **确定目标包**

   - 默认：通过 `pnpm list -r --filter="...[HEAD~1]"` 检测自上次 commit 以来有变动的包
   - `[release-all]` 标记：在 commit message 中加入 `[release-all]`，强制对所有 workspace 包发布

5. **生成 Changeset 文件**

   - 在 `.changeset/` 下生成 `auto-<timestamp>.md`

6. **配置 Git（CI 环境）**

   - 若环境变量 `GITLAB_TOKEN`、`CI_SERVER_HOST`、`CI_PROJECT_PATH` 均存在，自动配置 git user 和 remote URL

7. **版本 → 发布 → 推送**
   ```
   pnpm changeset version
   git add . && git commit
   pnpm changeset publish
   git push origin HEAD:master --follow-tags -o ci.skip
   ```

## CI/CD 集成示例

```yaml
# .gitlab-ci.yml 示例
release:
  stage: release
  script:
    - lxrelease
  rules:
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
```

所需环境变量：

| 变量           | 说明                                                                                                                          |
| -------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `GITLAB_TOKEN` | GitLab OAuth2 token，用于推送代码和 tag【建议创建 Project Access Tokens，配置 `write_repository` scope 和 `Maintainer` role】 |

## Commit Message 规范

遵循 [Conventional Commits](https://www.conventionalcommits.org/) 规范：

```
feat(button): add size prop          # minor
fix(input): handle empty value       # patch
feat!: redesign API                  # major
chore: update deps [release-all]     # patch，并发布所有包
```

## Changeset 配置说明

CLI 会自动写入以下配置到 `.changeset/config.json`：

```json
{
  "changelog": ["./changelog-config.js", {}],
  "commit": false,
  "access": "restricted",
  "baseBranch": "master",
  "updateInternalDependencies": "patch",
  "privatePackages": { "version": true, "tag": true }
}
```

## 注意

- 由于涉及往仓库中 push 代码, 需注意在 `.gitignore` 中排除无关文件，包括各类缓存或构建产物等
- 忽略 `.changeset` 目录

## License

MIT
npm package: @lx-frontend/multi-validator
Description: common validator
Author: Vic
Latest version: 0.1.1


> JS 通用的响应式校验工具。适用 nodejs、vue、react、小程序、原生。数据变化自动触发校验


## Usage

```js
import Validator from '@lx-frontend/browser-validator'

// 待校验数据
const formData = {
  name: 'lisa',
  age: '12'
}

// 校验规则 （默认支持 required min max） 同样支持正则表达式校验、检验函数（必须返回 true|false）
const ruleConfig = {
  name: [
    {
      validator: 'required',
      msg: '必填'
    },
    {
      validator: 'min:2 max:6',
      msg: '长度在 2 ~ 6 之间'
    }
  ],
  age: [
    {
      validator: 'required',
      msg: '必填'
    },
    {
      validator: val => +val >= 20,
      msg: '长度在 2 ~ 6 之间'
    }
  ]
}

const validator = new Validator(formData, ruleConfig)
// 单个字段校验是否通过
validator.isError('age') // true | false
// 单个字段校验 (不传要校验的字段则默认校验全部)
validator.verify('age')
// 整体校验
validator.verify()
```

## 扩展默认规则

```js
import { Validator, rules } from '@lx-frontend/browser-validator'

rules.extendRegexp({
  onlyNumber: /^\d+$/,
  // ...
})

rules.extendValidator({
  lessThanTen: val => {
    val = +val
    return val < 10
  },
  // ...
})
```
npm package: @lx-frontend/prettier-config
Description: Shared Prettier config for lx frontend projects
Latest version: 0.0.2

# @lx-frontend/prettier-config

`lx-basic` 的共享 Prettier 配置，可在多个项目中直接复用。

## 安装

```bash
pnpm add -D prettier @lx-frontend/prettier-config
```

在当前 monorepo 内使用时，也可以直接引用 workspace 包：

```bash
pnpm add -D prettier @lx-frontend/prettier-config@workspace:*
```

## 使用

推荐在项目根目录创建 `prettier.config.cjs`：

```js
module.exports = require('@lx-frontend/prettier-config')
```

如果还需要做少量项目级覆盖：

```js
module.exports = {
  ...require('@lx-frontend/prettier-config'),
  printWidth: 100,
}
```
npm package: @lx-frontend/report
Description: Sentry excepiton report.
Author: jeek tan
Latest version: 0.4.1

## @lx-frontend/report
### 开发
**1. 安装依赖**
```js
npm run bootstrap
```

---
**2. 构建**
```js
npm run build
```

---
**3. 发布**
```js
npm run publish
```

### 使用
**1. 安装**
```js
npm install --save @lx-frontend/report
```

---
**2. 初始化**

使用：
```js
import { init } from '@lx-frontend/report'

init({
  enable: process.env.RUN_ENV === 'production',
  platform: 'mp',
  dsn: 'https://2e7514ffe05d464caf4f4f447a7212f4@sentry.lixinio.com/20',
  release: '',
  environment: process.env.RUN_ENV
})

```
参数说明：
- enable (boolean)：是否开启 sentry 上报
- platform (string)：运行平台，传入 mp 或者 web，目前只支持 mp
- dsn (string)：sentry 密钥
- release (string)：项目版本
- environment (string)：运行环境

---
**3. 上报 http 异常**

使用：
```js
import { reportHttpException,  } from '@lx-frontend/report'

const { config, data, header, statusCode } = res

const request = {
  url: config.url,
  method: config.method,
  header: config.header,
  body: config.body,
  timeout: config.timeout,
  custom: config.custom
}

const response = {
  status: statusCode,
  header,
  data
}

const tags = {
  user_id: 99
}

const extra = {
  test: 'hello'
}

reportHttpException({
  request,
  response,
  tags,
  extra
})
```

参数说明：
- request (object)
  - url (string)：请求链接
  - method (string)：请求方法
  - header (object)：请求头部
  - body (any)：请求参数
  - timeout (number)：请求超时时间（可选）
  - custom (object)：自定义请求配置（可选）
- response (object)
  - status (number)：响应状态码
  - header (object)：响应头部
  - data (any)：响应数据
- tags (object)：自定义标签（可选）
- extra (any)：额外携带数据（可选）

---
**4. 上报业务异常**

使用：
```js
import { reportBusinessException } from '@lx-frontend/report'

const extra = {
  test: 'hello'
}

reportBusinessException('上报业务异常', extra)
```
参数说明：
- 参数一 (string)：异常描述
- 参数二 (any)：额外携带数据（可选）

---
**5. 上报 socket 异常**

使用：
```js
import { reportSocketException } from '@lx-frontend/report'

const extra = {
  test: 'hello'
}

reportSocketException('上报 socket 异常', extra)
```

参数说明：
- 参数一 (string)：异常描述
- 参数二 (any)：额外携带数据（可选）
npm package: @lx-frontend/svg2canvas
Description: ![](https://img.shields.io/badge/SVG2canvas-ver0.0.5-lightgrey)![](https://img.shields.io/badge/build-success-success)
Author: FatDragon-Chan
Latest version: 0.0.1

# SVG2Canvas

![](https://img.shields.io/badge/SVG2canvas-ver0.0.5-lightgrey)![](https://img.shields.io/badge/build-success-success)









### 使用示例

![iShot_2022-09-07_11.57.35](http://img.chenzian.com/uPic/iShot_2022-08-16_17.52.54_2022_08_16_17_53_15_2022_08_16_17_53_19.gif)