open-index/open-npm huggingface dataset:
npm package: @ronan-try/cli
Description: personal work cli
Author: Ronan
Latest version: 1.0.5

# ro-cli

## 2021-11-07
1. `ro fork` 与 `ro mr` 将自动关联分支
2. `ro ui` 实现

##

个人计划：
- [x] 自己动手一个工作相关的脚手架工具【先规划后动手】       
- [ ] 浏览器可视化操作【先规划后动手】     

> 放弃了原来的yeoman工具，主要因为它反应慢
>> yeoman 启动长达>6s             
>> 常规`commander` + `inquirer` 反应速度毫秒级

## 2021-10-29
1. 更新`ro fork` 和 `ro mr`, 便于直接向目标分支发起MR

## 功能概览

Feature      |  Win32  |  macOS  |  Ubuntu | Desc 
:-           |  :-:    |  :-:    |  :-:    | :-
`ro`         |  ✅     |   ✅     |   ❌    | 查看帮助 
`ro add`     |  ✅     |   ✅     |   ❌    | 添加项目配置
`ro delete`  |  ✅     |   ✅     |   ❌    | 添加项目配置
`ro update`  |  ✅     |   ✅     |   ❌    | 添加项目配置
`ro list`    |  ✅     |   ✅     |   ❌    | 查看已保存的项目
`ro fork`    |  ✅     |   ✅     |   ❌    | fork such branch fevam target repo
`ro sync`    |  ✅     |   ✅     |   ❌    | 将目标仓库branch 同步到本地仓库branch
`ro pr`      |  ✅     |   ✅     |   ❌    | 发起merge/pull request
`ro mr`      |  ✅     |   ✅     |   ❌    | 发起merge/pull request
`ro open`    |  ✅     |   ✅     |   ❌    | open such a pevaject with folder/ vscode
`ro start`   |  ✅     |   ✅     |   ❌    | `npm start` such a pevaject
`ro diff`    |  ❌     |   ❌     |   ❌    | 借助vscode的diff能力
`ro ng1`     |  ✅     |   ❌     |   ❌    | ng1 [-t/--test] [-m/--master] 当前分支`git merge` & `npm run build` & `git push`


## 来掐个表

Feature      |  掐表 vs 掐表  |  手动挡(在分支name不敲错的情况下) 
:-           |      :-:       |  :- 
`ro fork`    |  29s  vs  >50s |  ✅手动挡 
`ro sync`    |  28s  vs  >50s |  ✅手动挡 
`ro pr`      |  24s  vs  25s  |  ✅手动挡 
`ro mr`      |  24s  vs  25s  |  ✅手动挡 
`ro open`    |  10s  vs  13s  |  手动挡 
`ro start`   |  --s  vs  --s  |  比较无意义，目的在于不占用vscode terminal的空间 
`ro ng1`     |  34s  vs  72s  |  ✅手动挡，时间长了，就不记得os的发布流程了,含`npm run build`时间 

           
> 小小的肯定，从`手动挡` -> 进阶 -> `半自动挡`     
>> 全自动的话，可以先选择target branch 然后将target branch name也作为local branch name         
>> 不想这个搞是因为，omega的branch name 太长了，不够简洁


## 整理一份脑图
// to do


## npm 相关操作
记录使用到的操作，以免就着馒头吃了

1. 软连接 npm link 包
```shell
// 建立软链接
npm link

// to do 卸载link
```

2. 修改npm 包版本
```shell
// patch: 补丁包
// minor：小修小改
// major: 大改动
npm version <update_type>
```

3. 切换npm源头
```shell
// 查看所有
nrm ls

// 修改源
nrm use taobao
```

4. npm登录情况
```shell
npm whoami

// note: 使用用户名登录，非邮箱地址
npm login
```
npm package: @ronan-try/cli-cache
Description: ro-cli do cli-cache
Author: Ronan
Latest version: 1.0.5

# @ronan-try/cli-cache

## 2021-10-29
### 基础

1. `getXXFullPath(cacheName)`: 根据cacheName 获取全路径
2. `getRawCacheData(cacheName)`: 根据cacheName 获取全文件，使用`required`
3. `toRewriteCacheData(cacheName, data)`: 根据cacheName 写入数据

### 分支帮助类
1. `BranchMap.getRaw()`  获取源文件
1. `BranchMap.insertOrUpdate()` 插入或更新
1. `BranchMap.getTargetBranch()` 获取目标分支
1. `BranchMap.getTargetBranchByWorkPath()` 获取目标分支，根据workPath

// history do not care

## 打包后的文件在哪儿找
- umd (commjs, amd)，可以在`lib`文件夹中找到对应的
- es module 在哪儿？
- ts，可以在`src`文件夹中

## 目录结构

## 遗留问题
1. rollup 打包后，第三方包chalk被exclude，那么在其他人install这个包时，chalk怎么样呢

