@existdb/xst

中文文档
4.1.2发布于 2026/03/05MITES Module构建来源已验证近 30 天下载 2112

命令行工具与已存在- db 实例互动

中文使用文档
文档目录13 节
  1. 安装
  2. 更新
  3. 使用量
  4. 实例
  5. 配置
  6. 带有配置文件
  7. 有环境变量
  8. 发展
  9. 测试
  10. 覆盖范围
  11. 无 REST
  12. 捐款
  13. 承诺
  ╲ ╱  ╓───  ──┰──
   ╳   ╰───╮   │  
  ╱ ╲  ▂▁▁▁│   ┇  

  A modern command line interface for exist-db

version Conventional Commits javascript style guide

Semantic Release CodeQL

建于顶上 @ 有性别歧视/无性别歧视。 。 。 .

安装

先决条件: 节点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_USERguest用户用于连接数据库并使用
EXISTDB_PASSguest在数据库中认证用户的密码
EXISTDB_SERVERhttps://localhost:8443要连接的数据库实例的 URL( 只允许 http 和 https 协议)

示例

EXISTDB_SERVER=http://127.0.0.1:8080 xst ls /db/apps

发展

如果您想要测试或开发此软件包, 请进一步遵循以下步骤

  1. 复制此寄存器

    git clone https://github.com/line-o/xst
    
  2. 更改到工作目录

    cd xst
    
  3. 安装软件包依赖性

    npm install
    
  4. 将此软件包链接到您的全局软件包目录

    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 将执行承诺,以确保承诺信息跟随常规承诺 信件格式

这些功能不是默认启动的,因为它阻止你从事在建工程. 但记住,当你打开公关时 两张支票都会运行 所以可能更容易 要从头检查此内容, 以后无需编辑历史 .

版本与发布记录

@existdb/xst 共发布 34 个版本,首次发布于 2022/12/14;过去 12 个月发布了 4 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
4.1.2latest2026/03/058 个月前
4.1.12026/02/059 个月前
4.1.02026/01/229 个月前
4.0.02026/01/199 个月前
3.3.02025/10/151.1 年前
3.2.02025/07/301.3 年前

关于 @existdb/xst 的常见问题

@existdb/xst 是什么?

命令行工具与已存在- db 实例互动

如何安装 @existdb/xst?

在项目目录运行 npm install @existdb/xst,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 xst,可以用 npx xst 直接运行。

@existdb/xst 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/existdb__xst 是否存在。

@existdb/xst 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@existdb/xst 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js ^20.19.0 || >=22.11.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@existdb/xst 可以商用吗?

@existdb/xst 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@existdb/xst 的下载量有多少?

根据 npm 官方下载统计,@existdb/xst 在 2026/10/14 – 2026/11/12 这 30 天内被下载 2,112 次,日均约 70 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@existdb/xst 还在维护吗?

最新版本 4.1.2 发布于 2026/03/05(8 个月前);至今共发布 34 个版本,其中过去 12 个月发布了 4 个;首次发布于 2022/12/14。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。