feat: add support for hidden labels when diffing Lokalise labels

This commit is contained in:
Michael Zetterberg
2025-05-22 14:00:52 +02:00
parent 14ca1775d8
commit b5b4a61c41
4 changed files with 33 additions and 10 deletions

View File

@@ -1,4 +1,5 @@
import fromLokalise from "./translations/en.json" with { type: "json" }
import filteredLokalise from "./translations/en.json" with { type: "json" }
import allLokalise from "./translations-all/en.json" with { type: "json" }
import fromCodebase from "./extracted.json" with { type: "json" }
function diffArray(json1, json2) {
@@ -24,20 +25,24 @@ function resolveLabels(ids, arr) {
})
}
const labelsToRemove = diffArray(fromLokalise, fromCodebase)
const labelsToAdd = diffArray(fromCodebase, fromLokalise)
const labelsHidden = diffArray(allLokalise, filteredLokalise)
const labelsToRemove = diffArray(filteredLokalise, fromCodebase)
const labelsToAdd = diffArray(fromCodebase, filteredLokalise).filter(
(key) => !labelsHidden.includes(key)
)
if (labelsToRemove.length === 0 && labelsToAdd.length === 0) {
console.log(`Nothing has changed!`)
} else {
console.log(`Labels to REMOVE from Lokalise: ${labelsToRemove.length}`)
console.log(`Labels to ADD to Lokalise: ${labelsToAdd.length}`)
console.log(`Labels HIDDEN in Lokalise: ${labelsHidden.length}`)
console.log("")
}
if (labelsToRemove.length) {
console.log(`${labelsToRemove.length} labels to remove from Lokalise:`)
console.table(resolveLabels(labelsToRemove, fromLokalise))
console.table(resolveLabels(labelsToRemove, filteredLokalise))
console.log("")
}
@@ -48,10 +53,18 @@ if (labelsToAdd.length) {
console.log("")
}
if (labelsHidden.length) {
console.log("")
console.log(`${labelsHidden.length} labels are hidden in Lokalise`)
console.table(resolveLabels(labelsHidden, allLokalise))
console.log("")
}
if (labelsToRemove.length === 0 && labelsToAdd.length === 0) {
console.log(`Nothing has changed!`)
} else {
console.log(`Labels to REMOVE from Lokalise: ${labelsToRemove.length}`)
console.log(`Labels to ADD to Lokalise: ${labelsToAdd.length}`)
console.log(`Labels HIDDEN in Lokalise: ${labelsHidden.length}`)
console.log("")
}