UNPKG

@formatjs/cli-lib

Version:
25 lines (24 loc) 990 B
import { basename } from 'path'; import { debug } from '../console_utils'; import { checkMissingKeys } from './checkMissingKeys'; import { readJSON } from 'fs-extra'; import { checkStructuralEquality } from './checkStructuralEquality'; export async function verify(files, { sourceLocale, missingKeys, structuralEquality }) { debug('Checking translation files:'); files.forEach(fn => debug(fn)); const translationFilesContents = (await Promise.all(files.map(async (fn) => [basename(fn, '.json'), await readJSON(fn)]))).reduce((all, [locale, content]) => { all[locale] = content; return all; }, {}); debug('Verifying files:', files); let exitCode = 0; if (missingKeys && !(await checkMissingKeys(translationFilesContents, sourceLocale))) { exitCode = 1; } if (structuralEquality && !(await checkStructuralEquality(translationFilesContents, sourceLocale))) { exitCode = 1; } process.exit(exitCode); }