╲ ╱ ╓─── ──┰──
╳ ╰───╮ │
╱ ╲ ▂▁▁▁│ ┇
A modern command line interface for exist-db
建于顶上 @ 有性别歧视/无性别歧视。 。 。 .
安装
先决条件: 节点JS 18版或以后版本
npm install --global @existdb/xst
这样可以执行文件 xst 在你的路径.
更新
更新最新版本 xst
npm update --global @existdb/xst
使用量
xst <command>
您可以验证您的安装与
xst --version
输出命令和选项
xst --help
您可以使用 -- help with any command 获取关于如何使用的额外信息.
xst <command> --help
可用命令
| 命令 | 说明 | 别名 |
|---|---|---|
info | 收集系统信息 | |
get [options] <source> <target> | 下载收藏或资源 | download fetch |
upload [options] <source> <target> | 上传文件和目录 . | up |
remove [options] <paths..> | 删除收藏或资源 | rm delete del |
edit [options] <resource> | 在本地编辑器中编辑资源 | |
execute [<query>] [options] | 执行查询字符串或文件 | run exec |
list [options] <collection> | 列表收藏内容 | ls |
package list [options] | 列出已安装的软件包 | pkg ls |
package install <command> | 从各种来源安装 XAR 包 | pkg i <command> |
package uninstall [options] <packages..> | 删除 XAR 包( 检查依赖性) | pkg uninstall。 。 。 . |
实例
列表收藏
xst list /db
列出应用程序收藏的全部内容
这将输出所有收藏和资源的扩展和有色信息 /db/apps 在一棵树上.
xst list /db/apps --long --tree --color
注: 连接用户无法访问的资源和收藏将用 -- long 省略.
查找最大的 JavaScript 资源
xst list /db/apps --long --recursive --color --glob '*.js' --sizesort
下载资源
这将将仪表盘的控制器下载到当前的工作目录.
xst get /db/apps/dashboard/controller.xql .
下载收藏
如果目标是一个收藏, 将会在 指定目标及其全部内容将被下载.
xst get /db/apps/dashboard .
上述下载收藏的内容 /db/apps/dashboard 输入
dashboard 当前工作目录中的文件夹.
设置资源权限
这说明您如何通过任意运行扩展当前功能 剧本. 您需要以数据库管理员的身份来运行 查询.
xst execute 'sm:chmod(xs:anyURI($file), $permissions)' \
-b '{"file": "/db/apps/dashboard/controller.xql", "permissions": "rwxrwxr-x"}'
将权限重置回原状态.
xst execute 'sm:chmod(xs:anyURI($file), $permissions)' \
-b '{"file": "/db/apps/dashboard/controller.xql", "permissions": "rwxr-xr-x"}'
执行主模块
如果你一次又一次地用同样的查询 或者是复杂的查询
您可以保存到文件并使用 --file 参数.
xst execute --file my-query.xq
安装 XAR 包
注:启动命令的用户必须是DBA组的成员.
软件包安装将尝试解决并安装repo.xml中声明的所有依赖性. 如果找不到依赖性或无法安装,安装将失败 .
默认登记处(AKA public-repo)是 https://exist-db.org/exist/apps/public-repo 却被打败 --registry 选项.
从登记处
xst package install from-registry demo-apps
一个或多个本地文件
xst package install local-files path/to/*.xar
列出所有已安装的应用程序包及其依赖性
xst package list --applications --dependencies
解开软件包
注:启动命令的用户必须是DBA组的成员.
xst package uninstall demo-apps
配置
默认 xst 连接到 https://localhost:8443 作为用户来宾.
注: 您想要连接的实例必须运行, XML- RPC 必须启用 .
带有配置文件
xst 现在支持配置文件 。 全球 --config 选项需要可读路径
配置文件 。 目前承认三种不同的格式.
示例
xst ls /db/apps --config spec/fixtures/.xstrc
.xstrc (英语)
JSON 格式化文件, 您可以设置连接选项以及其他首选设置, 如
color 或者说 timesort来看看 实例.xstrc。 。 。 .
注: 布尔选项“ 安全” 已贬值 。 在加密和未加密之间切换 连接使用"protocol"代替. “安全”将继续为XMLRPC和REST工作,直到 2号版本.
存在性b.json
这些都存在于使用从eXistdb的Visual Studio代码插件中的同步功能的项目中.
dotenv 文件 :
EXISTDB_USER=admin
EXISTDB_PASS=my super secret p455w0rd!
EXISTDB_SERVER=http://localhost:8080
注: 如果当前工作目录包含 .env 文件 除非设置了 -- config 参数,否则将自动加载.
有环境变量
通过设置环境来覆盖任何默认连接参数
前缀的变量 EXISTDB。在下表中,请参见
参数及其默认值和描述.
| 变量名称 | 默认 | 说明 |
|---|---|---|
EXISTDB_USER | guest | 用户用于连接数据库并使用 |
EXISTDB_PASS | guest | 在数据库中认证用户的密码 |
EXISTDB_SERVER | https://localhost:8443 | 要连接的数据库实例的 URL( 只允许 http 和 https 协议) |
示例
EXISTDB_SERVER=http://127.0.0.1:8080 xst ls /db/apps
发展
如果您想要测试或开发此软件包, 请进一步遵循以下步骤
-
复制此寄存器
git clone https://github.com/line-o/xst -
更改到工作目录
cd xst -
安装软件包依赖性
npm install -
将此软件包链接到您的全局软件包目录
npm link
说明: 有了这个 --version 将总是输出 0.0.0-development。 。 。 .
测试
一旦您遵循了上述步骤, 并链接到此仓库的本地克隆 运行测试套件
npm test
注: 您需要运行一个存在db实例( 通常是本地开发实例 ) .
覆盖范围
如果您想要测试代码覆盖信息运行
npm run coverage
注: 您需要运行一个存在db实例( 通常是本地开发实例 ) .
无 REST
额外测试 spec/norest/**/*.js 保证一切正常运转
用于说明REST API已禁用的情况。 你可以运行这些
npm run test:norest
注: 记住,他们只会成功对抗一个实际已禁用REST的实例. 这个 测试 - 无 REST GitHub Action利用了这一点.
捐款
我们高兴地接受社区的贡献. 贡献可能只是读取中的一种类型或者更好的文档, 以及错误修正和新特性. 对于错误修正和特性,最好打开一个问题,这样 我们可以先讨论你的方法 这样你的公关就会 尽快合并.
在承诺实施该项目时,每个承诺信息必须符合 改为 常规承诺 作为版本和 释放是自动使用 语义释放。 。 。 .
承诺
如果您在开发时想要检查您的承诺, 您可以添加一个预承诺重写 嘘。 。 。 .
启动Husky项目
npx husky
这会增加钩子
- 承诺前
npm run lint保证任何联署材料的格式正确,并阻止你 在遇到诸如未使用变量之类的问题时实施. - 承诺- msg 将执行承诺,以确保承诺信息跟随常规承诺 信件格式
这些功能不是默认启动的,因为它阻止你从事在建工程. 但记住,当你打开公关时 两张支票都会运行 所以可能更容易 要从头检查此内容, 以后无需编辑历史 .