Skip to content

Commit 2d9984e

Browse files
committed
fix translation scripts ts errors
1 parent 630ec93 commit 2d9984e

File tree

3 files changed

+21
-17
lines changed

3 files changed

+21
-17
lines changed

packages/translations/scripts/translateNewKeys/findMissingKeys.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export function findMissingKeys(
88
targetObj: GenericTranslationsObject,
99
prefix = '',
1010
): string[] {
11-
let missingKeys = []
11+
let missingKeys: string[] = []
1212

1313
for (const key in baseObj) {
1414
const baseValue = baseObj[key]

packages/translations/scripts/translateNewKeys/index.ts

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -107,13 +107,13 @@ export async function translateObject(props: {
107107
const keys = key.split('.')
108108
let targetObj = allTranslatedTranslationsObject?.[targetLang].translations
109109
for (let i = 0; i < keys.length - 1; i += 1) {
110-
const nextObj = targetObj[keys[i]]
110+
const nextObj = targetObj[keys[i]!]
111111
if (typeof nextObj !== 'object') {
112112
throw new Error(`Key ${keys[i]} is not an object in ${targetLang} (1)`)
113113
}
114114
targetObj = nextObj
115115
}
116-
delete targetObj[keys[keys.length - 1]]
116+
delete targetObj[keys[keys.length - 1]!]
117117
}
118118

119119
if (!allTranslatedTranslationsObject?.[targetLang].translations) {
@@ -128,7 +128,10 @@ export async function translateObject(props: {
128128

129129
for (const missingKey of missingKeys) {
130130
const keys: string[] = missingKey.split('.')
131-
const sourceText = keys.reduce((acc, key) => acc[key], fromTranslationsObject)
131+
const sourceText = keys.reduce(
132+
(acc, key) => acc[key]! as GenericTranslationsObject,
133+
fromTranslationsObject,
134+
)
132135
if (!sourceText || typeof sourceText !== 'string') {
133136
throw new Error(
134137
`Missing key ${missingKey} or key not "leaf" in fromTranslationsObject for lang ${targetLang}. (2)`,
@@ -147,20 +150,20 @@ export async function translateObject(props: {
147150
}
148151
let targetObj = allOnlyNewTranslatedTranslationsObject?.[targetLang]
149152
for (let i = 0; i < keys.length - 1; i += 1) {
150-
if (!targetObj[keys[i]]) {
151-
targetObj[keys[i]] = {}
153+
if (!targetObj[keys[i]!]) {
154+
targetObj[keys[i]!] = {}
152155
}
153-
const nextObj = targetObj[keys[i]]
156+
const nextObj = targetObj[keys[i]!]
154157
if (typeof nextObj !== 'object') {
155158
throw new Error(`Key ${keys[i]} is not an object in ${targetLang} (3)`)
156159
}
157160
targetObj = nextObj
158161
}
159-
targetObj[keys[keys.length - 1]] = translated
162+
targetObj[keys[keys.length - 1]!] = translated
160163

161-
allTranslatedTranslationsObject[targetLang].translations = sortKeys(
164+
allTranslatedTranslationsObject[targetLang]!.translations = sortKeys(
162165
deepMergeSimple(
163-
allTranslatedTranslationsObject[targetLang].translations,
166+
allTranslatedTranslationsObject[targetLang]!.translations,
164167
allOnlyNewTranslatedTranslationsObject[targetLang],
165168
),
166169
)
@@ -180,9 +183,10 @@ export async function translateObject(props: {
180183
console.log('New translations:', allOnlyNewTranslatedTranslationsObject)
181184

182185
if (inlineFile?.length) {
183-
const simpleTranslationsObject = {}
186+
const simpleTranslationsObject: Record<string, GenericTranslationsObject> = {}
184187
for (const lang in allTranslatedTranslationsObject) {
185-
simpleTranslationsObject[lang] = allTranslatedTranslationsObject[lang].translations
188+
simpleTranslationsObject[lang] =
189+
allTranslatedTranslationsObject[lang as AcceptedLanguages]!.translations
186190
}
187191

188192
// write allTranslatedTranslationsObject
@@ -218,10 +222,10 @@ export async function translateObject(props: {
218222
const filePath = path.resolve(targetFolder, `${sanitizedKey}.ts`)
219223

220224
// prefix & translations
221-
let fileContent: string = `${tsFilePrefix.replace('{{locale}}', sanitizedKey)}${generateTsObjectLiteral(allTranslatedTranslationsObject[key].translations)}\n`
225+
let fileContent: string = `${tsFilePrefix.replace('{{locale}}', sanitizedKey)}${generateTsObjectLiteral(allTranslatedTranslationsObject[key]!.translations)}\n`
222226

223227
// suffix
224-
fileContent += `${tsFileSuffix.replaceAll('{{locale}}', sanitizedKey).replaceAll('{{dateFNSKey}}', `'${allTranslatedTranslationsObject[key].dateFNSKey}'`)}\n`
228+
fileContent += `${tsFileSuffix.replaceAll('{{locale}}', sanitizedKey).replaceAll('{{dateFNSKey}}', `'${allTranslatedTranslationsObject[key]!.dateFNSKey}'`)}\n`
225229

226230
// eslint
227231
fileContent = await applyEslintFixes(fileContent, filePath)

packages/translations/scripts/translateNewKeys/run.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ const allTranslations: {
1818
} = {}
1919

2020
for (const key of Object.keys(translations)) {
21-
allTranslations[key] = {
22-
dateFNSKey: translations[key].dateFNSKey,
23-
translations: translations[key].translations,
21+
allTranslations[key as AcceptedLanguages] = {
22+
dateFNSKey: translations[key as AcceptedLanguages]!.dateFNSKey,
23+
translations: translations[key as AcceptedLanguages]!.translations,
2424
}
2525
}
2626

0 commit comments

Comments
 (0)