Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Get back to RespecDocWriter to generate specs #195

Merged
merged 1 commit into from
Nov 21, 2019

Conversation

tidoust
Copy link
Member

@tidoust tidoust commented Nov 21, 2019

Making latest version of Respec run under JSDOM is too much of a maintenance burden in the end:
https://github.com/w3c/respec/issues/1469#issuecomment-546790835

This update makes Reffy use respecDocWriter (which uses the headless browser Puppeteer under the hoods) again. This allows to run the latest version of Respec.

JSDOM is still used to load specifications that do not use Respec and to detect when a specification uses Respec. Note the code no longer runs external scripts when it loads specifications: that seems unneeded in practice.

The code still contains minimal monkey patching for JSDOM so because a number of specifications do have inline scripts that call window.matchMedia, which JSDOM does not support.

This will fix #134.

Note I ran local crawls to check the results. This triggers a number of updates to the list of references that get extracted, but they all seem correct (and long overdue). It triggers some formatting updates to IDL extracts but no substantive changes. Only current issue is that some specs are now flagged by Respec as purely informative because they lack a conformance section and Reffy thus fails to extract WebIDL content for now for these specs, see discussion in:
https://github.com/w3c/respec/issues/2580
(I prepared PR against these specs)

Making latest version of Respec run under JSDOM is too much of a maintenance
burden in the end:
https://github.com/w3c/respec/issues/1469#issuecomment-546790835

This update makes Reffy use respecDocWriter (which uses the headless browser
Puppeteer under the hoods) again. This allows to run the latest version of
Respec.

JSDOM is still used to load specifications that do not use Respec and to detect
when a specification uses Respec. Note the code no longer runs external scripts
when it loads specifications: that seems unneeded in practice.

The code still contains minimal monkey patching for JSDOM so because a number
of specifications do have inline scripts that call `window.matchMedia`, which
JSDOM does not support.

This will fix #134.
Copy link
Member

@dontcallmedom dontcallmedom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sad 🐼

@tidoust tidoust merged commit 22d0c63 into master Nov 21, 2019
@tidoust
Copy link
Member Author

tidoust commented Nov 21, 2019

@foolip FYI, this move to the latest version of Respec will trigger a few updates to IDL exports because Respec formats WebIDL snippets slightly differently to ease readability.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Crawl breaks when Respec v23.7.2 is used
2 participants