@polycode-projects/seonix 0.10.3 → 0.10.5
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/package.json +2 -2
- package/src/walk.mjs +11 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@polycode-projects/seonix",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.5",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "SEONIX — a deterministic, offline, $0 code-graph tool that makes a cheap coding agent edit like an expensive one. Indexes a repo with Python ast + git (zero model calls) and renders a bounded edit-digest.",
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
},
|
|
88
88
|
"dependencies": {
|
|
89
89
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
90
|
-
"@polycode-projects/the-mechanical-code-talker": "^0.9.
|
|
90
|
+
"@polycode-projects/the-mechanical-code-talker": "^0.9.3",
|
|
91
91
|
"cytoscape": "^3.30.0",
|
|
92
92
|
"smol-toml": "^1.7.0",
|
|
93
93
|
"tree-sitter": "^0.21.1",
|
package/src/walk.mjs
CHANGED
|
@@ -11,9 +11,18 @@ import { join, relative, sep } from "node:path";
|
|
|
11
11
|
export const SKIP_DIRS = new Set([
|
|
12
12
|
".git", ".seonix", ".hg", ".svn", "node_modules", ".venv", "venv",
|
|
13
13
|
"__pycache__", ".tox", ".mypy_cache", ".pytest_cache", "build", "dist",
|
|
14
|
-
"
|
|
14
|
+
"coverage", ".next", ".nuxt", ".angular", "wwwroot",
|
|
15
15
|
]);
|
|
16
16
|
|
|
17
|
+
// .NET build-artifact directory names — compiled binaries, never source, and
|
|
18
|
+
// respect_gitignore already excludes them for real .NET repos. Skipped only when
|
|
19
|
+
// NESTED (a project's own <proj>/bin/Debug/... never sits at the repo root): a
|
|
20
|
+
// repo-ROOT bin/ (or obj/, out/) is a common legitimate source convention — a
|
|
21
|
+
// Node CLI's bin/ entrypoint directory is the concrete case this was silently
|
|
22
|
+
// swallowing (seonix's own bin/cli.mjs, unindexed, found via the chat playtest
|
|
23
|
+
// sprint's "who imports src/server.mjs" dead-end).
|
|
24
|
+
const NESTED_ONLY_SKIP_DIRS = new Set(["bin", "obj", "out"]);
|
|
25
|
+
|
|
17
26
|
export const IGNORE_FILE = ".seonixignore";
|
|
18
27
|
|
|
19
28
|
/** Parse `.seonixignore` text into compiled patterns (see header for semantics). */
|
|
@@ -117,6 +126,7 @@ export async function walk(root, exts, ignore = null) {
|
|
|
117
126
|
const abs = join(dir, e.name);
|
|
118
127
|
if (e.isDirectory()) {
|
|
119
128
|
if (SKIP_DIRS.has(e.name) || e.name.startsWith(".")) continue;
|
|
129
|
+
if (dir !== root && NESTED_ONLY_SKIP_DIRS.has(e.name)) continue;
|
|
120
130
|
if (ignore && ignore(relPath(root, abs))) continue;
|
|
121
131
|
await rec(abs);
|
|
122
132
|
} else if (e.isFile()) {
|