feat: improve JSON formatting for global domains and custom domains

This commit is contained in:
shuaiplus
2026-05-06 01:20:20 +08:00
parent c4ff063865
commit a06853835d
3 changed files with 102 additions and 99 deletions
+10 -2
View File
@@ -100,6 +100,14 @@ function parseGlobalDomains(source, enumTypes) {
return out; return out;
} }
function formatRulesJson(rules) {
return `[\n${rules.map((rule) => ` ${JSON.stringify(rule)}`).join(',\n')}\n]`;
}
function formatMetaJson(meta) {
return JSON.stringify(meta, null, 2);
}
const { ref } = parseArgs(process.argv.slice(2)); const { ref } = parseArgs(process.argv.slice(2));
const enumUrl = rawUrl(ref, ENUM_PATH); const enumUrl = rawUrl(ref, ENUM_PATH);
const staticStoreUrl = rawUrl(ref, STATIC_STORE_PATH); const staticStoreUrl = rawUrl(ref, STATIC_STORE_PATH);
@@ -112,7 +120,7 @@ const [enumSource, staticStoreSource] = await Promise.all([
const enumTypes = parseEnumTypes(enumSource); const enumTypes = parseEnumTypes(enumSource);
const rules = parseGlobalDomains(staticStoreSource, enumTypes); const rules = parseGlobalDomains(staticStoreSource, enumTypes);
const domainsCount = rules.reduce((sum, rule) => sum + rule.domains.length, 0); const domainsCount = rules.reduce((sum, rule) => sum + rule.domains.length, 0);
const rulesJson = `[\n${rules.map((rule) => ` ${JSON.stringify(rule)}`).join(',\n')}\n]`; const rulesJson = formatRulesJson(rules);
async function readJsonFile(filePath) { async function readJsonFile(filePath) {
try { try {
@@ -147,6 +155,6 @@ const meta = {
await mkdir(OUTPUT_DIR, { recursive: true }); await mkdir(OUTPUT_DIR, { recursive: true });
await writeFile(OUT_FILE, `${rulesJson}\n`, 'utf8'); await writeFile(OUT_FILE, `${rulesJson}\n`, 'utf8');
await writeFile(META_FILE, `${JSON.stringify(meta, null, 2)}\n`, 'utf8'); await writeFile(META_FILE, `${formatMetaJson(meta)}\n`, 'utf8');
console.log(`Wrote ${rules.length} global domain rules (${domainsCount} domains) from bitwarden/server@${ref}.`); console.log(`Wrote ${rules.length} global domain rules (${domainsCount} domains) from bitwarden/server@${ref}.`);
+1 -6
View File
@@ -1,8 +1,3 @@
[ [
{ {"type":-10001,"domains":["nodewarden.example","nw.example"],"excluded":false,"source":"nodewarden"}
"type": -10001,
"domains": ["nodewarden.example", "nw.example"],
"excluded": false,
"source": "nodewarden"
}
] ]