@@ -12,8 +12,14 @@ function toKebabCase(input) {
1212 . toLowerCase ( ) ; // Convert to lowercase
1313}
1414
15- export function createModuleLink ( moduleName ) {
16- return `/apidocs/${ toKebabCase ( moduleName ) } ` ;
15+ export function createAPIModuleLink ( moduleName ) {
16+ // This function is called before import.meta.env.BASE_URL is set.
17+ // So, I'm hardcoding the path here.
18+ return `apidocs/${ toKebabCase ( moduleName ) } ` ;
19+ }
20+
21+ export function createTypeModuleLink ( parentModuleLink , typeName ) {
22+ return `${ parentModuleLink } /${ toKebabCase ( typeName ) } ` ;
1723}
1824
1925function mapTypeModules ( parentModuleLink , file ) {
@@ -27,20 +33,20 @@ function mapTypeModules(parentModuleLink, file) {
2733 return files
2834 . filter ( ( f ) => f . endsWith ( ".res" ) )
2935 . map ( ( file ) => {
30- const fullPath = path . join ( folder , file ) ;
36+ const filePath = path . join ( folder , file ) ;
3137
3238 const moduleName = file
3339 . replace ( "$" , "" )
3440 . replace ( folder , "" )
3541 . replace ( ".res" , "" ) ;
3642 const apiRouteParameter = toKebabCase ( moduleName ) ;
37- const link = ` ${ parentModuleLink } / ${ apiRouteParameter } ` ;
43+ const link = createTypeModuleLink ( parentModuleLink , moduleName ) ;
3844 const typeName = moduleName [ 0 ] . toLocaleLowerCase ( ) + moduleName . slice ( 1 ) ;
3945
4046 return [
4147 typeName ,
4248 {
43- fullPath ,
49+ filePath ,
4450 moduleName,
4551 link,
4652 apiRouteParameter,
@@ -49,13 +55,10 @@ function mapTypeModules(parentModuleLink, file) {
4955 } ) ;
5056}
5157
52- function mapRescriptFile ( file ) {
53- const moduleName = path
54- . basename ( file , ".res" )
55- . replace ( "$" , "" )
56- . replace ( "API" , " API" ) ;
57- const filePath = path . join ( import . meta. dirname , file ) ;
58- const link = createModuleLink ( moduleName ) ;
58+ function mapRescriptFile ( srcDir , file ) {
59+ const moduleName = path . basename ( file , ".res" ) . replace ( "$" , "" ) ;
60+ const filePath = path . join ( srcDir , file ) ;
61+ const link = createAPIModuleLink ( moduleName ) ;
5962 const items = Object . fromEntries ( mapTypeModules ( link , filePath ) ) ;
6063
6164 return {
@@ -67,13 +70,8 @@ function mapRescriptFile(file) {
6770 } ;
6871}
6972
70- export const apiModules = Object . keys (
71- import . meta. glob ( "../../../src/*.res" ) ,
72- ) . map ( mapRescriptFile ) ;
73-
74- export const fileModules = Object . keys (
75- import . meta. glob ( "../../../src/**/*.res" ) ,
76- ) . map ( mapRescriptFile ) ;
73+ const srcDir = path . resolve ( process . cwd ( ) , "src" ) ;
74+ export const apiModules = readdirSync ( srcDir ) . filter ( f => f . endsWith ( ".res" ) ) . map ( r => mapRescriptFile ( srcDir , r ) ) ;
7775
7876export async function getDoc ( absoluteFilePath ) {
7977 const { stdout, stderr } = await execAsync (
0 commit comments