@mintlify/scraping 4.0.321 → 4.0.323

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.
@@ -0,0 +1,79 @@
1
+ import { describe, it, expect, vi } from 'vitest';
2
+
3
+ import { createOpenApiFrontmatter } from '../src/openapi/common.js';
4
+
5
+ const { mockedOutputFile } = vi.hoisted(() => {
6
+ return { mockedOutputFile: vi.fn().mockResolvedValue(undefined) };
7
+ });
8
+
9
+ vi.mock('fs-extra', () => ({
10
+ outputFile: mockedOutputFile,
11
+ }));
12
+
13
+ describe('createOpenApiFrontmatter', () => {
14
+ it('writes basic frontmatter with version and deprecated flags', async () => {
15
+ mockedOutputFile.mockClear();
16
+ const filename = 'test-basic.md';
17
+
18
+ await createOpenApiFrontmatter({
19
+ filename,
20
+ openApiMetaTag: 'foo',
21
+ version: '1.0.0',
22
+ deprecated: true,
23
+ });
24
+
25
+ const expected = `---\nopenapi: foo\nversion: 1.0.0\ndeprecated: true\n---`;
26
+ expect(mockedOutputFile).toHaveBeenCalledWith(filename, expected);
27
+ });
28
+
29
+ it('prioritizes metadata fields and includes extra content', async () => {
30
+ mockedOutputFile.mockClear();
31
+ const filename = 'test-meta.md';
32
+
33
+ await createOpenApiFrontmatter({
34
+ filename,
35
+ openApiMetaTag: 'ABC',
36
+ version: '1.2.3',
37
+ deprecated: true,
38
+ metadata: {
39
+ version: '9.9.9',
40
+ deprecated: 'false',
41
+ title: 'My API',
42
+ extra: 'value',
43
+ },
44
+ extraContent: '# Hello',
45
+ });
46
+
47
+ const expected =
48
+ `---\n` +
49
+ `openapi: ABC\n` +
50
+ `version: 9.9.9\n` +
51
+ `deprecated: false\n` +
52
+ `title: My API\n` +
53
+ `extra: value\n` +
54
+ `---\n\n` +
55
+ `# Hello`;
56
+
57
+ expect(mockedOutputFile).toHaveBeenCalledWith(filename, expected);
58
+ });
59
+
60
+ it('ignores openapi key in metadata', async () => {
61
+ mockedOutputFile.mockClear();
62
+ const filename = 'test-ignore.md';
63
+
64
+ await createOpenApiFrontmatter({
65
+ filename,
66
+ openApiMetaTag: 'XYZ',
67
+ version: '0.0.1',
68
+ metadata: {
69
+ openapi: 'SHOULD_IGNORE',
70
+ version: '2.0.0',
71
+ foo: 'bar',
72
+ },
73
+ });
74
+
75
+ const expected = `---\n` + `openapi: XYZ\n` + `version: 2.0.0\n` + `foo: bar\n` + `---`;
76
+
77
+ expect(mockedOutputFile).toHaveBeenCalledWith(filename, expected);
78
+ });
79
+ });
@@ -0,0 +1,174 @@
1
+ import type { DocumentV3 } from '@mintlify/common';
2
+ import type { DecoratedNavigationPage } from '@mintlify/models';
3
+ import type { OpenAPIV3 } from 'openapi-types';
4
+ import { describe, it, expect } from 'vitest';
5
+
6
+ import { findNavGroup } from '../src/apiPages/common.js';
7
+ import { OpenApiExtensions, processOpenApiPath } from '../src/openapi/common.js';
8
+ import { simpleDoc } from './fixtures/openapi.js';
9
+
10
+ type OperationObject = OpenAPIV3.OperationObject<OpenApiExtensions>;
11
+
12
+ const createOperation = (overrides: Partial<OperationObject>) => {
13
+ return {
14
+ responses: {
15
+ 200: {
16
+ description: 'OK',
17
+ },
18
+ },
19
+ ...overrides,
20
+ };
21
+ };
22
+
23
+ describe('processOpenApiPath', () => {
24
+ const schema: DocumentV3 = simpleDoc;
25
+ const defaultOptions = {
26
+ writeFiles: false,
27
+ } as const;
28
+
29
+ it('should add a page and nav entry for a standard operation', () => {
30
+ const nav: DecoratedNavigationPage[] = [];
31
+ const decoratedNav: DecoratedNavigationPage[] = [];
32
+ const writePromises: Promise<void>[] = [];
33
+ const pagesAcc: Record<string, DecoratedNavigationPage> = {};
34
+
35
+ const pathItemObject = {
36
+ get: createOperation({ summary: 'List Pets', tags: ['Pets'] }),
37
+ };
38
+
39
+ processOpenApiPath(
40
+ '/pets',
41
+ pathItemObject,
42
+ schema,
43
+ nav,
44
+ decoratedNav,
45
+ writePromises,
46
+ pagesAcc,
47
+ defaultOptions,
48
+ findNavGroup
49
+ );
50
+
51
+ expect(nav).toHaveLength(1);
52
+ expect(nav[0]).toHaveProperty('group', 'Pets');
53
+ expect(nav[0]).toHaveProperty('pages');
54
+ expect(nav[0]?.pages).toHaveLength(1);
55
+
56
+ expect(decoratedNav).toHaveLength(1);
57
+ expect(decoratedNav[0]?.pages).toHaveLength(1);
58
+
59
+ expect(Object.keys(pagesAcc)).toHaveLength(1);
60
+
61
+ expect(writePromises).toHaveLength(0);
62
+ });
63
+
64
+ it('should skip operations marked with x-excluded', () => {
65
+ const nav: DecoratedNavigationPage[] = [];
66
+ const decoratedNav: DecoratedNavigationPage[] = [];
67
+ const writePromises: Promise<void>[] = [];
68
+ const pagesAcc: Record<string, DecoratedNavigationPage> = {};
69
+ const operation: Partial<OperationObject> = {
70
+ summary: 'List Pets',
71
+ tags: ['Pets'],
72
+ 'x-excluded': true,
73
+ };
74
+
75
+ const pathItemObject = {
76
+ get: createOperation(operation),
77
+ };
78
+
79
+ processOpenApiPath(
80
+ '/pets',
81
+ pathItemObject,
82
+ schema,
83
+ nav,
84
+ decoratedNav,
85
+ writePromises,
86
+ pagesAcc,
87
+ defaultOptions,
88
+ findNavGroup
89
+ );
90
+
91
+ expect(nav).toHaveLength(0);
92
+ expect(Object.keys(pagesAcc)).toHaveLength(0);
93
+ });
94
+
95
+ it('should use x-mint.metadata.title and description to override defaults', () => {
96
+ const nav: DecoratedNavigationPage[] = [];
97
+ const decoratedNav: DecoratedNavigationPage[] = [];
98
+ const writePromises: Promise<void>[] = [];
99
+ const pagesAcc: Record<string, DecoratedNavigationPage> = {};
100
+ const operation: Partial<OperationObject> = {
101
+ summary: 'List Pets',
102
+ tags: ['Pets'],
103
+ 'x-mint': {
104
+ metadata: {
105
+ title: 'Custom Pet Title',
106
+ description: 'Custom description',
107
+ },
108
+ },
109
+ };
110
+
111
+ const pathItemObject = {
112
+ get: createOperation(operation),
113
+ };
114
+
115
+ processOpenApiPath(
116
+ '/pets',
117
+ pathItemObject,
118
+ schema,
119
+ nav,
120
+ decoratedNav,
121
+ writePromises,
122
+ pagesAcc,
123
+ defaultOptions,
124
+ findNavGroup
125
+ );
126
+
127
+ const page = (decoratedNav[0]?.pages as DecoratedNavigationPage[])[0];
128
+ expect(page?.title).toBe('Custom Pet Title');
129
+ expect(page?.description).toBe('Custom description');
130
+
131
+ const accPage = pagesAcc[Object.keys(pagesAcc)[0]!] as DecoratedNavigationPage;
132
+ expect(accPage.title).toBe('Custom Pet Title');
133
+ expect(accPage.description).toBe('Custom description');
134
+ });
135
+
136
+ it('should use x-mint.href to override the generated path', () => {
137
+ const nav: DecoratedNavigationPage[] = [];
138
+ const decoratedNav: DecoratedNavigationPage[] = [];
139
+ const writePromises: Promise<void>[] = [];
140
+ const pagesAcc: Record<string, DecoratedNavigationPage> = {};
141
+
142
+ const operation: Partial<OperationObject> = {
143
+ summary: 'List Pets',
144
+ tags: ['Pets'],
145
+ 'x-mint': {
146
+ href: '/custom/list',
147
+ },
148
+ };
149
+
150
+ const pathItemObject = {
151
+ get: createOperation(operation),
152
+ };
153
+
154
+ processOpenApiPath(
155
+ '/pets',
156
+ pathItemObject,
157
+ schema,
158
+ nav,
159
+ decoratedNav,
160
+ writePromises,
161
+ pagesAcc,
162
+ defaultOptions,
163
+ findNavGroup
164
+ );
165
+
166
+ expect(nav).toHaveLength(1);
167
+ expect(nav[0]?.pages).toHaveLength(1);
168
+ expect((nav[0]?.pages as DecoratedNavigationPage[])[0]).toBe('custom/list');
169
+
170
+ expect(decoratedNav).toHaveLength(1);
171
+ expect(decoratedNav[0]?.pages).toHaveLength(1);
172
+ expect((decoratedNav[0]?.pages as DecoratedNavigationPage[])[0]?.href).toBe('/custom/list');
173
+ });
174
+ });
@@ -1,14 +1,22 @@
1
- import type { DecoratedNavigationPage } from '@mintlify/models';
1
+ import type { DecoratedNavigationPage, PageMetaTags } from '@mintlify/models';
2
+ import { XMint } from '@mintlify/validation';
2
3
  import { OpenAPI, OpenAPIV3 } from 'openapi-types';
