Skip to content

Commit 3e5fce9

Browse files
committed
fix: docs
1 parent dd849dd commit 3e5fce9

File tree

6 files changed

+3701
-122
lines changed

6 files changed

+3701
-122
lines changed

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@
2323
"packages": [
2424
"modules/*",
2525
"packages/*",
26-
"examples/*"
26+
"examples/*",
27+
"website"
2728
]
2829
},
2930
"lint-staged": {

website/docusaurus.config.js

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,6 @@ const config = {
1919
themeConfig:
2020
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
2121
({
22-
algolia: {
23-
apiKey: 'c872074b5f5ecd186d94d7c19b27d757',
24-
indexName: 'accounts',
25-
},
2622
fathomAnalytics: {
2723
siteId: 'NZPJJZTJ',
2824
customDomain: 'https://goose.accountsjs.com',
@@ -40,7 +36,7 @@ const config = {
4036
items: [
4137
{ to: 'docs/introduction', label: 'Documentation', position: 'right' },
4238
{
43-
to: 'docs/api/server/index',
39+
to: 'docs/api/server',
4440
label: 'Api reference',
4541
position: 'right',
4642
},
@@ -63,7 +59,7 @@ const config = {
6359
},
6460
{
6561
label: 'Api reference',
66-
to: '/docs/api/server/index',
62+
to: '/docs/api/server',
6763
},
6864
],
6965
},

website/package.json

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,16 @@
1212
"serve": "docusaurus serve",
1313
"write-translations": "docusaurus write-translations",
1414
"write-heading-ids": "docusaurus write-heading-ids",
15-
"generate-api-docs": "rm -rf docs/api && ts-node scripts/generate-api-docs.ts"
15+
"generate-api-docs": "rm -rf docs/api && yarn run -T ts-node scripts/generate-api-docs.ts"
1616
},
1717
"dependencies": {
18-
"@docusaurus/core": "2.0.0-beta.8",
19-
"@docusaurus/plugin-content-docs": "2.0.0-beta.8",
20-
"@docusaurus/preset-classic": "2.0.0-beta.8",
18+
"@docusaurus/core": "2.4.1",
19+
"@docusaurus/plugin-content-docs": "2.4.1",
20+
"@docusaurus/preset-classic": "2.4.1",
2121
"@mdx-js/react": "1.6.22",
22-
"clsx": "1.1.1",
22+
"clsx": "1.2.1",
2323
"docusaurus-plugin-fathom": "1.1.0",
24-
"prism-react-renderer": "1.2.1",
24+
"prism-react-renderer": "1.3.5",
2525
"react": "17.0.2",
2626
"react-dom": "17.0.2"
2727
},
@@ -38,10 +38,9 @@
3838
]
3939
},
4040
"devDependencies": {
41-
"@types/node": "20.2.3",
42-
"@types/react": "17.0.38",
43-
"ts-node": "10.9.1",
44-
"typedoc": "0.17.8",
45-
"typedoc-plugin-markdown": "2.4.2"
41+
"@types/react": "17.0.65",
42+
"typedoc": "0.19.2",
43+
"typedoc-plugin-markdown": "2.4.2",
44+
"typescript": "4.0.8"
4645
}
4746
}

website/scripts/generate-api-docs.ts

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { resolve } from 'path';
33
import { Application } from 'typedoc';
44

55
const packagesDir = resolve(__dirname, '..', '..', 'packages');
6+
const modulesDir = resolve(__dirname, '..', '..', 'modules');
67
const websiteDir = resolve(__dirname, '..', '..', 'website');
78
const apiDocsDir = resolve(__dirname, '..', '..', 'website', 'docs', 'api');
89
const sidebarPath = resolve(websiteDir, 'sidebars.js');
@@ -15,10 +16,12 @@ const sidebarTmpPath = resolve(websiteDir, 'sidebars.tmp.js');
1516
copyFileSync(sidebarPath, sidebarTmpPath);
1617
writeFileSync(sidebarPath, `module.exports = {};`, { encoding: 'utf8' });
1718

18-
let dirs = readdirSync(packagesDir);
19+
let packagesList = readdirSync(packagesDir);
20+
let modulesList = readdirSync(modulesDir);
1921

2022
// Do not build the docs for these packages
21-
const excludeDirs = ['database-tests', 'e2e', 'error', 'types'];
23+
const excludePackages = ['database-tests', 'e2e', 'error', 'types'];
24+
const excludeModules = ['magic-link', 'password'];
2225

2326
const app = new Application();
2427

@@ -34,29 +37,29 @@ app.bootstrap({
3437
});
3538

3639
// Do not build the docs for these packages
37-
dirs = dirs.filter((dir) => !excludeDirs.includes(dir));
40+
packagesList = packagesList.filter((dir) => !excludePackages.includes(dir));
41+
modulesList = modulesList.filter((dir) => !excludeModules.includes(dir));
3842

39-
dirs.forEach((dir) => {
43+
[
44+
...packagesList.map((dir) => [packagesDir, dir]),
45+
...modulesList.map((dir) => [modulesDir, dir]),
46+
].forEach(([path, dir]) => {
4047
// Generate the api doc for each package
41-
app.generateDocs(
42-
app.expandInputFiles([resolve(packagesDir, dir, 'src')]),
43-
resolve(apiDocsDir, dir)
44-
);
48+
app.generateDocs(app.expandInputFiles([resolve(path, dir, 'src')]), resolve(apiDocsDir, dir));
4549

4650
// We move the generated sidebar into the good API folder so they can be reused when the sidebar is generated
4751
renameSync(sidebarPath, resolve(apiDocsDir, dir, 'sidebars.js'));
4852
});
4953

5054
// This is a fix for a generics issue, see https://github.com/tom-grey/typedoc-plugin-markdown/issues/119
51-
const filePath = resolve(apiDocsDir, 'graphql-api', 'globals.md');
52-
let fileContent = readFileSync(filePath, {
53-
encoding: 'utf8',
54-
});
55-
fileContent = fileContent.replace(
56-
'= new GraphQLModule<CoreAccountsModuleConfig>',
57-
'= new GraphQLModule'
58-
);
59-
writeFileSync(filePath, fileContent, { encoding: 'utf8' });
55+
for (const packageName of readdirSync(apiDocsDir)) {
56+
const filePath = resolve(apiDocsDir, packageName, 'globals.md');
57+
let fileContent = readFileSync(filePath, {
58+
encoding: 'utf8',
59+
});
60+
fileContent = fileContent.replace(/</g, '‹').replace(/>/g, '›');
61+
writeFileSync(filePath, fileContent, { encoding: 'utf8' });
62+
}
6063

6164
// We restore the sidebar file.
6265
renameSync(sidebarTmpPath, sidebarPath);

website/sidebars.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,23 @@
11
// @ts-check
2-
const { readdirSync } = require('fs');
2+
const { readdirSync, existsSync } = require('fs');
33
const { resolve } = require('path');
44

55
const packagesDir = resolve(__dirname, '..', 'packages');
6+
const modulesDir = resolve(__dirname, '..', 'modules');
67
const apiDocsDir = resolve(__dirname, '..', 'website', 'docs', 'api');
78

89
const dirs = readdirSync(apiDocsDir);
910

1011
/** @type any */
1112
const generatedApi = {};
1213

14+
function resolvePackage(dir) {
15+
let path = resolve(packagesDir, dir, 'package.json');
16+
return existsSync(path) ? path : resolve(modulesDir, dir, 'package.json');
17+
}
18+
1319
dirs.forEach((dir) => {
14-
const packageName = require(resolve(packagesDir, dir, 'package.json')).name;
20+
const packageName = require(resolvePackage(dir)).name;
1521
const generatedSidebar = require(resolve(apiDocsDir, dir, 'sidebars'));
1622
generatedApi[packageName] = [];
1723
if (Object.keys(generatedSidebar.docs).length > 0) {

0 commit comments

Comments
 (0)