fix lint: make bun tsc --noEmit actually pass (was a TS crash + latent errors)
tsconfig used jsx:"preserve"+jsxImportSource, which trips a TS 5.9
internal crash ("Expected sourceFile.imports[0] to be the synthesized JSX
runtime import") so tsc could never run clean. Switch to jsx:"react-jsx"
with the package's real jsx-runtime types, and fix the real errors that
surfaced:
- delete dead src/components/Navigation.tsx (imported ./Tab that doesn't
exist; the component has no importers)
- PlaybackControls: fix relative path to @/utils/audio-player
- SourceBadge: drop dead module-level typeColor (bare 'theme')
- command palette: bind to the real 'command' keybind (:) instead of the
never-defined 'command_list' action (palette was unreachable)
- yazi-pane-row test: destroy() must return Promise<void> as typed
Also fold in the package.json lint fix (bun tsc --noEmit) and doc polish.
This commit is contained in:
@@ -23,8 +23,8 @@ make native # build libcavacore.dylib from the vendored C source
|
||||
bun run dev # launch with hot reload (alias: make dev)
|
||||
```
|
||||
|
||||
The app is a TUI — it expects a real terminal (kitty, iTerm2, WezTerm, tmux,
|
||||
…). It will not render in a plain captured `bash` session.
|
||||
The app is a TUI — it expects a real terminal (Ghostty, kitty, iTerm2,
|
||||
WezTerm, tmux, …). It will not render in a plain captured `bash` session.
|
||||
|
||||
## What each command does
|
||||
|
||||
@@ -35,14 +35,11 @@ The app is a TUI — it expects a real terminal (kitty, iTerm2, WezTerm, tmux,
|
||||
| `bun run dev` | Run with hot reload |
|
||||
| `bun run start` | Run once (no watch) |
|
||||
| `bun test` | Run the test suite (see [Testing](#testing)) |
|
||||
| `make lint` | Type-check with `bun tsc --noEmit` |
|
||||
| `bun run lint` | Type-check |
|
||||
| `bun run build` | Bundle JS into `dist/` + copy native libs (the `podtui` npm script path) |
|
||||
| `make dist` | Compile the standalone binary + make the current platform's tarball |
|
||||
| `make clean` | Remove `dist/` |
|
||||
|
||||
> Note: `package.json` also has a `lint` script that points at a
|
||||
> `lint.ts` file that doesn't exist. Use `make lint` (real type-checking).
|
||||
|
||||
## Repository layout
|
||||
|
||||
```
|
||||
@@ -112,10 +109,6 @@ Cavacore smoke test: `bun tests/cavacore-smoke.ts`
|
||||
`-headerpad`” for a prebuilt dylib. The app dlopens the libs by path, so
|
||||
the warning is cosmetic; installs complete and the app boots.
|
||||
|
||||
4. **`make lint` is the truth, not the `package.json` scripts.**
|
||||
The repo's ESLint wiring is stale; `make lint` runs the real
|
||||
type-check and is what CI treats as the clean bar.
|
||||
|
||||
## Testing
|
||||
|
||||
```bash
|
||||
@@ -135,7 +128,7 @@ Audio is a no-op during those snapshots. The last frame lands in
|
||||
|
||||
## Releasing
|
||||
|
||||
Releases are built and published from **tags**; CI does the heavy lifting.
|
||||
Releases are built and published from **tags**
|
||||
|
||||
### Steps
|
||||
|
||||
|
||||
Reference in New Issue
Block a user