Our tests fail against the "pre-release" of Quarto, because of the following error:
error: Uncaught SyntaxError: The requested module 'https://deno.land/std/streams/mod.ts' does not provide an export named 'writeAllSync'
import { writeAllSync } from "https://deno.land/std/streams/mod.ts";
^
at <anonymous> (file:///home/runner/work/acronyms/acronyms/tests/run_tests.ts:14:10)
This is probably because the next version of Quarto embeds a new Deno version that no longer exports writeAllSync.
Deno 2.x has indeed removed this function, see the following links for more details:
Deno has been a pain in the *** since the test suite was created. However, its big advantage is that it is embedded within Quarto, so we are certain that the script can be executed (the problem is that, depending on Deno's version, our imports might not work.....).
I see three potential alternatives:
Fix the script and keep Deno. I am not sure that we can import from the standard library easily, because Quarto forbids "URL" imports, relying only on its local cache.
Ditch Deno and use a Lua script. Lua has the same advantage as Deno: it is embedded within Pandoc (=> within Quarto as well). However, the test suite might be difficult to write in Lua (?).
Ditch Deno and use a Python script. Python has one great advantage: it will be far easier to write. However, we have no guarantee that an interpreter will be available. It might not be a huge problem, we can ensure that an interpreter is installed on the CI/CD workflows. People who want to help develop and test acronyms will have to install a Python interpreter. It is very common on Unix/OSX systems.
Our tests fail against the "pre-release" of Quarto, because of the following error:
This is probably because the next version of Quarto embeds a new Deno version that no longer exports
writeAllSync
. Deno 2.x has indeed removed this function, see the following links for more details:Deno has been a pain in the *** since the test suite was created. However, its big advantage is that it is embedded within Quarto, so we are certain that the script can be executed (the problem is that, depending on Deno's version, our imports might not work.....).
I see three potential alternatives: