schneespur/vendor/psy/psysh/.phan/merge-baselines.php
Michael 2c63440ed8 Revert: move code back to project root from schneespur/ subdirectory
- Reverts the schneespur/ subdirectory restructure (b8e426b)
- Restores package.json and vite.config.js (needed for npm build, were
  removed in an earlier cleanup before the restructure)
- Updates public/build/ assets with current Vite output (new content hashes)
2026-05-17 18:24:26 +00:00

31 lines
1,000 B
PHP

<?php
/**
* Helper function to merge multiple Phan baseline files.
*
* @param string[] $baselineFiles Array of baseline file paths to merge
*
* @return array Merged baseline array with 'file_suppressions' key
*/
function mergeBaselines(array $baselineFiles): array
{
$merged = ['file_suppressions' => []];
foreach ($baselineFiles as $baseline) {
if (file_exists($baseline)) {
$data = require $baseline;
if (isset($data['file_suppressions'])) {
foreach ($data['file_suppressions'] as $file => $suppressions) {
if (!isset($merged['file_suppressions'][$file])) {
$merged['file_suppressions'][$file] = [];
}
$merged['file_suppressions'][$file] = array_values(array_unique(
array_merge($merged['file_suppressions'][$file], $suppressions)
));
}
}
}
}
return $merged;
}