public function JsCollectionOptimizer::deleteAll in Flysystem 3.x
Same name and namespace in other branches
- 8 src/Asset/JsCollectionOptimizer.php \Drupal\flysystem\Asset\JsCollectionOptimizer::deleteAll()
- 2.0.x src/Asset/JsCollectionOptimizer.php \Drupal\flysystem\Asset\JsCollectionOptimizer::deleteAll()
- 3.0.x src/Asset/JsCollectionOptimizer.php \Drupal\flysystem\Asset\JsCollectionOptimizer::deleteAll()
Deletes all optimized asset collections assets.
Overrides JsCollectionOptimizer::deleteAll
File
- src/
Asset/ JsCollectionOptimizer.php, line 17
Class
- JsCollectionOptimizer
- Optimizes JavaScript assets.
Namespace
Drupal\flysystem\AssetCode
public function deleteAll() {
$this->state
->delete('system.js_cache_files');
/** @var \Drupal\Core\File\FileSystem $file_system */
$file_system = \Drupal::service('file_system');
$delete_stale = static function ($uri) use ($file_system) {
// Default stale file threshold is 30 days (2592000 seconds).
$stale_file_threshold = \Drupal::config('system.performance')
->get('stale_file_threshold') ?? 2592000;
if (\Drupal::time()
->getRequestTime() - filemtime($uri) > $stale_file_threshold) {
$file_system
->delete($uri);
}
};
$file_system
->scanDirectory($this
->getSchemeForExtension('js') . '://js', '/.*/', [
'callback' => $delete_stale,
]);
}