Skip to content

Commit 71a91fe

Browse files
Fix links inside generated docs (#1816)
1 parent b49acfb commit 71a91fe

File tree

66 files changed

+1060
-639
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+1060
-639
lines changed

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
"nock": "13.0.2",
6060
"prettier": "2.0.5",
6161
"ts-jest": "26.1.3",
62-
"typedoc": "0.17.8",
62+
"typedoc": "0.17.0-3",
6363
"typedoc-plugin-markdown": "2.3.1",
6464
"typescript": "3.9.7"
6565
},
@@ -84,4 +84,4 @@
8484
"resolutions": {
8585
"graphql": "15.3.0"
8686
}
87-
}
87+
}

scripts/build-api-docs.js

Lines changed: 51 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,28 @@
1-
const fs = require('fs')
2-
const path = require('path')
3-
const rimraf = require('rimraf')
1+
const fs = require('fs');
2+
const path = require('path');
3+
const rimraf = require('rimraf');
44
const TypeDoc = require('typedoc');
55
const { transpileModule } = require('typescript');
6-
const { execSync } = require('child_process')
6+
const { execSync } = require('child_process');
77

88
// Where to generate the API docs
99
const outputDir = path.join(__dirname, '../website/docs/api');
1010
// sidebars.json
11-
const sidebarsPath = path.join(__dirname, '../website/sidebars.json')
11+
const sidebarsPath = path.join(__dirname, '../website/sidebars.json');
1212

1313
// Get the upstream git remote -- we don't want to assume it exists or is named "upstream"
1414
const gitRemote = execSync('git remote -v', { encoding: 'utf-8' })
1515
.split('\n')
1616
.map(line => line.split('\t'))
17-
.find(([_name, description]) => description === '[email protected]:ardatan/graphql-tools.git (fetch)' || description === 'https://github.com/ardatan/graphql-tools (fetch)')
18-
const gitRemoteName = gitRemote && gitRemote[0]
17+
.find(
18+
([_name, description]) =>
19+
description === '[email protected]:ardatan/graphql-tools.git (fetch)' ||
20+
description === 'https://github.com/ardatan/graphql-tools (fetch)'
21+
);
22+
const gitRemoteName = gitRemote && gitRemote[0];
1923
if (!gitRemoteName) {
20-
console.log('Unable to locate upstream git remote')
21-
process.exit(1)
24+
console.log('Unable to locate upstream git remote');
25+
process.exit(1);
2226
}
2327

2428
// An array of tuples where the first element is the package's name and the
@@ -42,10 +46,10 @@ const modules = [
4246
['@graphql-tools/prisma-loader', 'packages/loaders/prisma/src/index.ts'],
4347
['@graphql-tools/graphql-tag-pluck', 'packages/graphql-tag-pluck/src/index.ts'],
4448
['@graphql-tools/utils', 'packages/utils/src/index.ts'],
45-
]
49+
];
4650

4751
// Delete existing docs
48-
rimraf.sync(outputDir)
52+
rimraf.sync(outputDir);
4953

5054
// Initialize TypeDoc
5155
const typeDoc = new TypeDoc.Application();
@@ -76,42 +80,48 @@ typeDoc.generateDocs(project, outputDir);
7680
// See https://github.com/tgreyuk/typedoc-plugin-markdown/pull/128
7781
['classes', 'enums', 'interfaces', 'modules'].forEach(dirName => {
7882
fs.readdirSync(path.join(outputDir, dirName)).forEach(fileName => {
79-
const filePath = path.join(outputDir, dirName, fileName)
80-
const contents = fs.readFileSync(filePath, 'utf-8')
83+
const filePath = path.join(outputDir, dirName, fileName);
84+
const contents = fs
85+
.readFileSync(filePath, 'utf-8')
8186
// Escape angle brackets
8287
.replace(/</g, '&lt;')
8388
.replace(/>/g, '&gt;')
84-
// Strip .md extension from any links
89+
// Fix links
8590
.replace(/\[([^\]]+)\]\(([^)]+).md\)/g, '[$1]($2)')
86-
fs.writeFileSync(filePath, contents)
87-
})
88-
})
91+
.replace(/\[([^\]]+)\]\((\.\.\/(classes|interfaces|enums)\/([^\)]+))\)/g, '[$1](/docs/api/$3/$4)');
92+
fs.writeFileSync(filePath, contents);
93+
});
94+
});
8995

