Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add flag to re-write sidebar.js (and other auto-generated files) #983

Open
rossdanlm opened this issue Oct 3, 2024 · 1 comment
Open
Labels
enhancement New feature or request

Comments

@rossdanlm
Copy link

Is your feature request related to a problem?

Similar to #615 (comment), I noticed that changes to the OpenAPI specs aren't reflected in sidebar.ts file:

if (!fs.existsSync(`${outputDir}/sidebar.ts`)) {
try {
fs.writeFileSync(`${outputDir}/sidebar.ts`, view, "utf8");
console.log(
chalk.green(`Successfully created "${outputDir}/sidebar.ts"`)
);
} catch (err) {
console.error(
chalk.red(`Failed to write "${outputDir}/sidebar.ts"`),
chalk.yellow(err)
);
}
}
}

I think it would be nice to add an --overwrite arg in CLI that would allow you to overwrite this!

Describe the solution you'd like

Something similar to docusaurus gen-api-docs <plugin_id> --overwrite

Describe alternatives you've considered

Not blocked, able to just clean/delete the repo but it would be a nice step to include. It wasn't super obvious to me when I first did this and spend some time trying to debug why my updates weren't appearing in my docs.

Perhaps also maybe in output text say "warning: OpenAPI spec differs from data currently saved in <destination_path>.sidebar.ts file. If you would like to update this file, please re-run with the --overwrite flag: docusaurus gen-api-docs <plugin_id> --overwrite"

Additional context

@rossdanlm rossdanlm added the enhancement New feature or request label Oct 3, 2024
@sserrata
Copy link
Member

sserrata commented Oct 4, 2024

Hi @rossdanlm, I think this is something we can implement/support. Any chance you'd be willing/interested in working on it?

Also, FWIW, we chose not to check-in our generated MDX/sidebar files for our project, i.e. we use .gitignore to exclude them. This helps ensure we always generated the latest OpenAPI docs, accounting for added/removed/changed operations. Although overwriting seems like a good approach, it probably won't handle cases where operations are removed, since those would require manual cleanup.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants