open-index/open-npm huggingface dataset:
npm package: @njong392/qa-duplicate-check
Description: Configurable duplicate detector for function and variable patterns in JS/TS projects
Author: Njong392
Latest version: 1.3.0

# @njong392/qa-duplicate-check

Config-driven duplicate detection for QA codebases.

It supports:
- Function duplicate detection (similarity-based)
- Variable duplicate detection (exact string-content match)
- Commit-time enforcement (`strict` block or `prompt` override)

## Install

```sh
npm i -D @njong392/qa-duplicate-check
```

## Config

Create `qa-duplicate-check.config.js` in your project root:

```js
module.exports = {
  functionSimilarityThreshold: 0.92,
  commitMode: 'strict', // 'strict' | 'prompt'
  rules: [
    {
      name: 'QA Actions',
      path: 'cypress/e2e/actions',
      kind: 'functions', // 'functions' | 'variables'
      include: ['.js'],
      crossFile: true,
    },
    {
      name: 'QA Pages',
      path: 'cypress/e2e/pages',
      kind: 'variables',
      include: ['.js'],
      crossFile: true,
    },
  ],
};
```

## Commands

```sh
qa-duplicate-check commit
qa-duplicate-check check
```

- `commit`: checks staged changes and enforces based on `commitMode`
- `check`: checks staged changes and exits non-zero on duplicates


## Husky integration

`package.json`:

```json
{
  "scripts": {
    "dupcheck:commit": "qa-duplicate-check commit",
    "dupcheck:check": "qa-duplicate-check check"
  }
}
```

`.husky/pre-commit`:

```sh
#!/bin/sh
npm run dupcheck:commit
```
npm package: @njrardin/react-fake-tweet
Description: A React component to render a fake tweet with a profile image, name, username, date, text and images.
Author: Nathanael Rardin
Latest version: 1.0.3

# Fake Tweet

