UNPKG

@mintlify/previewing

Version:

Preview Mintlify docs locally

30 lines (29 loc) 1.64 kB
import { generateOpenApiAnchorsOrTabs, categorizeFilePaths, generateOpenApiDivisions, getMintIgnore, MintConfigUpdater, DocsConfigUpdater, } from '@mintlify/prebuild'; import { upgradeToDocsConfig } from '@mintlify/validation'; import fse from 'fs-extra'; import { join } from 'path'; import { CMD_EXEC_PATH, CLIENT_PATH } from '../../constants.js'; export const getDocsState = async () => { const mintIgnore = await getMintIgnore(CMD_EXEC_PATH); const { openApiFiles } = await categorizeFilePaths(CMD_EXEC_PATH, mintIgnore); try { const mintConfig = await MintConfigUpdater.getConfig(join(CMD_EXEC_PATH, 'mint.json')); const docsConfig = upgradeToDocsConfig(mintConfig); const { mintConfig: newMintConfig } = await generateOpenApiAnchorsOrTabs(mintConfig, openApiFiles, CLIENT_PATH); const { newDocsConfig, pagesAcc, openApiFiles: newOpenApiFiles, } = await generateOpenApiDivisions(docsConfig, openApiFiles, CLIENT_PATH); return { mintConfig: newMintConfig, pagesAcc, openApiFiles: newOpenApiFiles, docsConfig: newDocsConfig, }; } catch { const docsJsonPath = join(CMD_EXEC_PATH, 'docs.json'); if (!(await fse.pathExists(docsJsonPath))) throw new Error('No config found'); const docsConfig = await DocsConfigUpdater.getConfig(docsJsonPath); const { newDocsConfig, pagesAcc, openApiFiles: newOpenApiFiles, } = await generateOpenApiDivisions(docsConfig, openApiFiles, CLIENT_PATH); return { pagesAcc, openApiFiles: newOpenApiFiles, docsConfig: newDocsConfig }; } };