Skip to content

Commit b02c94d

Browse files
authored
Merge pull request #10136 from quarto-dev/fix/windows/deno-env
2 parents df06f87 + 0dbd854 commit b02c94d

File tree

2 files changed

+29
-8
lines changed

2 files changed

+29
-8
lines changed

package/scripts/windows/quarto.cmd

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,17 +101,31 @@ SET "DENO_TLS_CA_STORE=system,mozilla"
101101
SET "DENO_NO_UPDATE_CHECK=1"
102102
SET "QUARTO_DENO_OPTIONS=--unstable-ffi --no-config --cached-only --allow-read --allow-write --allow-run --allow-env --allow-net --allow-ffi"
103103

104-
REM --enable-experimental-regexp-engine is required for /regex/l, https://github.com/quarto-dev/quarto-cli/issues/9737
104+
REM Add expected V8 options to QUARTO_DENO_V8_OPTIONS
105105
IF DEFINED QUARTO_DENO_V8_OPTIONS (
106-
SET "QUARTO_DENO_V8_OPTIONS=--enable-experimental-regexp-engine,--max-old-space-size=8192,--max-heap-size=8192,!QUARTO_DENO_V8_OPTIONS!"
106+
REM --enable-experimental-regexp-engine is required for /regex/l, https://github.com/quarto-dev/quarto-cli/issues/9737
107+
IF "!QUARTO_DENO_V8_OPTIONS!"=="!QUARTO_DENO_V8_OPTIONS:--enable-experimental-regexp-engine=!" (
108+
SET "QUARTO_DENO_V8_OPTIONS=--enable-experimental-regexp-engine,!QUARTO_DENO_V8_OPTIONS!"
109+
)
110+
IF "!QUARTO_DENO_V8_OPTIONS!"=="!QUARTO_DENO_V8_OPTIONS:--max-old-space-size=!" (
111+
SET "QUARTO_DENO_V8_OPTIONS=--max-old-space-size=8192,!QUARTO_DENO_V8_OPTIONS!"
112+
)
113+
IF "!QUARTO_DENO_V8_OPTIONS!"=="!QUARTO_DENO_V8_OPTIONS:--max-heap-size=!" (
114+
SET "QUARTO_DENO_V8_OPTIONS=--max-heap-size=8192,!QUARTO_DENO_V8_OPTIONS!"
115+
)
107116
) ELSE (
108117
SET "QUARTO_DENO_V8_OPTIONS=--enable-experimental-regexp-engine,--max-old-space-size=8192,--max-heap-size=8192"
109118
)
110119

120+
REM Prepend v8-flags for deno run if necessary
111121
IF NOT DEFINED QUARTO_DENO_EXTRA_OPTIONS (
112122
SET "QUARTO_DENO_EXTRA_OPTIONS=--v8-flags=!QUARTO_DENO_V8_OPTIONS!"
113123
) ELSE (
114-
SET "QUARTO_DENO_EXTRA_OPTIONS=--v8-flags=!QUARTO_DENO_V8_OPTIONS! !QUARTO_DENO_EXTRA_OPTIONS!"
124+
IF "!QUARTO_DENO_EXTRA_OPTIONS!"=="!QUARTO_DENO_EXTRA_OPTIONS:--v8-flags=!" (
125+
SET "QUARTO_DENO_EXTRA_OPTIONS=--v8-flags=!QUARTO_DENO_V8_OPTIONS! !QUARTO_DENO_EXTRA_OPTIONS!"
126+
) ELSE (
127+
ECHO WARN: QUARTO_DENO_EXTRA_OPTIONS already contains --v8-flags, skipping addition of QUARTO_DENO_V8_OPTIONS by quarto itself. This is unexpected and you should check your configuration.
128+
)
115129
)
116130

117131
!QUARTO_DENO! !QUARTO_ACTION! !QUARTO_DENO_OPTIONS! !QUARTO_DENO_EXTRA_OPTIONS! !QUARTO_IMPORT_MAP_ARG! !QUARTO_TARGET! %*

src/resources/filters/normalize/parsehtml.lua

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,21 @@ function parse_html_tables()
5151
jin:write(htmltext)
5252
jin:flush()
5353
local quarto_path = pandoc.path.join({os.getenv('QUARTO_BIN_PATH'), 'quarto'})
54-
local jout = io.popen(quarto_path .. ' run ' ..
54+
local jout, jerr = io.popen(quarto_path .. ' run ' ..
5555
pandoc.path.join({os.getenv('QUARTO_SHARE_PATH'), 'scripts', 'juice.ts'}) .. ' ' ..
5656
juice_in, 'r')
57-
if jout then
58-
return jout:read('a')
59-
else
60-
quarto.log.error('failed to juice')
57+
if not jout then
58+
quarto.log.error('Running juice failed with message: ' .. (jerr or "Unknown error"))
59+
return htmltext
60+
end
61+
local content = jout:read('a')
62+
local success, _, exitCode = jout:close()
63+
-- Check the exit status
64+
if not success then
65+
quarto.log.error("Running juice failed with exit code: " .. (exitCode or "unknown exit code"))
6166
return htmltext
67+
else
68+
return content
6269
end
6370
end)
6471
end

0 commit comments

Comments
 (0)