open-index/open-npm huggingface dataset:
npm package: @lvl/cis-wx
Description: ui组件
Author: lvlei
Latest version: 0.0.1

# MF-UI  

cis-2移动端组件库，适用于小程序/H5。  

## 项目引入  
npm install @lvl/cis-wx@0.0.1


## 使用组件  

```
import {
  MFApp as baseMFApp,
  MFPage as baseMFPage,
  MFComponent as baseMFComponent
} from '@lvl/cis-wx'

```
npm package: @lvl/wxapp-webpack-plugin
Description: 微信小程序 Webpack 插件
Author: lvlei
Latest version: 0.2.6

# @lvl/wxapp-webpack-plugin  

微信小程序 webpack 插件

## Usage

```bash
sudo npm install --registry=https://atc.bmw-brilliance.cn/nexus/repository/npm-group/ @cis/wxapp-webpack-plugin --save-dev
```
npm package: @lvleilei/npm2
Description: 包的描述-测试发布npm包
Author: 作者-lvleilei
Latest version: 0.1.0

# npm2

## Project setup
```
yarn install
```

### Compiles and hot-reloads for development
```
yarn serve
```

### Compiles and minifies for production
```
yarn build
```

### Lints and fixes files
```
yarn lint
```

### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).
npm package: @lvlte/rationalize
Description: Represent a floating point number as a rational number
Author: Eric Lavault
Latest version: 1.0.5

# rationalize

