@@ -3,6 +3,7 @@ import { resolve } from 'path';
3
3
import { Application } from 'typedoc' ;
4
4
5
5
const packagesDir = resolve ( __dirname , '..' , '..' , 'packages' ) ;
6
+ const modulesDir = resolve ( __dirname , '..' , '..' , 'modules' ) ;
6
7
const websiteDir = resolve ( __dirname , '..' , '..' , 'website' ) ;
7
8
const apiDocsDir = resolve ( __dirname , '..' , '..' , 'website' , 'docs' , 'api' ) ;
8
9
const sidebarPath = resolve ( websiteDir , 'sidebars.js' ) ;
@@ -15,10 +16,12 @@ const sidebarTmpPath = resolve(websiteDir, 'sidebars.tmp.js');
15
16
copyFileSync ( sidebarPath , sidebarTmpPath ) ;
16
17
writeFileSync ( sidebarPath , `module.exports = {};` , { encoding : 'utf8' } ) ;
17
18
18
- let dirs = readdirSync ( packagesDir ) ;
19
+ let packagesList = readdirSync ( packagesDir ) ;
20
+ let modulesList = readdirSync ( modulesDir ) ;
19
21
20
22
// 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' ] ;
22
25
23
26
const app = new Application ( ) ;
24
27
@@ -34,29 +37,29 @@ app.bootstrap({
34
37
} ) ;
35
38
36
39
// 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 ) ) ;
38
42
39
- dirs . forEach ( ( dir ) => {
43
+ [
44
+ ...packagesList . map ( ( dir ) => [ packagesDir , dir ] ) ,
45
+ ...modulesList . map ( ( dir ) => [ modulesDir , dir ] ) ,
46
+ ] . forEach ( ( [ path , dir ] ) => {
40
47
// 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 ) ) ;
45
49
46
50
// We move the generated sidebar into the good API folder so they can be reused when the sidebar is generated
47
51
renameSync ( sidebarPath , resolve ( apiDocsDir , dir , 'sidebars.js' ) ) ;
48
52
} ) ;
49
53
50
54
// 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
+ }
60
63
61
64
// We restore the sidebar file.
62
65
renameSync ( sidebarTmpPath , sidebarPath ) ;
0 commit comments