open-index/open-npm huggingface dataset:
npm package: @pch1024/good-repo-cli
Description: 一个自动化配置项目中流程与规范的工具，配置内容包括 husky、eslint、prettier、lintStaged、commitizen、release-it 内容。
Latest version: 0.0.5

# @pch1024/good-repo-cli

一个自动化配置项目中流程与规范的工具，配置内容包括 husky、eslint、prettier、lintStaged、commitizen、release-it 内容。

## 安装

```bash
# 全局安装
sudo npm i @pch1024/good-repo-cli -g
good-repo # 全局安装后使用

# 临时安装并使用
npx @pch1024/good-repo-cli good-repo
```

## 涉及改动文件

- 新增文件

```JS
// cli 文件
const goodreporcFile = path.join(cwd, ".goodreporc.json");

// 一些配置文件
const czrcFile = path.join(cwd, ".cz.json");
const commitlintrcFile = path.join(cwd, ".commitlintrc.json");
const lintstagedrcFile = path.join(cwd, ".lintstagedrc.json");
const releaseitrcFile = path.join(cwd, ".release-it.json");

// 其他
// .husky/*				# 由 husky 生成
// .eslintrc.json		# 由 eslint 生成
// CHANGELOG.md 		# 由 release-it 生成
```

- package.json

```json
// 可选的新增
"scripts": {
	"lint": "lint-staged",
	"prepare": "husky install",
	"commit": "git commit",
	"release": "HUSKY=0 release-it"
},
// 可选的新增
"devDependencies": {
    "@commitlint/cli": "^18.4.3",
    "@commitlint/config-conventional": "^18.4.3",
    "@commitlint/cz-commitlint": "^18.4.3",
    "@release-it/conventional-changelog": "^8.0.1",
    "@typescript-eslint/eslint-plugin": "^6.16.0",
    "@typescript-eslint/parser": "^6.16.0",
    "commitizen": "^4.3.0",
    "eslint": "^8.56.0",
    "husky": "^8.0.3",
    "lint-staged": "^15.2.0",
    "prettier": "^3.1.1",
    "release-it": "^17.0.1",
},
```

## 规范的开发流程

```bash
# 1 暂存文件
git add .

# 2 执行提交
git commit # 执行 husky 的 git hook（内部执行顺序：lint-staged、commitizen、commitlint）

# 3 发版

## 3.1 不需要发版
git push

## 3.2 需要发版
### 执行 HUSKY=0 release-it 命令
#### 内部执行顺序：
##### 1. 确认 NPM Publish 动作
##### 2. 确认 CommitMsg 信息
##### 3. 确认 GitTag 信息
##### 4. 确认 GitPush 动作
pnpm release
```
npm package: @pch18/proto2api
Description: Convert proto file to api file
Author: pch18
Latest version: 0.0.9

# 用于把proto文件转换成特定语言的api文件

## fork 修改记录
1. 修复 protoDir 问题，现象：proto 文件中的 import 再 -d 加入转换后认为是不同的文件，导致 duplicate 错误
1. 默认请求地址，根据 service 和 method 名称生成


## 使用说明

1. 先把需要转换的proto文件确定好
2. 依次遍历proto文件，然后转换成ts文件


## 快速开始
``` bash
npm install -g proto2api

cd proto2api 

proto2api -d examples/hello.proto -o api
```
## 命令行说明
```
Usage: proto2api [options]

Convert proto file to api file

Options:
Options:
  -V, --version         output the version number
  --debug               load code with ts-node for debug
  -d, --dir <type>      directory address of Protocol Buffers. eq: /path/pbdir
                        or /path/hello.proto
  -o, --output <type>   Output api path
  --protoDir <type>     The root directory for loading proto files. By default,
                        the directory folder named proto3|proto2 will be found.
                        If it still does not exist, it will try to find it
                        automatically, but the correctness is not guaranteed.
                        (default: "")
  --apiName <type>      apiName (default: "webapi")
  --apiPath <type>      apiPath (default: "~/utils/api")
  --prefix <type>       api prefix path (default: "")
  --depPath <type>      the address of the external dependency proto library.
                        eq: /common/proto3 (default: "")
  --ignore [ignore...]  ignore unnecessary generated pb files (default:
                        "google|swagger")
  -h, --help            display help for command
  -h, --help            display help for command
```
## 参考文档
Google Protobuf 语法指南 https://developers.google.com/protocol-buffers/docs/proto3
npm package: @pchittum/number-formatter
Description: Number Formatter Tutorial by jdaudier
Author: Peter Chittum
Latest version: 0.0.2

Number Formatter
=========

