@@ -12,17 +12,35 @@ type WranglerOptions = {
1212 logging ?: "all" | "error" ;
1313} ;
1414
15+ function injectPassthroughFlagForArgs ( options : BuildOptions , args : string [ ] ) {
16+ if ( options . packager !== "npm" && options . packager !== "yarn" ) {
17+ return args ;
18+ }
19+
20+ const flagInArgsIndex = args . findIndex ( ( v ) => v . startsWith ( "--" ) ) ;
21+ if ( flagInArgsIndex !== - 1 ) {
22+ return [ ...args . slice ( 0 , flagInArgsIndex ) , "--" , ...args . slice ( flagInArgsIndex ) ] ;
23+ }
24+
25+ return args ;
26+ }
27+
1528export function runWrangler ( options : BuildOptions , args : string [ ] , wranglerOpts : WranglerOptions = { } ) {
1629 const result = spawnSync (
1730 options . packager ,
1831 [
1932 options . packager === "bun" ? "x" : "exec" ,
2033 "wrangler" ,
21- ...args ,
22- wranglerOpts . environment && `--env ${ wranglerOpts . environment } ` ,
23- wranglerOpts . target === "remote" && ! wranglerOpts . excludeRemoteFlag && "--remote" ,
24- wranglerOpts . target === "local" && "--local" ,
25- ] . filter ( ( v ) : v is string => ! ! v ) ,
34+ ...injectPassthroughFlagForArgs (
35+ options ,
36+ [
37+ ...args ,
38+ wranglerOpts . environment && `--env ${ wranglerOpts . environment } ` ,
39+ wranglerOpts . target === "remote" && ! wranglerOpts . excludeRemoteFlag && "--remote" ,
40+ wranglerOpts . target === "local" && "--local" ,
41+ ] . filter ( ( v ) : v is string => ! ! v )
42+ ) ,
43+ ] ,
2644 {
2745 shell : true ,
2846 stdio : wranglerOpts . logging === "error" ? [ "ignore" , "ignore" , "inherit" ] : "inherit" ,
0 commit comments