reffy 6.4.2 → 6.6.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/LICENSE +21 -21
- package/README.md +158 -158
- package/index.js +11 -11
- package/package.json +53 -53
- package/reffy.js +248 -248
- package/src/browserlib/canonicalize-url.mjs +50 -50
- package/src/browserlib/create-outline.mjs +352 -352
- package/src/browserlib/extract-cssdfn.mjs +319 -319
- package/src/browserlib/extract-dfns.mjs +687 -686
- package/src/browserlib/extract-editors.mjs~ +14 -0
- package/src/browserlib/extract-elements.mjs +205 -205
- package/src/browserlib/extract-headings.mjs +48 -48
- package/src/browserlib/extract-ids.mjs +28 -28
- package/src/browserlib/extract-links.mjs +28 -28
- package/src/browserlib/extract-references.mjs +203 -203
- package/src/browserlib/extract-webidl.mjs +134 -134
- package/src/browserlib/generate-es-dfn-report.sh~ +4 -0
- package/src/browserlib/get-absolute-url.mjs +21 -21
- package/src/browserlib/get-generator.mjs +26 -26
- package/src/browserlib/get-lastmodified-date.mjs +13 -13
- package/src/browserlib/get-title.mjs +11 -11
- package/src/browserlib/informative-selector.mjs +16 -16
- package/src/browserlib/map-ids-to-headings.mjs +136 -136
- package/src/browserlib/reffy.json +53 -53
- package/src/cli/check-missing-dfns.js +609 -609
- package/src/cli/csstree-grammar-check.js +28 -0
- package/src/cli/csstree-grammar-check.js~ +10 -0
- package/src/cli/csstree-grammar-parser.js +11 -0
- package/src/cli/csstree-grammar-parser.js~ +1 -0
- package/src/cli/extract-editors.js~ +38 -0
- package/src/cli/generate-idlnames.js +430 -430
- package/src/cli/generate-idlparsed.js +139 -139
- package/src/cli/merge-crawl-results.js +128 -128
- package/src/cli/parse-webidl.js +430 -430
- package/src/cli/process-specs.js~ +28 -0
- package/src/lib/css-grammar-parse-tree.schema.json +109 -109
- package/src/lib/css-grammar-parser.js +440 -440
- package/src/lib/fetch.js +56 -56
- package/src/lib/nock-server.js +127 -127
- package/src/lib/specs-crawler.js +631 -622
- package/src/lib/util.js +943 -943
- package/src/specs/missing-css-rules.json +197 -197
- package/src/specs/spec-equivalents.json +149 -149
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
const fs = require("fs");
|
|
2
|
+
const { definitionSyntax } = require('css-tree');
|
|
3
|
+
|
|
4
|
+
function parse(value, file) {
|
|
5
|
+
try {
|
|
6
|
+
if (value && !value === definitionSyntax.generate(definitionSyntax.parse(value))) {
|
|
7
|
+
console.error("Discrepancy when parsing " + value + " in " + file);
|
|
8
|
+
}
|
|
9
|
+
} catch (e) {
|
|
10
|
+
console.error("Error parsing " + value + " in " + file + ": " + e.message);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
if (require.main === module) {
|
|
15
|
+
const file = process.argv[2];
|
|
16
|
+
if (!file) {
|
|
17
|
+
console.error('Required file parameter missing');
|
|
18
|
+
process.exit(2);
|
|
19
|
+
}
|
|
20
|
+
const data = fs.readFileSync(file, "utf-8");
|
|
21
|
+
const {properties, descriptors, valuespaces} = JSON.parse(data);
|
|
22
|
+
for (let dataset of [properties, descriptors, valuespaces].map(Object.values)) {
|
|
23
|
+
for (let dfn of dataset) {
|
|
24
|
+
parse(dfn.value);
|
|
25
|
+
parse(dfn.newValue);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
const { definitionSyntax } = require('css-tree');
|
|
2
|
+
|
|
3
|
+
if (require.main === module) {
|
|
4
|
+
const file = process.argv[2];
|
|
5
|
+
if (!file) {
|
|
6
|
+
console.error('Required file parameter missing');
|
|
7
|
+
process.exit(2);
|
|
8
|
+
}
|
|
9
|
+
console.log(JSON.stringify(definitionSyntax.parse(input), null, 2));
|
|
10
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const { definitionSyntax } = require('css-tree');
|
|
2
|
+
|
|
3
|
+
if (require.main === module) {
|
|
4
|
+
const input = process.argv.slice(2).join(" ");
|
|
5
|
+
if (!input) {
|
|
6
|
+
console.error('Required input parameter missing');
|
|
7
|
+
process.exit(2);
|
|
8
|
+
}
|
|
9
|
+
console.log(JSON.stringify(definitionSyntax.parse(input), null, 2));
|
|
10
|
+
}
|
|
11
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const { definitionSyntax } = require('css-tree');
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
async function processSpec(spec, crawlOptions) {
|
|
2
|
+
spec.crawled = crawlOptions.publishedVersion ?
|
|
3
|
+
(spec.release ? spec.release : spec.nightly) :
|
|
4
|
+
spec.nightly;
|
|
5
|
+
spec.date = "";
|
|
6
|
+
spec.links = {};
|
|
7
|
+
spec.refs = {};
|
|
8
|
+
spec.idl = {};
|
|
9
|
+
if (spec.error) {
|
|
10
|
+
return spec;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
try {
|
|
14
|
+
const result = await processSpecification(spec.crawled, (spec) => {
|
|
15
|
+
const idToHeading = window.reffy.mapIdsToHeadings();
|
|
16
|
+
return {
|
|
17
|
+
crawled: window.location.toString(),
|
|
18
|
+
title: window.reffy.getTitle(),
|
|
19
|
+
generator: window.reffy.getGenerator(),
|
|
20
|
+
date: window.reffy.getLastModifiedDate(),
|
|
21
|
+
editors: window.reffy.extractEditors()
|
|
22
|
+
};
|
|
23
|
+
}, [spec]);
|
|
24
|
+
|
|
25
|
+
// Copy results back into initial spec object
|
|
26
|
+
spec.crawled = result.crawled;
|
|
27
|
+
spec.title = result.title ? result.title : spec.title;
|
|
28
|
+
spec.generator = result.generator;
|
|
29
|
+
spec.date = result.date;
|
|
30
|
+
spec.editors = result.editors;
|
|
31
|
+
}
|
|
32
|
+
catch (err) {
|
|
33
|
+
spec.title = spec.title || '[Could not be determined, see error]';
|
|
34
|
+
spec.error = err.toString() + (err.stack ? ' ' + err.stack : '');
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return spec;
|
|
38
|
+
}
|