1. I want to set the stage to deal with #2898 properly. 2. `request` was deprecated years ago. Decided that it's better to just move to native Node.js APIs in its place. 3. `glob` was outdated, and it's easier to just toss it than to upgrade across a major version. 4. I switched to using Marked's "lexer" directly so I'm not fussing with the complexity of renderers. This of course necessitated a more complex file processor as its "lexer" is really an AST parser. I also decided to go a few steps further: - Drop the cache to simplify everything. I might reverse this later, but just caching URLs per-page should be enough to prevent the world from crashing down. - Drop some more dependencies, so I don't have to come back to this later nearly as quickly. - Upgrade to a more modern language version in the scripts. - Update Marked. It was super outdated. - Add line and column numbers to the warnings. That took quite a bit of work, thanks to a missing Marked feature plus a bug in Marked.
20 lines
352 B
JavaScript
20 lines
352 B
JavaScript
"use strict"
|
|
|
|
process.on("unhandledRejection", (e) => {
|
|
process.exitCode = 1
|
|
|
|
if (!e.stdout || !e.stderr) throw e
|
|
|
|
console.error(e.stack)
|
|
|
|
if (e.stdout?.length) {
|
|
console.error(e.stdout.toString("utf-8"))
|
|
}
|
|
|
|
if (e.stderr?.length) {
|
|
console.error(e.stderr.toString("utf-8"))
|
|
}
|
|
|
|
// eslint-disable-next-line no-process-exit
|
|
process.exit()
|
|
})
|