open-index/open-npm huggingface dataset:
npm package: @fishx/umi-uportal
Description: ## 使用方式
Author: fisher
Latest version: 0.1.1

# umi框架集成进 uportal 插件

## 使用方式

- 在需要集成进 uportal 的 umi 工程中安装 @fishx/umi-uportal
  
  ```shell
  $ yarn add @fishx/umi-uportal
  ```

- 修改 umi 工程的 .umirc 配置文件

 1. 开启缓存路由功能
    ```js
    export default {
      history: 'memory',
    }
    ```
  开启缓存路由的目的是为了防止子工程集成进 uportal 之后，子工程路由的切换会影响主工程的路由。

  2. 配置插件
      ```js
      export default {
        plugins: [
          ['@fishx/umi-uportal', {
            integrateName: 'ucc2',
            fileList: [
              '/ipcc/socket.io.min.js',
              '/ipcc/PubSub.js',
              '/ipcc/agent-client-7.2.6.1.js',
              '/ipcc/adapter.min.js',
              '/janus/janus.js',
              '/umi.js',
              '/umi.css',
            ]
          }]
        ],
      }
      ```


    插件需要传入两个参数，`integrateName` 和 `fileList`:
    -  `integrateName` 
       用来指定挂载到 window 对象上的对象，这个对象上面会提供一个 render 方法，传入指定的id选择器，就可以调用该方法在指定的id容器内渲染出umi的内容。

    uportal打开新标签的时候正是通过window[integrateNmae].render(selector) 的方式来渲染umi工程的。
npm package: @fishx/utils
Description: - dateUtils - isNil - isString
Author: Fish Team
Latest version: 5.0.10

## fishx 工具类
- dateUtils
- isNil
- isString



### dateUtils
> 日期格式化工具

#### 使用方法
```js
import { dateUtils } from '@fishx/utils';
dateUtils.format(new Date(), 'yyyy-mm-dd');  // -》2019-01-02
dateUtils.parse('2019-01-02','yyyy-mm-dd');  // -》Date
```

#### 格式字符串定义
```
yyyy : 4位数年份
yy : 2位数年份
MM : 月份全拼（英文），例如:January、March
M :月份缩写（英文），3个字母
mm : 月份，2位，小于10时前面补零
m : 月份，小于10时前面不补零
dd : 一个月中的第几天，小于10时前面补零
d : 一个月中的第几天，小于10时前面不补零
HH : 小时，2位，小于10时前面补零---12小时制
H : 小时，小于10时前面不补零---12小时制
hh : 小时，2位，小于10时前面补零---24小时制
h : 小时，小于10时前面不补零---24小时制
ii : 分钟，2位，小于10时前面补零
i : 分钟，小于10时前面不补零
ss :秒，2位，小于10时前面补零
s : 秒，小于10前面不补0
p : 上午还是下午，小写字母 ('am' 或 'pm')
```



#### 方法
| 方法名 | 参数 | 返回值 | 备注 |
| ---- | ---- | ----| ---- |
| addYears | ( date, years ) | Date | 在指定的时间点上加上指定的年数 |
| addMonths | ( date, months ) | Date | 在指定的时间点上加上指定的月数 |
| addDays | ( date, days ) | Date | 在指定的时间点上加上指定的天数 |
| addHours | ( date, hours ) | Date | 在指定的时间点上加上指定的小时数 |
| addMinutes | ( date, minutes ) | Date | 在指定的时间点上加上指定的分钟数 |
| format | ( date, format ) | String | 日期格式化 |
| parse | ( date, format ) | Date | 日期解析 |
| getDaysInMonth | ( year, month ) | Number | 返回指定年月中的天数 |
| getStartOfDay | ( date) | Date | 获取一天的起始时间点 |
| getEndOfDay | ( date) | Date | 获取一天的结束时间点 |
| diffYears | (date1, date2) | Number | 返回两个日期相差的年数 |
| diffMonths | (date1, date2) | Number | 返回两个日期相差的月数 |
| diffDays | (date1, date2) | Number | 返回两个日期相差的日数 |


### isNil
> 判断是否是null或者undefine
> isNil(null);  => ture
> isNil(undefined);  => ture

### isString
> 判断是否是字符串
> isString("abc");  => ture

