Files
pulumi-incus/scripts/clean-package-json.js
Brandon Kalinowski 908889d9af improvements
cleans package.json, update binary download URL, etc
2025-04-25 19:22:29 -04:00

36 lines
874 B
JavaScript

import * as fs from "node:fs/promises";
const packageJsonPath = "./package.json";
const authorString = "Brandon Kalinowski <brandon@brandonkalinowski.com> (http://brandonkalinowski.com/)";
const keysOrdered = [
"name",
"version",
"description",
"author",
"keywords",
"homepage",
"dependencies",
"pulumi",
];
const packageJsonString = await fs.readFile(packageJsonPath, 'utf8');
const packageJson = JSON.parse(packageJsonString);
packageJson.author = authorString;
function sortAndFilterTopLevelKeys(obj, order) {
const sorted = {};
for (const key of order) {
if (key in obj) {
sorted[key] = obj[key];
}
}
return sorted;
}
const newPackageJsonString = JSON.stringify(sortAndFilterTopLevelKeys(packageJson, keysOrdered), null, 4);
await fs.writeFile(
packageJsonPath,
newPackageJsonString,
);