@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.
Files changed (24) hide show
  1. package/dist/prebuild/index.d.ts +3 -1
  2. package/dist/prebuild/index.js +2 -1
  3. package/dist/prebuild/update/docsConfig/generateAsyncApiDivisions.d.ts +1 -1
  4. package/dist/prebuild/update/docsConfig/generateAsyncApiDivisions.js +3 -2
  5. package/dist/prebuild/update/docsConfig/generateAsyncApiFromDocsConfig.d.ts +1 -0
  6. package/dist/prebuild/update/docsConfig/generateAsyncApiFromDocsConfig.js +4 -4
  7. package/dist/prebuild/update/docsConfig/generateOpenApiDivisions.d.ts +1 -1
  8. package/dist/prebuild/update/docsConfig/generateOpenApiDivisions.js +3 -2
  9. package/dist/prebuild/update/docsConfig/generateOpenApiFromDocsConfig.d.ts +1 -0
  10. package/dist/prebuild/update/docsConfig/generateOpenApiFromDocsConfig.js +4 -3
  11. package/dist/prebuild/update/docsConfig/index.d.ts +1 -1
  12. package/dist/prebuild/update/docsConfig/index.js +3 -3
  13. package/dist/prebuild/update/index.d.ts +2 -1
  14. package/dist/prebuild/update/index.js +3 -3
  15. package/dist/prebuild/update/mintConfig/generateOpenApiAnchorsOrTabs.d.ts +2 -1
  16. package/dist/prebuild/update/mintConfig/generateOpenApiAnchorsOrTabs.js +7 -4
  17. package/dist/prebuild/update/mintConfig/index.d.ts +1 -1
  18. package/dist/prebuild/update/mintConfig/index.js +2 -2
  19. package/dist/prebuild/update/read/getAsyncApiFilesFromConfig.d.ts +1 -1
  20. package/dist/prebuild/update/read/getAsyncApiFilesFromConfig.js +5 -4
  21. package/dist/prebuild/update/read/getOpenApiFilesFromConfig.d.ts +1 -1
  22. package/dist/prebuild/update/read/getOpenApiFilesFromConfig.js +4 -4
  23. package/dist/tsconfig.build.tsbuildinfo +1 -1
  24. package/package.json +6 -6
@@ -1,4 +1,6 @@
1
- export declare const prebuild: (contentDirectoryPath: string) => Promise<void>;
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';
@@ -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 },
@@ -5,6 +5,7 @@ export declare const generateAsyncApiFromDocsConfig: (navigation: NavigationConf
5
5
  overwrite?: boolean;
6
6
  writeFiles: boolean;
7
7
  targetDir?: string;
8
+ localSchema?: boolean;
8
9
  }) => Promise<{
9
10
  newNav: NavigationConfig;
10
11
  newAsyncApiFiles: AsyncAPIFile[];
@@ -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.startsWith('https://')) {
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 },
@@ -4,6 +4,7 @@ export declare const generateOpenApiFromDocsConfig: (navigation: NavigationConfi
4
4
  overwrite?: boolean;
5
5
  writeFiles: boolean;
6
6
  targetDir?: string;
7
+ localSchema?: boolean;
7
8
  }) => Promise<{
8
9
  newNav: NavigationConfig;
9
10
  newOpenApiFiles: OpenApiFile[];
@@ -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.startsWith('https')) {
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.startsWith('https')) {
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' && asyncApiConfig.startsWith('https://')) {
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.startsWith('https')) {
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>) => Promise<OpenApiFile[]>;
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.startsWith('https')) {
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.startsWith('http')) {
26
+ isAllowedLocalSchemaUrl(openapi.source, localSchema)) {
27
27
  await addOpenApiFileFromUrl(openapi.source);
28
28
  }
29
29
  }