@mintlify/prebuild 1.0.485 → 1.0.487
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/prebuild/index.d.ts +3 -1
- package/dist/prebuild/index.js +2 -1
- package/dist/prebuild/update/docsConfig/generateAsyncApiDivisions.d.ts +1 -1
- package/dist/prebuild/update/docsConfig/generateAsyncApiDivisions.js +3 -2
- package/dist/prebuild/update/docsConfig/generateAsyncApiFromDocsConfig.d.ts +1 -0
- package/dist/prebuild/update/docsConfig/generateAsyncApiFromDocsConfig.js +4 -4
- package/dist/prebuild/update/docsConfig/generateOpenApiDivisions.d.ts +1 -1
- package/dist/prebuild/update/docsConfig/generateOpenApiDivisions.js +3 -2
- package/dist/prebuild/update/docsConfig/generateOpenApiFromDocsConfig.d.ts +1 -0
- package/dist/prebuild/update/docsConfig/generateOpenApiFromDocsConfig.js +4 -3
- package/dist/prebuild/update/docsConfig/index.d.ts +1 -1
- package/dist/prebuild/update/docsConfig/index.js +3 -3
- package/dist/prebuild/update/index.d.ts +2 -1
- package/dist/prebuild/update/index.js +3 -3
- package/dist/prebuild/update/mintConfig/generateOpenApiAnchorsOrTabs.d.ts +2 -1
- package/dist/prebuild/update/mintConfig/generateOpenApiAnchorsOrTabs.js +7 -4
- package/dist/prebuild/update/mintConfig/index.d.ts +1 -1
- package/dist/prebuild/update/mintConfig/index.js +2 -2
- package/dist/prebuild/update/read/getAsyncApiFilesFromConfig.d.ts +1 -1
- package/dist/prebuild/update/read/getAsyncApiFilesFromConfig.js +5 -4
- package/dist/prebuild/update/read/getOpenApiFilesFromConfig.d.ts +1 -1
- package/dist/prebuild/update/read/getOpenApiFilesFromConfig.js +4 -4
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +6 -6
package/dist/prebuild/index.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
export declare const prebuild: (contentDirectoryPath: string
|
|
1
|
+
export declare const prebuild: (contentDirectoryPath: string, { localSchema }?: {
|
|
2
|
+
localSchema?: boolean;
|
|
3
|
+
}) => Promise<void>;
|
|
2
4
|
export * from './categorizeFilePaths.js';
|
|
3
5
|
export * from '../createPage/index.js';
|
|
4
6
|
export * from '../createPage/preparseMdx/index.js';
|
package/dist/prebuild/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getConfigPath } from '../utils.js';
|
|
2
2
|
import { categorizeFilePaths } from './categorizeFilePaths.js';
|
|
3
3
|
import { update } from './update/index.js';
|
|
4
|
-
export const prebuild = async (contentDirectoryPath) => {
|
|
4
|
+
export const prebuild = async (contentDirectoryPath, { localSchema } = {}) => {
|
|
5
5
|
if (process.env.IS_MULTI_TENANT === 'true') {
|
|
6
6
|
console.log('Skipping prebuild in multi-tenant mode.');
|
|
7
7
|
return;
|
|
@@ -21,6 +21,7 @@ export const prebuild = async (contentDirectoryPath) => {
|
|
|
21
21
|
snippets,
|
|
22
22
|
snippetV2Filenames: snippetsV2,
|
|
23
23
|
docsConfigPath,
|
|
24
|
+
localSchema,
|
|
24
25
|
});
|
|
25
26
|
};
|
|
26
27
|
export * from './categorizeFilePaths.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AsyncAPIFile } from '@mintlify/common';
|
|
2
2
|
import { DecoratedNavigationPage } from '@mintlify/models';
|
|
3
3
|
import { DocsConfig } from '@mintlify/validation';
|
|
4
|
-
export declare const generateAsyncApiDivisions: (docsConfig: DocsConfig, asyncApiFiles: AsyncAPIFile[], targetDir?: string) => Promise<{
|
|
4
|
+
export declare const generateAsyncApiDivisions: (docsConfig: DocsConfig, asyncApiFiles: AsyncAPIFile[], targetDir?: string, localSchema?: boolean) => Promise<{
|
|
5
5
|
newDocsConfig: DocsConfig;
|
|
6
6
|
pagesAcc: Record<string, DecoratedNavigationPage>;
|
|
7
7
|
asyncApiFiles: AsyncAPIFile[];
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { getAsyncApiFilesFromConfig } from '../read/getAsyncApiFilesFromConfig.js';
|
|
2
2
|
import { generateAsyncApiFromDocsConfig } from './generateAsyncApiFromDocsConfig.js';
|
|
3
|
-
export const generateAsyncApiDivisions = async (docsConfig, asyncApiFiles, targetDir) => {
|
|
4
|
-
const asyncApiFilesFromDocsConfig = await getAsyncApiFilesFromConfig(docsConfig);
|
|
3
|
+
export const generateAsyncApiDivisions = async (docsConfig, asyncApiFiles, targetDir, localSchema) => {
|
|
4
|
+
const asyncApiFilesFromDocsConfig = await getAsyncApiFilesFromConfig(docsConfig, localSchema);
|
|
5
5
|
const pagesAcc = {};
|
|
6
6
|
const { newNav, newAsyncApiFiles } = await generateAsyncApiFromDocsConfig(docsConfig.navigation, asyncApiFiles, pagesAcc, {
|
|
7
7
|
overwrite: true,
|
|
8
8
|
writeFiles: true,
|
|
9
9
|
targetDir,
|
|
10
|
+
localSchema,
|
|
10
11
|
});
|
|
11
12
|
return {
|
|
12
13
|
newDocsConfig: { ...docsConfig, navigation: newNav },
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { optionallyAddLeadingSlash } from '@mintlify/common';
|
|
2
|
-
import { getAsyncApiDocumentFromUrl } from '@mintlify/common';
|
|
1
|
+
import { getAsyncApiDocumentFromUrl, optionallyAddLeadingSlash, isAllowedLocalSchemaUrl, } from '@mintlify/common';
|
|
3
2
|
import { generateAsyncApiPagesForDocsConfig } from '@mintlify/scraping';
|
|
4
3
|
import { divisions } from '@mintlify/validation';
|
|
5
4
|
import * as path from 'path';
|
|
6
5
|
const DEFAULT_OUTPUT_DIR = 'api-reference';
|
|
7
6
|
export const generateAsyncApiFromDocsConfig = async (navigation, asyncApiFiles, pagesAcc, opts) => {
|
|
8
|
-
const { overwrite, writeFiles, targetDir } = opts;
|
|
7
|
+
const { overwrite, writeFiles, targetDir, localSchema } = opts;
|
|
9
8
|
const newAsyncApiFiles = [];
|
|
10
9
|
async function processAsyncApiInNav(nav) {
|
|
11
10
|
let outputDir = DEFAULT_OUTPUT_DIR;
|
|
@@ -26,7 +25,7 @@ export const generateAsyncApiFromDocsConfig = async (navigation, asyncApiFiles,
|
|
|
26
25
|
const processedAsyncApiFiles = [];
|
|
27
26
|
for (const asyncApi of asyncApis) {
|
|
28
27
|
let asyncApiFile = undefined;
|
|
29
|
-
if (asyncApi
|
|
28
|
+
if (isAllowedLocalSchemaUrl(asyncApi, localSchema)) {
|
|
30
29
|
asyncApiFile = await createAsyncApiFile(asyncApi);
|
|
31
30
|
newAsyncApiFiles.push(asyncApiFile);
|
|
32
31
|
}
|
|
@@ -53,6 +52,7 @@ export const generateAsyncApiFromDocsConfig = async (navigation, asyncApiFiles,
|
|
|
53
52
|
outDir: outputDir,
|
|
54
53
|
outDirBasePath: path.join(targetDir ?? '', 'src', '_props'),
|
|
55
54
|
overwrite,
|
|
55
|
+
localSchema,
|
|
56
56
|
});
|
|
57
57
|
Object.entries(pagesAccFromGeneratedAsyncApiPages).forEach(([key, value]) => {
|
|
58
58
|
pagesAcc[key] = value;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { OpenApiFile, DecoratedNavigationPage } from '@mintlify/models';
|
|
2
2
|
import { DocsConfig } from '@mintlify/validation';
|
|
3
|
-
export declare const generateOpenApiDivisions: (docsConfig: DocsConfig, openApiFiles: OpenApiFile[], targetDir?: string) => Promise<{
|
|
3
|
+
export declare const generateOpenApiDivisions: (docsConfig: DocsConfig, openApiFiles: OpenApiFile[], targetDir?: string, localSchema?: boolean) => Promise<{
|
|
4
4
|
newDocsConfig: DocsConfig;
|
|
5
5
|
pagesAcc: Record<string, DecoratedNavigationPage>;
|
|
6
6
|
openApiFiles: OpenApiFile[];
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { getOpenApiFilesFromConfig } from '../read/getOpenApiFilesFromConfig.js';
|
|
2
2
|
import { generateOpenApiFromDocsConfig } from './generateOpenApiFromDocsConfig.js';
|
|
3
|
-
export const generateOpenApiDivisions = async (docsConfig, openApiFiles, targetDir) => {
|
|
4
|
-
const openapiFilesFromDocsConfig = await getOpenApiFilesFromConfig('docs', docsConfig);
|
|
3
|
+
export const generateOpenApiDivisions = async (docsConfig, openApiFiles, targetDir, localSchema) => {
|
|
4
|
+
const openapiFilesFromDocsConfig = await getOpenApiFilesFromConfig('docs', docsConfig, localSchema);
|
|
5
5
|
openApiFiles.push(...openapiFilesFromDocsConfig);
|
|
6
6
|
const pagesAcc = {};
|
|
7
7
|
const { newNav, newOpenApiFiles } = await generateOpenApiFromDocsConfig(docsConfig.navigation, openApiFiles, pagesAcc, {
|
|
8
8
|
overwrite: true,
|
|
9
9
|
writeFiles: true,
|
|
10
10
|
targetDir,
|
|
11
|
+
localSchema,
|
|
11
12
|
});
|
|
12
13
|
return {
|
|
13
14
|
newDocsConfig: { ...docsConfig, navigation: newNav },
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { getOpenApiDocumentFromUrl, optionallyAddLeadingSlash } from '@mintlify/common';
|
|
1
|
+
import { getOpenApiDocumentFromUrl, optionallyAddLeadingSlash, isAllowedLocalSchemaUrl, } from '@mintlify/common';
|
|
2
2
|
import { generateOpenApiPagesForDocsConfig } from '@mintlify/scraping';
|
|
3
3
|
import { divisions } from '@mintlify/validation';
|
|
4
4
|
import * as path from 'path';
|
|
5
5
|
const DEFAULT_OUTPUT_DIR = 'api-reference';
|
|
6
6
|
export const generateOpenApiFromDocsConfig = async (navigation, openApiFiles, pagesAcc, opts) => {
|
|
7
|
-
const { overwrite, writeFiles, targetDir } = opts;
|
|
7
|
+
const { overwrite, writeFiles, targetDir, localSchema } = opts;
|
|
8
8
|
const newOpenApiFiles = [];
|
|
9
9
|
async function processOpenApiInNav(nav) {
|
|
10
10
|
let outputDir = DEFAULT_OUTPUT_DIR;
|
|
@@ -24,7 +24,7 @@ export const generateOpenApiFromDocsConfig = async (navigation, openApiFiles, pa
|
|
|
24
24
|
}
|
|
25
25
|
if (openapi) {
|
|
26
26
|
let openApiFile = undefined;
|
|
27
|
-
if (openapi
|
|
27
|
+
if (isAllowedLocalSchemaUrl(openapi, localSchema)) {
|
|
28
28
|
openApiFile = await createOpenApiFile(openapi);
|
|
29
29
|
newOpenApiFiles.push(openApiFile);
|
|
30
30
|
}
|
|
@@ -42,6 +42,7 @@ export const generateOpenApiFromDocsConfig = async (navigation, openApiFiles, pa
|
|
|
42
42
|
outDir: outputDir,
|
|
43
43
|
outDirBasePath: path.join(targetDir ?? '', 'src', '_props'),
|
|
44
44
|
overwrite,
|
|
45
|
+
localSchema,
|
|
45
46
|
});
|
|
46
47
|
Object.entries(pagesAccFromGeneratedOpenApiPages).forEach(([key, value]) => {
|
|
47
48
|
pagesAcc[key] = value;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AsyncAPIFile } from '@mintlify/common';
|
|
2
2
|
import { OpenApiFile, DecoratedNavigationPage } from '@mintlify/models';
|
|
3
3
|
import { DocsConfig } from '@mintlify/validation';
|
|
4
|
-
export declare function updateDocsConfigFile(contentDirectoryPath: string, openApiFiles: OpenApiFile[], asyncApiFiles: AsyncAPIFile[], docsConfig?: DocsConfig): Promise<{
|
|
4
|
+
export declare function updateDocsConfigFile(contentDirectoryPath: string, openApiFiles: OpenApiFile[], asyncApiFiles: AsyncAPIFile[], docsConfig?: DocsConfig, localSchema?: boolean): Promise<{
|
|
5
5
|
docsConfig: DocsConfig;
|
|
6
6
|
pagesAcc: Record<string, DecoratedNavigationPage>;
|
|
7
7
|
newOpenApiFiles: OpenApiFile[];
|
|
@@ -2,7 +2,7 @@ import { getConfigPath } from '../../../utils.js';
|
|
|
2
2
|
import { DocsConfigUpdater } from '../ConfigUpdater.js';
|
|
3
3
|
import { generateAsyncApiDivisions } from './generateAsyncApiDivisions.js';
|
|
4
4
|
import { generateOpenApiDivisions } from './generateOpenApiDivisions.js';
|
|
5
|
-
export async function updateDocsConfigFile(contentDirectoryPath, openApiFiles, asyncApiFiles, docsConfig) {
|
|
5
|
+
export async function updateDocsConfigFile(contentDirectoryPath, openApiFiles, asyncApiFiles, docsConfig, localSchema) {
|
|
6
6
|
const configPath = await getConfigPath(contentDirectoryPath, 'docs');
|
|
7
7
|
if (configPath == null && docsConfig == null) {
|
|
8
8
|
throw Error('Must be run in a directory where a docs.json file exists.');
|
|
@@ -13,8 +13,8 @@ export async function updateDocsConfigFile(contentDirectoryPath, openApiFiles, a
|
|
|
13
13
|
if (docsConfig == null) {
|
|
14
14
|
throw Error('Must be run in a directory where a docs.json file exists.');
|
|
15
15
|
}
|
|
16
|
-
const { newDocsConfig: docsConfigWithOpenApiPages, pagesAcc: pagesAccWithOpenApiPages, openApiFiles: newOpenApiFiles, } = await generateOpenApiDivisions(docsConfig, openApiFiles);
|
|
17
|
-
const { newDocsConfig, pagesAcc: pagesAccWithAsyncApiPages, asyncApiFiles: newAsyncApiFiles, } = await generateAsyncApiDivisions(docsConfigWithOpenApiPages, asyncApiFiles);
|
|
16
|
+
const { newDocsConfig: docsConfigWithOpenApiPages, pagesAcc: pagesAccWithOpenApiPages, openApiFiles: newOpenApiFiles, } = await generateOpenApiDivisions(docsConfig, openApiFiles, undefined, localSchema);
|
|
17
|
+
const { newDocsConfig, pagesAcc: pagesAccWithAsyncApiPages, asyncApiFiles: newAsyncApiFiles, } = await generateAsyncApiDivisions(docsConfigWithOpenApiPages, asyncApiFiles, undefined, localSchema);
|
|
18
18
|
const pagesAcc = { ...pagesAccWithOpenApiPages, ...pagesAccWithAsyncApiPages };
|
|
19
19
|
await DocsConfigUpdater.writeConfigFile(newDocsConfig);
|
|
20
20
|
return { docsConfig: newDocsConfig, pagesAcc, newOpenApiFiles, newAsyncApiFiles };
|
|
@@ -10,8 +10,9 @@ type UpdateArgs = {
|
|
|
10
10
|
snippets: string[];
|
|
11
11
|
snippetV2Filenames: string[];
|
|
12
12
|
docsConfigPath?: string | null;
|
|
13
|
+
localSchema?: boolean;
|
|
13
14
|
};
|
|
14
|
-
export declare const update: ({ contentDirectoryPath, staticFilenames, openApiFiles, asyncApiFiles, contentFilenames, snippets, snippetV2Filenames, docsConfigPath, }: UpdateArgs) => Promise<{
|
|
15
|
+
export declare const update: ({ contentDirectoryPath, staticFilenames, openApiFiles, asyncApiFiles, contentFilenames, snippets, snippetV2Filenames, docsConfigPath, localSchema, }: UpdateArgs) => Promise<{
|
|
15
16
|
name: string;
|
|
16
17
|
$schema: string;
|
|
17
18
|
theme: "mint";
|
|
@@ -10,12 +10,12 @@ import { updateGeneratedDocsNav, updateGeneratedNav } from './updateGeneratedNav
|
|
|
10
10
|
import { writeAsyncApiFiles } from './write/writeAsyncApiFiles.js';
|
|
11
11
|
import { writeFiles } from './write/writeFiles.js';
|
|
12
12
|
import { writeOpenApiFiles } from './write/writeOpenApiFiles.js';
|
|
13
|
-
export const update = async ({ contentDirectoryPath, staticFilenames, openApiFiles, asyncApiFiles, contentFilenames, snippets, snippetV2Filenames, docsConfigPath, }) => {
|
|
14
|
-
const mintConfigResult = await updateMintConfigFile(contentDirectoryPath, openApiFiles);
|
|
13
|
+
export const update = async ({ contentDirectoryPath, staticFilenames, openApiFiles, asyncApiFiles, contentFilenames, snippets, snippetV2Filenames, docsConfigPath, localSchema, }) => {
|
|
14
|
+
const mintConfigResult = await updateMintConfigFile(contentDirectoryPath, openApiFiles, localSchema);
|
|
15
15
|
// we used the original mint config without openapi pages injected
|
|
16
16
|
// because we will do it in `updateDocsConfigFile`, this will avoid duplicated openapi pages
|
|
17
17
|
const docsConfig = mintConfigResult != null ? upgradeToDocsConfig(mintConfigResult.originalMintConfig) : undefined;
|
|
18
|
-
const { docsConfig: newDocsConfig, pagesAcc, newOpenApiFiles, newAsyncApiFiles, } = await updateDocsConfigFile(contentDirectoryPath, openApiFiles, asyncApiFiles, docsConfigPath ? undefined : docsConfig);
|
|
18
|
+
const { docsConfig: newDocsConfig, pagesAcc, newOpenApiFiles, newAsyncApiFiles, } = await updateDocsConfigFile(contentDirectoryPath, openApiFiles, asyncApiFiles, docsConfigPath ? undefined : docsConfig, localSchema);
|
|
19
19
|
const pagePromises = readPageContents({
|
|
20
20
|
contentDirectoryPath,
|
|
21
21
|
openApiFiles: newOpenApiFiles,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { DecoratedNavigationPage, MintConfig, Navigation, OpenApiFile, Division } from '@mintlify/models';
|
|
2
|
-
export declare const generateOpenApiAnchorsOrTabs: (mintConfig: MintConfig, openApiFiles: OpenApiFile[], targetDir?: string) => Promise<{
|
|
2
|
+
export declare const generateOpenApiAnchorsOrTabs: (mintConfig: MintConfig, openApiFiles: OpenApiFile[], targetDir?: string, localSchema?: boolean) => Promise<{
|
|
3
3
|
mintConfig: MintConfig;
|
|
4
4
|
pagesAcc: Record<string, DecoratedNavigationPage>;
|
|
5
5
|
openApiFiles: OpenApiFile[];
|
|
@@ -8,6 +8,7 @@ export declare const generateOpenApiAnchorOrTab: (anchorsOrTabs: Division[] | un
|
|
|
8
8
|
overwrite?: boolean;
|
|
9
9
|
writeFiles: boolean;
|
|
10
10
|
targetDir?: string;
|
|
11
|
+
localSchema?: boolean;
|
|
11
12
|
}) => Promise<{
|
|
12
13
|
newNavItems: Navigation;
|
|
13
14
|
newOpenApiFiles: OpenApiFile[];
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { getOpenApiDocumentFromUrl } from '@mintlify/common';
|
|
1
|
+
import { getOpenApiDocumentFromUrl, isAllowedLocalSchemaUrl } from '@mintlify/common';
|
|
2
2
|
import { generateOpenApiPages } from '@mintlify/scraping';
|
|
3
3
|
import * as path from 'path';
|
|
4
4
|
import { getOpenApiFilesFromConfig } from '../read/getOpenApiFilesFromConfig.js';
|
|
5
|
-
export const generateOpenApiAnchorsOrTabs = async (mintConfig, openApiFiles, targetDir) => {
|
|
5
|
+
export const generateOpenApiAnchorsOrTabs = async (mintConfig, openApiFiles, targetDir, localSchema) => {
|
|
6
6
|
const openapiFilesFromMintConfig = await getOpenApiFilesFromConfig('mint', mintConfig);
|
|
7
7
|
openApiFiles.push(...openapiFilesFromMintConfig);
|
|
8
8
|
const pagesAcc = {};
|
|
@@ -11,11 +11,13 @@ export const generateOpenApiAnchorsOrTabs = async (mintConfig, openApiFiles, tar
|
|
|
11
11
|
overwrite: true,
|
|
12
12
|
writeFiles: true,
|
|
13
13
|
targetDir,
|
|
14
|
+
localSchema,
|
|
14
15
|
}),
|
|
15
16
|
generateOpenApiAnchorOrTab(mintConfig.tabs, openApiFiles, pagesAcc, {
|
|
16
17
|
overwrite: true,
|
|
17
18
|
writeFiles: true,
|
|
18
19
|
targetDir,
|
|
20
|
+
localSchema,
|
|
19
21
|
}),
|
|
20
22
|
]);
|
|
21
23
|
const newNav = [
|
|
@@ -34,7 +36,7 @@ export const generateOpenApiAnchorsOrTabs = async (mintConfig, openApiFiles, tar
|
|
|
34
36
|
};
|
|
35
37
|
};
|
|
36
38
|
export const generateOpenApiAnchorOrTab = async (anchorsOrTabs, openApiFiles, pagesAcc, opts) => {
|
|
37
|
-
const { overwrite, writeFiles, targetDir } = opts;
|
|
39
|
+
const { overwrite, writeFiles, targetDir, localSchema } = opts;
|
|
38
40
|
const newNavItems = [];
|
|
39
41
|
const newOpenApiFiles = [];
|
|
40
42
|
if (anchorsOrTabs == undefined)
|
|
@@ -44,7 +46,7 @@ export const generateOpenApiAnchorOrTab = async (anchorsOrTabs, openApiFiles, pa
|
|
|
44
46
|
if (anchorOrTab.openapi == undefined)
|
|
45
47
|
continue;
|
|
46
48
|
let openApiFile = undefined;
|
|
47
|
-
if (anchorOrTab.openapi
|
|
49
|
+
if (isAllowedLocalSchemaUrl(anchorOrTab.openapi, localSchema)) {
|
|
48
50
|
try {
|
|
49
51
|
const document = await getOpenApiDocumentFromUrl(anchorOrTab.openapi);
|
|
50
52
|
openApiFile = {
|
|
@@ -73,6 +75,7 @@ export const generateOpenApiAnchorOrTab = async (anchorsOrTabs, openApiFiles, pa
|
|
|
73
75
|
outDir: anchorOrTab.url,
|
|
74
76
|
outDirBasePath: path.join(targetDir ?? '', 'src', '_props'),
|
|
75
77
|
overwrite,
|
|
78
|
+
localSchema,
|
|
76
79
|
});
|
|
77
80
|
Object.entries(pagesAccFromGeneratedOpenApiPages).forEach(([key, value]) => {
|
|
78
81
|
pagesAcc[key] = value;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DecoratedNavigationPage, MintConfig, OpenApiFile } from '@mintlify/models';
|
|
2
|
-
export declare function updateMintConfigFile(contentDirectoryPath: string, openApiFiles: OpenApiFile[]): Promise<{
|
|
2
|
+
export declare function updateMintConfigFile(contentDirectoryPath: string, openApiFiles: OpenApiFile[], localSchema?: boolean): Promise<{
|
|
3
3
|
mintConfig: MintConfig;
|
|
4
4
|
originalMintConfig: MintConfig;
|
|
5
5
|
pagesAcc: Record<string, DecoratedNavigationPage>;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { getConfigPath } from '../../../utils.js';
|
|
2
2
|
import { MintConfigUpdater } from '../ConfigUpdater.js';
|
|
3
3
|
import { generateOpenApiAnchorsOrTabs } from './generateOpenApiAnchorsOrTabs.js';
|
|
4
|
-
export async function updateMintConfigFile(contentDirectoryPath, openApiFiles) {
|
|
4
|
+
export async function updateMintConfigFile(contentDirectoryPath, openApiFiles, localSchema) {
|
|
5
5
|
const configPath = await getConfigPath(contentDirectoryPath, 'mint');
|
|
6
6
|
if (configPath == null) {
|
|
7
7
|
return null;
|
|
8
8
|
}
|
|
9
9
|
const mintConfig = await MintConfigUpdater.getConfig(configPath);
|
|
10
|
-
const { mintConfig: newMintConfig, pagesAcc, openApiFiles: newOpenApiFiles, } = await generateOpenApiAnchorsOrTabs(mintConfig, openApiFiles);
|
|
10
|
+
const { mintConfig: newMintConfig, pagesAcc, openApiFiles: newOpenApiFiles, } = await generateOpenApiAnchorsOrTabs(mintConfig, openApiFiles, undefined, localSchema);
|
|
11
11
|
await MintConfigUpdater.writeConfigFile(newMintConfig);
|
|
12
12
|
return {
|
|
13
13
|
mintConfig: newMintConfig,
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { AsyncAPIFile } from '@mintlify/common';
|
|
2
2
|
import { DocsConfig } from '@mintlify/validation';
|
|
3
|
-
export declare const getAsyncApiFilesFromConfig: (config: DocsConfig) => Promise<AsyncAPIFile[]>;
|
|
3
|
+
export declare const getAsyncApiFilesFromConfig: (config: DocsConfig, localSchema?: boolean) => Promise<AsyncAPIFile[]>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { getAsyncApiDocumentFromUrl } from '@mintlify/common';
|
|
2
|
-
export const getAsyncApiFilesFromConfig = async (config) => {
|
|
1
|
+
import { getAsyncApiDocumentFromUrl, isAllowedLocalSchemaUrl, } from '@mintlify/common';
|
|
2
|
+
export const getAsyncApiFilesFromConfig = async (config, localSchema) => {
|
|
3
3
|
const asyncApiConfig = config.api?.asyncapi;
|
|
4
4
|
const asyncApiFiles = [];
|
|
5
5
|
async function addAsyncApiFileFromUrl(url) {
|
|
@@ -17,12 +17,13 @@ export const getAsyncApiFilesFromConfig = async (config) => {
|
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
if (asyncApiConfig) {
|
|
20
|
-
if (typeof asyncApiConfig === 'string' &&
|
|
20
|
+
if (typeof asyncApiConfig === 'string' &&
|
|
21
|
+
isAllowedLocalSchemaUrl(asyncApiConfig, localSchema)) {
|
|
21
22
|
await addAsyncApiFileFromUrl(asyncApiConfig);
|
|
22
23
|
}
|
|
23
24
|
else if (typeof asyncApiConfig === 'object' &&
|
|
24
25
|
'source' in asyncApiConfig &&
|
|
25
|
-
asyncApiConfig.source
|
|
26
|
+
isAllowedLocalSchemaUrl(asyncApiConfig.source, localSchema)) {
|
|
26
27
|
await addAsyncApiFileFromUrl(asyncApiConfig.source);
|
|
27
28
|
}
|
|
28
29
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ConfigType, MintConfig, OpenApiFile } from '@mintlify/models';
|
|
2
2
|
import { DocsConfig } from '@mintlify/validation';
|
|
3
3
|
type ConfigInput<T extends ConfigType> = T extends 'docs' ? DocsConfig : MintConfig;
|
|
4
|
-
export declare const getOpenApiFilesFromConfig: <T extends ConfigType>(type: T, config: ConfigInput<T
|
|
4
|
+
export declare const getOpenApiFilesFromConfig: <T extends ConfigType>(type: T, config: ConfigInput<T>, localSchema?: boolean) => Promise<OpenApiFile[]>;
|
|
5
5
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { getOpenApiDocumentFromUrl } from '@mintlify/common';
|
|
2
|
-
export const getOpenApiFilesFromConfig = async (type, config) => {
|
|
1
|
+
import { getOpenApiDocumentFromUrl, isAllowedLocalSchemaUrl } from '@mintlify/common';
|
|
2
|
+
export const getOpenApiFilesFromConfig = async (type, config, localSchema) => {
|
|
3
3
|
let openapi;
|
|
4
4
|
if (type === 'docs') {
|
|
5
5
|
openapi = config.api?.openapi;
|
|
@@ -18,12 +18,12 @@ export const getOpenApiFilesFromConfig = async (type, config) => {
|
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
20
|
if (openapi) {
|
|
21
|
-
if (typeof openapi === 'string' && openapi
|
|
21
|
+
if (typeof openapi === 'string' && isAllowedLocalSchemaUrl(openapi, localSchema)) {
|
|
22
22
|
await addOpenApiFileFromUrl(openapi);
|
|
23
23
|
}
|
|
24
24
|
else if (typeof openapi === 'object' &&
|
|
25
25
|
'source' in openapi &&
|
|
26
|
-
openapi.source
|
|
26
|
+
isAllowedLocalSchemaUrl(openapi.source, localSchema)) {
|
|
27
27
|
await addOpenApiFileFromUrl(openapi.source);
|
|
28
28
|
}
|
|
29
29
|
}
|