reffy 14.0.1 → 14.1.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "reffy",
3
- "version": "14.0.1",
3
+ "version": "14.1.0",
4
4
  "description": "W3C/WHATWG spec dependencies exploration companion. Features a short set of tools to study spec references as well as WebIDL term definitions and references found in W3C specifications.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -36,17 +36,17 @@
36
36
  "ajv-formats": "2.1.1",
37
37
  "commander": "11.0.0",
38
38
  "fetch-filecache-for-crawling": "5.0.0",
39
- "puppeteer": "21.0.1",
39
+ "puppeteer": "21.3.5",
40
40
  "semver": "^7.3.5",
41
- "web-specs": "2.65.0",
41
+ "web-specs": "2.68.0",
42
42
  "webidl2": "24.4.1"
43
43
  },
44
44
  "devDependencies": {
45
- "chai": "4.3.7",
45
+ "chai": "4.3.10",
46
46
  "mocha": "10.2.0",
47
- "respec": "34.1.6",
47
+ "respec": "34.1.8",
48
48
  "respec-hljs": "2.1.1",
49
- "rollup": "3.27.2",
49
+ "rollup": "3.29.4",
50
50
  "undici": "^5.22.1"
51
51
  },
52
52
  "overrides": {
package/reffy.js CHANGED
@@ -132,7 +132,7 @@ will dump ~100MB of data to the console:
132
132
  process.exit(2);
133
133
  }
134
134
  if (crawlOptions.terse && (!crawlOptions.modules || crawlOptions.modules.length === 0 || crawlOptions.modules.length > 1)) {
135
- console.error('The --terse option can be only be set when only one core processing module runs');
135
+ console.error('The --terse option can only be set when only one core processing module runs');
136
136
  process.exit(2);
137
137
  }
138
138
  crawlSpecs(crawlOptions)
@@ -30,7 +30,7 @@ export default function () {
30
30
  // Note some selectors are re-defined locally in HTML and Fullscreen. We
31
31
  // won't import them.
32
32
  atrules: extractDfns({
33
- selector: 'dfn[data-dfn-type=at-rule]',
33
+ selector: 'dfn[data-dfn-type=at-rule]:not([data-dfn-for])',
34
34
  extractor: extractTypedDfn,
35
35
  duplicates: 'reject',
36
36
  warnings
@@ -90,7 +90,18 @@ export default function () {
90
90
  });
91
91
  }
92
92
 
93
- // Move descriptors to at-rules structure
93
+ // Subsidiary at-rules are at-rules that can be used within a parent at-rule,
94
+ // we'll consider that they are "descriptors".
95
+ const subsidiary = extractDfns({
96
+ selector: 'dfn[data-dfn-type=at-rule][data-dfn-for]',
97
+ extractor: extractTypedDfn,
98
+ duplicates: 'reject',
99
+ keepDfnType: true,
100
+ warnings
101
+ });
102
+ descriptors = descriptors.concat([subsidiary]);
103
+
104
+ // Move descriptors, and subsidiary at-rules, to at-rules structure
94
105
  for (const desclist of descriptors) {
95
106
  for (const desc of desclist) {
96
107
  let rule = res.atrules.find(r => r.name === desc.for);
package/src/lib/util.js CHANGED
@@ -570,7 +570,7 @@ async function processSpecification(spec, processFunction, args, options) {
570
570
  // (Note HTTP status is 0 when `file://` URLs are loaded)
571
571
  const subresult = await subPage.goto(url, loadOptions);
572
572
  if ((subresult.status() !== 200) && (!url.startsWith('file://') || (subresult.status() !== 0))) {
573
- throw new Error(`Loading ${spec.url} triggered HTTP status ${result.status()}`);
573
+ throw new Error(`Loading ${spec.url} triggered HTTP status ${subresult.status()} when loading ${url}`);
574
574
  }
575
575
  const html = await subPage.evaluate(() => {
576
576
  return document.body.outerHTML