0.3.15 • Published 5 years ago

zed-sync v0.3.15

Weekly downloads
2
License
MIT
Repository
-
Last release
5 years ago

zed-sync

自动监听本地文件改动并同步到 dae pre 环境

演示

http://asciinema.dapps.douban.com/asciicast/3Y3ZR6B4

背景

感谢我们的 dae 工程师们,我们终于可以在 dae pre 环境中通过 zed 编辑器在线编辑和热更新 pre 上的文件了(http://readthedocs.dapps.douban.com/docs/dae/dev/pre.html#id2)。

但是 zed 编辑器存在以下问题:

  1. 无法和本地文件同步
  2. 功能有限,用起来也很不习惯..

考虑到 zed 编辑器是完全使用前端技术实现的,猜想和后端的通信方式应该也是通过普通的 web api 请求实现的。 于是看了下 zed-editor 的源码,果然找到了写文件请求的接口:

https://github.com/zedapp/zed/blob/master/app/js/fs/web.js#L108

一开始是打算写成编辑器的插件,但是考虑到大家都习惯使用不同的编辑器/IDE,于是就用 nodejs 写了一个监听本地文件改动并自动上传到 zed 服务端的命令行工具,希望也能给大家在开发的过程中带来一些便利。。

npm.io

安装

  1. 确保本地安装有 8 以上的 nodejs (查看 node 版本: node -v)
  2. 安装 zed-sync 到全局
  3. 在 doubandev3 上安装 dae sdk
npm i -g zed-sync

使用方法

  1. 根据 pre number 和 doubandev2 用户名自动获取 zed url (via run command over SSH)
# 自动获取 zed url 并监听当前目录
zed-sync -p <sshLoginName>@<preNum>
# e.g.
zed-sync -p yangzhen@69


# 获取 zed url 前先执行 dae pre update
zed-sync -p <sshLoginName>@<preNum> --up
# e.g.
zed-sync -p yangzhen@69 --up
  1. 手动获取 zed url dae prelease 环境可以通过 dae pre edit --pre <pre num> 得到 zed 实时编辑的服务端链接,具体可以参考 dae 文档: http://readthedocs.dapps.douban.com/docs/dae/dev/pre.html#id2

需要注意的是一定要在项目的根目录下运行该命令,这样才能计算出正确的路径。

npm i -g zed-sync

# 查看help
zed-sync -h

# 监听当前文件夹
zed-sync -u http://diggle1:7337/fs/321f6881cf9546ce9d41f6e26fc10412

# 监听指定文件夹
zed-sync -w <project root> -u http://diggle1:7337/fs/321f6881cf9546ce9d41f6e26fc10412

# 监听多个文件夹

zed-sync -w <dir1> <dir2> ... -u http://diggle1:7337/fs/321f6881cf9546ce9d41f6e26fc10412


zed-sync -u  http://diggle1:7337/fs/321f6881cf9546ce9d41f6e26fc10412 -s /path/to/sync/*

验证和缓存

为了避免出现监听错误的项目,在监听前会有以下验证

  1. 对第一次运行的分支进行缓存,如果同一个 zed 链接之后运行在了不同的分支,会提示错误并停止运行。过期时间为 5 天(重启后失效)。
  2. 会对本地与远程的 readme 内容进行比对,如果不一致会提示警告。

自动获取 zed 链接后会自动缓存到 tmp 目录(重启后失效,最多 5 天)。

跳过验证: -v=false

0.3.15

5 years ago

0.3.14

5 years ago

0.3.13

6 years ago

0.3.12

6 years ago

0.3.11

7 years ago

0.3.10

7 years ago

0.3.9

7 years ago

0.3.8

7 years ago

0.3.7

8 years ago

0.3.6

8 years ago

0.3.5

8 years ago

0.3.4

8 years ago

0.3.3

8 years ago

0.3.2

8 years ago

0.3.1

8 years ago

0.3.0

8 years ago

0.2.0

8 years ago

0.1.13

8 years ago

0.1.12

9 years ago

0.1.11

9 years ago

0.1.9

9 years ago

0.1.7

9 years ago

0.1.6

9 years ago

0.1.5

9 years ago

0.1.4

9 years ago

0.1.3

9 years ago

0.1.2

9 years ago

0.1.1

9 years ago

0.1.0

9 years ago