@mintlify/prebuild 1.0.1401 → 1.0.1403
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/update/docsConfig/generateGraphqlDivisions.d.ts +4 -1
- package/dist/prebuild/update/docsConfig/generateGraphqlDivisions.js +16 -4
- package/dist/prebuild/update/docsConfig/generateSdkDivisions.js +22 -5
- package/dist/prebuild/update/docsConfig/index.d.ts +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -18,9 +18,12 @@ export type GenerateGraphqlDivisionsResult = {
|
|
|
18
18
|
parsedReferences: Record<string, GraphqlReference>;
|
|
19
19
|
};
|
|
20
20
|
export type GraphqlSourceLoader = (source: string) => Promise<string>;
|
|
21
|
+
export type GenerateGraphqlDivisionsOptions = {
|
|
22
|
+
onSourceError?: (source: string, error: unknown) => void;
|
|
23
|
+
};
|
|
21
24
|
export declare const getGraphqlRouteKey: (route: string) => string;
|
|
22
25
|
/** Transform GraphQL navigation without reading or writing the filesystem. */
|
|
23
|
-
export declare function generateGraphqlDivisionsFromDocsConfig(docsConfig: DocsConfig, loadSource: GraphqlSourceLoader): Promise<GenerateGraphqlDivisionsResult>;
|
|
26
|
+
export declare function generateGraphqlDivisionsFromDocsConfig(docsConfig: DocsConfig, loadSource: GraphqlSourceLoader, { onSourceError }?: GenerateGraphqlDivisionsOptions): Promise<GenerateGraphqlDivisionsResult>;
|
|
24
27
|
export declare function generateGraphqlDivisions(docsConfig: DocsConfig, contentDirectoryPath: string, targetDir?: string): Promise<GenerateGraphqlDivisionsResult>;
|
|
25
28
|
export declare function loadGraphqlSdlSource(source: string, contentDirectoryPath: string): Promise<string>;
|
|
26
29
|
export declare const isRemoteGraphqlSource: (source: string) => boolean;
|
|
@@ -94,7 +94,7 @@ function mdxStub(page) {
|
|
|
94
94
|
return `---\n${fields.join('\n')}\n---\n`;
|
|
95
95
|
}
|
|
96
96
|
/** Transform GraphQL navigation without reading or writing the filesystem. */
|
|
97
|
-
export async function generateGraphqlDivisionsFromDocsConfig(docsConfig, loadSource) {
|
|
97
|
+
export async function generateGraphqlDivisionsFromDocsConfig(docsConfig, loadSource, { onSourceError } = {}) {
|
|
98
98
|
const references = new Map();
|
|
99
99
|
const parsedReferences = new Map();
|
|
100
100
|
const pagesByRouteKey = new Map();
|
|
@@ -102,11 +102,17 @@ export async function generateGraphqlDivisionsFromDocsConfig(docsConfig, loadSou
|
|
|
102
102
|
async function load(source) {
|
|
103
103
|
let pending = references.get(source);
|
|
104
104
|
if (!pending) {
|
|
105
|
-
|
|
105
|
+
const loaded = loadSource(source).then((sdl) => {
|
|
106
106
|
const reference = parseGraphqlSdl(sdl);
|
|
107
107
|
parsedReferences.set(source, reference);
|
|
108
108
|
return reference;
|
|
109
109
|
});
|
|
110
|
+
pending = onSourceError
|
|
111
|
+
? loaded.catch((error) => {
|
|
112
|
+
onSourceError(source, error);
|
|
113
|
+
return undefined;
|
|
114
|
+
})
|
|
115
|
+
: loaded;
|
|
110
116
|
references.set(source, pending);
|
|
111
117
|
}
|
|
112
118
|
return pending;
|
|
@@ -129,7 +135,10 @@ export async function generateGraphqlDivisionsFromDocsConfig(docsConfig, loadSou
|
|
|
129
135
|
const selector = parseGraphqlSelector(page);
|
|
130
136
|
if (!selector)
|
|
131
137
|
return page;
|
|
132
|
-
const
|
|
138
|
+
const reference = await load(scope.source);
|
|
139
|
+
if (!reference)
|
|
140
|
+
return page;
|
|
141
|
+
const generated = makeSelectedPage(reference, scope.source, scope.directory, selector);
|
|
133
142
|
register(generated);
|
|
134
143
|
bulkSuppressed.add(scope.owner);
|
|
135
144
|
return generated.slug;
|
|
@@ -155,7 +164,10 @@ export async function generateGraphqlDivisionsFromDocsConfig(docsConfig, loadSou
|
|
|
155
164
|
const processed = await processChildren(node, { source, directory, owner: value });
|
|
156
165
|
if (bulkSuppressed.has(value))
|
|
157
166
|
return processed;
|
|
158
|
-
const
|
|
167
|
+
const reference = await load(source);
|
|
168
|
+
if (!reference)
|
|
169
|
+
return processed;
|
|
170
|
+
const generated = generatePages(reference, source, directory);
|
|
159
171
|
const groups = [
|
|
160
172
|
{ group: 'Queries', pages: generated.queries.map(({ slug }) => slug) },
|
|
161
173
|
{ group: 'Mutations', pages: generated.mutations.map(({ slug }) => slug) },
|
|
@@ -91,16 +91,33 @@ function toGeneratedPage(page, config, directory, referenceSlugs, autogeneratedB
|
|
|
91
91
|
...(autogeneratedBySdk ? { autogeneratedBySdk: true } : {}),
|
|
92
92
|
};
|
|
93
93
|
}
|
|
94
|
+
function prefixSdkGroup(group, directory) {
|
|
95
|
+
return {
|
|
96
|
+
group: group.group,
|
|
97
|
+
pages: group.pages.map((entry) => typeof entry === 'string'
|
|
98
|
+
? path.posix.join(directory, entry)
|
|
99
|
+
: prefixSdkGroup(entry, directory)),
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
function collectSdkGroupSlugs(groups, slugs = new Set()) {
|
|
103
|
+
for (const group of groups) {
|
|
104
|
+
for (const entry of group.pages) {
|
|
105
|
+
if (typeof entry === 'string')
|
|
106
|
+
slugs.add(entry);
|
|
107
|
+
else
|
|
108
|
+
collectSdkGroupSlugs([entry], slugs);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return slugs;
|
|
112
|
+
}
|
|
94
113
|
function expandSdkGroups(reference, directory) {
|
|
95
114
|
const pageBySlug = new Map(reference.pages.map((page) => [page.slug, page]));
|
|
96
|
-
const groups = reference.groups.map((group) => (
|
|
97
|
-
|
|
98
|
-
pages: group.pages.map((slug) => path.posix.join(directory, slug)),
|
|
99
|
-
}));
|
|
115
|
+
const groups = reference.groups.map((group) => prefixSdkGroup(group, directory));
|
|
116
|
+
const groupedSlugs = collectSdkGroupSlugs(reference.groups);
|
|
100
117
|
const orphanedSlugs = reference.pages
|
|
101
118
|
.filter((page) => !page.target?.parent)
|
|
102
119
|
.map((page) => page.slug)
|
|
103
|
-
.filter((slug) => !
|
|
120
|
+
.filter((slug) => !groupedSlugs.has(slug));
|
|
104
121
|
if (orphanedSlugs.length > 0 && pageBySlug.size > 0) {
|
|
105
122
|
groups.push({
|
|
106
123
|
group: 'Reference',
|
|
@@ -44,4 +44,4 @@ export { generateAsyncApiFromDocsConfig } from './generateAsyncApiFromDocsConfig
|
|
|
44
44
|
export { getCustomLanguages } from './getCustomLanguages.js';
|
|
45
45
|
export { generateGraphqlDivisions, generateGraphqlDivisionsFromDocsConfig, getGraphqlRouteKey, isRemoteGraphqlSource, loadGraphqlSdlSource, loadRemoteGraphqlSdl, writeGraphqlArtifacts, } from './generateGraphqlDivisions.js';
|
|
46
46
|
export { assertNoGeneratedRouteCollisions, getGeneratedRouteKey, } from './generatedRouteCollisions.js';
|
|
47
|
-
export type { GeneratedGraphqlPage, GenerateGraphqlDivisionsResult, GraphqlSourceLoader, } from './generateGraphqlDivisions.js';
|
|
47
|
+
export type { GeneratedGraphqlPage, GenerateGraphqlDivisionsOptions, GenerateGraphqlDivisionsResult, GraphqlSourceLoader, } from './generateGraphqlDivisions.js';
|