https://github.com/jiawei397/deno_cli
some deno cli
https://github.com/jiawei397/deno_cli
deno typescript
Last synced: 11 months ago
JSON representation
some deno cli
- Host: GitHub
- URL: https://github.com/jiawei397/deno_cli
- Owner: jiawei397
- Created: 2021-06-03T10:17:37.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2025-03-27T09:05:05.000Z (about 1 year ago)
- Last Synced: 2025-04-10T23:14:27.885Z (about 1 year ago)
- Topics: deno, typescript
- Language: TypeScript
- Homepage:
- Size: 113 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 存放一些Deno的小工具
- [x] 给Deno或Node.js或Rust项目打标签
- [x] 下载资源
- [x] 脚手架,安装基于oak_nest、mongo的简单web工程
- [x] 切换当前工程的Git用户
- [x] 简易文件服务器
## 给Deno或Node.js或Rust项目打标签,并推送到远程
安装:
```bash
deno install -g --allow-read --allow-write --allow-run --unstable --import-map https://deno.land/x/jw_cli@v1.2.1/import_map.json -n tag -f https://deno.land/x/jw_cli@v1.2.1/cli/tag/mod.ts
```
### Node.js项目
在项目根目录下,执行
```bash
tag
```
### Deno项目
在项目根目录下执行:
```bash
tag -V 0.0.1
tag --version 0.0.1
```
或者
```bash
tag
tag patch # 与上面等价
tag minor
tag major
```
会更新根目录下以下文件的版本号:`deno.jsonc`或`deno.json`文件,以及`README.md`,如果后者有使用前三者之一中配置的`name`,将会对应替换。
比如本工程的名称为`jw_cli`,那么本文件中`jw_cli@v1.2.1`都会对应替换为新的版本。
#### 版本号不以v开头
假设你推送的tag版本号不想以v开头,那么可以添加一个参数-L或者--local:
```bash
tag patch -L
```
#### 添加自定义信息
打标签时默认提交信息是版本号,如果想自定义信息,可以使用-M或者--msg:
```bash
tag minor -M "feat: change some"
```
#### 更新所有目录的README.md文件
如果想要更新所有目录的README.md文件,可以使用-D或者--deep:
```bash
tag -D
```
## 下载资源
```bash
deno install -g --allow-write --allow-read --allow-net --unstable --import-map https://deno.land/x/jw_cli@v1.2.1/import_map.json -n deno_down -f https://deno.land/x/jw_cli@v1.2.1/cli/download.ts
```
之后执行:
```bash
deno_down
```
输入下载地址和名称即可。
也可以编译为可执行文件:
```bash
deno compile --unstable --allow-write --allow-read --allow-net --import-map https://deno.land/x/jw_cli@v1.2.1/import_map.json --target x86_64-pc-windows-msvc https://deno.land/x/jw_cli@v1.2.1/cli/download.ts
deno compile --unstable --allow-write --allow-read --allow-net --import-map https://deno.land/x/jw_cli@v1.2.1/import_map.json https://deno.land/x/jw_cli@v1.2.1/cli/download.ts
```
## 下载deno模板工程
模板工程是依赖于`oak`与`oak_nest`,包含日志、全局异常捕获以及我们的业务`sso`校验,数据库使用`mongodb`,`CICD`配置了`.gitlab-ci.yaml`文件,可自动发布部署到我们的`gitlab`。
```bash
deno install -g --allow-write --allow-read --allow-net --allow-run --unstable --import-map https://deno.land/x/jw_cli@v1.2.1/import_map.json -n deno_cli -f https://deno.land/x/jw_cli@v1.2.1/cli/project.ts
```
之后执行:
```bash
deno_cli 你的工程名称
# 或者在交互页面里输入工程名称
deno_cli
```
或者跳过全局安装,直接执行:
```bash
deno run --allow-write --allow-read --allow-net --allow-run --unstable --import-map https://deno.land/x/jw_cli@v1.2.1/import_map.json https://deno.land/x/jw_cli@v1.2.1/cli/project.ts 你的工程名称
```
## 增加Git Commit hook
安装
```bash
deno install -g --allow-write --import-map https://deno.land/x/jw_cli@v1.2.1/import_map.json -n deno_hook -f https://deno.land/x/jw_cli@v1.2.1/cli/git/git_hook.ts
```
之后运行:
```bash
deno_hook
```
也可以直接运行:
```bash
deno run --allow-write --import-map https://deno.land/x/jw_cli@v1.2.1/import_map.json https://deno.land/x/jw_cli@v1.2.1/cli/git/git_hook.ts
```
## 增加git push
安装
```bash
deno install -g --allow-run --import-map https://deno.land/x/jw_cli@v1.2.1/import_map.json -n push -f https://deno.land/x/jw_cli@v1.2.1/cli/git/push.ts
```
## 切换当前工程的Git用户
主要为解决工作中使用工作账户和GitHub上使用个人账户的问题。
```bash
deno install -g --allow-run --allow-net --allow-read --allow-write --allow-env --unstable --import-map https://deno.land/x/jw_cli@v1.2.1/import_map.json -n gum -f https://deno.land/x/jw_cli@v1.2.1/cli/git/user_change.ts
```
展示列表:
```bash
$ gum
# 等同于
$ gum list
┌───────┬──────────┬─────────────────┬─────────┐
│ Alias │ UserName │ Email │ Current │
├───────┼──────────┼─────────────────┼─────────┤
│ xx │ xxxxx │ xxxxx@126.com │ ✓ │
├───────┼──────────┼─────────────────┼─────────┤
│ xxxx │ xxxx │ xxxxxx@xxxx.com │ │
└───────┴──────────┴─────────────────┴─────────┘
```
增加:
```bash
$ gum add
? Set a username › test
? Set a email › test
? Set an alias (test) › test
Git user added
```
使用:
```bash
$ gum use test
```
删除:
```bash
$ gum del test
```
## 清理MacOS下被占用的端口
安装:
```bash
deno install -g --allow-run -n dk -f https://deno.land/x/jw_cli@v1.2.1/cli/kill.ts
```
使用:
```bash
dk 8080
```
## 启动简易文件服务器
快速在当前目录启动一个文件服务器,方便本地文件预览和共享。
安装:
```bash
deno install -g --allow-net --allow-read -n serve -f https://deno.land/x/jw_cli@v1.2.1/cli/file_server.ts
```
使用:
```bash
# 默认在8000端口启动服务
serve .
# 指定端口启动服务
serve . --port 9000
```
服务启动后,可以通过浏览器访问 `http://localhost:端口号` 来浏览和下载文件。
特性:
- 自动生成目录列表
- TypeScript (.ts) 文件会以 JavaScript 文件形式显示,不会被下载
- 支持大多数常见文件类型的预览