open-index/open-npm huggingface dataset:
npm package: @shuyun-ep-team/shuyun-version
Description: 自动化版本控制 CLI，自动化生成版本号、CHANGELOG.md、发布 npm 包、生成标签、提交至远程 Git
Author: mark.zhang
Latest version: 0.0.9

# shuyun-version

自动化版本控制 CLI，自动化生成版本号、CHANGELOG.md、发布 npm 包、生成标签、提交至远程 Git

## 安装

### 安装

```sh
npm i --save-dev @shuyun-ep-team/shuyun-version
```

### 在 package.json 中增加 script

```javascript
{
  "scripts": {
    "release": "shuyun-version -r"
  }
}
```

## CLI 使用

> 如果是 scope 包，如：`@shuyun-ep-team/shuyun-version`，以`@shuyun-ep-team`开头，请先使用`npm publish --access public`，提交第一个版本。

```bash
# 查看帮助
shuyun-version -h

# 自动化发布npm包
shuyun-version -r

# 自动化发布npm包并提交git
shuyun-version -p

# 自动更新版本并生CHANGELOG.md
shuyun-version -log

# 自动更新版本并生CHANGELOG.md、打Git标签
shuyun-version -lt
```

### 配置

```bash
--release [target]       自动化发布npm包
          [target]       目标目录
--publish [target]       自动化发布npm包并提交git
--changelog [target]     自动更新版本并生CHANGELOG.md
--changelogTag [target]  自动更新版本并生CHANGELOG.md
```

#### changelog 支持的 commit 类型：

```bash
"types": [
    {"type": "feat", "section": "Features"},
    {"type": "fix", "section": "Bug Fixes"},
    {"type": "chore", "hidden": true},
    {"type": "docs", "hidden": true},
    {"type": "style", "hidden": true},
    {"type": "refactor", "hidden": true},
    {"type": "perf", "hidden": true},
    {"type": "test", "hidden": true}
]
```

## 一个项目开发及版本管理的流程

### 假如你是 npm 包

- 做了一些修改
- 然后把修改提交了一些 git commit
- 确认 git 工作区是干净的
- 执行`npx shuyun-version -r`，假如是「dist」目录，则`npx shuyun-version -r dist`
- 执行脚本后会提示你输入要发布的版本号，假如你输入版本号：0.0.1
- 版本号无误后，会更改 package.json 中的版本号
- 生成 CHANGELOG.md，并执行`git add . && git commit -m "chore(release): 0.0.1" && git tag -a v0.0.1 -m "release: 0.0.1"`
- 下面再`npm publish`
- 如果想要在发布 npm 的同时 push 到 git 远程，则可以执行`npx shuyun-version -p`

### 假如你是一个业务项目

你可能只需要一些 changelog 的操作，比如我们每个月发版要打 tag 的操作

- 做了一些修改
- 然后把修改提交了一些 git commit
- 确认 git 工作区是干净的
- 执行`npx shuyun-version -log`
- 执行脚本后会提示你输入要发布的版本号（就是要打的 tag），假如你输入版本号：0.0.1
- 版本号无误后，会更改 package.json 中的版本号
- 生成 CHANGELOG.md
- `npx shuyun-version -log`仅仅会更新 CHANGELOG.md，如果想要打 tag 需执行`npx shuyun-version -lt`
- 最后，别忘了`git push`提交到远程

## 为什么造轮子

只是将`conventional-changelog-cli`与 npm 流程及 Git 提交流程做了相结合，抛砖引玉，希望大家贡献想法，一起优化。

