Repository navigation
JSON Formatter: filter to a node by path or from the tree - #19
Merged
Merged
Conversation
A Filter field above the JSON output narrows both the text output and the tree to one node. It takes a JSON pointer (/items/0), a dot path (items[0]), a jq path (.items[0]) or a JSONPath-style $.items[0]; blank or / shows the whole document. Selecting a row in Tree view and pressing Filter fills the field with that node's jq path, the up arrow widens to the parent in whichever flavour was typed, and the X clears it. The filter runs last, on the value after embedded-JSON expansion and key sorting, so a path can reach inside an expanded payload. Copy and the copy shortcut take the narrowed output. In the narrowed tree, copied paths stay absolute to the whole document, and each new subtree opens with its own default expansion. A path that does not resolve explains where the walk stopped, in the flavour that was typed: ".items has 3 items; there is no [5]", "/a is a number, so it has no children". A malformed path reports the parse error instead of throwing. Engine: selectPath, detectPathFlavor and formatPath in @fadeltd/devtools-core/json, with tests that every tree row selects back to the same node from all three flavours. parseDotPath now also reads a $. or $[ root; toDotPath never writes one, so existing round-trips are unaffected.
fadeltd
added a commit
that referenced
this pull request
Oct 29, 2026
…og placement The tagging step added in #16 found the release commit with `git log | awk '{ print; exit }'`. awk stopped at the first line, git log died of SIGPIPE, and under pipefail the exit 141 failed the step right after the release commit was pushed. #17, #18 and #19 each got a release commit (v0.8.0 + core-v0.2.0, v0.9.0, core-v0.3.0) but no tag, no GitHub release and no deploy; the site is still on v0.7.0. The "Bypassed rule violations" line above the failure is the usual notice that the Actions bot went around the PR rule on main, and every earlier release printed it too. Tagging is now its own step that runs on every merge. It walks back from main to the newest release commit whose tags and GitHub releases all exist, then, oldest first, tags each later release commit, creates its GitHub release from the changelog as it stood at that commit, and deploys the newest site tag. No pipe in it stops reading early, and the stray-tag check is kept. Merging this PR tags v0.8.0, core-v0.2.0, v0.9.0 and core-v0.3.0, and cuts and deploys v0.10.0. The A-17 entry moves from [0.9.0] back to [Unreleased]. The branch was cut before Release v0.9.0 landed, and the squash merge kept the new line beside the pinned-tools entry, which by then sat under 0.9.0, so #19 released nothing. A new CI step on pull requests, scripts/check-changelog.ts, fails when a merge would put any of the PR's [Unreleased] lines into an already released section; replayed on #19's merge it fails, on #18's it passes. Corrections to past release notes are not flagged. Also: the CI tarball check uses a here-string instead of `echo | grep -q`, release.ts no longer emits the notes output nothing reads, and CLAUDE.md and CONTRIBUTING.md describe the catch-up, the rebase rule and the two workflow pitfalls.
fadeltd
added a commit
that referenced
this pull request
Oct 29, 2026
…og placement (#20) The tagging step added in #16 found the release commit with `git log | awk '{ print; exit }'`. awk stopped at the first line, git log died of SIGPIPE, and under pipefail the exit 141 failed the step right after the release commit was pushed. #17, #18 and #19 each got a release commit (v0.8.0 + core-v0.2.0, v0.9.0, core-v0.3.0) but no tag, no GitHub release and no deploy; the site is still on v0.7.0. The "Bypassed rule violations" line above the failure is the usual notice that the Actions bot went around the PR rule on main, and every earlier release printed it too. Tagging is now its own step that runs on every merge. It walks back from main to the newest release commit whose tags and GitHub releases all exist, then, oldest first, tags each later release commit, creates its GitHub release from the changelog as it stood at that commit, and deploys the newest site tag. No pipe in it stops reading early, and the stray-tag check is kept. Merging this PR tags v0.8.0, core-v0.2.0, v0.9.0 and core-v0.3.0, and cuts and deploys v0.10.0. The A-17 entry moves from [0.9.0] back to [Unreleased]. The branch was cut before Release v0.9.0 landed, and the squash merge kept the new line beside the pinned-tools entry, which by then sat under 0.9.0, so #19 released nothing. A new CI step on pull requests, scripts/check-changelog.ts, fails when a merge would put any of the PR's [Unreleased] lines into an already released section; replayed on #19's merge it fails, on #18's it passes. Corrections to past release notes are not flagged. Also: the CI tarball check uses a here-string instead of `echo | grep -q`, release.ts no longer emits the notes output nothing reads, and CLAUDE.md and CONTRIBUTING.md describe the catch-up, the rebase rule and the two workflow pitfalls.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Added
$.pathsselectPath,detectPathFlavorandformatPathin@fadeltd/devtools-core/json