### cookieUtils
> cookie操作工具
> 
#### 使用方法

```js
import { cookieUtils } from '@fishx/utils';

cookieUtils.setCookie('fishx', 'thank you', 'd5') // 把fishx存入cookie，5天后过期
cookieUtils.setCookie('fishx', 'thank you', 'h5') // 把fishx存入cookie，5小时后过期
cookieUtils.setCookie('fishx', 'thank you', 's5') // 把fishx存入cookie，5秒后过期
cookieUtils.getCookie('fishx') // 从cookie中获取fishx的值
cookieUtils.delCookie('fishx') // 删除指定的cookie值
```

#### 方法
| 方法名 | 参数 | 返回值 | 备注 |
| ---- | ---- | ----| ---- |
| setCookie | ( name, value, time ) | undefined | 设置cooke, time类型的单位有三种s、h、d,分别表示秒、小时和天 |
| getCookie | ( name ) | string | 获取指定cookie的值 |
| delCookie | ( name ) | undefined | 删除指定的cookie |
npm package: @fishx/view-dsl-lsp
Description: Lowcode View DSL Language Server
Author: qifutao
Latest version: 0.0.36

# View DSL Language Server

## 代码更新

`npm run compile`后`npm publish`类型校验报错不用管，打包发布需要node 14以上版本

## debug方式

- cd packages/lowcode-view-dsl-lsp/view-dsl-lsp/ 运行 `npm run watch` 命令，启动监听模式; 运行 `yalc publish`
- cd packages/view-lsp-node-server/ 运行 `yalc add @fishx/view-dsl-lsp@XXX` 命令，关联本地包；
- 在步骤二的基础上，运行 `npm run debug` 命令; 打开chrome浏览器，输入 `chrome://inspect/#devices`地址，点击`inspect`按钮
进入控制台调试页

## 热更新代码方式

- 进入debug模式（`view-dsl-lsp`启动监听模式、`view-lsp-node-server`软连接到编译包），`view-dsl-lsp`修改代码后，`rollup`会自动编译修改的代码输出到`dist`
- 每次修改代码后，等待编译完成，另外开启一个终端 yalc push更新包
- 更新包完成后，重新在浏览器内重新`inspect`

## 停止调试、提交代码

- `yalc remove`停止连接
npm package: @fisker/commitlint-config
Description: fisker's Shareable commitlint Configuration
Author: fisker Cheung
Latest version: 2.0.5

# @fisker/commitlint-config

> fisker's Shareable commitlint Configuration

## Install

```sh
yarn add prettier @commitlint/cli @fisker/commitlint-config --dev
```

## Usage

```js
module.exports = {extends: ['@fisker/commitlint-config']}
```

## License

