@@ -81,6 +81,7 @@ import { fileExecutionEngine } from "../../execute/engine.ts";
8181import { projectContextForDirectory } from "../../project/project-context.ts" ;
8282import { ProjectType } from "../../project/types/types.ts" ;
8383import { ProjectConfig as ProjectConfig_Project } from "../../resources/types/schema-types.ts" ;
84+ import { RunHandlerOptions } from "../../core/run/types.ts" ;
8485
8586const noMutationValidations = (
8687 projType : ProjectType ,
@@ -976,35 +977,38 @@ async function runScripts(
976977 env [ "QUARTO_PROJECT_SCRIPT_PROGRESS" ] = "1" ;
977978 }
978979
979- const handler = handlerForScript ( script ) ;
980- if ( handler ) {
981- const input = Deno . env . get ( "QUARTO_USE_FILE_FOR_PROJECT_INPUT_FILES" ) ;
982- const output = Deno . env . get ( "QUARTO_USE_FILE_FOR_PROJECT_OUTPUT_FILES" ) ;
983- if ( input ) {
984- env [ "QUARTO_USE_FILE_FOR_PROJECT_INPUT_FILES" ] = input ;
985- }
986- if ( output ) {
987- env [ "QUARTO_USE_FILE_FOR_PROJECT_OUTPUT_FILES" ] = output ;
988- }
980+ const handler = handlerForScript ( script ) ?? {
981+ run : async (
982+ script : string ,
983+ args : string [ ] ,
984+ _stdin ?: string ,
985+ options ?: RunHandlerOptions ,
986+ ) => {
987+ return await execProcess ( {
988+ cmd : [ script , ...args ] ,
989+ cwd : options ?. cwd ,
990+ stdout : options ?. stdout ,
991+ env : options ?. env ,
992+ } ) ;
993+ } ,
994+ } ;
989995
990- const result = await handler . run ( script , args . splice ( 1 ) , undefined , {
991- cwd : projDir ,
992- stdout : quiet ? "piped" : "inherit" ,
993- env,
994- } ) ;
995- if ( ! result . success ) {
996- throw new Error ( ) ;
997- }
998- } else {
999- const result = await execProcess ( {
1000- cmd : args ,
1001- cwd : projDir ,
1002- stdout : quiet ? "piped" : "inherit" ,
1003- env,
1004- } ) ;
1005- if ( ! result . success ) {
1006- throw new Error ( ) ;
1007- }
996+ const input = Deno . env . get ( "QUARTO_USE_FILE_FOR_PROJECT_INPUT_FILES" ) ;
997+ const output = Deno . env . get ( "QUARTO_USE_FILE_FOR_PROJECT_OUTPUT_FILES" ) ;
998+ if ( input ) {
999+ env [ "QUARTO_USE_FILE_FOR_PROJECT_INPUT_FILES" ] = input ;
1000+ }
1001+ if ( output ) {
1002+ env [ "QUARTO_USE_FILE_FOR_PROJECT_OUTPUT_FILES" ] = output ;
1003+ }
1004+
1005+ const result = await handler . run ( script , args . slice ( 1 ) , undefined , {
1006+ cwd : projDir ,
1007+ stdout : quiet ? "piped" : "inherit" ,
1008+ env,
1009+ } ) ;
1010+ if ( ! result . success ) {
1011+ throw new Error ( ) ;
10081012 }
10091013 }
10101014 if ( scripts . length > 0 ) {
0 commit comments