Commit activity
Last 12 weeks · 0 commits
Community health
2 of 6 standards met
Recent PRs & issues
On a JSON page I usually pressed , then to grab the JSON quickly before this extension. With the extension active, two things go wrong: 1. Cmd+A also selects the toolbar at the top (Tree / Formatted / ...), not just the JSON. 2. After selecting, Cmd+C doesn't seem to copy anything. Screenshot of what gets selected with Cmd+A:** Solution I think we should add a keyboard shortcut to copy the JSON directly instead of having to click anything. Thoughts? Happy to send a PR for this.
Recent fixes
Summary Fixes a bug where Copy JSON always copied pretty-printed output, even when in Raw mode Now checks the active view button's attribute to decide what to copy: compact in Raw mode, in Tree/Formatted mode Test plan Open any JSON URL with the extension active Switch to Raw mode and click Copy JSON, output should be compact with no indentation Switch to Tree or Formatted mode and click Copy JSON, output should be pretty-printed
Adds a keyboard shortcut that copies the full JSON, so you don't have to click the toolbar button every time. The Copy JSON button now shows a small kbd hint next to its label so the shortcut is discoverable. The shortcut is ignored if you're typing in an input or holding a modifier key, so it won't get in the way of normal browser behavior. Closes #31 https://github.com/user-attachments/assets/d6b34e0f-294c-4951-a477-15891f06e43c
Refs #20, #23 Summary Makes the viewer usable on JSON files with 100k+ nodes. Tested against a 124k-node Storyblok response. Builds on the search introduced in #20 (rewires it to a Web Worker, lazy init, detached panel) and adds the Cmd/Ctrl+F shortcut requested in #23. Core change: replaces the visible-row array + Map with an order-statistics tree ( + ). Toggle becomes O(depth), expand-all becomes a single O(n) bulk recompute. No more 100k-element splice or Map rebuild on every interaction. Other wins: DOM row pool: ~80 reusable `textContentinnerHTML#jv-content` so virtualization viewport actually bounds. Cursor regression fixed; custom-cursor scoped to data attribute. Tests**: Added vitest setup. 12 tests covering search behavior, virtualization, expansion state, stale-result handling. Test plan [ ] Load a small JSON (~hundreds of nodes) — tree, search, expand/collapse work as before. [ ] Load a 100k+ node JSON — initial render, level buttons, expand-all, scroll, search all stay responsive. [ ] Cmd/Ctrl+F opens search panel; Esc closes; Enter steps results. [ ] Hover keys — toolbar doesn't shift; path displays as floating overlay. [ ] Cursor: pointer over toggle arrows and buttons; custom-cursor mode still works.
Repository: wesbos/JSON-Alexander. Description: A really good JSON viewer browser Extension Stars: 953, Forks: 46. Primary language: TypeScript. Languages: TypeScript (73.6%), CSS (26.4%). License: MIT. Open PRs: 3, open issues: 11. Last activity: 6mo ago. Community health: 42%. Top contributors: wesbos, amruthpillai, jikanter, byCedric, derekkramer, vinnymac, broady.