@carlesandres/house 0.9.0 → 0.10.1
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 +38 -6
- package/README.md +9 -2
- package/dist/bin.js +16 -0
- package/dist/index.js +759 -112
- package/package.json +31 -22
package/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,43 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
## 0.10.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- `house` starts again: 0.10.0 exited at launch with "markdown highlighter unavailable". Markdown and code highlighting now work in the installed binary.
|
|
8
|
+
|
|
9
|
+
## 0.10.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- Browser previews now include static syntax highlighting, a native collapsible table of contents,
|
|
14
|
+
and locally bundled Mermaid rendering with readable source fallbacks, so project documentation
|
|
15
|
+
remains useful offline and when browser enhancement fails.
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- Browser previews now sanitize authored HTML and URLs, apply a restrictive local-page policy, and
|
|
20
|
+
serve only immutable built-in assets from loopback-validated requests.
|
|
21
|
+
- Releases now use Changesets: each pull request carries its own release note, and a bot keeps a
|
|
22
|
+
"chore: version packages" pull request current, so publishing a version is a single merge.
|
|
23
|
+
- CI now runs the PTY suite (`bun run test:pty`) after workspace tests, so real-terminal regressions
|
|
24
|
+
for editor, new-file, sidebar selection, status popover, and extension allow-list paths are gated.
|
|
25
|
+
- npm-installed `house` run from a deleted or inaccessible directory now says so and exits,
|
|
26
|
+
instead of failing with an unknown error, so the fix (`cd` elsewhere) is clear.
|
|
27
|
+
- The Browser TUI now exits at startup if the markdown highlighter cannot initialize, instead of
|
|
28
|
+
rendering raw source. CLI and standalone builds fail the same check.
|
|
29
|
+
- `house --root` pointing at a file, missing path or unreadable directory now prints an error before
|
|
30
|
+
the TUI starts, instead of exiting silently, so the bad root is obvious.
|
|
31
|
+
- npm install smoke (and publish verification) now use Node `>=26.4.0`, matching OpenTUI 0.5.11’s
|
|
32
|
+
engine floor so `engine-strict` installs succeed.
|
|
33
|
+
- CI and release workflows now pin every action to a commit SHA, kept current by Dependabot, so a
|
|
34
|
+
moved or compromised tag cannot change what runs.
|
|
35
|
+
- Contributors now install dependencies with pnpm instead of Bun, so Dependabot can raise security
|
|
36
|
+
alerts and open updates that include the lockfile. Bun still builds and runs house.
|
|
37
|
+
- `ROADMAP.md` is removed; planned work is now tracked in Linear (House team), with public items
|
|
38
|
+
mirrored to GitHub issues, so plans no longer drift between a file and the issue tracker.
|
|
39
|
+
- Markdown headings, emphasis, and fenced code now highlight again. `web-tree-sitter` is pinned to
|
|
40
|
+
OpenTUI's `0.25.10` peer so the highlighter can load `tree-sitter.wasm`.
|
|
8
41
|
|
|
9
42
|
## [0.9.0] — 2026-09-12
|
|
10
43
|
|
|
@@ -465,7 +498,6 @@ The v1 MVP, published as `@carlesandres/openmdr` on npm.
|
|
|
465
498
|
|
|
466
499
|
Search, stdin, URL fetching, cross-file link following, `$EDITOR` hand-off, syntax highlighting, persistent config, OS-appearance auto-detect, single-binary distribution (issue [#2](https://github.com/carlesandres/openmdr/issues/2)), Homebrew tap. All tracked.
|
|
467
500
|
|
|
468
|
-
[Unreleased]: https://github.com/carlesandres/house/compare/v0.9.0...HEAD
|
|
469
501
|
[0.9.0]: https://github.com/carlesandres/house/compare/v0.8.0...v0.9.0
|
|
470
502
|
[0.8.0]: https://github.com/carlesandres/house/compare/v0.7.0...v0.8.0
|
|
471
503
|
[0.7.0]: https://github.com/carlesandres/house/compare/v0.6.0...v0.7.0
|
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@ A terminal markdown reader and navigator — themable and configurable, with a k
|
|
|
11
11
|
- **Fuzzy search** across nested folders (`.gitignore`-aware)
|
|
12
12
|
- **Command palette**
|
|
13
13
|
- **Keyboard-driven**
|
|
14
|
-
- **Open in browser**
|
|
14
|
+
- **Open in browser** with syntax highlighting, document contents, and Mermaid diagrams
|
|
15
15
|
- **Open in `$EDITOR`**
|
|
16
16
|
|
|
17
17
|
Install with npm or Bun. Prebuilt binaries cover macOS and Linux (arm64/x64); no Bun required to *run* on those platforms.
|
|
@@ -19,7 +19,7 @@ Install with npm or Bun. Prebuilt binaries cover macOS and Linux (arm64/x64); no
|
|
|
19
19
|
## Runtime requirements
|
|
20
20
|
|
|
21
21
|
- **Run:** a prebuilt binary for your platform (pulled in automatically on install). No Bun needed at runtime on supported platforms.
|
|
22
|
-
- **Install:** Node/npm or Bun both work. Prefer `npm install -g` for the normal end-user path.
|
|
22
|
+
- **Install:** Node/npm (`>=26.4.0`) or Bun both work. Prefer `npm install -g` for the normal end-user path.
|
|
23
23
|
|
|
24
24
|
Supported on macOS and Linux (arm64/x64, glibc Linux). Windows is unsupported and unvalidated (see [#129](https://github.com/carlesandres/house/issues/129)).
|
|
25
25
|
|
|
@@ -59,6 +59,13 @@ house --order tree # files-before-directories instead of recency
|
|
|
59
59
|
house --serve README.md
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
+
Press `O` in the TUI, choose **Open in browser** from the command palette, or use `--serve` to
|
|
63
|
+
open a live local preview. Code highlighting and a collapsible table of contents are present in
|
|
64
|
+
the HTML itself. Mermaid diagrams enhance in the browser from assets bundled with house; their
|
|
65
|
+
source remains readable if JavaScript is unavailable or a diagram cannot render. Built-in preview
|
|
66
|
+
features work offline while house is running. Relative images and other linked local assets are
|
|
67
|
+
not served yet ([#75](https://github.com/carlesandres/house/issues/75)).
|
|
68
|
+
|
|
62
69
|
### Options
|
|
63
70
|
|
|
64
71
|
| Flag | Default | Description |
|
package/dist/bin.js
CHANGED
|
@@ -39,6 +39,15 @@ export const resolveBinaryPath = (packageName, resolve = require.resolve) =>
|
|
|
39
39
|
|
|
40
40
|
export const shouldCaptureOutput = (argv) => argv.some((arg) => fastExitFlags.has(arg))
|
|
41
41
|
|
|
42
|
+
export const hasAccessibleCwd = (cwd = process.cwd) => {
|
|
43
|
+
try {
|
|
44
|
+
cwd()
|
|
45
|
+
return true
|
|
46
|
+
} catch {
|
|
47
|
+
return false
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
42
51
|
export const main = (
|
|
43
52
|
argv = process.argv.slice(2),
|
|
44
53
|
platform = process.platform,
|
|
@@ -50,6 +59,13 @@ export const main = (
|
|
|
50
59
|
process.exit(0)
|
|
51
60
|
}
|
|
52
61
|
|
|
62
|
+
if (!hasAccessibleCwd()) {
|
|
63
|
+
console.error(
|
|
64
|
+
"house: the current directory no longer exists or is not accessible; cd to another directory and retry",
|
|
65
|
+
)
|
|
66
|
+
process.exit(1)
|
|
67
|
+
}
|
|
68
|
+
|
|
53
69
|
const packageName = binaryPackageNameFor(platform, arch, libc)
|
|
54
70
|
if (packageName === undefined) {
|
|
55
71
|
console.error(
|