@javierkaiser/opencode-indexing 0.2.3 → 0.2.4

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/CHANGELOG.md CHANGED
@@ -5,6 +5,39 @@ All notable changes to this project are documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.2.4] - 2026-10-16
9
+
10
+ ### Fixed
11
+ - **The prompt-footer indicator stopped rendering after OpenCode 2.0.30.** The
12
+ footer view imports `createSignal` from `solid-js` as a value, and `solid-js`,
13
+ `@opentui/core` and `@opentui/solid` were declared as *optional
14
+ peerDependencies* — which means npm never installs them, on the assumption that
15
+ the host already provides them. 2.0.30 stopped providing them, the plugin's own
16
+ `import()` of the footer view failed, the `catch` swallowed it, and the slot
17
+ rendered nothing. Everything else kept working, because nothing else needs
18
+ JSX: the command palette comes from `tui.ts` itself, which is what made it look
19
+ like a cosmetic regression rather than a missing dependency.
20
+
21
+ The three packages are now `optionalDependencies`. That still tolerates a
22
+ failed install, but unlike an optional peer it actually puts them on disk, so
23
+ the indicator no longer depends on what the host happens to supply.
24
+
25
+ - **A package listed in both `optionalDependencies` and `devDependencies` is not
26
+ installed at all.** npm 12 lets the dev list win, so `--omit=dev` skips the
27
+ package and the optionalDependency never reaches disk — and `package.json`
28
+ still reads as though it is declared. This is why moving the three packages
29
+ was not by itself enough; they had to leave `devDependencies` as well.
30
+
31
+ - `tsconfig.json` is published. `jsx: react-jsx` with
32
+ `jsxImportSource: "@opentui/solid"` is what makes a `.tsx` file load at all, and
33
+ it was not in `files`.
34
+
35
+ ### Added
36
+ - `test/package-deps.test.ts` guards the manifest against all three of the
37
+ above, and asserts that every value import in the published sources resolves
38
+ to something the manifest installs — so the next third-party import fails a
39
+ test instead of becoming another silent missing module at load time.
40
+
8
41
  ## [0.2.3] - 2026-10-16
9
42
 
10
43
  ### Added
package/README.md CHANGED
@@ -383,6 +383,12 @@ Word about data safety: Kilo's indexes (`ws-*` collections and its LanceDB direc
383
383
  ## Requirements
384
384
 
385
385
  - OpenCode v2 (plugin API `@opencode/plugin@2.x`).
386
+ - **For the prompt-footer indicator:** `solid-js`, `@opentui/core` and
387
+ `@opentui/solid`, which the plugin installs itself (~14 MB). They used to be
388
+ declared as optional *peer* dependencies, on the assumption that the host
389
+ already had them; OpenCode 2.0.30 stopped providing them and the indicator
390
+ silently stopped rendering. Everything else works without them — the settings
391
+ page degrades to dialogs and the footer is simply absent.
386
392
  - **For the own index: nothing to run.** The default store is embedded LanceDB
387
393
  (`@lancedb/lancedb@0.26.2`), so there is no server to start, no port to free and
388
394
  no container to keep alive.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@javierkaiser/opencode-indexing",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "description": "OpenCode plugin: semantic code search that reuses Kilo Code indexes (Qdrant/LanceDB) and maintains its own independent index",
5
5
  "license": "MIT",
6
6
  "author": "Carlos Javier Lust <javierkaiser@gmail.com>",
@@ -37,6 +37,7 @@
37
37
  "tui.ts",
38
38
  "tui",
39
39
  "src",
40
+ "tsconfig.json",
40
41
  "install.mjs",
41
42
  "install.sh",
42
43
  "install.ps1",
@@ -65,23 +66,20 @@
65
66
  "@lancedb/lancedb": "0.26.2",
66
67
  "tree-sitter-wasms": "0.1.13",
67
68
  "web-tree-sitter": "0.25.10",
68
- "apache-arrow": "18.1.0"
69
+ "apache-arrow": "18.1.0",
70
+ "solid-js": "^1.9.12",
71
+ "@opentui/core": "0.5.14",
72
+ "@opentui/solid": "0.5.14"
69
73
  },
70
74
  "devDependencies": {
71
75
  "@opencode/plugin": "2.0.23",
72
76
  "@opencode/theme": "^2.0.23",
73
- "@opentui/core": "^0.5.14",
74
- "@opentui/solid": "^0.5.14",
75
77
  "@types/node": "^24.0.0",
76
- "solid-js": "^1.9.12",
77
78
  "typescript": "^5.8.2"
78
79
  },
79
80
  "peerDependencies": {
80
81
  "@opencode/plugin": ">=2.0.0",
81
- "@opencode/theme": ">=2.0.23",
82
- "@opentui/core": ">=0.5.14",
83
- "@opentui/solid": ">=0.5.14",
84
- "solid-js": ">=1.9.12"
82
+ "@opencode/theme": ">=2.0.23"
85
83
  },
86
84
  "peerDependenciesMeta": {
87
85
  "@opencode/plugin": {
@@ -89,15 +87,6 @@
89
87
  },
90
88
  "@opencode/theme": {
91
89
  "optional": true
92
- },
93
- "@opentui/core": {
94
- "optional": true
95
- },
96
- "@opentui/solid": {
97
- "optional": true
98
- },
99
- "solid-js": {
100
- "optional": true
101
90
  }
102
91
  }
103
92
  }
package/tsconfig.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "ESNext",
5
+ "moduleResolution": "Bundler",
6
+ "allowImportingTsExtensions": true,
7
+ "lib": ["ES2022", "DOM", "DOM.Iterable"],
8
+ "types": ["node"],
9
+ "jsx": "react-jsx",
10
+ "jsxImportSource": "@opentui/solid",
11
+ "strict": true,
12
+ "noEmit": true,
13
+ "skipLibCheck": true,
14
+ "esModuleInterop": true,
15
+ "allowSyntheticDefaultImports": true,
16
+ "forceConsistentCasingInFileNames": true,
17
+ "resolveJsonModule": true,
18
+ "isolatedModules": true,
19
+ "verbatimModuleSyntax": true
20
+ },
21
+ "include": ["index.ts", "tui.ts", "tui/**/*.ts", "tui/**/*.tsx", "src/**/*.ts", "test/**/*.ts"]
22
+ }