if (empty($manifest) || !
isset($manifest[$bundleOrAppName])) { // if there is no manifest file or no entry for the current bundle, we need to remove all assets and start fresh
$this->filesystem->
deleteDirectory($targetDirectory);
} if (!
$this->filesystem->
directoryExists($targetDirectory)) { $this->filesystem->
createDirectory($targetDirectory);
} $remoteBundleManifest =
$manifest[$bundleOrAppName] ??
[];
$localBundleManifest =
$this->
buildBundleManifest( $this->
getBundleFiles($originDirectory) );
if ($remoteBundleManifest ===
$localBundleManifest) { return;
} $this->
sync($originDirectory,
$targetDirectory,
$localBundleManifest,
$remoteBundleManifest);
$manifest[$bundleOrAppName] =
$localBundleManifest;
$this->
writeManifest($manifest);