This commit changes how error occurring in SWC are handled.
Changed lexer settings to properly handle TS decorators.
Changed output of SWC error to annotate with position in file.
This commit fixes a bug introduced in #5029 that caused bad
handling of redirects during module analysis.
Also ensured that duplicate modules are not downloaded.
This adds [Node's `util.callbackify`][0] to `std/node/util.ts`.
I lifted most of this from the [original Node source code][1] (and [its
tests][2]). I tried to make minimal modifications to the source.
I made a few arbitrary decisions:
- I was unable to do the function's types elegantly. I made overloads
for functions that have 0 to 5 (inclusive) arguments, excluding the
callback. I would love to know a better way to do this. (It seems that
the folks at DefinitelyTyped [were also stumped][3], though maybe
their solution is deliberate.)
- There are a few edge cases that cause custom Node errors to be
produced. Instead of re-implementing those errors completely, I
created simplified classes. These are mostly correct but are not
identical to the real Node errors.
- The tests implement a possibly-arcane `TestQueue` class. I originally
used a lot of inline promises but found it too repetitive.
Closes [#5366][4].
[0]: https://nodejs.org/api/util.html#util_util_callbackify_original
[1]: 4780493301/lib/util.js (L183-L226)
[2]: 4780493301/test/parallel/test-util-callbackify.js
[3]: 7d24857ddb/types/node/util.d.ts (L61-L84)
[4]: https://github.com/denoland/deno/issues/5366
This commit disabled flaky test in cli/module_graph.rs.
The test uses 019_media_types.ts which was known to be flaky
for some time. Test should be reenabled once test HTTP server
is rewritten to Rust.