Conversation
…experimental toggle
…adges, and remove jump bar
… upstream protocol schema
…and modernize merge script
…ment and classList
…, and prune legacy css
Collaborator
Would it still work with npm? |
OrKoN
reviewed
Sep 9, 2026
Comment on lines
+29
to
+31
| "oxfmt": "^0.67.0", | ||
| "oxlint": "^1.82.0", | ||
| "statikk": "^3.1.0", |
Collaborator
There was a problem hiding this comment.
I wonder if we truly need these (we would have to keep them updated etc, work around issues or bugs): maybe we can drop these deps and not having a dedicated formatter/linter is not that bad?
OrKoN
reviewed
Sep 9, 2026
| import { ProtocolRenderer } from './protocol_renderer.js'; | ||
| import { Search } from './search.js'; | ||
|
|
||
| const PROTOCOL_URLS = { |
Collaborator
There was a problem hiding this comment.
I think maybe we should not use an external CDN? Can we use our own data?
OrKoN
reviewed
Sep 9, 2026
| if (!this._activeDomains.has(domain)) { | ||
| const landingId = domain === 'http-endpoints' ? 'endpoints' : domain; | ||
| const landingTemplate = /** @type {HTMLTemplateElement|null} */ ($('#landing')); | ||
| if (landingTemplate && landingTemplate.content.querySelector('#' + landingId)) { |
Collaborator
There was a problem hiding this comment.
We should probably use getElementById or CSS.escape here.
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.
Replaces the legacy static site generator stack (Eleventy, Rollup, Handlebars, Lit-HTML) with a zero-dependency client-side modern web app. Protocol is fetched and rendered dynamically, eliminating build-time html generation and maintenance issues.... and yet we still get backward compatibility for all existing external permalinks. (thx to 404.html trickery)
staged here: https://chromedevtools.github.io/debugger-protocol-viewer/
What Changed & Why
protocol-model.js: Protocol normalization, deterministic sorting (standard > experimental > deprecated), stabilization, and routing logic are pure functions with zero DOM baggage. They run identically in the browser and in Node for tests.$refusages on the fly and render a direct "Used by" back-reference list on every type card pointing back to referencing commands, events, and types.tot/<Domain>/index.html) handle direct hits and unpack legacy hash anchors (#method-foo➔#/Page.navigate), with<noscript>trees for crawlers.404.htmlcatches older version paths (/1-3/*,/1-2/*,/v8/*) and repo prefixes.URLPatternAPI instead of hand-rolled regex string munging.src/search.js), instant keyboard activation (/orCmd+K), and arrow-key selection.columns: 320px) with intrinsic pill widths and entity badges..experimental-bgcard tinting across methods/types (it was drowning out content) in favor of clean cards with discreteexppills.< 800px).pnpm,oxlint(runs in 20ms),oxfmt, and buildless JSDoc typechecking viatsc --noEmit. The test suite runs entirely on nativenode:test—including autonomous E2E tests that spawn headless Chrome and drive CDP over raw WebSockets in ~1.4s. YEAH, straight CDP in our browser tests heck yess.Visual Preview
#/Page)#/Audits)Routing & Compatibility Matrix
/tot/Page/#/Pagetot/Page/index.htmlstub/tot/Page/#method-navigate#/Page.navigatetot/Page/index.htmlstub/tot/DOM/#type-Node#/DOM.Nodetot/DOM/index.htmlstub/tot/Network/#event-requestWillBeSent#/Network.requestWillBeSenttot/Network/index.htmlstub/v8/Runtime/#/v8/Runtime404.htmlcatch-all/1-3/Page/#method-navigate#/stable/Page.navigate404.htmlcatch-all/1-2/Network/#/stable/Network404.htmlcatch-all/devtools-protocol/tot/Page/#method-navigate#/Page.navigate404.htmlcatch-all/debugger-protocol-viewer/tot/Page/#method-navigate#/Page.navigate404.htmlcatch-all?Page.navigate#/Page.navigateparseRoute(URLPattern)Thank you to lushnikov for making https://github.com/aslushnikov/vanilla-protocol-viewer/ forever ago.
Greetz https://github.com/ChromeDevTools/debugger-protocol-viewer/blob/c933752341238fbea6cef49fe1eed3dc3ae0270c/PLAN.md