Skip to content

Commit e3afc2f

Browse files
authored
feat: pass through PLAYWRIGHT_* environment variables (#132)
Add PLAYWRIGHT_* to the default passthrough environment variables list to ensure Playwright can find its browser executables when running tasks through the task runner. close VP-135
1 parent d1824f2 commit e3afc2f

2 files changed

Lines changed: 24 additions & 0 deletions

File tree

crates/vite_task_graph/src/config/mod.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,8 @@ pub const DEFAULT_PASSTHROUGH_ENVS: &[&str] = &[
180180
"DOCKER_*",
181181
"BUILDKIT_*",
182182
"COMPOSE_*",
183+
// Playwright specific
184+
"PLAYWRIGHT_*",
183185
// Token patterns
184186
"*_TOKEN",
185187
];

crates/vite_task_plan/src/envs.rs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -518,4 +518,26 @@ mod tests {
518518
// Non-sensitive env should NOT be hashed
519519
assert_eq!(result.fingerprinted_envs.get("NORMAL_VAR").unwrap().as_ref(), "normal_value");
520520
}
521+
522+
#[test]
523+
fn test_playwright_env_passthrough() {
524+
// Verify PLAYWRIGHT_* pattern matches Playwright environment variables
525+
let env_config = create_env_config(&[], &["PLAYWRIGHT_*"]);
526+
527+
let mut all_envs = create_test_envs(vec![
528+
("PLAYWRIGHT_BROWSERS_PATH", "/custom/browsers"),
529+
("PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD", "1"),
530+
("PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH", "/path/to/chromium"),
531+
("OTHER_VAR", "should_be_filtered"),
532+
]);
533+
534+
let _result = EnvFingerprints::resolve(&mut all_envs, &env_config).unwrap();
535+
536+
// PLAYWRIGHT_* envs should be passed through
537+
assert!(all_envs.contains_key(OsStr::new("PLAYWRIGHT_BROWSERS_PATH")));
538+
assert!(all_envs.contains_key(OsStr::new("PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD")));
539+
assert!(all_envs.contains_key(OsStr::new("PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH")));
540+
// Non-matching env should be filtered out
541+
assert!(!all_envs.contains_key(OsStr::new("OTHER_VAR")));
542+
}
521543
}

0 commit comments

Comments
 (0)