33 lines
1.3 KiB
JavaScript
33 lines
1.3 KiB
JavaScript
const process = require('process')
|
|
process.chdir(__dirname);
|
|
const {writeFileSync, renameSync, rmdirSync, mkdirSync} = require("fs");
|
|
const { config } = require('dotenv');
|
|
const prod = require('./mint.js').default;
|
|
config();
|
|
(async () => {
|
|
const {generateOpenApiPages} = await import("@mintlify/scraping");
|
|
|
|
try {
|
|
rmdirSync('./api-reference/custom', { recursive: true });
|
|
rmdirSync('./public-api-reference/custom', { recursive: true });
|
|
await new Promise((resolve) => setTimeout(resolve, 2000));
|
|
} catch (e) {
|
|
}
|
|
|
|
await generateOpenApiPages(process.env.BACKEND_URL + '/docs-json', true, 'api-reference/custom');
|
|
const generate = await generateOpenApiPages(process.env.BACKEND_URL + '/docs-json');
|
|
await new Promise((resolve) => setTimeout(resolve, 3000));
|
|
|
|
mkdirSync('./public-api-reference/custom', { recursive: true });
|
|
renameSync('./api-reference/custom/public', './public-api-reference/custom/public/');
|
|
|
|
prod.navigation.push(...generate.nav.map((item) => ({
|
|
...item,
|
|
pages: item.pages.map((page) => (page.indexOf('public') > -1 ? 'public-api-reference/custom/' : 'api-reference/custom/') + page)
|
|
})));
|
|
|
|
writeFileSync('./mint.json', JSON.stringify(prod, null, 2));
|
|
const text = await (await fetch(process.env.BACKEND_URL + '/docs-json')).text();
|
|
writeFileSync('./openapi.json', text);
|
|
})();
|