@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 CHANGED
@@ -1,10 +1,43 @@
1
1
  # Changelog
2
2
 
3
- All notable changes to house land here. Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and the project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html) from v0.1.0 onward.
4
-
5
- The publish workflow (`.github/workflows/publish.yml`) runs for a published release or a release-tag dispatch, builds per-platform binaries, publishes platform packages then the main package via Trusted Publisher, and lets GitHub auto-generate release notes from commit subjects; this file is the curated, narrative version.
6
-
7
- ## [Unreleased]
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(