import { MODULES_MEASURED, WROTE } from "#configuration/strings/derivation.strings"; import { baselineTarget, readStringsModules, toneTarget } from "#core/loaders/strings.loader"; import { persistJson, persistText } from "#core/persistence/report.persistence"; import { BASELINE_FILE } from "#configuration/constants/tone.constants"; import { TONE_COMMAND } from "#configuration/constants/contract.constants"; import { TONE_SUMMARY } from "#configuration/strings/contract.strings"; import type { ToneBaseline } from "#types/tone.types"; import { measureLiterals } from "#core/analyzers/tone.analyzer"; import { renderBaseline } from "#core/renderers/baseline.renderer"; import { resolveArgv } from "@govlab/argv"; import { say } from "#core/reporters/derivation.reporter"; resolveArgv({ command: TONE_COMMAND, flags: [], summary: TONE_SUMMARY }); const modules = await readStringsModules(); const baseline: ToneBaseline = { modules: modules.map((held) => measureLiterals(held.module, held.literals)) }; const json = toneTarget(); await persistJson(json, baseline); const document = baselineTarget(BASELINE_FILE); await persistText(document, renderBaseline(baseline)); say(`${WROTE}${json}: ${String(baseline.modules.length)}${MODULES_MEASURED}`); say(`${WROTE}${document}`);