@@ -14,18 +14,18 @@ $extra_themes = [ 'twentyseventeen', 'twentynineteen', 'twentytwenty', 'twentyt
1414
1515// Skipped themes and plugins.
1616$ skip_plugins = [ 'performance-lab ' ];
17- $ skip_themes = [];
17+ $ skip_themes = [];
1818
1919// Config directory and filenames
20- $ config_dir = $ root . '/config ' ;
21- $ config_languages = $ config_dir . '/languages-info.json ' ;
22- $ config_packages = $ config_dir . '/wp-packages.json ' ;
20+ $ config_dir = $ root . '/config ' ;
2321
2422// Cache directory and filenames
2523$ cache_dir = $ root . '/cache ' ;
2624$ cache_file_versions = $ cache_dir . '/wp-versions.json ' ;
2725$ cache_file_core_themes = $ cache_dir . '/wp-core-themes.json ' ;
2826$ cache_file_core_plugins = $ cache_dir . '/wp-core-plugins.json ' ;
27+ $ config_languages = $ cache_dir . '/languages-info.json ' ;
28+ $ config_packages = $ cache_dir . '/wp-packages.json ' ;
2929
3030// API Urls
3131$ api_versions = 'https://api.wordpress.org/core/stable-check/1.0/ ' ;
@@ -51,16 +51,20 @@ if ( should_refresh_cache( $cache_file_versions, HOUR_IN_SECONDS * 3 ) ) {
5151 // Get available WordPress versions
5252 try {
5353 $ wp_versions = collect ( req ( $ api_versions ) )
54- ->mapToGroups ( function ( $ item , $ key ) {
55- return [ $ item => $ key ];
56- } );
54+ ->mapToGroups ( fn ( $ item , $ key ) => [ $ item => $ key ] );
5755
5856 // Latest version to get the available languages
5957 $ latest = $ wp_versions ->get ( 'latest ' )->first ();
6058 // Versions we still fetch
61- $ outdated = $ wp_versions ->get ( 'outdated ' )->values ();
59+ $ outdated = collect ( $ wp_versions ->get ( 'outdated ' ) )
60+ ->reverse ()
61+ ->take ( 30 )
62+ ->values ();
6263 // Versions we drop from the repository to save time
63- $ insecure = $ wp_versions ->get ( 'insecure ' )->values ();
64+ $ insecure = collect ( $ wp_versions ->get ( 'insecure ' ) )
65+ ->reverse ()
66+ ->take ( 30 )
67+ ->values ();
6468
6569 cache ( [
6670 'outdated ' => $ outdated ,
@@ -216,15 +220,13 @@ if ( should_refresh_cache( $cache_file_core_plugins ) ) {
216220 }
217221
218222 $ plugins = collect ( $ plugins )
219- ->map ( function ( $ plugin ) {
220- return [
221- $ plugin ->slug => [
222- 'name ' => $ plugin ->name ,
223- 'slug ' => $ plugin ->slug ,
224- 'versions ' => $ plugin ->versions ,
225- ],
226- ];
227- } );
223+ ->map ( fn ( $ plugin ) => [
224+ $ plugin ->slug => [
225+ 'name ' => $ plugin ->name ,
226+ 'slug ' => $ plugin ->slug ,
227+ 'versions ' => collect ($ plugin ->versions )->sortKeysDesc ()->take (25 )->toArray (),
228+ ],
229+ ] );
228230
229231 cache ( [ 'plugins ' => $ plugins ], $ cache_file_core_plugins );
230232 }
@@ -302,6 +304,9 @@ foreach ( $plugins as $plugin ) {
302304 continue ;
303305 }
304306
307+ // Only keep 25 newest plugin versions.
308+ $ plugin ->versions = collect ( $ plugin ->versions )->sortKeys ()->reverse ()->take ( 25 );
309+
305310 // Get all translations to all known plugin versions
306311 foreach ( $ plugin ->versions as $ version => $ url ) {
307312 $ slug = $ plugin ->slug ;
@@ -373,6 +378,9 @@ foreach ( $themes as $theme ) {
373378 continue ;
374379 }
375380
381+ // Only keep 10 newest theme versions.
382+ $ theme ->versions = collect ( $ theme ->versions )->sortKeys ()->reverse ()->take ( 10 );
383+
376384 foreach ( $ theme ->versions as $ theme_version => $ theme_version_url ) {
377385 $ theme_cache_file_name = "$ cache_dir/theme- $ slug- $ theme_version.json " ;
378386
0 commit comments