Tweet React component. See a [live demo](https://lluiscamino.github.io/fake-tweet/).

## Example

![Fake tweet example](https://github.com/lluiscamino/fake-tweet/blob/master/example.png?raw=true)

## Installation

```bash
npm install @njrardin/react-fake-tweet
```

## Usage

The following snippet is an example of use of the `fake-tweet` component:

```javascript
import React from "react";
import FakeTweet from "fake-tweet";

function App() {
  const config = {
    user: {
      nickname: "twitter",
      name: "Twitter",
      avatar: "avatar.png",
      verified: true,
      locked: false
    },
    display: "default",
    text: "This is a fake tweet",
    image: "",
    date: "3:32 PM · Feb 14, 1997",
    app: "Twitter for iPhone",
    retweets: 32000,
    quotedTweets: 100,
    likes: 12700
  };
  return (
    <div className="App">
      <FakeTweet config={config} />
    </div>
  );
}

export default App;
```

You also need to pass a `config` object to the component with the following properties:

- **User**:
  - **Nickname**: Twitter @username
  - **Name**
  - **Avatar**: Twitter avatar URL
  - **Verified**: Set to true to include the verified icon
  - **Locked**: Set to true to include the private account icon
- **Display**: Twitter theme (``default``, ``dim`` or ``lightsout``)
- **Text**: The text the tweet will display
- **Image (optional)**: You can include an image to the tweet. Can be either a single URL string or an array of up to four URL strings for multiple images.
- **Date**: A string that represents a date
- **App**: For example, "Twitter for iPhone"
- **Retweets**: Number of retweets
- **Quoted Tweets**: Number of quoted tweets
- **Likes**: Number of likes
npm package: @njshaoshao/iconfont-svgs-getter
Description: A cli tool to get iconfont svg files from `iconfont.js`
Author: lesonky
Latest version: 1.0.1

# 通过`iconfont.js`提供的项目在线js地址来批量生产独立图标svg文件的小工具
# How to use
```bash
# 安装
npm install @njshaoshao/iconfont-svgs-getter -g

# 使用
iconfont-getter -u http://at.alicdn.com/t/font_1166492_9wf3vffws5h.js -o ~/test
```

参数介绍

|短参数|长参数|介绍|
|:--|:--|:--:|
|-u|--url|项目的在线js地址|
|-o|--output|svg文件存储路径|

功能实现

1. 从命令中读取 iconfont 项目的 js 地址
2. 获取 js 的文本信息
3. 从 js 的文本中解析出项目的 svg 内容
4. 切分 symbol 并解析
5. 循环处理每一个 symbol 并替换相关参数, 清理 svg 文件夹中的文件,并写入新的 svg 文件

svg存储路径

1. 参数提供的基础存储路径
2. 根据 icon 的 class 属性后缀 filled/outlined/twotone 会将 svg 分别写入对应的文件夹,这符合 antd 的规则
3. 如果 class 不符合上述三种后缀,则会进入 other 文件夹
npm package: @njshaoshao/we-theme
Description: WE Design Theme for Ant Design
Author: lesonky
Latest version: 1.0.0

<h1 align="center">Ant Design Theme for WE-Design</h1>

<div align="center">


Ant Design theme [variables](https://github.com/lesonky/we-theme-for-antd/blob/master/index.ts) for WE-Design.

> Still being experimental, welcome to try out and help us to improve it.

</div>

## Install

```bash
$ npm install @njshaoshao/we-theme
```

## Usage

### webpack

```js
import weTheme from '@njshaoshao/we-theme';

// webpack.config.js: less-loader
{
  loader: 'less-loader',
  options: {
    modifyVars: weTheme,
  },
},
```

### umi

[https://umijs.org/config/#theme](https://umijs.org/config/#theme)

```js
import weTheme from '@njshaoshao/we-theme';

// config.js or .umirc.js
export default {
  "theme": weTheme,
}
```

> Use in Ant Design Pro: https://github.com/ant-design/ant-design-pro/pull/2946/

### less

```less
@import "~@njshaoshao/we-theme/index.less";
```
npm package: @njshaoshao/we-theme-echarts
Description: an echarts theme from we design
Author: lesonky
Latest version: 1.0.2

# An echarts theme from WE Design

# How to use this theme

## with npm
```
npm install @njshaoshao/we-theme-charts
```

## with yarn
```
yarn add @njshaoshao/we-theme-charts
```

## global use
```JavaScript
import echarts from 'echarts';

// import theme one by one
// import rainbow from '@njshaoshao/we-theme-echarts/rainbow'
// import lake from '@njshaoshao/we-theme-echarts/lake'
// import autumn from '@njshaoshao/we-theme-echarts/autumn'

// import all themes
import { rainbow, lake , autumn } from '@njshaoshao/we-theme-echarts';

echarts.registerTheme('rainbow', webar);
echarts.registerTheme('lake', weline);
echarts.registerTheme('autumn', weline);

// then can use in init function with theme name
echarts.init(initDom, 'rainbow')
echarts.init(initDom, 'lake')
echarts.init(initDom, 'autumn')
```

## use in init function
```JavaScript
import echarts from 'echarts';

// import theme one by one
// import rainbow from '@njshaoshao/we-theme-echarts/rainbow'
// import lake from '@njshaoshao/we-theme-echarts/lake'
// import autumn from '@njshaoshao/we-theme-echarts/autumn'

import { rainbow, lake , autumn } from '@njshaoshao/we-theme-echarts';

echarts.init(initDom, rainbow)
echarts.init(initDom, lake)
echarts.init(initDom, autumn)
```
npm package: @njtsys/page
Description: A Vue.js project
Author: yimin.zhang
Latest version: 0.0.2

# Vue组件封装上传npm

> A Vue.js project

## 构建项目

```
├── src/                           // 源码目录
│   ├── ejtColmenu.vue             // 列控制组件代码
│   ├── ejtPagination.vue          // 分页组件代码
│   ├── index.js                   // 挂载插件
├── index.html                     // 入口html文件
├── package.json                   // 项目配置
├── package-lock.json              //
├── README.md                      // 项目描述
├── webpack.config.js              // 打包配置
```
开发组件并在src/index.js中挂在

## 发布到npm

###### 修改 webpack.config.js 文件

```
module.exports = {
    entry: './src/index.js',
    output: {
    path: path.resolve(__dirname, './dist'),
    publicPath: '/dist/',
    filename: 'ejtPlugin.js', //打包后名称
    library: 'ejtPlugin', // 指定的就是你使用require时的模块名
    libraryTarget: 'umd', // 指定输出格式
    umdNamedDefine: true // 会对 UMD 的构建过程中的 AMD 模块进行命名。否则就使用匿名的 define
  }...
```
###### 修改 package.json 文件

```
// 发布开源需要将这个字段改为 false
"private": false,

// import 时检索的路径
"main": "dist/ejtPlugin.js",
```

###### 发布

```
npm run build                // 打包项目
npm login                    // 登陆
npm publish --access=public  // 发布
```

## 组件使用

###### 安装组件
```
npm install ejt-plugin   // npm 安装
yarn add ejt-plugin      // yarn安装
```

###### 引入组件 App.vue 中

```
import Vue from 'vue'
import ejtPlugin from 'ejt-plugin'
Vue.use(ejtPlugin)
```

###### 使用组件-标签方式
```
<njt-colmenu></njt-colmenu>
<njt-pagination></njt-pagination>
```

[组件参数文档](parameter.md).
npm package: @njtsys/plugin
Description: A Vue.js project
Author: yimin.zhang
Latest version: 0.1.0

# Vue组件封装上传npm

> A Vue.js project

## 构建项目

```
├── src/                           // 源码目录
│   ├── ejtColmenu.vue             // 列控制组件代码
│   ├── ejtPagination.vue          // 分页组件代码
│   ├── index.js                   // 挂载插件
├── index.html                     // 入口html文件
├── package.json                   // 项目配置
├── package-lock.json              //
├── README.md                      // 项目描述
├── webpack.config.js              // 打包配置
```
开发组件并在src/index.js中挂在

## 发布到npm

###### 修改 webpack.config.js 文件

```
module.exports = {
    entry: './src/index.js',
    output: {
    path: path.resolve(__dirname, './dist'),
    publicPath: '/dist/',
    filename: 'ejtPlugin.js', //打包后名称
    library: 'ejtPlugin', // 指定的就是你使用require时的模块名
    libraryTarget: 'umd', // 指定输出格式
    umdNamedDefine: true // 会对 UMD 的构建过程中的 AMD 模块进行命名。否则就使用匿名的 define
  }...
```
###### 修改 package.json 文件

```
// 发布开源需要将这个字段改为 false
"private": false,

// import 时检索的路径
"main": "dist/ejtPlugin.js",
```

###### 发布

```
npm run build  // 打包项目
npm login      // 登陆
npm publish    // 发布
```

## 组件使用

###### 安装组件
```
npm install ejt-plugin   // npm 安装
yarn add ejt-plugin      // yarn安装
```

###### 引入组件 App.vue 中

```
import Vue from 'vue'
import ejtPlugin from 'ejt-plugin'
Vue.use(ejtPlugin)
```

###### 使用组件-标签方式
```
<njt-colmenu></njt-colmenu>
<njt-pagination></njt-pagination>
```

[组件参数文档](parameter.md).
npm package: @nju33/array-compare
Description: [![CircleCI](https://circleci.com/gh/nju33/array-compare.svg?style=svg&circle-token=6fc2ac3df0ac41fe8ee28180c908430d6b8747a4)](https://circleci.com/gh/nju33/array-compare) ![langulage: typescript](https://badgen.net/badge/language/typescript/007acc) ![npm
Author: nju33
Latest version: 0.0.1

# array-compare

[![CircleCI](https://circleci.com/gh/nju33/array-compare.svg?style=svg&circle-token=6fc2ac3df0ac41fe8ee28180c908430d6b8747a4)](https://circleci.com/gh/nju33/array-compare)
![langulage: typescript](https://badgen.net/badge/language/typescript/007acc)
![npm: array-compare](https://badgen.net/npm/v/@nju33/array-compare)
[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier)
![license: mit](https://badgen.net/badge/license/MIT/blue)
[![donate](https://badgen.net/badge/Donate%20via%20PayPal/$3.00/169bd7)](https://www.paypal.me/nju33/3USD)

## Install

```bash
yarn add @nju33/array-compare
```

## Example

```ts
import {arrayCompare} from '@nju33/array-compare';

arrayCompare(['foo', 'bar'], ['foo', 'barr']);
// [
//   {equal: true, a: 'foo', b: 'foo'},
//   {equal: false, a: 'bar', b: 'barr'}
// ]
```
npm package: @nju33/clify
Description: Before installng module, whose function use in cli
Author: nju33
Latest version: 0.1.4

# clify

[![npm version](https://badge.fury.io/js/%40nju33%2Fclify.svg)](https://badge.fury.io/js/%40nju33%2Fclify)

Before installng module, whose function use in cli

## Usage

```bash
npx @nju33/clify <module-name> <...args>
```

## Example

```bash
# Firstly, runnning to install process for you tried to use module (this's only once)
$ npx @nju33/clify nanoid
# ✔ nanoid installing...
# > + nanoid@1.0.1
# > added 1 package in 0.536s
"Y1VEj21ViLoHA_vy0_QJp"

# After the second time, it's simply denotes the result of function
$ npx @nju33/clify nanoid
"6KxKev1oGll96Qgky3vGb"

# async-await is fine as well.
# Arguments can be passed after the module name.
$ npx @nju33/clify pkg-dir '__dirname'
"path/to/node/project"

# You can remove to installing module so far. in following command.
$ npx @nju33/clify --clean
```
npm package: @nju33/eslint-config
Description: available configs is following like.
Latest version: 0.0.26

# @nju33/eslint-config

available configs is following like.

- `@nju33/eslint-config` (or `@nju33`)
- `@nju33/eslint-config/ts`
- `@nju33/eslint-config/react`
- `@nju33/eslint-config/react/ts`
- `@nju33/eslint-config/vue`
- `@nju33/eslint-config/vue/ts`

## use cases

### in the browser

"I will use the config for browser"
Okey at that time, to add `browser:true` into the `env` section.

```json
{
  "env": {
    "browser": true
  }
}
```

### in the monorepo

My recommendation is just putting the `.eslintrc` whose contents is empty in the root directory.  
After that, putting the `.eslintrc` in a each workspace directory. Those config is added `root:true`.

I will assume that there is an monorepo. And, it is directory structure following like.

```js
.
└── packages
    ├── bar
    ├── baz
    └── foo
```

The `bar`, `bar` and `baz` is workspace.

First of all to put `.eslintrc` in the root.

```json
{}
```

Next, in the each workspace to put the `.eslintrc` following like.

```json
{
  "root": true,
  "extends: [...]
}
```

In the `extends` section is putted what suits the project.