Skip to content

Commit a3d08f9

Browse files
committed
v37.0.0
1 parent 05b5eb1 commit a3d08f9

10 files changed

Lines changed: 1040 additions & 46401 deletions

builds/respec-aom.js

Lines changed: 136 additions & 9611 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

builds/respec-aom.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

builds/respec-dini.js

Lines changed: 141 additions & 9755 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

builds/respec-dini.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

builds/respec-geonovum.js

Lines changed: 99 additions & 9310 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

builds/respec-geonovum.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

builds/respec-w3c.js

Lines changed: 592 additions & 17711 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

builds/respec-w3c.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

builds/respec-worker.js

Lines changed: 67 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,73 @@ if (typeof self.hljs === "undefined" && self.RESPEC_HIGHLIGHT_URL) {
1010
}
1111

1212
self.addEventListener("message", ({ data }) => {
13-
if (data.action !== "highlight") return;
14-
const { code } = data;
15-
const langs = data.languages?.length ? data.languages : undefined;
16-
try {
17-
const { value, language } = self.hljs.highlightAuto(code, langs);
18-
Object.assign(data, { value, language });
19-
} catch (err) {
20-
console.error("Could not transform some code?", err);
21-
Object.assign(data, { value: code, language: "" });
13+
switch (data.action) {
14+
case "highlight-load-lang": {
15+
const { langURL, langScript, propName, lang } = data;
16+
console.warn(
17+
`[ReSpec] The "highlight-load-lang" worker action is deprecated ` +
18+
`and will be removed in a future version. ` +
19+
`To migrate, fetch your language script in the main thread and ` +
20+
`send the text as "langScript" instead of "langURL". ` +
21+
`The "langURL" path may fail in Firefox. ` +
22+
`See https://github.com/speced/respec/issues/5228`
23+
);
24+
try {
25+
if (langScript) {
26+
const blob = new Blob([langScript], {
27+
type: "application/javascript",
28+
});
29+
const objectURL = URL.createObjectURL(blob);
30+
try {
31+
importScripts(objectURL);
32+
} finally {
33+
URL.revokeObjectURL(objectURL);
34+
}
35+
} else if (langURL) {
36+
const { protocol, hostname } = new URL(langURL);
37+
const isSecure =
38+
protocol === "https:" ||
39+
(protocol === "http:" &&
40+
(hostname === "localhost" ||
41+
hostname === "127.0.0.1" ||
42+
hostname === "[::1]"));
43+
if (!isSecure) {
44+
throw new Error(
45+
`langURL must be https: or http: on localhost, got "${langURL}"`
46+
);
47+
}
48+
importScripts(langURL);
49+
} else {
50+
throw new Error(
51+
`No langScript or langURL provided for language "${lang}"`
52+
);
53+
}
54+
if (typeof self[propName] === "function") {
55+
self.hljs.registerLanguage(lang, self[propName]);
56+
} else {
57+
throw new Error(
58+
`Language definer "${propName}" is not a function on self`
59+
);
60+
}
61+
} catch (err) {
62+
console.error("Failed to load or register language", lang, err);
63+
}
64+
delete data.langScript;
65+
delete data.langURL;
66+
break;
67+
}
68+
case "highlight": {
69+
const { code } = data;
70+
const langs = data.languages?.length ? data.languages : undefined;
71+
try {
72+
const { value, language } = self.hljs.highlightAuto(code, langs);
73+
Object.assign(data, { value, language });
74+
} catch (err) {
75+
console.error("Could not transform some code?", err);
76+
Object.assign(data, { value: code, language: "" });
77+
}
78+
break;
79+
}
2280
}
2381
self.postMessage(data);
2482
});

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "respec",
3-
"version": "36.0.0",
3+
"version": "37.0.0",
44
"license": "W3C",
55
"description": "A technical specification pre-processor.",
66
"engines": {

0 commit comments

Comments
 (0)