4
+ export type OpenApiExtensions = {
5
+ 'x-mint'?: XMint;
6
+ 'x-excluded'?: boolean;
7
+ 'x-hidden'?: boolean;
8
+ };
3
9
  export declare const getOpenApiDefinition: (pathOrDocumentOrUrl: string | OpenAPI.Document | URL, localSchema?: boolean) => Promise<{
4
10
  document: OpenAPI.Document;
5
11
  isUrl: boolean;
6
12
  }>;
7
- export declare const createOpenApiFrontmatter: ({ filename, openApiMetaTag, version, deprecated, }: {
13
+ export declare const createOpenApiFrontmatter: ({ filename, openApiMetaTag, version, deprecated, metadata, extraContent, }: {
8
14
  filename: string;
9
15
  openApiMetaTag: string;
10
16
  version?: string;
11
17
  deprecated?: boolean;
18
+ metadata?: PageMetaTags;
19
+ extraContent?: string;
12
20
  }) => Promise<void>;
13
21
  export type GenerateOpenApiPagesOptions = {
14
22
  openApiFilePath?: string;
@@ -26,5 +34,5 @@ export type OpenApiPageGenerationResult<N, DN> = {
26
34
  pagesAcc: Record<string, DecoratedNavigationPage>;
27
35
  isUrl: boolean;
28
36
  };
29
- export declare function processOpenApiPath<N, DN>(path: string, pathItemObject: OpenAPIV3.PathItemObject, schema: OpenAPI.Document, nav: N, decoratedNav: DN, writePromises: Promise<void>[], pagesAcc: Record<string, DecoratedNavigationPage>, options: GenerateOpenApiPagesOptions, findNavGroup: (nav: any, groupName?: string) => any): void;
30
- export declare function processOpenApiWebhook<N, DN>(webhook: string, webhookObject: OpenAPIV3.PathItemObject, _schema: OpenAPI.Document, nav: N, decoratedNav: DN, writePromises: Promise<void>[], pagesAcc: Record<string, DecoratedNavigationPage>, options: GenerateOpenApiPagesOptions, findNavGroup: (nav: any, groupName?: string) => any): void;
37
+ export declare function processOpenApiPath<N, DN>(path: string, pathItemObject: OpenAPIV3.PathItemObject<OpenApiExtensions>, schema: OpenAPI.Document, nav: N, decoratedNav: DN, writePromises: Promise<void>[], pagesAcc: Record<string, DecoratedNavigationPage>, options: GenerateOpenApiPagesOptions, findNavGroup: (nav: any, groupName?: string) => any): void;
38
+ export declare function processOpenApiWebhook<N, DN>(webhook: string, webhookObject: OpenAPIV3.PathItemObject<OpenApiExtensions>, _schema: OpenAPI.Document, nav: N, decoratedNav: DN, writePromises: Promise<void>[], pagesAcc: Record<string, DecoratedNavigationPage>, options: GenerateOpenApiPagesOptions, findNavGroup: (nav: any, groupName?: string) => any): void;
@@ -1,4 +1,4 @@
1
- import { getOpenApiTitleAndDescription, optionallyAddLeadingSlash, slugToTitle, isAllowedLocalSchemaUrl, buildOpenApiMetaTag, } from '@mintlify/common';
1
+ import { getOpenApiTitleAndDescription, optionallyAddLeadingSlash, optionallyRemoveLeadingSlash, slugToTitle, isAllowedLocalSchemaUrl, buildOpenApiMetaTag, } from '@mintlify/common';
2
2
  import { outputFile } from 'fs-extra';
3
3
  import fse from 'fs-extra';
4
4
  import fs from 'fs/promises';
@@ -34,10 +34,30 @@ export const getOpenApiDefinition = async (pathOrDocumentOrUrl, localSchema) =>
34
34
  }
35
35
  return { document: pathOrDocumentOrUrl, isUrl };
36
36
  };
37
- export const createOpenApiFrontmatter = async ({ filename, openApiMetaTag, version, deprecated, }) => {
38
- const data = `---
39
- openapi: ${openApiMetaTag}${version ? `\nversion: ${version}` : ''}${deprecated ? `\ndeprecated: ${deprecated}` : ''}
40
- ---`;
37
+ export const createOpenApiFrontmatter = async ({ filename, openApiMetaTag, version, deprecated, metadata, extraContent, }) => {
38
+ let frontmatter = `---\nopenapi: ${openApiMetaTag}`;
39
+ if (metadata && 'version' in metadata) {
40
+ frontmatter += `\nversion: ${metadata.version}`;
41
+ }
42
+ else if (version) {
43
+ frontmatter += `\nversion: ${version}`;
44
+ }
45
+ if (metadata && 'deprecated' in metadata) {
46
+ frontmatter += `\ndeprecated: ${metadata.deprecated}`;
47
+ }
48
+ else if (deprecated) {
49
+ frontmatter += `\ndeprecated: ${deprecated}`;
50
+ }
51
+ if (metadata) {
52
+ const reserved = new Set(['openapi', 'version', 'deprecated']);
53
+ Object.entries(metadata)
54
+ .filter(([k]) => !reserved.has(k))
55
+ .forEach(([key, value]) => {
56
+ frontmatter += `\n${key}: ${value}`;
57
+ });
58
+ }
59
+ frontmatter += `\n---`;
60
+ const data = extraContent ? `${frontmatter}\n\n${extraContent}` : frontmatter;
41
61
  await outputFile(filename, data);
42
62
  };
43
63
  const isHiddenOperation = (operation) => {
@@ -58,11 +78,21 @@ findNavGroup) {
58
78
  if (isExcludedOperation(operation)) {
59
79
  return;
60
80
  }
81
+ const xMint = operation?.['x-mint'];
82
+ if (xMint?.href) {
83
+ xMint.href = optionallyAddLeadingSlash(xMint.href);
84
+ }
61
85
  const groupName = operation?.tags?.[0];
62
- const title = prepareStringToBeValidFilename(operation?.summary) ??
86
+ let title = prepareStringToBeValidFilename(operation?.summary) ??
63
87
  `${method}-${prepareStringToBeValidFilename(path)}`;
64
- const folder = prepareStringToBeValidFilename(groupName) ?? '';
65
- const base = join(options.outDir ?? '', folder, title);
88
+ let folder = prepareStringToBeValidFilename(groupName) ?? '';
89
+ let base = join(options.outDir ?? '', folder, title);
90
+ if (xMint?.href) {
91
+ const slug = optionallyRemoveLeadingSlash(xMint.href);
92
+ title = parse(slug).name;
93
+ folder = parse(slug).dir;
94
+ base = join(folder, title);
95
+ }
66
96
  const navGroup = findNavGroup(nav, groupName);
67
97
  const decoratedNavGroup = findNavGroup(decoratedNav, groupName);
68
98
  const filenameWithoutExtension = generateUniqueFilenameWithoutExtension(navGroup, base);
@@ -83,8 +113,8 @@ findNavGroup) {
83
113
  const page = {
84
114
  openapi: openapiMetaTag,
85
115
  href: resolve('/', filenameWithoutExtension),
86
- title: titleTag ?? slugToTitle(filenameWithoutExtension),
87
- description,
116
+ title: xMint?.metadata?.title ?? titleTag ?? slugToTitle(filenameWithoutExtension),
117
+ description: xMint?.metadata?.description ?? description,
88
118
  deprecated: operation?.deprecated,
89
119
  version: options.version,
90
120
  };
@@ -102,6 +132,8 @@ findNavGroup) {
102
132
  openApiMetaTag: openapiMetaTag,
103
133
  version: options.version,
104
134
  deprecated: operation?.deprecated,
135
+ metadata: xMint?.metadata,
136
+ extraContent: xMint?.content,
105
137
  }));
