mirror of
https://github.com/marko-js/marko.git
synced 2025-12-08 19:26:05 +00:00
40 lines
970 B
JavaScript
40 lines
970 B
JavaScript
const fs = require("fs");
|
|
const path = require("path");
|
|
for (const name of fs.readdirSync("packages")) {
|
|
overrideFile(path.join("packages", name, "package.json"));
|
|
overrideFile(path.join("packages", name, "translator/package.json"));
|
|
}
|
|
|
|
function overrideFile(file) {
|
|
let details;
|
|
try {
|
|
details = JSON.parse(fs.readFileSync(file, "utf8"));
|
|
} catch {
|
|
return;
|
|
}
|
|
|
|
if (
|
|
[
|
|
overrideField(details, "main"),
|
|
overrideField(details, "module"),
|
|
overrideField(details, "browser"),
|
|
overrideField(details, "exports"),
|
|
].some(Boolean)
|
|
) {
|
|
fs.writeFileSync(file, `${JSON.stringify(details, null, 2)}\n`);
|
|
}
|
|
}
|
|
|
|
function overrideField(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;
|
|
}
|