[![](https://avatars.githubusercontent.com/u/743164?s=12&v=4)](#) _Inspired by Julia's [rationalize](https://docs.julialang.org/en/v1/base/math/#Base.rationalize)_ [![](https://avatars.githubusercontent.com/u/743164?s=12&v=4)](#)

> Represent a floating point number `x` as a rational number `[p, q]` where
> `|x - p/q| ≤ tol` (the result will differ from x by no more than the given
> tolerance).

```ts
function rationalize(x: number, tol: number = eps(x)): [number, number]
```

## Install

```sh
npm install @lvlte/rationalize
```

## Usage

```js
// ESM
import { rationalize } from '@lvlte/rationalize';
```
```js
// CJS
const { rationalize } = require('@lvlte/rationalize');
```
```js
const [p1, q1] = rationalize(0.1);            // [1, 10]
const [p2, q2] = rationalize(Math.PI);        // [165707065, 52746197]
const [p3, q3] = rationalize(Math.PI, 0.01);  // [22, 7]

// The sign of x always goes to the numerator
const [p4, q4] = rationalize(-13.78);         // [-689, 50]
const [p5, q5] = rationalize(-0);             // [-0, 1]
```

## Safe Integers

The output ratio's components are guaranteed to be safe integers (float64
integers in the range `[-2^53 + 1, +2^53 - 1]`). In case one of
the component goes out of this range, a `RangeError` is thrown, which does not
happen as long as the tolerance is set to a value greater than or equal to
`eps(x)` (default). The exception to this rule concerns absolute values of `x`
less than `1/(2^53 - 1)` or greater than `2^53 - 1`. To rationalize these
tiny/huge numbers with the best precision, the numerator and denominator needs
to be represented with `bigint` (coming soon).

## Tolerance

The default tolerance is the [ULP](https://github.com/lvlte/ulp) of `x`, which
allows the best accuracy knowing that most of the floating point numbers we are
using, such as `0.1`, are already approximations. In most cases, you don't need
to change that except if you want to reduce the precision of the output. In case
you want to increase it, note that **using a zero tolerance will yield the exact
(binary) representation of x as a decimal ratio**. One legitimate case of using
tolerance less than `eps(x)` exists though : ensuring the result of the floating
point division `p/q` equals `x`, in this case you need to set the tolerance to
`eps(x)/2` :

```js
import { rationalize, eps } from '@lvlte/rationalize';

let x = 0.8;    // 0.8000000000000000(444089209850062616169452667236328125)
const [p1, q1] = rationalize(x);          // [4, 5]
const [p2, q2] = rationalize(x, 0);       // [3602879701896397, 4503599627370496]

x = 0.1 + 0.2;  // 0.30000000000000004(44089209850062616169452667236328125)
const [p3, q3] = rationalize(x);            // [3, 10]
const [p4, q4] = rationalize(x, eps(x)/2);  // [415716888680356, 1385722962267853]
console.log(p3/q3 === x)                    // false
console.log(p4/q4 === x)                    // true
```
npm package: @lvlte/tsconfig
Description: Typescript base config for my projects
Author: Eric Lavault
Latest version: 1.2.1

# tsconfig

> Typescript base config for my projects *(requires TypeScript >= 5.5)*

## Install

```sh
npm install --save-dev @lvlte/tsconfig
```

## Usage

In `tsconfig.json` use `extends` and override as needed, eg. :

```json
{
  "extends": "@lvlte/tsconfig",
  "compilerOptions": {
    "target": "ES2024",
  },
  "include": [
    "sources",
    "test"
  ],
  "exclude": ["**/*.spec.ts"]
}
```

## Documentation

- [What is a tsconfig.json ?](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html)
- [TSConfig Reference](https://www.typescriptlang.org/tsconfig/)
- [Compiler Options](https://github.com/microsoft/TypeScript-Website/blob/v2/packages/documentation/copy/en/project-config/Compiler%20Options.md)
- [Compiler Options (archive)](https://github.com/Microsoft/TypeScript-Handbook/blob/master/pages/Compiler%20Options.md)
- [Modules - Choosing Compiler Options](https://www.typescriptlang.org/docs/handbook/modules/guides/choosing-compiler-options.html)
npm package: @lvlte/ulp
Description: Compute the ULP of a given number / Get the closest representable number that comes before/after it on the float64 number line
Author: Eric Lavault
Latest version: 1.2.1

# ulp (epsilon function)

> Compute the [ULP](https://en.wikipedia.org/wiki/Unit_in_the_last_place)
of a given IEEE-754 64-bit number: `eps(x)` (alias: `ulp(x)`).<br>
> Get the closest representable number that comes before/after it on the float64
number line: `nextFloat(x)`, `prevFloat(x)`.


## Install

```sh
npm install @lvlte/ulp
```

## Usage

### Import

```js
// ESM
import { eps, nextFloat, prevFloat } from '@lvlte/ulp';
```
```js
// CJS
const { eps, nextFloat, prevFloat } = require('@lvlte/ulp');
```

### eps(x) / ulp(x) (alias)
```js
console.log( eps() );                               // 2.220446049250313e-16
console.log( eps() === eps(1) );                    // true
console.log( eps() === Number.EPSILON );            // true

console.log( eps(Number.MAX_SAFE_INTEGER) );        // 1
console.log( eps(Number.MAX_SAFE_INTEGER + 1) );    // 2

console.log( eps(0) );                              // 5e-324
console.log( eps(0) === Number.MIN_VALUE );         // true

console.log( eps(Infinity) );                       // NaN
```

### nextFloat(x) / prevFloat(x)
```js
console.log( nextFloat(0) );                        // 5e-324
console.log( nextFloat(0) === Number.MIN_VALUE );   // true

console.log( nextFloat(1) );                        // 1.0000000000000002
console.log( nextFloat(1) === 1 + eps(1) );         // true

console.log( nextFloat(Number.MAX_SAFE_INTEGER) );  // 9007199254740992
console.log( nextFloat(9007199254740992) );         // 9007199254740994
console.log( nextFloat(Number.MAX_VALUE) );         // Infinity

console.log( prevFloat(0) );                        // -5e-324
console.log( prevFloat(1) );                        // 0.9999999999999999
console.log( prevFloat(9007199254740992) );         // 9007199254740991
console.log( prevFloat(Infinity) );                 // 1.7976931348623157e+308
```

## Use case

- Use the proper tolerance to check whether two floating-point numbers should be considered equal.
- Use the proper tolerance to approximate a floating-point number as a rational number.
npm package: @lvlup-sw/exarchos-dev
Description: Developer convenience plugins for Exarchos — installs Serena, Context7, and Microsoft Learn MCP
Author: lvlup-sw
Latest version: 2.0.3

# @lvlup-sw/exarchos-dev

Developer convenience plugins for [Exarchos](https://github.com/lvlup-sw/exarchos) — the agent governance system for Claude Code.

## What It Does

Adds optional developer tooling to your Exarchos installation:

- **GitHub** plugin — PRs, issues, code search
- **Serena** plugin — Semantic code analysis
- **Context7** plugin — Up-to-date library documentation
- **Microsoft Learn** MCP — Official Azure/.NET docs

## Install

```bash
npx @lvlup-sw/exarchos-dev
```

Or with bun:

```bash
bunx @lvlup-sw/exarchos-dev
```

This enables the three Claude Code plugins in `~/.claude/settings.json` and registers the Microsoft Learn MCP server in `~/.claude.json`.

## Prerequisites

- [Exarchos](https://github.com/lvlup-sw/exarchos) installed (via marketplace or dev mode)
- Node.js >= 20

## License

Apache-2.0 — see [LICENSE](../LICENSE) for details.
npm package: @lvmaps/core
Description: Angular components for Google Maps
Author: Sebastian Holstein
Latest version: 1.1.5

Angular Google Maps (AGM) Core - Angular 2+ Google Maps components
=========

@lvmaps/core contains solutions for the Google Maps JavaScript Core API.

The sources for this package are in the [angular-google-maps](https://github.com/SebastianM/angular-google-maps) repository. Please file issues and pull requests against that repo.

This package contains different sources for different users:

1. The files located in the root dirare ES5 based with ES2015 modules.
1. Files with the name pattern *.umd.js are UMD bundled modules for fast load times during development.

License: See LICENSE file in this folder.
npm package: @lvmaps/drawing
Description: Angular Google Maps (AGM) extension for google maps drawing library
Latest version: 1.1.5

# Map Drawing for AGM

-----

this package adds drawing support to [AGM][agm].

## Installation

```sh
npm install @lvmaps/drawing
# or
yarn add @lvmaps/drawing
```

## Usage

1. Import the module

```typescript
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component
// add these imports
import { AgmCoreModule } from '@lvmaps/core';
import { AgmDrawingModule } from '@lvmaps/drawing
@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    AgmCoreModule.forRoot({
      apiKey: ['YOUR_API_KEY_HERE']
    }),
    AgmDrawingModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }
```
2. use it in your template

```html
<agm-map style="height: 300px" [latitude]="51.673858" [longitude]="7.815982" [agmDrawingManager]="drawing">
</agm-map>
<agm-drawing-manager #drawing="agmDrawingManager" [drawingMode]="'circle'" [circleOptions]="{fillColor:'red', radius: 150}"></agm-drawing-manager>
```


[drawing-manager]: https://developers.google.com/maps/documentation/javascript/reference/#drawing
[agm]: https://angular-maps.com/
npm package: @lvmaps/js-marker-clusterer
Description: Angular Google Maps (AGM) extension for js-marker-clusterer support
Author: Jens Fahnenbruck
Latest version: 1.1.5

# Marker Clusterer for AGM

-----

this package levereges the [js-marker-clusterer][js-marker-clusterer] to add clustering support to
[AGM][agm].

## Installation

@lvmaps/js-marker-clusterer has a peer depedency on [js-marker-clusterer][js-marker-clusterer]

```shell
npm install js-marker-clusterer @lvmaps/js-marker-clusterer --save
# or
yarn add js-marker-clusterer @lvmaps/js-marker-clusterer
```

## Usage

1. Import the module

    ```typescript
    import { BrowserModule } from '@angular/platform-browser';
    import { NgModule } from '@angular/core';
    import { AppComponent } from './app.component';

    // add these imports
    import { AgmCoreModule } from '@lvmaps/core';
    import { AgmJsMarkerClustererModule } from '@lvmaps/js-marker-clusterer';

    @NgModule({
      declarations: [
        AppComponent
      ],
      imports: [
        BrowserModule,
        AgmCoreModule.forRoot({
          apiKey: ['YOUR_API_KEY_HERE']
        }),
        AgmJsMarkerClustererModule
      ],
      providers: [],
      bootstrap: [AppComponent]
    })
    export class AppModule { }
    ```
2. use it in your template

    ```html
    <agm-map style="height: 300px" [latitude]="51.673858" [longitude]="7.815982">
      <agm-marker-cluster imagePath="https://raw.githubusercontent.com/googlemaps/v3-utility-library/master/markerclustererplus/images/m">
        <agm-marker [latitude]="51.673858" [longitude]="7.815982">
        </agm-marker><!-- multiple markers -->
      </agm-marker-cluster>
    </agm-map>
    ```


[js-marker-clusterer]: https://github.com/googlemaps/js-marker-clusterer
[agm]: https://angular-maps.com/
npm package: @lvmaps/snazzy-info-window
Description: Angular Google Maps (AGM) package for Snazzy Info Window support
Author: Sebastian Holstein
Latest version: 1.1.5

Angular Google Maps (AGM) Core - Angular 2+ Google Maps components
=========

@lvmaps/snazzy-info-window is an extension for the @lvmaps/core package that provides solutions for styleable/customizable info windows with the help of ['Snazzy Info Window'](https://github.com/atmist/snazzy-info-window).

The sources for this package are in the [angular-google-maps](https://github.com/SebastianM/angular-google-maps) repository. Please file issues and pull requests against that repo.

This package contains different sources for different users:

1. The files located in the root dirare ES5 based with ES2015 modules.
1. Files with the name pattern *.umd.js are UMD bundled modules for fast load times during development.

License: See LICENSE file in this folder.
npm package: @lvo/http
Description: [![npm version](https://badge.fury.io/js/%40lvo%2Fhttp.svg)](https://badge.fury.io/js/%40lvo%2Fhttp) [![Build Status](https://travis-ci.org/LVM-IT/lvo-http-lib.svg?branch=master)](https://travis-ci.org/LVM-IT/lvo-http-lib) [![codecov](https://codecov.io/g
Author: LVM
Latest version: 1.0.4

# Http

[![npm version](https://badge.fury.io/js/%40lvo%2Fhttp.svg)](https://badge.fury.io/js/%40lvo%2Fhttp)
[![Build Status](https://travis-ci.org/LVM-IT/lvo-http-lib.svg?branch=master)](https://travis-ci.org/LVM-IT/lvo-http-lib)
[![codecov](https://codecov.io/gh/LVM-IT/lvo-http-lib/branch/master/graph/badge.svg)](https://codecov.io/gh/LVM-IT/lvo-http-lib)
[![Known Vulnerabilities](https://snyk.io/test/github/lvm-it/lvo-http-lib/badge.svg?targetFile=http%2Fpackage.json)](https://snyk.io/test/github/lvm-it/lvo-http-lib?targetFile=http%2Fpackage.json)
[![Dependency Status][david-badge]][david-badge-url]
[![devDependency Status][david-dev-badge]][david-dev-badge-url]
[![Greenkeeper badge](https://badges.greenkeeper.io/LVM-IT/lvo-http-lib.svg)](https://greenkeeper.io/)
[![Angular Style Guide](https://mgechev.github.io/angular2-style-guide/images/badge.svg)](https://angular.io/guide/styleguide)


## Development server

Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.

## Code scaffolding

Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|module`.

## Build

Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `-prod` flag for a production build.

## Running unit tests

Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).

## Running end-to-end tests

Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).
Before running the tests make sure you are serving the app via `ng serve`.

test 2


[david-badge]: https://david-dm.org/lvm-it/lvo-http-lib.svg
[david-badge-url]: https://david-dm.org/lvm-it/lvo-http-lib
[david-dev-badge]: https://david-dm.org/lvm-it/lvo-http-lib/dev-status.svg
[david-dev-badge-url]: https://david-dm.org/lvm-it/lvo-http-lib?type=dev
npm package: @lvqconsult/nanosite
Description: Extremely simple static site generator
Author: Lars von Qualen
Latest version: 1.7.3

# Nanosite

Extremely simple, extremely oppinionated static site generator.

To get going run:

```bash
npm init
npm i --save nanosite
npx nanosite init
npx nanosite start
```

And you hit the ground running!

## Folder example

```
src
├─ assets
│  ├─ images
│  ├─ js
│  │  └─ app.js
│  └─ style
│     └─ style.scss
├─ pages
│  ├─ blog
│  │  ├─ article-1.pug
│  │  └─ index.pug
│  └─ index.pug
├─ partials
│  └─ _layout.pug
├─ translations.json
└─ context.js
```

## Commands

```bash
nanosite [command]

Commands:
  nanosite build [inputPath] [outputPath]            Build your site
  nanosite serve [inputPath]                         Serve up the site
  nanosite watch [inputPath] [outputPath] [pattern]  Watch for changes and build when detected
  nanosite start [inputPath] [outputPath] [pattern]  Watch and serve the site
  nanosite init [outputPath]                         Bootstrap a new site

Options:
  --version  Show version
  --help    Show help
```
npm package: @lvqconsult/spatium-cli
Description: This is a reeaaally simple cli for managing timesheets in flat json files, preferably in a git repo (this will become a requirement at some point).
Latest version: 4.0.0

# Spatium CLI

This is a reeaaally simple cli for managing timesheets in flat json files, preferably in a git repo (this will become a requirement at some point).

Using this cli in a git repo will give you a sort of ledger, which is really nice.

## Installation

It is recommended to create a new Git repo, where you will store the timesheets.

So remember to `npm init` and then just `npm i --save spatium-cli`.

We recommend adding a npm script:

```json
{
  "sp": "spatium-cli"
}
```
npm package: @lvqconsult/spatium-db
Description: Simple diffable json file database
Author: Lars von Qualen
Latest version: 0.0.7

# Spatium DB

Spatium DB was created because we needed to have a simple file based database, that would work well with Git, thus having to be easily diffable.

The database is intended to be used alongside Typescript.

## Getting started

```typescript
/**
 * interface SpatiumEntity {
 *   id?: string;
 *   sequence?: number;
 * }
 */

import { SpatiumDatabase, SpatiumEntity, SPATIUM_DATE_TRANSFORMER } from '@lvqconsult/spatium-db';

interface Order extends SpatiumEntity {
  orderDate: Date;
}

interface Customer extends SpatiumEntity {
  name: string;
  lastSeen: Date;
}

interface Invoice extends SpatiumEntity {
  amount: number;
}

class MyDatabase extends SpatiumDatabase {
  public orders = this.getTable<Order>('orders', ['id', 'orderDate']);
  public customers = this.getTable<Customer>('customers', ['id', 'test']);
  public invoices = this.getTable<Invoice>('invoices', ['id', 'test']);

  constructor() {
    super(resolve(process.cwd(), './db'));
  }
}

const db = new MyDatabase();

await db.ensureTables();

const johnDoe = await db.customers.create({
  name: 'John Doe',
  lastSeen: new Date(),
  age: 25,
});

await db.customers.create({
  name: 'Jane Doe',
  lastSeen: new Date(),
  age: 25,
});

await db.customers.update(johnDoe.id, {
  lastSeen: new Date(),
});

const order1 = await db.orders.create({
  orderDate: new Date(),
});

// Get all customers generator
for (const customerPromise of await db.customers.all()) {
  const customer = await customerPromise;
}

const customers = await db.customers.collectAll();
const anyJohnDoes = await db.customers.any(customer => customer.name === 'John Doe');
const customerCount = await db.customers.count();
await db.orders.delete(order1.id);
const johnDoesByPredicate = await db.customers.find(customer => customer.name === 'John Doe');
const johnDoeById = await db.customers.get(johnDoe.id);
const noJackDoes = await db.customers.none(customer => customer.name === 'Jack Doe');
const customerNames = await db.customers.pluck('name');
const customerIdsWhereAgeIs25 = await db.customers.pluckWhere('id', 'age', 25);
const customersWhereNameContainsDoe = await db.customers.search('Doe', 'name');
const customersWhereNameIsJohnDoe = await db.customers.searchStrictly('John Doe', 'name');
const customersAge25WhereNameContainsJohn = await db.customers.searchWhere('age', 25, 'John', 'name');
const customersAge25 = await db.customers.where('age', 25);
```
npm package: @lvsjack/permit2-sdk
Description: An sdk for interacting with permit2.
Latest version: 1.2.2

# permit2-sdk

## Local Development

### Checkout the repo
- `git clone --recurse-submodules https://github.com/Uniswap/permit2-sdk.git`

### Install dependencies
- `yarn`

### Run Unit Tests
- `yarn test`

### Run Forge tests
- `yarn build`
- `yarn interop`
- `(cd permit2 && forge build)`
- `forge test`
npm package: @lvsjack/sdk-core
Description: ⚒️ An SDK for building applications on top of Uniswap V3
Latest version: 4.1.6

# Uniswap SDK Core

[![Unit Tests](https://github.com/Uniswap/uniswap-sdk-core/workflows/Unit%20Tests/badge.svg)](https://github.com/Uniswap/uniswap-sdk-core/actions?query=workflow%3A%22Unit+Tests%22)
[![Lint](https://github.com/Uniswap/uniswap-sdk-core/workflows/Lint/badge.svg)](https://github.com/Uniswap/uniswap-sdk-core/actions?query=workflow%3ALint)
[![npm version](https://img.shields.io/npm/v/@uniswap/sdk-core/latest.svg)](https://www.npmjs.com/package/@uniswap/sdk-core/v/latest)
[![npm bundle size (scoped version)](https://img.shields.io/bundlephobia/minzip/@uniswap/sdk-core/latest.svg)](https://bundlephobia.com/result?p=@uniswap/sdk-core@latest)

This code is shared across Uniswap TypeScript SDKs.
npm package: @lvstrijland/vue-components
Description: Components for VueJS applications
Author: Laurens van Strijland
Latest version: 1.0.3

# Vue Components

This package contains all VueJS components created by Laurens van Strijland

## Installation

Use the package manager [npm](https://www.npmjs.com/get-npm) to install Vue Components

```bash
npm install @lvstrijland/vue-components
```

## Usage

```javascript
import {Table, Form} from '@lvstrijland/vue-components/src'
```

## Available components

* Table (generates HTML5 table)
* Form  (generates HTML5 form with HTTP request option)
* Datepicker (generates VueJS 3 compatible basic datepicker)

## License

[MIT](https://choosealicense.com/licenses/mit/)

Copyright [Laurens van Strijland](https://laurensvanstrijland.nl)
npm package: @lvtui/ant-design-vue
Description: 基础ant-design-vue 1.7.8 例如select组件功能的优化，tag多选模式支持拖拽排序
Latest version: 1.8.5

## 说明

@lvtui/ant-design-vue 是官方版本的修改版本，加入了一些自定义的功能：

- 1.select tag 多选模式支持拖拽排序的功能
- [!] 更多功能持续输出中
npm package: @lvxiaohui/cocos-tree-shake-test
Description: Flux Framework for Cocos Creator - Real npm package test
Author: Test
Latest version: 1.0.0

# @flux-test-real/cocos

**This is a test package for verifying Sub-path Exports Tree Shaking in Cocos Creator.**

## Test Purpose

Verify if Cocos Creator supports npm package-level Tree Shaking with Sub-path Exports.

## Package Structure

```
@flux-test-real/cocos/
├── common/    # Shared utilities (1.6KB)
├── ui/        # UI Manager (2.3KB)
├── audio/     # Audio Manager (2.7KB)
└── ecs/       # ECS System (2.8KB)
```

## Usage

```typescript
// Only import UI module
import { UIManager } from '@flux-test-real/cocos/ui';

// Expected: Only UI and Common should be bundled
// Audio and ECS should be excluded
```

## Test Scenario

1. Install this package
2. Import only `@flux-test-real/cocos/ui`
3. Build the Cocos Creator project
4. Check if Audio and ECS modules are excluded from the build output

## Test Date

2025-10-31
npm package: @lvxiaowu/antd3
Description: antd3-components
Author: lvxiaowu
Latest version: 1.0.12

## 基于 antd3 的组件库

# @lvxiaowu/antd3

## 安装

```vim
npm install @lvxiaowu/antd3 --save
```

## 使用

```js
import { Button } from '@lvxiaowu/antd3'
```

## 文档

[参考](https://lvxiaowu.github.io/antd3-components-docs/app)
npm package: @lvxiaowu/antd4
Description: antd4-components
Author: lvxiaowu
Latest version: 1.0.2

## 基于 antd4 的组件库

# @lvxiaowu/antd4

## 安装

```vim
npm install @lvxiaowu/antd4 --save
```

## 使用

```js
import { Button } from '@lvxiaowu/antd4'
```

## 写 store 时必须注意以下几点

- 每个 store 必须有一个唯一的$storeName
- 每个 store 必须有 resetStore 方法
- 如果 store 里面含有其他 store，必须提供 getXXXStore 的方法去获取改 store