## 遇到难题
1. ts + rollup + commonjs(chalk.js) 
```js
  babelHelpers: 'bundled' option was used by default. It is recommended to configure this option explicitly, read more here: https://github.com/rollup/plugins/tree/master/packages/babel#babelhelpers
  [!] Error: 'default' is not exported by ..\..\..\node_modules\.pnpm\chalk@4.1.0\node_modules\chalk\source\index.js, imported by src\chalk.ts
  https://rollupjs.org/guide/en/#error-name-is-not-exported-by-module
  src\chalk.ts (1:7)
  1: import chalk from 'chalk';
```
直接显式搞一下
npm package: @ronan-try/cli-const
Description: ro-cli do cli-const
Author: Ronan
Latest version: 1.1.1

# ro-cli-shared-utils
参考 lodash，将函数体平铺

## 打包后的文件在哪儿找
- umd (commjs, amd)，可以在`lib`文件夹中找到对应的
- es module 在哪儿？
- ts，可以在`src`文件夹中

## 目录结构

## 遗留问题
1. rollup 打包后，第三方包chalk被exclude，那么在其他人install这个包时，chalk怎么样呢

## 遇到难题
1. ts + rollup + commonjs(chalk.js) 
```js
  babelHelpers: 'bundled' option was used by default. It is recommended to configure this option explicitly, read more here: https://github.com/rollup/plugins/tree/master/packages/babel#babelhelpers
  [!] Error: 'default' is not exported by ..\..\..\node_modules\.pnpm\chalk@4.1.0\node_modules\chalk\source\index.js, imported by src\chalk.ts
  https://rollupjs.org/guide/en/#error-name-is-not-exported-by-module
  src\chalk.ts (1:7)
  1: import chalk from 'chalk';
```
直接显式搞一下
npm package: @ronan-try/cli-os-utils
Description: ro-cli do cli-OS-utils
Author: Ronan
Latest version: 1.1.3

# ro-cli-shared-utils
参考 lodash，将函数体平铺

## 打包后的文件在哪儿找
- umd (commjs, amd)，可以在`lib`文件夹中找到对应的
- es module 在哪儿？
- ts，可以在`src`文件夹中

## 目录结构

## 遗留问题
1. rollup 打包后，第三方包chalk被exclude，那么在其他人install这个包时，chalk怎么样呢

## 遇到难题
1. ts + rollup + commonjs(chalk.js) 
```js
  babelHelpers: 'bundled' option was used by default. It is recommended to configure this option explicitly, read more here: https://github.com/rollup/plugins/tree/master/packages/babel#babelhelpers
  [!] Error: 'default' is not exported by ..\..\..\node_modules\.pnpm\chalk@4.1.0\node_modules\chalk\source\index.js, imported by src\chalk.ts
  https://rollupjs.org/guide/en/#error-name-is-not-exported-by-module
  src\chalk.ts (1:7)
  1: import chalk from 'chalk';
```
直接显式搞一下
npm package: @ronan-try/cli-service
Description: ro-cli do sm services
Author: Ronan
Latest version: 1.1.5

# ro-cli-shared-utils
参考 lodash，将函数体平铺

## 打包后的文件在哪儿找
- umd (commjs, amd)，可以在`lib`文件夹中找到对应的
- es module 在哪儿？
- ts，可以在`src`文件夹中

## 目录结构

## 遗留问题
1. rollup 打包后，第三方包chalk被exclude，那么在其他人install这个包时，chalk怎么样呢

## 遇到难题
1. ts + rollup + commonjs(chalk.js) 
```js
  babelHelpers: 'bundled' option was used by default. It is recommended to configure this option explicitly, read more here: https://github.com/rollup/plugins/tree/master/packages/babel#babelhelpers
  [!] Error: 'default' is not exported by ..\..\..\node_modules\.pnpm\chalk@4.1.0\node_modules\chalk\source\index.js, imported by src\chalk.ts
  https://rollupjs.org/guide/en/#error-name-is-not-exported-by-module
  src\chalk.ts (1:7)
  1: import chalk from 'chalk';
```
直接显式搞一下
npm package: @ronan-try/cli-shared-utils
Description: ro-cli cli-shared-utils
Author: Ronan
Latest version: 1.1.2

# ro-cli-shared-utils
参考 lodash，将函数体平铺

## 打包后的文件在哪儿找
- umd (commjs, amd)，可以在`lib`文件夹中找到对应的
- es module 在哪儿？
- ts，可以在`src`文件夹中

## 目录结构

## 遗留问题
1. rollup 打包后，第三方包chalk被exclude，那么在其他人install这个包时，chalk怎么样呢

## 遇到难题
1. ts + rollup + commonjs(chalk.js) 
```js
  babelHelpers: 'bundled' option was used by default. It is recommended to configure this option explicitly, read more here: https://github.com/rollup/plugins/tree/master/packages/babel#babelhelpers
  [!] Error: 'default' is not exported by ..\..\..\node_modules\.pnpm\chalk@4.1.0\node_modules\chalk\source\index.js, imported by src\chalk.ts
  https://rollupjs.org/guide/en/#error-name-is-not-exported-by-module
  src\chalk.ts (1:7)
  1: import chalk from 'chalk';
```
直接显式搞一下