mirror of
https://github.com/denoland/deno
synced 2024-08-27 12:00:17 +00:00
32 lines
986 B
JavaScript
Executable file
32 lines
986 B
JavaScript
Executable file
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
|
import { buildPath, existsSync, join } from "./util.js";
|
|
|
|
const currentDataFile = join(buildPath(), "bench.json");
|
|
const allDataFile = "gh-pages/data.json"; // Includes all benchmark data.
|
|
const recentDataFile = "gh-pages/recent.json"; // Includes recent 20 benchmark data.
|
|
|
|
function readJson(filename) {
|
|
return JSON.parse(Deno.readTextFileSync(filename));
|
|
}
|
|
|
|
function writeJson(filename, data) {
|
|
return Deno.writeTextFileSync(filename, JSON.stringify(data));
|
|
}
|
|
|
|
if (!existsSync(currentDataFile)) {
|
|
throw new Error(`${currentDataFile} doesn't exist`);
|
|
}
|
|
|
|
if (!existsSync(allDataFile)) {
|
|
throw new Error(`${allDataFile} doesn't exist`);
|
|
}
|
|
|
|
const newData = readJson(currentDataFile);
|
|
const allData = readJson(allDataFile);
|
|
allData.push(newData);
|
|
const allDataLen = allData.length;
|
|
const recentData = allData.slice(allDataLen - 20);
|
|
|
|
writeJson(allDataFile, allData);
|
|
writeJson(recentDataFile, recentData);
|