Skip to content

Commit 9654d97

Browse files
committed
add keep-ipynb capability to record test file
1 parent b340ca5 commit 9654d97

1 file changed

Lines changed: 13 additions & 1 deletion

File tree

src/execute/julia.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import {
2929
kFigPos,
3030
kIpynbProduceSourceNotebook,
3131
kKeepHidden,
32+
kKeepIpynb,
3233
} from "../config/constants.ts";
3334
import {
3435
isHtmlCompatible,
@@ -39,7 +40,11 @@ import {
3940
} from "../config/format.ts";
4041
import { resourcePath } from "../core/resources.ts";
4142
import { quartoRuntimeDir } from "../core/appdirs.ts";
42-
import { normalizePath, pathWithForwardSlashes } from "../core/path.ts";
43+
import {
44+
dirAndStem,
45+
normalizePath,
46+
pathWithForwardSlashes,
47+
} from "../core/path.ts";
4348
import { isInteractiveSession } from "../core/platform.ts";
4449
import { runningInCI } from "../core/ci-info.ts";
4550
import { sleep } from "../core/async.ts";
@@ -211,6 +216,13 @@ export const juliaEngine: ExecutionEngine = {
211216
},
212217
);
213218

219+
// Write notebook to file if keep-ipynb is set
220+
if (options.format.execute[kKeepIpynb]) {
221+
const [fileDir, fileStem] = dirAndStem(options.target.source);
222+
const ipynbPath = join(fileDir, fileStem + ".ipynb");
223+
Deno.writeTextFileSync(ipynbPath, JSON.stringify(nb, null, 2));
224+
}
225+
214226
// return dependencies as either includes or raw dependencies
215227
let includes: PandocIncludes | undefined;
216228
let engineDependencies: Record<string, Array<unknown>> | undefined;

0 commit comments

Comments
 (0)