script/update-typedoc-link.js (39 lines of code) (raw):

#!/usr/bin/env node // eslint-disable-next-line @typescript-eslint/no-var-requires const fs = require('fs-extra'); const walk = function (dir) { let results = []; let list = fs.readdirSync(dir); list.forEach(function (file) { file = dir + '/' + file; let stat = fs.statSync(file); if (stat && stat.isDirectory()) { results = results.concat(walk(file)); } else { results.push(file); } }); return results; }; walk('docs') .filter(fn => fn.endsWith('.html')) .forEach(file => { fs.readFile(file, 'utf8', (err, data) => { if (err) return console.error(err); let result = data.replace(/blob\/[0-9a-f]{5,40}\//g, 'blob/main/'); fs.writeFile(file, result, 'utf8', err => { if (err) return console.error(err); }); }); }); fs.readFile('docs/assets/js/search.js', 'utf8', (err, data) => { if (err) return console.error(err); let result = data.replace(/["][,]["]/g, '",\n"'); result = result.replace(/[}][,][{]/g, '},\n{'); fs.writeFile('docs/assets/js/search.js', result, 'utf8', err => { if (err) return console.error(err); }); }); // For backward compatibility fs.copyFile('docs/modules.html', 'docs/globals.html', (err) => { if (err) return console.error(err); });