Skip to content

Conversation

subhankarmaiti
Copy link
Contributor

@subhankarmaiti subhankarmaiti commented Aug 10, 2025

This PR introduces a major overhaul of our documentation generation and publishing process, aimed at improving navigation, clarity, and maintainability.

1. Improved Documentation Structure

The library's exports have been restructured to create a clear, hierarchical structure in the generated TypeDoc documentation. Previously, the docs presented a flat list of all exports, making them difficult to navigate. Now, all public types, classes, and functions are organized into distinct namespaces:

  • Classes: Contains all exported classes like Auth0, AuthError, etc.
  • Interface: Contains all TypeScript interfaces and type aliases.
  • Hooks: Contains the React hooks, useAuth0 and Auth0Provider.
  • Enums: Contains all enums like LocalAuthenticationStrategy.

This creates a much clearer experience for developers browsing the API documentation.

2. Automated Publishing and Versioning

To support this new structure and streamline our release process, a full CI/CD pipeline for the documentation has been implemented:

  • A new publish-docs GitHub Actions workflow now automatically builds and commits the documentation to the gh-pages branch after each release.
  • A version management script and a new TypeDoc versioning plugin have been added. This system automatically maintains documentation for the two most recent major versions, providing users with a version selector in the docs.
  • As a result, the docs directory is now treated as a build artifact and has been added to .gitignore.

These changes make the documentation significantly easier for developers to use while automating a previously manual part of our release workflow.

Fixes #1267

…cture

chore(docs): update typedoc entry points and configuration for better documentation
refactor(types): remove unused Auth0Error class
- Updated the Auth0 export to include TimeoutError from the index.
- Introduced a new enums.ts file to export SafariViewControllerPresentationStyle and local authentication types.
- Modified index.ts to include the new Enums export.
@subhankarmaiti subhankarmaiti changed the title (docs)fix: organize exports into namespaces for better typedocs fix(docs): organize exports into namespaces for better typedocs Aug 11, 2025
@subhankarmaiti subhankarmaiti marked this pull request as ready for review August 21, 2025 08:34
@subhankarmaiti subhankarmaiti requested a review from a team as a code owner August 21, 2025 08:34
pmathew92
pmathew92 previously approved these changes Aug 21, 2025
Base automatically changed from SDK-5700-platform-agnostic-error to master August 25, 2025 11:24
@subhankarmaiti subhankarmaiti dismissed pmathew92’s stale review August 25, 2025 11:24

The base branch was changed.

const currentMajor = semver.major(currentVersion);
const stableVersions = allVersions.filter((v) => !semver.prerelease(v));
const latestStableMajor = stableVersions.find(
(v) => semver.major(v) < currentMajor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What will happen when you cut a -beta release on the latest stable version.
latestStableMajor = 4 and currentVersion = 4.3.5-beta.1`

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In that case, it will only keep the 4.3.5-beta.1 version.
Should we account for this scenario? I was under the assumption that we release beta or alpha versions only for the next major release. Please correct me if that’s not the case, so we can adjust to keep both versions if needed.

@subhankarmaiti subhankarmaiti merged commit d2e8927 into master Sep 3, 2025
3 checks passed
@subhankarmaiti subhankarmaiti deleted the fix-doc branch September 3, 2025 07:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Internal doc pages not available
4 participants