]> source.dussan.org Git - jquery.git/commitdiff
Build: sort branches in compare_size; last run last
authorTimmy Willison <timmywil@users.noreply.github.com>
Thu, 21 Sep 2023 21:47:18 +0000 (17:47 -0400)
committerGitHub <noreply@github.com>
Thu, 21 Sep 2023 21:47:18 +0000 (17:47 -0400)
Close gh-5334

build/tasks/compare_size.mjs

index f1af39e714763ebda34faa853dd0ee4603aded97..c3973bc7a1233158730b9e7fdeee508381dba736 100644 (file)
@@ -6,6 +6,7 @@ import { exec as nodeExec } from "node:child_process";
 import isCleanWorkingDir from "./lib/isCleanWorkingDir.js";
 
 const VERSION = 1;
+const lastRunBranch = " last run";
 
 const gzip = promisify( zlib.gzip );
 const exec = promisify( nodeExec );
@@ -39,7 +40,7 @@ async function getCache( loc ) {
                return {};
        }
 
-       const lastRun = cache[ " last run" ];
+       const lastRun = cache[ lastRunBranch ];
        if ( !lastRun || !lastRun.meta || lastRun.meta.version !== VERSION ) {
                console.log( "Compare cache version mismatch. Rewriting..." );
                return {};
@@ -73,6 +74,22 @@ function compareSizes( existing, current, padLength ) {
        return chalk.green( `${delta}`.padStart( padLength ) );
 }
 
+function sortBranches( a, b ) {
+       if ( a === lastRunBranch ) {
+               return 1;
+       }
+       if ( b === lastRunBranch ) {
+               return -1;
+       }
+       if ( a < b ) {
+               return -1;
+       }
+       if ( a > b ) {
+               return 1;
+       }
+       return 0;
+}
+
 export async function compareSize( { cache = ".sizecache.json", files } = {} ) {
        if ( !files || !files.length ) {
                throw new Error( "No files specified" );
@@ -116,7 +133,7 @@ export async function compareSize( { cache = ".sizecache.json", files } = {} ) {
                return `${rawSize} ${gzSize} ${result.filename}`;
        } );
 
-       const comparisons = Object.keys( sizeCache ).map( function( branch ) {
+       const comparisons = Object.keys( sizeCache ).sort( sortBranches ).map( function( branch ) {
                const meta = sizeCache[ branch ].meta || {};
                const commit = meta.commit;
 
@@ -153,7 +170,7 @@ export async function compareSize( { cache = ".sizecache.json", files } = {} ) {
 
        // Always save the last run
        // Save version under last run
-       sizeCache[ " last run" ] = {
+       sizeCache[ lastRunBranch ] = {
                meta: { version: VERSION },
                files: cacheResults( results )
        };