MIT © [fisker Cheung](https://www.fiskercheung.com/)
npm package: @fisker/eslint-config
Description: fisker's Shareable ESLint Configuration
Author: fisker Cheung
Latest version: 15.4.0

# @fisker/eslint-config

> fisker's Shareable ESLint Configuration

## Install

```sh
yarn add --dev eslint prettier @fisker/eslint-config
```

## .eslintrc.js

```js
import fiskerEslintConfig from '@fisker/eslint-config'

export default [...fiskerEslintConfig]
```

## Todos

- [x] airbnb config
- [x] prettier plugin
- [x] unicorn plugin
- [x] promise plugin
- [x] node plugin
- [x] html plugin
- [x] eslint-comments plugin
- [x] ~optimize-regex plugin~ removed in favor of `unicorn/regex-shorthand`
- [ ] react plugin
- [ ] webpack plugin (need evaluate)

## Links

- [ESLint](https://eslint.org/)
- [Prettier](https://prettier.io/)
- [eslint-plugin-import](https://github.com/benmosher/eslint-plugin-import)
- [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn)
- [eslint-plugin-eslint-comments](https://github.com/mysticatea/eslint-plugin-eslint-comments)
- [eslint-plugin-node](https://github.com/mysticatea/eslint-plugin-node)
- [eslint-plugin-html](https://github.com/BenoitZugmeyer/eslint-plugin-html)
- [eslint-plugin-promise](https://github.com/xjamundx/eslint-plugin-promise)
- [eslint-plugin-optimize-regex](https://github.com/BrainMaestro/eslint-plugin-optimize-regex)
npm package: @fisker/eslint-config-ava
Description: fisker's Shareable ESLint Configuration for ava test
Author: fisker Cheung
Latest version: 4.2.0

# @fisker/eslint-config-ava

> fisker's Shareable ESLint Configuration for ava test

## Install

```sh
yarn add --dev @fisker/eslint-config @fisker/eslint-config-ava
```

## .eslintrc.js

```js
module.exports = {
  extends: ['@fisker', '@fisker/ava'],
}
```

## Links

- [ESLint](https://eslint.org/)
- [Prettier](https://prettier.io/)
- [Airbnb JavaScript Style Guide](https://github.com/airbnb/javascript)
- [@fisker/eslint-config](https://github.com/fisker/shared-configs)
- [eslint-plugin-ava](https://github.com/avajs/eslint-plugin-ava)

## License

MIT © [fisker Cheung](https://www.fiskercheung.com/)
npm package: @fisker/eslint-config-jest
Description: fisker's Shareable ESLint Configuration for jest test
Author: fisker Cheung
Latest version: 5.2.0

# @fisker/eslint-config-jest

> fisker's Shareable ESLint Configuration for jest test

## Install

```sh
yarn add --dev @fisker/eslint-config @fisker/eslint-config-jest
```

## .eslintrc.js

```js
module.exports = {
  extends: ['@fisker', '@fisker/jest'],
}
```

## Links

- [ESLint](https://eslint.org/)
- [Prettier](https://prettier.io/)
- [Airbnb JavaScript Style Guide](https://github.com/airbnb/javascript)
- [@fisker/eslint-config](https://github.com/fisker/shared-configs)
- [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest)

## License

MIT © [fisker Cheung](https://www.fiskercheung.com/)
npm package: @fisker/eslint-config-legacy
Description: fisker's Shareable ESLint Configuration for legacy project
Author: fisker Cheung
Latest version: 9.5.0

# @fisker/eslint-config-legacy

> fisker's Shareable ESLint Configuration for legacy project

## Install

```sh
yarn add --dev eslint prettier @fisker/eslint-config-legacy
```

## .eslintrc.js

```js
module.exports = {
  extends: ['@fisker/legacy'],
}
```

## foreign config & plugins

### @fisker/eslint-config

- [compare `@fisker/legacy` with `@fisker`](https://github.com/fisker/shared-configs/tree/master/packages/eslint-config-legacy/docs/compare-legacy-fisker.md)

### eslint-config-airbnb-base

- [compare `@fisker/legacy` with `airbnb-base/legacy`](https://github.com/fisker/shared-configs/tree/master/packages/eslint-config-legacy/docs/compare-legacy-airbnb.md)

## Links

- [ESLint](https://eslint.org/)
- [Prettier](https://prettier.io/)
- [Airbnb JavaScript Style Guide](https://github.com/airbnb/javascript)
- [@fisker/eslint-config](https://github.com/fisker/shared-configs)
- [eslint-plugin-es](https://github.com/mysticatea/eslint-plugin-es)

## License

MIT © [fisker Cheung](https://www.fiskercheung.com/)
npm package: @fisker/eslint-config-mocha
Description: fisker's Shareable ESLint Configuration for mocha test
Author: fisker Cheung
Latest version: 3.2.0

# @fisker/eslint-config-mocha

> fisker's Shareable ESLint Configuration for mocha test

## Install

```sh
yarn add --dev @fisker/eslint-config @fisker/eslint-config-mocha
```

## .eslintrc.js

```js
module.exports = {
  extends: ['@fisker', '@fisker/mocha'],
}
```

## Links

- [ESLint](https://eslint.org/)
- [Prettier](https://prettier.io/)
- [Airbnb JavaScript Style Guide](https://github.com/airbnb/javascript)
- [@fisker/eslint-config](https://github.com/fisker/shared-configs)
- [eslint-plugin-mocha](https://github.com/lo1tuma/eslint-plugin-mocha)

## License

MIT © [fisker Cheung](https://www.fiskercheung.com/)
npm package: @fisker/eslint-config-vue
Description: fisker's Shareable ESLint Configuration for vue project
Author: fisker Cheung
Latest version: 13.4.0

# @fisker/eslint-config-vue

> fisker's Shareable ESLint Configuration for Vue project

## Install

```sh
yarn add --dev eslint prettier @fisker/eslint-config-vue
```

## .eslintrc.js

```js
import fiskerEslintConfigVue from '@fisker/eslint-config-vue'

export default [...fiskerEslintConfigVue]
```

## Links

- [ESLint](https://eslint.org/)
- [Prettier](https://prettier.io/)
- [Airbnb JavaScript Style Guide](https://github.com/airbnb/javascript)
- [@fisker/eslint-config](https://github.com/fisker/shared-configs)
- [eslint-plugin-vue](https://github.com/vuejs/eslint-plugin-vue)
npm package: @fisker/husky-config
Description: fisker's Shareable husky Configuration
Author: fisker Cheung
Latest version: 4.2.0

# @fisker/husky-config

> fisker's Shareable husky Configuration

## Install

```sh
yarn add husky @fisker/husky-config --dev
```

## Usage

```js
module.exports = require('@fisker/husky-config')
```

## Customize

```js
// prepend
module.exports = require('@fisker/husky-config').prepend({
  'pre-commit': 'yarn test',
})

// append
module.exports = require('@fisker/husky-config').append({
  'pre-commit': 'yarn test',
})
```

## Overrides

```js
// use overrides method
module.exports = require('@fisker/husky-config').overrides({
  'pre-commit': 'yarn test',
})
```

## License

MIT © [fisker Cheung](https://www.fiskercheung.com/)
npm package: @fisker/lint-staged-config
Description: fisker's Shareable lint-staged Configuration
Author: fisker Cheung
Latest version: 3.4.0

# @fisker/lint-staged-config

> fisker's Shareable lint-staged Configuration

## Install

```sh
yarn add prettier lint-staged @fisker/lint-staged-config --dev
```

## Usage

```js
module.exports = require('@fisker/lint-staged-config')
```

## License

MIT © [fisker Cheung](https://www.fiskercheung.com/)
npm package: @fisker/markdownlint-cli2-config
Description: fisker's Shareable markdownlint-cli2 Configuration
Author: fisker Cheung
Latest version: 0.1.0

# @fisker/markdownlint-cli2-config

> fisker's Shareable markdownlint-cli2 Configuration

## Install

```sh
yarn add prettier @fisker/markdownlint-cli2-config --dev
```

## Usage

```js
module.exports = require('@fisker/markdownlint-cli2-config')
```
npm package: @fisker/parse-srcset
Description: A spec-conformant JavaScript parser for the HTML5 srcset attribute
Author: Alex Bell
Latest version: 1.0.2

# parse-srcset

A javascript parser for the [HTML5 srcset](http://www.w3.org/TR/html-srcset/) attribute, based on the [WHATWG reference algorithm](https://html.spec.whatwg.org/multipage/embedded-content.html#parse-a-srcset-attribute). It has an extensive test suite based on the [W3C srcset conformance checker](http://w3c-test.org/html/semantics/embedded-content/the-img-element/srcset/parse-a-srcset-attribute.html). It conforms to the jQuery JSCS style rules.

Tests are written using Intern-geezer for compatibility.

To run the tests in console:

```
$ npm test
```

Or in a browser, just open the html file at:

```
node_modules/intern-geezer/client.html?config=tests/intern
```

I’m on twitter [@tweetywheaty](https://twitter.com/tweetywheaty).
npm package: @fisker/postcss-config
Description: fisker's Shareable postcss Configuration
Author: fisker Cheung
Latest version: 2.2.0

# @fisker/postcss-config

> fisker's Shareable postcss Configuration

## Usage

```sh
module.exports = require('@fisker/postcss-config')
```

## Links

- [postcss](https://github.com/postcss/postcss)
- [postcss-preset-env](https://github.com/csstools/postcss-preset-env)

## License

MIT © [fisker](https://www.fiskercheung.com)
npm package: @fisker/release-it-config
Description: fisker's shareable release-it Configuration
Author: fisker Cheung
Latest version: 6.0.2

# @fisker/release-it-config

> fisker's shareable release-it Configuration

## Install

```sh
yarn add @fisker/release-it-config --dev
```

## Usage

```js
// .release-it.cjs
module.exports = require('@fisker/release-it-config')
```
npm package: @fisker/renovate-config
Description: fisker's shareable renovate configuration
Author: fisker Cheung
Latest version: 4.4.1

# renovate-config-fisker

> fisker's shareable renovate configuration

## Usage

```sh
echo {"extends":["github>fisker/shared-configs//packages/renovate-config/default"]}> .github/renovate.json5
```

```sh
echo {"extends":["@fisker"]}> renovate.json
```

## Links

- [renovatebot](https://renovatebot.com/)
npm package: @fisker/stylelint-config
Description: fisker's Shareable stylelint Configuration
Author: fisker Cheung
Latest version: 6.2.0

# @fisker/stylelint-config

> fisker's Shareable stylelint Configuration

## Install

```sh
yarn add --dev stylelint prettier @fisker/stylelint-config
```

## stylelint.config.js

```js
module.exports = {
  extends: ['@fisker/stylelint-config'],
}
```

## Links

- [stylelint](https://stylelint.io/)
- [Prettier](https://prettier.io/)
- [stylelint-scss](https://github.com/kristerkari/stylelint-scss)
- [stylelint-config-standard](https://github.com/stylelint/stylelint-config-standard)
- [stylelint-config-recommended-scss](https://github.com/kristerkari/stylelint-config-recommended-scss)

## License

MIT © [fisker Cheung](https://www.fiskercheung.com/)
npm package: @fiskhandlarn/sass-pow
Description: Power² function for SASS/SCSS.
Author: Oskar Joelson
Latest version: 0.1.4
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

Deprecated, you should use [`math.pow`](https://sass-lang.com/documentation/modules/math#pow) instead.

# SASS pow()

Power² function for SASS/SCSS.

[![Total Downloads](https://img.shields.io/npm/dt/@fiskhandlarn/sass-pow.svg)](https://www.npmjs.com/package/@fiskhandlarn/sass-pow)
[![Latest Version](https://img.shields.io/npm/v/@fiskhandlarn/sass-pow.svg)](https://www.npmjs.com/package/@fiskhandlarn/sass-pow?activeTab=versions)
[![License](https://img.shields.io/npm/l/@fiskhandlarn/sass-pow.svg)](https://www.npmjs.com/package/@fiskhandlarn/sass-pow)

## Installation

Install this package, with [npm](https://www.npmjs.com/), in the root directory of your project.

```bash
$ npm install @fiskhandlarn/sass-pow --save-dev
```

Import it in your SCSS:

```scss
@import '@fiskhandlarn/sass-pow';
```

## Usage

```scss
foo {
  width: pow(20, 2) * 1px; // 400px
}
```

## Credits

Copied from [CSS-Tricks](https://css-tricks.com/snippets/sass/power-function/)
npm package: @fiskhandlarn/sass-sqrt
Description: Square root function for SASS/SCSS.
Author: Oskar Joelson
Latest version: 0.1.3
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

Deprecated, you should use [`math.sqrt`](https://sass-lang.com/documentation/modules/math#sqrt) instead.

# SASS sqrt()

√Square root function for SASS/SCSS.

[![Total Downloads](https://img.shields.io/npm/dt/@fiskhandlarn/sass-sqrt.svg)](https://www.npmjs.com/package/@fiskhandlarn/sass-sqrt)
[![Latest Version](https://img.shields.io/npm/v/@fiskhandlarn/sass-sqrt.svg)](https://www.npmjs.com/package/@fiskhandlarn/sass-sqrt?activeTab=versions)
[![License](https://img.shields.io/npm/l/@fiskhandlarn/sass-sqrt.svg)](https://www.npmjs.com/package/@fiskhandlarn/sass-sqrt)

## Installation

Install this package, with [npm](https://www.npmjs.com/), in the root directory of your project.

```bash
$ npm install @fiskhandlarn/sass-sqrt --save-dev
```

Import it in your SCSS:

```scss
@import '@fiskhandlarn/sass-sqrt';
```

## Usage

```scss
foo {
  width: sqrt(4) * 1px; // 4px
}
```

## Credits

Copied from [AntiMath](https://www.antimath.info/css/sass-sqrt-function/)