UNPKG

@lingui/cli

Version:

Lingui CLI to extract messages, compile catalogs, and manage translation workflows

26 lines (25 loc) 961 B
import { getFallbackListForLocale } from "./getFallbackListForLocale.js"; import fs from "node:fs/promises"; import path from "node:path"; import * as process from "process"; const fileExists = async (path) => !!(await fs.stat(path).catch(() => false)); /** * Return all files catalog implicitly depends on. */ export async function getCatalogDependentFiles(catalog, locale) { const files = new Set([catalog.templateFile]); getFallbackListForLocale(catalog.config.fallbackLocales, locale).forEach((locale) => { files.add(catalog.getFilename(locale)); }); if (catalog.config.sourceLocale && locale !== catalog.config.sourceLocale) { files.add(catalog.getFilename(catalog.config.sourceLocale)); } const out = []; for (let file of files) { file = path.isAbsolute(file) ? file : path.join(process.cwd(), file); if (await fileExists(file)) { out.push(file); } } return out; }