- [staard-version](https://github.com/conventional-changelog/standard-version)：自动化版本控制和变更日志生成

* [conventional-changelog（生成 changelog）](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog)

* [conventional-changelog-cli](https://github.com/conventional-changelog/conventional-changelog/tree/master/packages/conventional-changelog-cli)：仅仅生成 changelog 的 CLI
npm package: @shuyun-ep-team/template-editor
Description: 标准的模板编辑器，适用于 短信模板、微信模板 编辑
Author: shuyun-ep-team
Latest version: 1.0.0

# @shuyun-ep-team/template-editor
基于`CodeMirror`实现的模板编辑器，一般用来作为短信编辑器或者微信模板编辑器使用。

Features:

+ 配置简单易用
+ 支持自定义的占位符（Placeholder）
+ 原生`Javascript`实现，可以任意框架中使用，比如 `React`、`Vue`、`Angular`

## 安装
```bash
npm i @shuyun-ep-team/template-editor
```

## 使用
```typescript
import { TemplateEditor } from '@shuyun-ep-team/template-editor';

const editor = new TemplateEditor(container, {
  initialValue: 'Dear {{nickname}}...',
  placeholders: []
});
```
npm package: @shuyun-ep-team/utils
Description: --- name: Introduction route: / ---
Author: @shuyun-ep-team
Latest version: 2.0.15

---
name: Introduction
route: /
---

# @shuyun-ep-team/utils ![npm latest version](https://img.shields.io/npm/v/@shuyun-ep-team/utils/latest.svg)

## Install
```bash
npm i @shuyun-ep-team/utils@latest
```

## Who We Are

@shuyun-ffe-team
npm package: @shuyun-ep-team/workshop-icons
Description: Workshop模块使用的图标库
Author: @shuyun-ep-team
Latest version: 0.2.18

# @shuyun-ep-team/workshop-icons ![npm latest version](https://img.shields.io/npm/v/@shuyun-ep-team/workshop-icons/latest.svg)

## Demo
[https://shuyunff2e.github.io/shuyun-ep-workshop-icons/react/](https://shuyunff2e.github.io/shuyun-ep-workshop-icons/react/)

## Install
`npm i @shuyun-ep-team/workshop-icons`


## Usage
```javascript
import ActionsAggregate from '@shuyun-ep-team/workshop-icons/react/ActionsAggregate';

<ActionsAggregate path1={{ fill:  'red' }} />
```
npm package: @shuyun-yffe/workshop-icons-publish-test
Description: Workshop模块使用的图标库
Author: @shuyun-ep-team
Latest version: 0.35.0

# @shuyun-ep-team/workshop-icons ![npm latest version](https://img.shields.io/npm/v/@shuyun-ep-team/workshop-icons/latest.svg)

## Demo
[https://shuyunff2e.github.io/shuyun-ep-workshop-icons/react/](https://shuyunff2e.github.io/shuyun-ep-workshop-icons/react/)

## Install
`npm i @shuyun-ep-team/workshop-icons`


## Usage
```javascript
import ActionsAggregate from '@shuyun-ep-team/workshop-icons/react/ActionsAggregate';

<ActionsAggregate path1={{ fill:  'red' }} />
```
npm package: @shvelo/date-fns
Description: Modern JavaScript date utility library
Latest version: 2.0.3

# ![](https://cdn.rawgit.com/date-fns/date-fns/c5bcd92d04f14da194e6298101a6509b1c3b30f0/docs/logo.svg) date-fns

[🙏 **Please help us to make the best date library for JavaScript. We need your support!**](https://opencollective.com/date-fns)

⚠️ **Warning**: the current master represents v2 pre-release version of the library. [See v1 branch](https://github.com/date-fns/date-fns/tree/v1).

**Pinned**: see [a brief comparison with Moment.js](https://github.com/date-fns/date-fns/issues/275#issuecomment-264934189).

**date-fns** provides the most comprehensive, yet simple and consistent toolset
for manipulating **JavaScript dates** in **a browser** & **Node.js**.

**date-fns** is like [lodash](https://lodash.com) for dates. It has
[**180+ functions** for all occasions](https://date-fns.org/docs/).

```js
import { compareAsc, format } from 'date-fns'

format(new Date(2014, 1, 11), 'yyyy-MM-dd')
//=> '2014/02/11'

const dates = [
  new Date(1995, 6, 2),
  new Date(1987, 1, 11),
  new Date(1989, 6, 10)
]
dates.sort(compareAsc)
//=> [
//   Wed Feb 11 1987 00:00:00,
//   Mon Jul 10 1989 00:00:00,
//   Sun Jul 02 1995 00:00:00
// ]
```

The library is available as an [npm package](https://www.npmjs.com/package/date-fns).
To install the package run:

```bash
npm install date-fns --save
# or with yarn
yarn add date-fns
```

## Docs

[See date-fns.org](https://date-fns.org/) for more details, API,
and other docs.

## License

[MIT © Sasha Koss](https://kossnocorp.mit-license.org/)