marko/scripts/pkg-override.js
2024-02-05 11:27:46 -07:00

28 lines
762 B
JavaScript

const fs = require("fs");
const path = require("path");
for (const name of fs.readdirSync("packages")) {
const file = path.join("packages", name, "package.json");
const details = JSON.parse(fs.readFileSync(file, "utf8"));
if (
override(details, "main") ||
override(details, "module") ||
override(details, "browser") ||
override(details, "exports")
) {
fs.writeFileSync(file, `${JSON.stringify(details, null, 2)}\n`);
}
}
function override(details, field) {
const overrideField = `${field}:override`;
const currentValue = details[field];
const overrideValue = details[overrideField];
if (overrideValue) {
details[field] = overrideValue;
details[overrideField] = currentValue;
return true;
}
return false;
}