106
138
  }
107
139
  }
@@ -119,11 +151,21 @@ findNavGroup) {
119
151
  if (isExcludedOperation(operation)) {
120
152
  return;
121
153
  }
154
+ const xMint = operation?.['x-mint'];
155
+ if (xMint?.href) {
156
+ xMint.href = optionallyAddLeadingSlash(xMint.href);
157
+ }
122
158
  const groupName = operation?.tags?.[0];
123
- const title = prepareStringToBeValidFilename(operation?.summary) ??
159
+ let title = prepareStringToBeValidFilename(operation?.summary) ??
124
160
  `${prepareStringToBeValidFilename(webhook)}`;
125
- const folder = prepareStringToBeValidFilename(groupName) ?? '';
126
- const base = join(options.outDir ?? '', folder, title);
161
+ let folder = prepareStringToBeValidFilename(groupName) ?? '';
162
+ let base = join(options.outDir ?? '', folder, title);
163
+ if (xMint?.href) {
164
+ const slug = optionallyRemoveLeadingSlash(xMint.href);
165
+ title = parse(slug).name;
166
+ folder = parse(slug).dir;
167
+ base = join(folder, title);
168
+ }
127
169
  const navGroup = findNavGroup(nav, groupName);
128
170
  const decoratedNavGroup = findNavGroup(decoratedNav, groupName);
129
171
  const filenameWithoutExtension = generateUniqueFilenameWithoutExtension(navGroup, base);
@@ -132,11 +174,11 @@ findNavGroup) {
132
174
  method: 'webhook',
133
175
  path: webhook,
134
176
  });
135
- const description = operation?.description;
177
+ const description = xMint?.metadata?.description ?? operation?.description;
136
178
  const page = {
137
179
  openapi: openapiMetaTag,
138
180
  href: resolve('/', filenameWithoutExtension),
139
- title: slugToTitle(filenameWithoutExtension),
181
+ title: xMint?.metadata?.title ?? slugToTitle(filenameWithoutExtension),
140
182
  description,
141
183
  version: options.version,
142
184
  deprecated: operation?.deprecated,
@@ -155,6 +197,8 @@ findNavGroup) {
155
197
  openApiMetaTag: openapiMetaTag,
156
198
  version: options.version,
157
199
  deprecated: operation?.deprecated,
200
+ metadata: xMint?.metadata,
201
+ extraContent: xMint?.content,
158
202
  }));
159
203
  }
160
204
  }
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/openapi/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/openapi/common.ts"],"names":[],"mappings":"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"}