9096
// Remove the generated "index.md" file
91-
fs.unlinkSync(path.join(outputDir, 'index.md'))
97+
fs.unlinkSync(path.join(outputDir, 'index.md'));
9298

9399
// Update each module 's frontmatter and title
94100
modules.forEach(([name, originalFilePath]) => {
95-
const filePath = path.join(outputDir, 'modules', convertEntryFilePath(originalFilePath))
101+
const filePath = path.join(outputDir, 'modules', convertEntryFilePath(originalFilePath));
96102
if (!fs.existsSync(filePath)) {
97-
return
103+
return;
98104
}
99-
const id = convertNameToId(name)
100-
fs.writeFileSync(filePath, fs.readFileSync(filePath, 'utf-8').replace(
101-
/^---.+---\n\n## Index/s, `
105+
const id = convertNameToId(name);
106+
fs.writeFileSync(
107+
filePath,
108+
fs.readFileSync(filePath, 'utf-8').replace(
109+
/^---.+---\n\n## Index/s,
110+
`
102111
---
103112
id: "${id}"
104113
title: "${name}"
105114
sidebar_label: "${id}"
106115
---`.substring(1)
107-
))
108-
})
116+
)
117+
);
118+
});
109119

110120
// Update sidebars.json
111-
const sidebars = require(sidebarsPath)
121+
const sidebars = require(sidebarsPath);
112122
sidebars.someSidebar.find(category => category['API Reference'])['API Reference'] = [
113123
{
114-
Modules: modules.map(([name]) => `api/modules/${convertNameToId(name)}`)
124+
Modules: modules.map(([name]) => `api/modules/${convertNameToId(name)}`),
115125
},
116126
{
117127
Classes: getSidebarItemsByDirectory('classes'),
@@ -122,29 +132,30 @@ sidebars.someSidebar.find(category => category['API Reference'])['API Reference'
122132
{
123133
Enums: getSidebarItemsByDirectory('enums'),
124134
},
125-
]
126-
fs.writeFileSync(sidebarsPath, JSON.stringify(sidebars, null, 2))
135+
];
136+
fs.writeFileSync(sidebarsPath, JSON.stringify(sidebars, null, 2));
127137

128138
function convertEntryFilePath(filePath) {
129-
const { dir, name } = path.parse(filePath)
130-
return `_${dir.split('/').slice(1).join('_').replace(/-/g, '_')}_${name}_.md`
139+
const { dir, name } = path.parse(filePath);
140+
return `_${dir.split('/').slice(1).join('_').replace(/-/g, '_')}_${name}_.md`;
131141
}
132142

133143
function convertNameToId(name) {
134-
return name.replace(/@graphql-tools\//g, '')
144+
return name.replace(/@graphql-tools\//g, '');
135145
}
136146

137147
function getSidebarItemsByDirectory(dirName) {
138-
return fs.readdirSync(path.join(outputDir, dirName))
139-
.map((fileName) => `api/${dirName}/${path.parse(fileName).name}`)
148+
return fs
149+
.readdirSync(path.join(outputDir, dirName))
150+
.map(fileName => `api/${dirName}/${path.parse(fileName).name}`)
140151
.sort((a, b) => {
141-
const aName = a.split('.').pop()
142-
const bName = b.split('.').pop()
152+
const aName = a.split('.').pop();
153+
const bName = b.split('.').pop();
143154
if (aName < bName) {
144-
return -1
155+
return -1;
145156
} else if (aName > bName) {
146-
return 1
157+
return 1;
147158
}
148-
return 0
149-
})
159+
return 0;
160+
});
150161
}

website/docs/api/classes/_loaders_apollo_engine_src_index_.apolloengineloader.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ This loader loads a schema from Apollo Engine
1212

1313
## Implements
1414

15-
* [Loader](../interfaces/_utils_src_index_.loader)[ApolloEngineOptions](../interfaces/_loaders_apollo_engine_src_index_.apolloengineoptions)
15+
* [Loader](/docs/api/interfaces/_utils_src_index_.loader)[ApolloEngineOptions](/docs/api/interfaces/_loaders_apollo_engine_src_index_.apolloengineoptions)
1616

1717
## Index
1818

@@ -54,7 +54,7 @@ ___
5454

5555
### load
5656

57-
**load**(`_`: "apollo-engine", `options`: [ApolloEngineOptions](../interfaces/_loaders_apollo_engine_src_index_.apolloengineoptions)): *Promise‹[Source](../interfaces/_utils_src_index_.source)*
57+
**load**(`_`: "apollo-engine", `options`: [ApolloEngineOptions](/docs/api/interfaces/_loaders_apollo_engine_src_index_.apolloengineoptions)): *Promise‹[Source](/docs/api/interfaces/_utils_src_index_.source)*
5858

5959
*Defined in [packages/loaders/apollo-engine/src/index.ts:36](https://github.com/ardatan/graphql-tools/blob/master/packages/loaders/apollo-engine/src/index.ts#L36)*
6060

@@ -63,9 +63,9 @@ ___
6363
Name | Type |
6464
------ | ------ |
6565
`_` | "apollo-engine" |
66-
`options` | [ApolloEngineOptions](../interfaces/_loaders_apollo_engine_src_index_.apolloengineoptions) |
66+
`options` | [ApolloEngineOptions](/docs/api/interfaces/_loaders_apollo_engine_src_index_.apolloengineoptions) |
6767

68-
**Returns:** *Promise‹[Source](../interfaces/_utils_src_index_.source)*
68+
**Returns:** *Promise‹[Source](/docs/api/interfaces/_utils_src_index_.source)*
6969

7070
___
7171

@@ -83,7 +83,7 @@ ___
8383

8484
**loaderId**(): *string*
8585

86-
*Implementation of [Loader](../interfaces/_utils_src_index_.loader)*
86+
*Implementation of [Loader](/docs/api/interfaces/_utils_src_index_.loader)*
8787

8888
*Defined in [packages/loaders/apollo-engine/src/index.ts:24](https://github.com/ardatan/graphql-tools/blob/master/packages/loaders/apollo-engine/src/index.ts#L24)*
8989

website/docs/api/classes/_loaders_code_file_src_index_.codefileloader.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ Supported extensions include: `.ts`, `.tsx`, `.js`, `.jsx`, `.vue`
2323

2424
## Implements
2525

26-
* [Loader](../interfaces/_utils_src_index_.loader)[CodeFileLoaderOptions](../modules/_loaders_code_file_src_index_.md#codefileloaderoptions)
26+
* [Loader](/docs/api/interfaces/_utils_src_index_.loader)[CodeFileLoaderOptions](../modules/_loaders_code_file_src_index_.md#codefileloaderoptions)
2727

2828
## Index
2929

@@ -73,7 +73,7 @@ ___
7373

7474
### load
7575

76-
**load**(`pointer`: [SchemaPointerSingle](../modules/_utils_src_index_.md#schemapointersingle) | [DocumentPointerSingle](../modules/_utils_src_index_.md#documentpointersingle), `options`: [CodeFileLoaderOptions](../modules/_loaders_code_file_src_index_.md#codefileloaderoptions)): *Promise‹[Source](../interfaces/_utils_src_index_.source)*
76+
**load**(`pointer`: [SchemaPointerSingle](../modules/_utils_src_index_.md#schemapointersingle) | [DocumentPointerSingle](../modules/_utils_src_index_.md#documentpointersingle), `options`: [CodeFileLoaderOptions](../modules/_loaders_code_file_src_index_.md#codefileloaderoptions)): *Promise‹[Source](/docs/api/interfaces/_utils_src_index_.source)*
7777

7878
*Defined in [packages/loaders/code-file/src/index.ts:80](https://github.com/ardatan/graphql-tools/blob/master/packages/loaders/code-file/src/index.ts#L80)*
7979

@@ -84,13 +84,13 @@ Name | Type |
8484
`pointer` | [SchemaPointerSingle](../modules/_utils_src_index_.md#schemapointersingle) &#124; [DocumentPointerSingle](../modules/_utils_src_index_.md#documentpointersingle) |
8585
`options` | [CodeFileLoaderOptions](../modules/_loaders_code_file_src_index_.md#codefileloaderoptions) |
8686

87-
**Returns:** *Promise‹[Source](../interfaces/_utils_src_index_.source)*
87+
**Returns:** *Promise‹[Source](/docs/api/interfaces/_utils_src_index_.source)*
8888

8989
___
9090

9191
### loadSync
9292

93-
**loadSync**(`pointer`: [SchemaPointerSingle](../modules/_utils_src_index_.md#schemapointersingle) | [DocumentPointerSingle](../modules/_utils_src_index_.md#documentpointersingle), `options`: [CodeFileLoaderOptions](../modules/_loaders_code_file_src_index_.md#codefileloaderoptions)): *[Source](../interfaces/_utils_src_index_.source)*
93+
**loadSync**(`pointer`: [SchemaPointerSingle](../modules/_utils_src_index_.md#schemapointersingle) | [DocumentPointerSingle](../modules/_utils_src_index_.md#documentpointersingle), `options`: [CodeFileLoaderOptions](../modules/_loaders_code_file_src_index_.md#codefileloaderoptions)): *[Source](/docs/api/interfaces/_utils_src_index_.source)*
9494

9595
*Defined in [packages/loaders/code-file/src/index.ts:123](https://github.com/ardatan/graphql-tools/blob/master/packages/loaders/code-file/src/index.ts#L123)*
9696

@@ -101,15 +101,15 @@ Name | Type |
101101
`pointer` | [SchemaPointerSingle](../modules/_utils_src_index_.md#schemapointersingle) &#124; [DocumentPointerSingle](../modules/_utils_src_index_.md#documentpointersingle) |
102102
`options` | [CodeFileLoaderOptions](../modules/_loaders_code_file_src_index_.md#codefileloaderoptions) |
103103

104-
**Returns:** *[Source](../interfaces/_utils_src_index_.source)*
104+
**Returns:** *[Source](/docs/api/interfaces/_utils_src_index_.source)*
105105

106106
___
107107

108108
### loaderId
109109

110110
**loaderId**(): *string*
111111

112-
*Implementation of [Loader](../interfaces/_utils_src_index_.loader)*
112+
*Implementation of [Loader](/docs/api/interfaces/_utils_src_index_.loader)*
113113

114114
*Defined in [packages/loaders/code-file/src/index.ts:51](https://github.com/ardatan/graphql-tools/blob/master/packages/loaders/code-file/src/index.ts#L51)*
115115

website/docs/api/classes/_loaders_git_src_index_.gitloader.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ const typeDefs = await loadTypedefs('git:someBranch:some/path/to/file.js', {
1818

1919
## Implements
2020

21-
* [Loader](../interfaces/_utils_src_index_.loader)
21+
* [Loader](/docs/api/interfaces/_utils_src_index_.loader)
2222

2323
## Index
2424

@@ -36,7 +36,7 @@ const typeDefs = await loadTypedefs('git:someBranch:some/path/to/file.js', {
3636

3737
**canLoad**(`pointer`: string): *Promise‹boolean›*
3838

39-
*Defined in [packages/loaders/git/src/index.ts:56](https://github.com/ardatan/graphql-tools/blob/master/packages/loaders/git/src/index.ts#L56)*
39+
*Defined in [packages/loaders/git/src/index.ts:54](https://github.com/ardatan/graphql-tools/blob/master/packages/loaders/git/src/index.ts#L54)*
4040

4141
**Parameters:**
4242

@@ -52,7 +52,7 @@ ___
5252

5353
**canLoadSync**(`pointer`: string): *boolean*
5454

55-
*Defined in [packages/loaders/git/src/index.ts:60](https://github.com/ardatan/graphql-tools/blob/master/packages/loaders/git/src/index.ts#L60)*
55+
*Defined in [packages/loaders/git/src/index.ts:58](https://github.com/ardatan/graphql-tools/blob/master/packages/loaders/git/src/index.ts#L58)*
5656

5757
**Parameters:**
5858

@@ -66,9 +66,9 @@ ___
6666

6767
### load
6868

69-
**load**(`pointer`: string, `options`: [GitLoaderOptions](../modules/_loaders_git_src_index_.md#gitloaderoptions)): *Promise‹[Source](../interfaces/_utils_src_index_.source) | object*
69+
**load**(`pointer`: string, `options`: [GitLoaderOptions](../modules/_loaders_git_src_index_.md#gitloaderoptions)): *Promise‹[Source](/docs/api/interfaces/_utils_src_index_.source)*
7070

71-
*Defined in [packages/loaders/git/src/index.ts:64](https://github.com/ardatan/graphql-tools/blob/master/packages/loaders/git/src/index.ts#L64)*
71+
*Defined in [packages/loaders/git/src/index.ts:62](https://github.com/ardatan/graphql-tools/blob/master/packages/loaders/git/src/index.ts#L62)*
7272

7373
**Parameters:**
7474

@@ -77,15 +77,15 @@ Name | Type |
7777
`pointer` | string |
7878
`options` | [GitLoaderOptions](../modules/_loaders_git_src_index_.md#gitloaderoptions) |
7979

80-
**Returns:** *Promise‹[Source](../interfaces/_utils_src_index_.source) | object*
80+
**Returns:** *Promise‹[Source](/docs/api/interfaces/_utils_src_index_.source)*
8181

8282
___
8383

8484
### loadSync
8585

86-
**loadSync**(`pointer`: string, `options`: [GitLoaderOptions](../modules/_loaders_git_src_index_.md#gitloaderoptions)): *[Source](../interfaces/_utils_src_index_.source) | object*
86+
**loadSync**(`pointer`: string, `options`: [GitLoaderOptions](../modules/_loaders_git_src_index_.md#gitloaderoptions)): *[Source](/docs/api/interfaces/_utils_src_index_.source)*
8787

88-
*Defined in [packages/loaders/git/src/index.ts:78](https://github.com/ardatan/graphql-tools/blob/master/packages/loaders/git/src/index.ts#L78)*
88+
*Defined in [packages/loaders/git/src/index.ts:79](https://github.com/ardatan/graphql-tools/blob/master/packages/loaders/git/src/index.ts#L79)*
8989

9090
**Parameters:**
9191

@@ -94,16 +94,16 @@ Name | Type |
9494
`pointer` | string |
9595
`options` | [GitLoaderOptions](../modules/_loaders_git_src_index_.md#gitloaderoptions) |
9696

97-
**Returns:** *[Source](../interfaces/_utils_src_index_.source) | object*
97+
**Returns:** *[Source](/docs/api/interfaces/_utils_src_index_.source)*
9898

9999
___
100100

101101
### loaderId
102102

103103
**loaderId**(): *string*
104104

105-
*Implementation of [Loader](../interfaces/_utils_src_index_.loader)*
105+
*Implementation of [Loader](/docs/api/interfaces/_utils_src_index_.loader)*
106106

107-
*Defined in [packages/loaders/git/src/index.ts:52](https://github.com/ardatan/graphql-tools/blob/master/packages/loaders/git/src/index.ts#L52)*
107+
*Defined in [packages/loaders/git/src/index.ts:50](https://github.com/ardatan/graphql-tools/blob/master/packages/loaders/git/src/index.ts#L50)*
108108

109109
**Returns:** *string*

website/docs/api/classes/_loaders_github_src_index_.githubloader.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ const typeDefs = await loadTypedefs('github:githubUser/githubRepo#branchName:pat
1919

2020
## Implements
2121

22-
* [Loader](../interfaces/_utils_src_index_.loader)[GithubLoaderOptions](../interfaces/_loaders_github_src_index_.githubloaderoptions)
22+
* [Loader](/docs/api/interfaces/_utils_src_index_.loader)[GithubLoaderOptions](/docs/api/interfaces/_loaders_github_src_index_.githubloaderoptions)
2323

2424
## Index
2525

@@ -61,7 +61,7 @@ ___
6161

6262
### load
6363

64-
**load**(`pointer`: string, `options`: [GithubLoaderOptions](../interfaces/_loaders_github_src_index_.githubloaderoptions)): *Promise‹[Source](../interfaces/_utils_src_index_.source) | object›*
64+
**load**(`pointer`: string, `options`: [GithubLoaderOptions](/docs/api/interfaces/_loaders_github_src_index_.githubloaderoptions)): *Promise‹[Source](/docs/api/interfaces/_utils_src_index_.source) | object›*
6565

6666
*Defined in [packages/loaders/github/src/index.ts:63](https://github.com/ardatan/graphql-tools/blob/master/packages/loaders/github/src/index.ts#L63)*
6767

@@ -70,9 +70,9 @@ ___
7070
Name | Type |
7171
------ | ------ |
7272
`pointer` | string |
73-
`options` | [GithubLoaderOptions](../interfaces/_loaders_github_src_index_.githubloaderoptions) |
73+
`options` | [GithubLoaderOptions](/docs/api/interfaces/_loaders_github_src_index_.githubloaderoptions) |
7474

75-
**Returns:** *Promise‹[Source](../interfaces/_utils_src_index_.source) | object›*
75+
**Returns:** *Promise‹[Source](/docs/api/interfaces/_utils_src_index_.source) | object›*
7676

7777
___
7878

@@ -90,7 +90,7 @@ ___
9090

9191
**loaderId**(): *string*
9292

93-
*Implementation of [Loader](../interfaces/_utils_src_index_.loader)*
93+
*Implementation of [Loader](/docs/api/interfaces/_utils_src_index_.loader)*
9494

9595
*Defined in [packages/loaders/github/src/index.ts:51](https://github.com/ardatan/graphql-tools/blob/master/packages/loaders/github/src/index.ts#L51)*
9696

0 commit comments

Comments
 (0)