listContents('src', true) ->filter(function (StorageAttributes $item) { return $item->isFile(); }) ->filter(function (FileAttributes $item) { return substr($item->path(), -5) === '.json'; }) ->map(function (FileAttributes $item) { return $item->path(); }) ->toArray(); foreach ($composerFiles as $composerFile) { $contents = $filesystem->read($composerFile); $mainVersionRegex = preg_quote($mainVersion, '~'); $updated = preg_replace('~("league/flysystem": "\\^[a-zA-Z0-9\\.-]+")~ms', '"league/flysystem": "^' . $mainVersion . '"', $contents); $filesystem->write($composerFile, $updated); }