dsh-gitnexus-plus 0.1.5 → 0.1.6
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/README-CN.md +5 -3
- package/README.md +32 -5
- package/lib/client.js +1220 -307
- package/lib/gitnexus/coverage.d.ts +20 -0
- package/lib/gitnexus/coverage.d.ts.map +1 -1
- package/lib/gitnexus/coverage.js +50 -0
- package/lib/gitnexus/coverage.js.map +1 -1
- package/lib/gitnexus/delta.d.ts +25 -0
- package/lib/gitnexus/delta.d.ts.map +1 -1
- package/lib/gitnexus/delta.js +86 -3
- package/lib/gitnexus/delta.js.map +1 -1
- package/lib/gitnexus/graph.d.ts +9 -1
- package/lib/gitnexus/graph.d.ts.map +1 -1
- package/lib/gitnexus/graph.js +68 -4
- package/lib/gitnexus/graph.js.map +1 -1
- package/lib/routes/graph.d.ts +1 -1
- package/lib/routes/graph.js +2 -2
- package/lib/routes/graph.js.map +1 -1
- package/package.json +5 -1
package/README-CN.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[English](README.md) · **简体中文**
|
|
4
4
|
|
|
5
|
-
**当前版本:0.1.
|
|
5
|
+
**当前版本:0.1.6** · [npm](https://www.npmjs.com/package/dsh-gitnexus-plus) ·
|
|
6
6
|
[问题反馈](https://github.com/Moowningstar/gitnexus-plus/issues)
|
|
7
7
|
|
|
8
8
|
[插件做什么](#插件做什么) · [安装](#安装) · [遇到问题怎么解决](#遇到问题怎么解决) ·
|
|
@@ -16,9 +16,11 @@
|
|
|
16
16
|
## 插件做什么
|
|
17
17
|
|
|
18
18
|
- **刷新门禁(Tier 0)**:在给出刷新按钮之前,用工作区文件与索引记录的 sha256(`.gitnexus/gitnexus.json` 的 `fileHashes`)比对,报告真正变化的内容:改 / 增 / 删,以及被索引策略排除的文件。工作区没变时毫秒级给出结论、**不启动分析器**,按钮直接说明"无需刷新",而不是让你等一次几分钟的重建。只有比对**锚定在索引记录的提交**上时才会说"已是最新";索引没记录提交时会退化为工作区与 `HEAD` 比较,并明确说"无法确认",而不是冒充新鲜。
|
|
19
|
-
- **图视图**:把索引里的社区画在 canvas
|
|
19
|
+
- **图视图**:把索引里的社区画在 canvas 上,跨社区关系按权重聚合;点社区看成员符号及它们之间的关系,点符号在文件查看器里定位到行。节点与边预算由宿主限制,并明确写出省略了多少。社区之外的符号可用**符号视图**切换查看:它是按文件顺序截断的全仓库符号投影,结构全貌仍看社区视图。卡片总览是 **3D**:同一批社区放到 Z 轴、按社区着色、标注代表文件,并支持最短路径高亮;双击社区进入成员符号;**展开**是居中弹窗而不是全屏。卡片滚动到视口附近才发起图请求。
|
|
20
|
+
- **刷新建议**:陈旧度判断同时给出 `无需刷新` / `增量刷新` / `重新分析` / `全量重建` / `初始化索引` / `无法判断`。没有提交基线时不会把“工作区没改”说成可增量刷新;`--skip-git` 索引会明确建议重新分析。
|
|
20
21
|
- **索引覆盖**:列出被 `gitnexus analyze` 跳过的超大文件,给出大小、语言占比,以及生成物/压缩文件的判断信号。
|
|
21
22
|
- **索引新鲜度**:索引提交与 `HEAD` 对比,分为 `current` / `behind` / `diverged` / `unknown`,并给出未提交变更数。
|
|
23
|
+
- **版本一致性**:把索引记录的 `runnerIdentity.cliVersion` 与当前 CLI 对比;不一致时给出警告,而不是默认索引与查询路径一致。
|
|
22
24
|
- **图构成**:节点、边、社区、流程、embedding、边/节点比。
|
|
23
25
|
- **Git 活跃度 × 索引**:最近提交、作者、分支、改动最多的文件,每个文件给出 **已索引 / 设计上排除 / 索引缺失** 三方判断;另有活动 × 索引交叉表、相对索引提交的基线审查(索引未记录提交时用活动窗口起点并明确标注)、7/14/30 天提交时间线,以及点击文件行查看该文件自己的时间线。
|
|
24
26
|
- **语言分布**:按字节拆分“能解析进图的语言 / 只识别格式的语言 / 其他”;GitNexus 不在时用内置扩展名映射,并标为 `builtin`,不冒充已解析。
|
|
@@ -189,7 +191,7 @@ $env:GITNEXUS_MEMORY='off'; $env:NODE_OPTIONS='--max-old-space-size=8192'; `
|
|
|
189
191
|
|
|
190
192
|
- 覆盖与搜索是只读的;维护是单独确认的写操作,不会自动触发。
|
|
191
193
|
- 刷新门禁比对的是索引记录过的文件内容哈希。它看不到分析器因自身原因必须重跑的情况(schema 升级、新的分析特性);**仍然刷新** 就是为这种情况留的。
|
|
192
|
-
-
|
|
194
|
+
- 社区图不画全部符号:总览是社区图,下钻最多显示一个社区的节点预算那么多成员;符号视图是全仓库符号的有界截断投影,按文件顺序取前 N 个,不能当成完整图。两者都会标注是否截断。
|
|
193
195
|
- 只报告 GitNexus 索引的事实,不重写解析器,不重新实现图数据库。
|
|
194
196
|
- 搜索的 graph 模式是名称/路径匹配,不搜正文;text 模式才按行匹配,且有上限。
|
|
195
197
|
- 源码回退只覆盖索引清单里的文件,新文件需先刷新索引。
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**English** · [简体中文](README-CN.md)
|
|
4
4
|
|
|
5
|
-
**Current release: [0.1.
|
|
5
|
+
**Current release: [0.1.6](https://github.com/Moowningstar/gitnexus-plus/releases/tag/v0.1.6)** ·
|
|
6
6
|
[npm](https://www.npmjs.com/package/dsh-gitnexus-plus) ·
|
|
7
7
|
[Issues](https://github.com/Moowningstar/gitnexus-plus/issues)
|
|
8
8
|
|
|
@@ -29,11 +29,27 @@ It does not fork GitNexus, rewrite its parser, or bundle/redistribute it. `gitne
|
|
|
29
29
|
- **Graph view** — the index's communities drawn on a canvas, with aggregated
|
|
30
30
|
cross-community edges; click a community to see its member symbols and the relations
|
|
31
31
|
among them, click a symbol to open its file at the line. Node and edge budgets are
|
|
32
|
-
applied by the host, and the view states what it left out.
|
|
32
|
+
applied by the host, and the view states what it left out. A **Symbol view** button
|
|
33
|
+
switches to a bounded all-symbol projection when a symbol outside the current
|
|
34
|
+
communities matters; it is explicitly truncated by file order, and the community view
|
|
35
|
+
remains the structural overview. The community overview is a
|
|
36
|
+
**3D** view in the card: it puts the same communities on a Z axis with per-community
|
|
37
|
+
colours, representative member files and shortest-path highlighting, so a dense core
|
|
38
|
+
can be rotated apart instead of settling into a flat hairball. Single click selects a
|
|
39
|
+
community; double-click opens its member symbols. **Expand** opens a centered
|
|
40
|
+
dialog with the same projection and a community sidebar, not a full-screen mode. The
|
|
41
|
+
card defers its fetch until it is scrolled near the viewport.
|
|
42
|
+
- **Refresh advice** — the staleness verdict also recommends one of `none` /
|
|
43
|
+
`incremental` / `reanalyze` / `rebuild` / `init` / `unknown`, so a worktree-only
|
|
44
|
+
comparison never reads as "safe to incrementally refresh" and a `--skip-git` index is
|
|
45
|
+
told to re-analyze instead of being offered an impossible incremental run.
|
|
33
46
|
- **Index coverage** — lists the oversized files `gitnexus analyze` skipped, with size,
|
|
34
47
|
language share, and generated/minified signals.
|
|
35
48
|
- **Index freshness** — indexed commit vs `HEAD`, classified `current` / `behind` /
|
|
36
49
|
`diverged` / `unknown`, plus the uncommitted-change count.
|
|
50
|
+
- **Version consistency** — compares the GitNexus CLI that wrote the index
|
|
51
|
+
(`runnerIdentity.cliVersion`) with the CLI installed now. A mismatch is reported as a
|
|
52
|
+
warning, not silently rendered as if the index and the query path agreed.
|
|
37
53
|
- **Graph composition** — nodes, edges, communities, processes, embeddings, edges per node.
|
|
38
54
|
- **Git activity × index** — recent commits, authors, branches and most-changed files,
|
|
39
55
|
each file marked **indexed**, **excluded by design**, or **missing from the index**.
|
|
@@ -151,6 +167,12 @@ npm run check
|
|
|
151
167
|
npm test
|
|
152
168
|
```
|
|
153
169
|
|
|
170
|
+
`npm test` builds and runs the engine, plugin and client suites. The suite no longer
|
|
171
|
+
depends on a developer's `D:` drive: the format test builds a disposable repository, and
|
|
172
|
+
the real-repository smoke test defaults to this checkout (or `GITNEXUS_SMOKE_REPO`) and
|
|
173
|
+
skips when it has no index. `.github/workflows/ci.yml` runs `npm ci`, `npm run check` and
|
|
174
|
+
`npm test` on Windows and Ubuntu with Node 22 and 24.
|
|
175
|
+
|
|
154
176
|
Search has two modes:
|
|
155
177
|
|
|
156
178
|
- **graph** — the normal path. The host does not load native `lbug`; it starts
|
|
@@ -265,9 +287,14 @@ the related features puts that use under it.**
|
|
|
265
287
|
- The refresh gate compares content hashes of the files the index recorded. It cannot
|
|
266
288
|
see a change the analyzer would make for its own reasons (a schema upgrade, a new
|
|
267
289
|
feature mode); **仍然刷新** exists for exactly that case.
|
|
268
|
-
- The graph view draws communities, not every symbol: the overview is the
|
|
269
|
-
graph, and a drill-down shows at most the configured node budget of one
|
|
270
|
-
members.
|
|
290
|
+
- The graph view draws communities by default, not every symbol: the overview is the
|
|
291
|
+
community graph, and a drill-down shows at most the configured node budget of one
|
|
292
|
+
community's members. The **Symbol view** is a bounded all-symbol projection ordered by
|
|
293
|
+
file and explicitly truncated, not a claim of completeness. Both say when they are
|
|
294
|
+
truncated.
|
|
295
|
+
- The 3D overview draws community nodes only; member symbols remain in the 2D drill-down.
|
|
296
|
+
It is the card's default community view, not a separate full-screen mode, so the sidebar
|
|
297
|
+
stays the one place the graph lives.
|
|
271
298
|
- The plugin reports facts about a GitNexus index; it does not rewrite the parser or
|
|
272
299
|
reimplement the graph database.
|
|
273
300
|
- Graph search matches names/paths, not bodies; the text fallback matches lines and is
|