0.3.15 • Published 6 years ago

zed-sync v0.3.15

Weekly downloads
2
License
MIT
Repository
-
Last release
6 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

6 years ago

0.3.14

6 years ago

0.3.13

7 years ago

0.3.12

7 years ago

0.3.11

7 years ago

0.3.10

8 years ago

0.3.9

8 years ago

0.3.8

8 years ago

0.3.7

9 years ago

0.3.6

9 years ago

0.3.5

9 years ago

0.3.4

9 years ago

0.3.3

9 years ago

0.3.2

9 years ago

0.3.1

9 years ago

0.3.0

9 years ago

0.2.0

9 years ago

0.1.13

9 years ago

0.1.12

9 years ago

0.1.11

9 years ago

0.1.9

9 years ago

0.1.7

10 years ago

0.1.6

10 years ago

0.1.5

10 years ago

0.1.4

10 years ago

0.1.3

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago