@danypops/lector 0.1.10 → 0.1.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/README.md CHANGED
@@ -64,7 +64,7 @@ Three independent `SymbolIndexPort` implementations use one result DTO with expl
64
64
  - **TypeScript compiler** extracts bounded structural declarations from cold, malformed, or partially configured projects. It does not claim cross-file identity.
65
65
  - **tree-sitter** extracts bounded structural declarations and caches them by content hash. It does not claim type or language-server identity.
66
66
 
67
- File-position operations dispatch by extension and seed a cold server with the requested file. Workspace symbol search and graph population detect every enabled language, merge results deterministically, and retain per-symbol and per-backend provenance. Backend and file-level semantic failures produce bounded partial results without discarding successful languages or files. Bash remains explicit-file-only until its vulnerable upstream dependency chain is removed; generic YAML is explicit-file-only because lockfiles and data files do not establish a workspace language.
67
+ File-position operations dispatch by extension and seed a cold server with the requested file. Workspace symbol search and graph population detect every enabled language, merge results deterministically, and retain per-symbol and per-backend provenance. Backend and file-level semantic failures produce bounded partial results without discarding successful languages or files. Bash and generic YAML stay explicit-file-only: a stray `.sh`/`.yaml` file shouldn't spawn a whole extra language server for every polyglot workspace. `bash-language-server` resolves by bare name against `PATH`, like `gopls`/`rust-analyzer`/`clangd` -- install it yourself if you want Bash support; it does not ship as a bundled dependency, since its own pinned `editorconfig` dependency carries an unpatched ReDoS/OOM chain in a code path Lector never exercises but would otherwise still ship to every install.
68
68
 
69
69
  Symbol results report `fidelity`, `backend`, `authority`, `freshness`, `limitations`, `truncated`, and composite `sources`/`completeness` when applicable. Language-server messages, pending requests, opened files, file bytes, settling, parser files, parser nodes, parser bytes, language indexes, and returned symbols are bounded.
70
70
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danypops/lector",
3
- "version": "0.1.10",
3
+ "version": "0.1.12",
4
4
  "description": "Platform-neutral filesystem & code-intelligence capability: core, service, and driven adapters",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -19,7 +19,6 @@
19
19
  "dependencies": {
20
20
  "@danypops/daemon-kit": "^0.3.2",
21
21
  "@yarnpkg/parsers": "^3.0.3",
22
- "bash-language-server": "^5.6.0",
23
22
  "fetch-retry": "^6.0.0",
24
23
  "graphology": "^0.26.0",
25
24
  "jsonc-parser": "^3.3.1",
@@ -104,7 +104,14 @@ export const BASH_DESCRIPTOR: LanguageServerDescriptor = {
104
104
  backendId: "bash-language-server",
105
105
  extensions: [".sh", ".bash"],
106
106
  workspaceDiscovery: "explicit-only",
107
- launch: { kind: "npm-module", entryModule: "bash-language-server/out/cli.js" },
107
+ // System-binary, not npm-module: bash-language-server's own package.json hard-pins a vulnerable
108
+ // editorconfig -> minimatch/brace-expansion chain (GHSA-3ppc-4f35-3m26, GHSA-7r86-cg39-jmmj,
109
+ // GHSA-23c5-xmqv-rm74, GHSA-mh99-v99m-4gvg) with no upstream fix. That chain is only reachable
110
+ // through textDocument/formatting, which Lector never sends -- but bundling it as a production
111
+ // npm dependency still ships the vulnerable code and the audit finding to every consumer.
112
+ // Resolving by bare name against PATH, like gopls/rust-analyzer/clangd, keeps Bash support
113
+ // available to whoever installs the real server themselves without shipping it by default.
114
+ launch: { kind: "system-binary", command: "bash-language-server" },
108
115
  args: ["start"],
109
116
  rootMarkers: [],
110
117
  commonSeedCandidates: ["main.sh", "run.sh", "install.sh"],