@feng0531/dsh-vcs 0.3.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +42 -0
- package/README.md +69 -0
- package/THIRD_PARTY_NOTICES.md +35 -0
- package/cordis.patch.yml +5 -0
- package/dist/MONACO-LICENSE.txt +21 -0
- package/dist/MONACO-ThirdPartyNotices.txt +448 -0
- package/dist/client.js +73 -0
- package/dist/editor.css +1 -0
- package/dist/editor.js +698 -0
- package/dist/editor.worker.js +15 -0
- package/docs/RELEASING.md +65 -0
- package/icon.svg +1 -0
- package/index.mjs +160 -0
- package/locale/en.json +6 -0
- package/locale/zh.json +6 -0
- package/package.json +81 -0
- package/vcs.mjs +327 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
DSH VCS 非商业源码公开许可证 1.0
|
|
2
|
+
DSH VCS Non-Commercial Source Available License 1.0
|
|
3
|
+
|
|
4
|
+
Copyright (c) 2026 f-e-n-g-0531 及各贡献者。
|
|
5
|
+
项目:https://github.com/f-e-n-g-0531/dsh-vcs
|
|
6
|
+
|
|
7
|
+
1. 适用范围
|
|
8
|
+
本许可证适用于本项目中由上述权利人有权授权且未另行标明许可的代码、文档及其修改版本(“本软件”)。本许可证是自定义的源码公开许可证,不是 OSI 认可的开源许可证。中文正文为具有约束力的文本,英文名称仅供识别。
|
|
9
|
+
|
|
10
|
+
2. 非商业授权
|
|
11
|
+
在遵守全部条款的前提下,权利人授予您全球范围、非独占、免许可费的权利,仅为非商业目的使用、复制、研究、修改和分发本软件的源码及编译版本。非商业目的指不主要旨在或用于获取商业利益、营业收入或金钱报酬的活动;个人非商业学习、无商业目的的教学、研究及公益使用可以适用。组织的营利或非营利身份本身不决定用途是否符合本条。
|
|
12
|
+
|
|
13
|
+
3. 商业用途限制
|
|
14
|
+
未经有关权利人另行明确书面授权,不得将本软件或其修改版本用于商业用途,包括但不限于:
|
|
15
|
+
(a) 销售、付费许可、出租本软件,或以其提供收费托管、SaaS、服务及付费产品;
|
|
16
|
+
(b) 集成到商业产品、收费分发包或以广告、订阅等方式获利的服务中;
|
|
17
|
+
(c) 在公司、组织或个人经营活动中,内部使用本软件开发、测试、维护或运营商业项目,即使本软件本身不对外分发或收费;
|
|
18
|
+
(d) 为客户提供有偿开发、咨询或其他商业交付时使用本软件。
|
|
19
|
+
免费提供、仅内部使用或修改名称,不构成商业用途豁免。用途不明确时,应先取得书面授权。
|
|
20
|
+
|
|
21
|
+
4. 复制、修改与分发条件
|
|
22
|
+
每份分发的源码或编译版本均须附带完整许可证及适用版权和第三方声明;不得删除或隐瞒这些声明。
|
|
23
|
+
修改版须清楚注明已修改、修改者及主要修改内容,不得冒充官方版本或暗示权利人背书。
|
|
24
|
+
您对本软件及基于本软件的修改部分的分发必须遵守本许可证,不得向接收者授予超出本许可证的商业使用权;接收者对原有部分的权利直接来自有关权利人。独立且非衍生的作品不因与本软件一同分发而自动适用本许可证。
|
|
25
|
+
本许可证不强制公开未分发的修改,也不要求分发编译版本时同时提供源码。所有分发仍须满足非商业条件。
|
|
26
|
+
|
|
27
|
+
5. 第三方材料与保留权利
|
|
28
|
+
Monaco Editor、依赖项及其他明确标注第三方许可的材料,仍各自适用其原许可证。本许可证不收回或限制第三方许可证已经授予的权利;仅独立使用这些材料时无需取得本项目的商业授权。
|
|
29
|
+
除明确授予的权利外,其余权利保留。本许可证不授予商标使用权,也不授予明示专利许可;不限制适用法律规定的不可排除权利。
|
|
30
|
+
|
|
31
|
+
6. 贡献与另行授权
|
|
32
|
+
贡献者保留其贡献的版权。主动向本项目提交并明确接受本许可证的贡献,按本许可证授权,不构成版权转让或额外商业再许可授权。维护者如为包含他人贡献的版本提供商业许可,须确保已取得所有必要权利;不得仅凭维护者身份授权不属于自己的权利。
|
|
33
|
+
商业授权请求可通过项目仓库联系维护者协商;沉默、公开源码或接受问题反馈不等于授权。
|
|
34
|
+
|
|
35
|
+
7. 终止
|
|
36
|
+
违反本许可证时,违约者依据本许可证取得的权利自动终止,应停止相关使用与分发。恢复授权须取得相关权利人的书面同意。终止不影响此前已合法取得副本并持续遵守本许可证的其他接收者,也不影响已经产生的责任。
|
|
37
|
+
|
|
38
|
+
8. 无担保与责任限制
|
|
39
|
+
在适用法律允许的最大范围内,本软件按“现状”提供,不提供任何明示或默示担保,包括适销性、特定用途适用性及不侵权担保。权利人和贡献者不对使用或无法使用本软件所致的损失、索赔或其他责任承担责任,无论基于合同、侵权或其他事由。法律不允许排除的担保或责任不受本条排除。
|
|
40
|
+
|
|
41
|
+
9. 其他
|
|
42
|
+
本许可证的任何条款不可执行时,其余条款在法律允许的范围内继续有效。后续发布的新许可版本不自动替换您依据本版本已合法取得副本所适用的条款。另行书面协议可对特定权利另作约定。
|
package/README.md
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# DSH VCS
|
|
2
|
+
|
|
3
|
+
DeepSeek Harness(DSH)Web 的只读 Git / SVN 变更预览插件。当前版本 **0.3.12**,包名 **@feng0531/dsh-vcs**,已配置 npm 公共发布(配置完成不代表已上架)。非商业许可证不变。
|
|
4
|
+
|
|
5
|
+
> 项目仓库:https://github.com/f-e-n-g-0531/dsh-vcs 。采用 [DSH VCS 非商业源码公开许可证 1.0](<LICENSE>):允许非商业使用、修改与分发,禁止商业使用(包括公司内部用于商业项目的开发、测试与维护),商业用途须另行书面授权。分发须保留许可证和版权,修改版须注明修改。第三方组件保持原许可。这是源码公开项目,不是 OSI 认可的开源软件。
|
|
6
|
+
|
|
7
|
+
## 功能
|
|
8
|
+
|
|
9
|
+
- 顶部下拉选择仓库,一次展示一个仓库;插件内没有额外的左侧仓库导航栏,文件列表仍在比较区左侧。
|
|
10
|
+
- Git 全部 / 已暂存 / 未暂存变更;SVN 本地 BASE 与工作副本、属性差异。
|
|
11
|
+
- Monaco 只读差异视图:并排 / 行内、忽略行尾空白、自动换行、差异导航;编辑器加载失败时提供简化文本比较。
|
|
12
|
+
- 文件搜索、目录分组 / 列表、中英文界面,以及新增、删除、重命名、未跟踪文件等状态预览。
|
|
13
|
+
- **不提供编辑、暂存、提交、回滚、推送、拉取或冲突解决操作。**
|
|
14
|
+
|
|
15
|
+
### 仓库发现
|
|
16
|
+
|
|
17
|
+
发现范围来自当前 Session 的服务端工作目录,浏览器不能指定任意绝对目录。宿主使用 maxDepth: 1、shallow: true:检查当前目录与直接子目录,并查找包含当前目录的上级 Git / SVN 仓库,不递归扫描整棵项目树。
|
|
18
|
+
|
|
19
|
+
更深层项目可在界面输入相对当前 Session 目录的子目录(例如 packages/example)重新发现;目标同样采用浅层扫描。绝对路径、.. 越界与经符号链接 / junction 的定向扫描会被拒绝。定向发现补充已有项目,清空输入重新发现则回到默认范围。
|
|
20
|
+
|
|
21
|
+
**包含仓库可能大于 Session 目录。** Session 位于仓库子目录时,预览范围可以覆盖整个已发现仓库,而不只该子目录。
|
|
22
|
+
|
|
23
|
+
### 比较语义
|
|
24
|
+
|
|
25
|
+
| 类型 / 模式 | 左侧 | 右侧 |
|
|
26
|
+
| --- | --- | --- |
|
|
27
|
+
| Git 全部 | HEAD | 工作区 |
|
|
28
|
+
| Git 已暂存 | HEAD | Index |
|
|
29
|
+
| Git 未暂存 | Index | 工作区 |
|
|
30
|
+
| SVN | 本地 BASE | 工作副本 |
|
|
31
|
+
|
|
32
|
+
新增、未跟踪或没有 HEAD 的文件按适用情况使用空白基线。Git 冲突降级为 HEAD 对工作区,不提供三方合并;SVN 替换节点可能没有可用的本地 BASE,会提示并使用空白基线,不为此连接服务器。
|
|
33
|
+
|
|
34
|
+
## 构建与安装
|
|
35
|
+
|
|
36
|
+
需要 Node.js **22 或更新版本**、npm、兼容插件接口的 DSH Web 宿主,以及 PATH 中可用的 Git 或 SVN。完整后端测试还需要 git、svn、svnadmin;缺少工具时应检查跳过项,不能把部分测试视为完整验收。
|
|
37
|
+
|
|
38
|
+
在项目根目录执行:
|
|
39
|
+
|
|
40
|
+
npm ci && npm run check
|
|
41
|
+
npm pack
|
|
42
|
+
|
|
43
|
+
check 构建并运行测试;npm pack 经 prepack 再次执行检查,生成含前端资源的安装包。推荐安装本地构建的 tgz,而不是让正式运行环境临时构建源码:
|
|
44
|
+
|
|
45
|
+
dsh plugin --profile web add <absolute-tgz>
|
|
46
|
+
|
|
47
|
+
将占位符替换为生成包的绝对路径;路径有空格时加引号。安装会改变目标 profile,请先核对环境。**需要重新加载宿主时,由用户自行重启 DSH**,再刷新已有 Web 页面;不要启动另一台服务器代替现有 GUI。
|
|
48
|
+
|
|
49
|
+
从 Git 安装依赖 prepare 构建,需要构建依赖及生命周期脚本执行权限。pnpm 宿主可能还需显式批准构建(allowBuilds);按实际 pnpm 版本仅授权可信包,不要全局放行脚本。建议从本仓库检出后构建 tgz 安装。
|
|
50
|
+
|
|
51
|
+
## 限制与排错
|
|
52
|
+
|
|
53
|
+
- 单侧文本预览上限 2 MiB;二进制、超大文件和目录 / 特殊文件显示提示,不保证内容比较。
|
|
54
|
+
- 编码自动识别:UTF-16 LE / BE BOM 优先;其余先严格 UTF-8,再尝试 GBK。带 UTF-8 BOM 的损坏文本不会回退 GBK。无 BOM 的 UTF-16 不保证支持;自动识别并非任意编码检测器。
|
|
55
|
+
- 发现有时间、目录数和仓库数限制;警告或截断不等于没有其他仓库。Git 子模块和 SVN externals 不提供专门的递归管理界面。
|
|
56
|
+
- 工具不可用时检查 PATH;发现授权约 5 分钟后过期,需要手动重新发现。状态已变或 Session 工作目录变化时刷新 / 重新发现。
|
|
57
|
+
- 取消界面请求不保证立即停止正在执行的状态 / 比较子进程;命令仍受各自超时与输出上限约束。
|
|
58
|
+
- 编辑器资源不可用时检查构建与安装包。简化文本比较不等价于 Monaco 的完整功能。
|
|
59
|
+
- 自动化测试不替代真实 DSH 浏览器验收;本说明不宣称已通过特定宿主、浏览器或操作系统的端到端验收。
|
|
60
|
+
|
|
61
|
+
## 发布与安装验收
|
|
62
|
+
|
|
63
|
+
见 [安装、升级与回滚](<docs/INSTALL.md>) 和 [兼容性与验收矩阵](<docs/COMPATIBILITY.md>)。发布包必须通过 `npm run verify:package` 和 `npm run test:install`;后者验证生产依赖安装,不代表真实 DSH 浏览器验收。正式发布统一从 GitHub Actions 手动触发,使用 NPM_AUTOMATION_TOKEN 先发布 npm,再公开 GitHub Release;普通提交和标签 CI 不自动发布。
|
|
64
|
+
|
|
65
|
+
## 项目资料
|
|
66
|
+
|
|
67
|
+
见 [贡献指南](<CONTRIBUTING.md>)、[发布清单](<docs/RELEASING.md>)、[变更记录](<CHANGELOG.md>) 和 [安全说明](<SECURITY.md>)。
|
|
68
|
+
|
|
69
|
+
界面交互参考 [Fork](https://fork.dev/)。这仅说明设计灵感,不表示与 Fork 官方有关联、获得背书或继承其代码许可。
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Third-party notices
|
|
2
|
+
|
|
3
|
+
The plugin is governed by the DSH VCS Non-Commercial Source Available License 1.0 in LICENSE. Third-party materials remain under their respective licenses; the plugin license does not restrict the rights those licenses independently grant.
|
|
4
|
+
|
|
5
|
+
## Monaco Editor 0.52.x
|
|
6
|
+
|
|
7
|
+
https://github.com/microsoft/monaco-editor
|
|
8
|
+
|
|
9
|
+
The editor and worker bundles contain Monaco Editor code. The build copies the installed Monaco LICENSE and ThirdPartyNotices.txt verbatim to dist/MONACO-LICENSE.txt and dist/MONACO-ThirdPartyNotices.txt; both are included in the distributable package.
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
The MIT License (MIT)
|
|
13
|
+
|
|
14
|
+
Copyright (c) 2016 - present Microsoft Corporation
|
|
15
|
+
|
|
16
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
17
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
18
|
+
in the Software without restriction, including without limitation the rights
|
|
19
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
20
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
21
|
+
furnished to do so, subject to the following conditions:
|
|
22
|
+
|
|
23
|
+
The above copyright notice and this permission notice shall be included in all
|
|
24
|
+
copies or substantial portions of the Software.
|
|
25
|
+
|
|
26
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
27
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
28
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
29
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
30
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
31
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
32
|
+
SOFTWARE.
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Other runtime dependencies retain their own licenses in their installed packages. esbuild legal comment output is retained with generated bundles.
|
package/cordis.patch.yml
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2016 - present Microsoft Corporation
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|