/** Documento de raiz que declara a própria versão, e como ela é escrita lá. */ export interface DocVersionBanner { /** Caminho relativo à raiz do repositório. */ file: string; /** * Captura a versão no grupo 1. Cada documento escreve o banner de um jeito * diferente, e unificar a forma é mudança de texto sem ganho: o que precisa * ser único é a FONTE do número, não a frase. */ pattern: RegExp; } /** * Os documentos que declaram versão. `README.md` e `ARCHITECTURE.md` não vão * no pacote npm (`package.json` → `files`), e por isso a ausência do arquivo é * tratada como "não distribuído", nunca como falha. */ export declare const DOC_VERSION_BANNERS: DocVersionBanner[]; /** `3.18.4` → `3.18`. Comparar por minor é a decisão registrada no topo. */ export declare function minorOf(version: string): string; export interface DeclaredDocVersion { file: string; /** `null` quando o arquivo existe mas o banner não foi encontrado. */ declared: string | null; /** `false` quando o arquivo não existe nesta árvore (não distribuído). */ present: boolean; } /** Lê o que cada documento AFIRMA, sem julgar. */ export declare function readDocVersions(rootDir: string): DeclaredDocVersion[]; export interface StaleDoc { file: string; declared: string | null; expectedMinor: string; /** `missing-banner` quando o arquivo existe e o padrão não casou. */ reason: 'minor-drift' | 'missing-banner'; } /** * Documentos presentes cuja MAJOR.MINOR declarada não é a do `package.json`. * Arquivo ausente não entra: ausência é "não distribuído", não desatualização. */ export declare function staleDocVersions(rootDir: string, version: string): StaleDoc[]; /** * Aviso para `bump`/`release`. Devolve string vazia quando não há nada a * revisar, para que o caller não imprima cabeçalho de lista vazia. */ export declare function docVersionWarning(rootDir: string, version: string): string; //# sourceMappingURL=doc-version.d.ts.map