aboutsummaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
Diffstat (limited to 'build')
-rw-r--r--build/tasks/compare_size.mjs23
1 files changed, 20 insertions, 3 deletions
diff --git a/build/tasks/compare_size.mjs b/build/tasks/compare_size.mjs
index f1af39e71..c3973bc7a 100644
--- a/build/tasks/compare_size.mjs
+++ b/build/tasks/compare_size.mjs
@@ -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 )
};