@@ -2,7 +2,7 @@ import { Application, TypeDocOptions } from "typedoc";
22import type { PluginOptions } from "typedoc-plugin-markdown" ;
33import { writeFileSync } from "node:fs" ;
44import { resolve } from "node:path" ;
5- import { formatPackageName , OUT_DIR , PACKAGE_PATHS , PACKAGE_PREFIX , PACKAGES_DIR } from "./packages.utils.mjs" ;
5+ import { formatPackageName , OUT_DIR , PACKAGE_PATHS , PACKAGE_PREFIX , packagePathToName , PACKAGES_DIR } from "./packages.utils.mjs" ;
66import { Option , program } from "@commander-js/extra-typings" ;
77import { formatMemberPageTitle , formatModulePageTitle } from "./typedoc.utils" ;
88import { Logger } from "@prozilla-os/shared" ;
@@ -33,6 +33,24 @@ const DEFAULT_OPTIONS: TypeDocOptions & PluginOptions = {
3333 } ,
3434} ;
3535
36+ const RELEASE_PATH = process . env . RELEASE_PATH ?. trim ( ) ;
37+
38+ const SOURCE_BASE = RELEASE_PATH
39+ ? resolve ( RELEASE_PATH , "packages" )
40+ : resolve ( __dirname , PACKAGES_DIR ) ;
41+
42+ const COMPILER_PATHS : Record < string , string [ ] > = {
43+ "*" : [ "node_modules/*" ] ,
44+ } ;
45+
46+ PACKAGE_PATHS . forEach ( ( path ) => {
47+ const name = packagePathToName ( path ) ;
48+ COMPILER_PATHS [ name ] = [ `packages/${ path } ` ] ;
49+ COMPILER_PATHS [ `${ name } /*` ] = [ `packages/${ path } /*` ] ;
50+ } ) ;
51+
52+ const WORKSPACE_ROOT = resolve ( __dirname , "../../" ) . replaceAll ( "\\" , "/" ) ;
53+
3654const logger = new Logger ( ) ;
3755
3856program . name ( "typedoc-helper" )
@@ -83,12 +101,6 @@ program.command("run", { isDefault: true })
83101 logger . success ( "Generated all docs" ) ;
84102 } ) ;
85103
86- const RELEASE_PATH = process . env . RELEASE_PATH ?. trim ( ) ;
87-
88- const SOURCE_BASE = RELEASE_PATH
89- ? resolve ( RELEASE_PATH , "packages" )
90- : resolve ( __dirname , PACKAGES_DIR ) ;
91-
92104async function generateDocs ( path : string , dryRun : boolean ) {
93105 const packageDir = resolve ( SOURCE_BASE , path ) ;
94106 const entryPoint = resolve ( packageDir , "src/main.ts" ) . replaceAll ( "\\" , "/" ) ;
@@ -105,6 +117,13 @@ async function generateDocs(path: string, dryRun: boolean) {
105117 tsconfig : tsConfig ,
106118 out : outDir ,
107119 navigationJson,
120+ compilerOptions : {
121+ moduleResolution : "node" ,
122+ baseUrl : WORKSPACE_ROOT ,
123+ paths : COMPILER_PATHS ,
124+ skipLibCheck : true ,
125+ jsx : "react-jsx" ,
126+ } ,
108127 } ;
109128
110129 const packageName = formatPackageName ( path ) ;
0 commit comments