Skip to content

Commit f87406c

Browse files
committed
wip
1 parent e9a8539 commit f87406c

10 files changed

+255
-257
lines changed

.gitignore

-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
/dist/
22
/out/
3-
/generated/webgpu.ts
43
node_modules
54
.DS_Store

dist/index.d.ts

+146-138
Large diffs are not rendered by default.

fix-generated-comments.mjs

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import fs from 'fs';
2+
3+
async function main() {
4+
let ts = fs.readFileSync('generated/index.d.ts', { encoding: 'utf-8' });
5+
ts = ts
6+
// convert [[#anchor]] to {@link spec_url}
7+
// convert [[#anchor|text]] to {@link spec_url|text}
8+
.replace(/([^#])\[\[([^\[].*?)\]\]/g, '$1{@link https://www.w3.org/TR/webgpu/$2}')
9+
10+
// convert {{ref}} to {@link ref}
11+
// convert {{ref|text}} to {@link ref|text}
12+
.replace(/\{\{(.*?)\}\}/g, '{@link $1}')
13+
14+
// convert {@link foo/method(...)} to {@link foo#method}
15+
.replace(/\{@link ([^[}]+)\/(.*?)\(.*?\)}/g, '{@link $1#$2}')
16+
17+
// convert {@link foo#[[bar]]} to {@link foo}.`[[bar]]`
18+
.replace(/\{@link ([^[}]+)#\[\[(.*?)]]}/g, '{@link $1}.`[[$2]]`')
19+
20+
// convert {@link foo#"bar"} to {@link foo} `"bar"`
21+
.replace(/\{@link ([^[}]+)#"(.*?)"}/g, '{@link $1} `"$2"`')
22+
23+
// fix links of the form {@link foo|text} -> {@link foo | text}
24+
.replace(/\{@link ([^}|]+)\|([^}|]+)\}/g, '{@link $1 | $2}')
25+
26+
// remove items that are known not to be linkable
27+
.replace(/{@link Promise}/g, 'Promise')
28+
.replace(/{@link ArrayBuffer}/g, 'ArrayBuffer')
29+
.replace(/{@link Uint32Array}/g, 'Uint32Array')
30+
.replace(/{@link RenderState}/g, 'RenderState')
31+
.replace(/{@link double}/g, '`double`')
32+
33+
.replace(/<pre highlight=['"]?(.*)['"]?>/g, '```$1')
34+
.replace(/<\/pre>/g, '```');
35+
36+
fs.writeFileSync('generated/index.d.ts', ts);
37+
}
38+
39+
main();

generated/index.d.ts

+67-67
Large diffs are not rendered by default.

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"scripts": {
1414
"test": "for t in tests/*/ ; do (cd \"$t\" && npm i && npm test); done",
1515
"build-docs": "cd tsdoc-src && npm ci && npm run build",
16-
"generate": "bikeshed-to-ts --in ./gpuweb/spec/index.bs --out ./generated/index.d.ts --forceGlobal --nominal && prettier -w generated/index.d.ts",
16+
"generate": "bikeshed-to-ts --in ./gpuweb/spec/index.bs --out ./generated/index.d.ts --forceGlobal --nominal && node fix-generated-comments.mjs && prettier -w generated/index.d.ts",
1717
"format": "prettier -w dist/index.d.ts"
1818
},
1919
"devDependencies": {

tsdoc-src/.gitignore

-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
11
/out
2-
/webgpu.ts

tsdoc-src/generate-webgpu-ts.mjs

-38
This file was deleted.

tsdoc-src/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"scripts": {
3-
"build": "node generate-webgpu-ts.mjs && typedoc --treatWarningsAsErrors ./webgpu.ts"
3+
"build": "typedoc --treatWarningsAsErrors ../dist/index.d.ts"
44
},
55
"devDependencies": {
66
"@types/dom-webcodecs": "0.1.3",

tsdoc-src/tsconfig.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
],
2020
},
2121
"include": [
22-
"./webgpu.ts"
22+
"../dist/index.d.ts"
2323
],
2424
"exclude": [
2525
"node_modules",

tsdoc-src/typedoc.json

-9
This file was deleted.

0 commit comments

Comments
 (0)