[![Build Status](https://travis-ci.org/pchittum/number-formatter.svg?branch=master)](https://travis-ci.org/pchittum/number-formatter)

[![Coverage Status](https://coveralls.io/repos/pchittum/number-formatter/badge.svg?branch=master&service=github)](https://coveralls.io/github/pchittum/number-formatter?branch=master)

A small library that adds commas to numbers

## Installation

  `npm install @pchittum/number-formatter`

## Usage

    var numFormatter = require('@pchittum/number-formatter');

    var formattedNum = numFormatter(35666);


  Output should be `35,666`


## Tests

  `npm test`

## Contributing

In lieu of a formal style guide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code.
npm package: @pcit/pcit-js
Description: PCIT JS SDK
Author: khs1994
Latest version: 18.12.0-rc.3

# PCIT JS SDK

[![npm](https://img.shields.io/npm/v/@pcit/pcit-js.svg)](https://www.npmjs.com/package/@pcit/pcit-js)
[![install size](https://packagephobia.now.sh/badge?p=@pcit/pcit-js)](https://packagephobia.now.sh/result?p=@pcit/pcit-js)

- https://github.com/pcit-ce/pcit-js

## Usage

PCIT-JS SDK 支持在浏览器、Node.js、微信小程序端运行。

### Browers

```html
// https://ci.domain.com/demo.html

<script src="https://lib.baomitu.com/js-cookie/2.2.0/js.cookie.min.js"></script>
<script src="https://unpkg.com/@pcit/pcit-js@18.12.0-rc.2/dist/pcit.min.js"></script>

<script>
  // get token from cookie
  // TODO please get git_type from url
  const git_type = 'github';

  const TOKEN = Cookies.get(git_type + '_api_token');

  const pcit = new PCIT(TOKEN, '');

  const pcit_user = pcit.user;

  (async () => {
    const result = await pcit_user.current();
    // TODO
    console.log(result);
  })();
</script>
```

### Node.js

```bash
$ npm i --save @pcit/pcit-js
```

```js
// you can save token to system env NODE_PCIT_TOKEN
const TOKEN = process.env.NODE_PCIT_TOKEN || 'xxx';

// get module
const pcit = require('@pcit/pcit-js');

// get repo instance
const pcit_repo = new pcit.Repo(TOKEN, 'https://ci.domain.com/api');

// call repo find method
(async () => {
  let result = await pcit_repo.find('pcit-ce', 'pcit');

  console.log(result);
})();
```

or

```js
// you can save token to system env NODE_PCIT_TOKEN
const TOKEN = process.env.NODE_PCIT_TOKEN || 'xxx';

// get pcit class
const PCIT = require('@pcit/pcit-js');

// get pcit instance
const pcit = new PCIT(TOKEN, 'https://ci.domain.com/api');

// get repo instance
const pcit_repo = pcit.repo;

// call repo find method
(async () => {
  let result = await pcit_repo.find('pcit-ce', 'pcit');

  console.log(result);
})();
```

### TypeScript

```bash
$ npm i --save @pcit/pcit-js
```

```ts
// you can save token to system env NODE_PCIT_TOKEN
const TOKEN: string = process.env.NODE_PCIT_TOKEN || 'xxx';

import PCIT from '@pcit/pcit-js';

const pcit = new PCIT(TOKEN, 'https://ci.khs1994.com/api');

const pcit_builds = pcit.builds;

(async () => {
  let result = await pcit_builds.find(100);
  console.log(result);
})();
```

## Dev

### PCIT 开发环境

```bash
$ npm run dev:build
```

### PCIT 小程序开发环境

```bash
$ npm run dev:miniprogram
```
npm package: @pcit/pcit-ui
Description: PCIT Frontend UI
Author: khs1994
Latest version: 18.12.0-alpha.0

# PCIT 前端

## 前端页面

* `profile` 个人主页 `/profile/github/khs1994`

* `dashboard` 控制面板 `/github/dashboard`

* `repo` 仓库主页 `/github/pcit-ce/pcit`

* `branches` 分支列表页 `/github/pcit-ce/pcit/branches`

* `build` build 详情页 `/github/pcit-ce/pcit/builds/105`

* `builds` build 列表页 `/github/pcit-ce/pcit/builds`

* `jobs` jobs 详情页 `/github/pcit-ce/pcit/jobs/105`

* `pull_requests` 列表页 `/github/pcit-ce/pcit/pull_requests`

* `settings` 设置页 `/github/pcit-ce/pcit/settings`

* `caches` 缓存列表 `/github/pcit-ce/pcit/caches`

* `requests` git 事件 `/github/pcit-ce/pcit/requests`

* `repos` 个人或组织的仓库列表页 `/github/khs1994-php`

## 前端构建工具

* Node & NPM

```bash
$ npm i
```

### Gulp

### webpack

```bash
# production

$ npm run webpack-pro
# $ npm run build

# development
$ npm run webpack-dev
```
npm package: @pckilgore/bs-crypto-js
Description: Bucklescript bindings for crypto-js
Author: Patrick Kilgore
Latest version: 0.2.0

# bs-crypto-js

Bucklescript bindings for [crypto-js](https://github.com/brix/crypto-js)@[3.1.9-1](https://www.npmjs.com/package/crypto-js/v/3.1.9-1)

## Current State

Minimal bindings over hasing function APIs I needed for another project (SHA / HMAC). **There are no cipher (encrypt/decrypt) bindings**.

Moreover, the typing could probably be better. According to these bindings, all `wordArray`s are the same, when they should probably be algo-specific. So if you call a SHA1 decoder on a SHA3 encoded hash, don't expect the type system to be much help.

I am more than happy to guide someone through the process of adding additional bindings or reorganizing this repo to be better typed (probably submodule-per-algo will be best but I'm open to all ideas).

This library may rapidly iterate until version 1.x.x. If you would like to use it now, I suggest pinning to a specific version in your package json.

## Installation

```console
$ npm install @pckilgore/bs-crypto-js
```

or

```console
$ yarn add @pckilgore/bs-crypto-js
```

## Examples

```reasonml
let hash = CryptoJs.sha1("This is my string");
Js.log(hash->CryptoJs.toString);
// 37fb219bf98bee51d2fdc3ba6d866c97f06c8223

Js.log(CryptoJs.(stringify(latin1, hash)));
// 7û!îQÒýÃºmlðl#

let hmacHash = CryptoJs.hmacSha3("whoa dude", "SuperSecretKey");
Js.log(hmacHash->toString)
// bc1b2108c3860e1c85683b74cbec9d4824b1fd1b27b0779de7b8582ecaa6d8af6cb26233dd690263fcdbec3adb6e5112c0054e0ad0c0b7a65fa4b18a424159bf
```
npm package: @pckilgore/now-terraform
Description: A now.sh builder for terraform.
Author: Patrick C. Kilgore
Latest version: 0.4.1

# :city_sunrise: now-terraform

[![Status](https://travis-ci.com/pckilgore/now-builder-terraform.svg?branch=master)](https://travis-ci.com/pckilgore/now-builder-terraform)[![npm version](http://img.shields.io/npm/v/@pckilgore/now-terraform.svg?style=flat)](https://npmjs.org/package/@pckilgore/now-terraform "View this project on npm")

Deploy your infrastructure using now.sh builders.

Uses terraform@0.11.13

## Example

> [This code is based on this fixture](test/fixtures/01-build-success)

### /now.json

```json
{
  "version": 2,
  "build": {
    "env": {
      "TF_VAR_AWS_ACCESS_KEY_ID": "@your_secret",
      "TF_VAR_AWS_SECRET_ACCESS_KEY": "@your_secret",
      "TF_VAR_REGION": "us-east-1"
    }
  },
  "builds": [{ "src": "index.tf", "use": "@pckilgore/now-builder-terraform" }]
}
```

### /infrastructure.tf

```terraform
variable "AWS_ACCESS_KEY_ID" {}
variable "AWS_SECRET_ACCESS_KEY" {}

variable "region" {
  default = "us-east-1"
}

provider "aws" {
  version    = "~> 2.6"
  access_key = "${var.AWS_ACCESS_KEY_ID}"
  secret_key = "${var.AWS_SECRET_ACCESS_KEY}"
  region     = "${var.region}"
}
```
npm package: @pckz/react-native-fast-emoji-picker
Description: emoji picker for react native
Author: Pedro Ojeda
Latest version: 1.0.4-development

# react-native-fast-emoji-picker

![Image of react-native-fast-emoji-picker](./assets/1.png)

# Installation

```
yarn add @pckz/react-native-fast-emoji-picker
```


#

```javascript
import EmojiPicker from "react-native-fast-emoji-picker";
```

### You need to have [reanimated](https://github.com/software-mansion/react-native-reanimated) installed.

# Demo

![Image of react-native-fast-emoji-picker](./assets/2.gif)

# Usage

```javascript
import EmojiPicker from "@pckz/react-native-fast-emoji-picker";
```

```jsx
<EmojiSelector
  onEmojiSelected={(emoji) => console.log(emoji)}
  columns={6}
  showSectionTitles
  showSearchBar
  showTabs
/>
```

## Props

| Prop              | Type     | Default          | Description                                              |
| ----------------- | -------- | ---------------- | -------------------------------------------------------- |
| onEmojiSelected   | _func_   |                  | Function called when a user selects an Emoji             |  |
| showTabs          | _bool_   | `true`           | Toggle the tabs on or off                                |
| showSearchBar     | _bool_   | `true`           | Toggle the searchbar on or off                           |
| showSectionTitles | _bool_   | `true`           | Toggle the section title elements                        |  |
| columns           | _number_ | `6`              | Number of columns accross                                |
| placeholder       | _string_ | `"Search Emoji"` | A string placeholder when there is no text in text input |


# Debug

### Error:

`TypeError: null is not an object (evaluating '\_ReanimatedModule.default.createNode')`

### Try

```
yarn add react-native-reanimated
```


### Error:

`LayoutException: RecyclerListView needs to have a bounded size. Currently height or, width is 0.Consider adding style={{flex:1}} or, fixed dimensions`

### Try

Setting `flex:1` all Parent Views or Add fixed Height

# Credit

[react-native-emoji-selector](https://github.com/arronhunt/react-native-emoji-selector)