Skip to content

feat: api docs generator#591

Open
akudev wants to merge 1 commit into
mainfrom
feat/api-docs-generator
Open

feat: api docs generator#591
akudev wants to merge 1 commit into
mainfrom
feat/api-docs-generator

Conversation

@akudev

@akudev akudev commented Jun 12, 2026

Copy link
Copy Markdown
Member

No description provided.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds an API documentation generation toolchain to the repo and a scheduled/manual GitHub Actions workflow to publish the generated HTML docs to gh-pages.

Changes:

  • Introduce a standalone scripts/generate-api-docs Node-based generator (TypeDoc → Markdown → minimal HTML + sitemap/index).
  • Add a scheduled + workflow_dispatch GitHub Actions workflow to generate OpenUI5/SAPUI5 docs and push results to gh-pages.
  • Add an (empty) changeset documenting the infrastructure-only addition.

Reviewed changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
scripts/generate-api-docs/package.json Defines the generator’s Node package scripts and pinned dependencies.
scripts/generate-api-docs/package-lock.json Locks generator dependency graph for deterministic installs.
scripts/generate-api-docs/generate.mjs Implements the full docs generation pipeline and HTML rendering.
scripts/generate-api-docs/.npmrc Sets npm/pnpm install-related config for the generator subproject.
.github/workflows/generate-api-docs.yml Automates monthly/manual docs generation and publishes to gh-pages.
.changeset/add-api-docs-generator.md Documents the infra-only change via an empty changeset.
Files not reviewed (1)
  • scripts/generate-api-docs/package-lock.json: Generated file

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread scripts/generate-api-docs/generate.mjs
Comment thread scripts/generate-api-docs/generate.mjs Outdated
Comment thread scripts/generate-api-docs/generate.mjs Outdated
Comment thread scripts/generate-api-docs/generate.mjs Outdated
Comment thread scripts/generate-api-docs/generate.mjs
Comment thread .github/workflows/generate-api-docs.yml Outdated
Comment thread .github/workflows/generate-api-docs.yml Outdated
@akudev akudev force-pushed the feat/api-docs-generator branch 2 times, most recently from 407771c to f64a6e4 Compare June 12, 2026 15:36

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 5 out of 6 changed files in this pull request and generated 7 comments.

Files not reviewed (1)
  • scripts/generate-api-docs/package-lock.json: Generated file

Comment thread scripts/generate-api-docs/.npmrc
Comment thread scripts/generate-api-docs/generate.mjs Outdated
Comment thread scripts/generate-api-docs/generate.mjs
Comment thread scripts/generate-api-docs/generate.mjs
Comment thread scripts/generate-api-docs/generate.mjs
Comment thread scripts/generate-api-docs/generate.mjs
Comment thread .github/workflows/generate-api-docs.yml Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 5 out of 6 changed files in this pull request and generated 5 comments.

Files not reviewed (1)
  • scripts/generate-api-docs/package-lock.json: Generated file

Comment thread scripts/generate-api-docs/generate.mjs
Comment thread scripts/generate-api-docs/generate.mjs
Comment thread scripts/generate-api-docs/generate.mjs
Comment thread scripts/generate-api-docs/package-lock.json
Comment thread .github/workflows/generate-api-docs.yml

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 5 out of 6 changed files in this pull request and generated 2 comments.

Files not reviewed (1)
  • scripts/generate-api-docs/package-lock.json: Generated file

Comment thread scripts/generate-api-docs/generate.mjs
Comment thread .github/workflows/generate-api-docs.yml

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 5 out of 6 changed files in this pull request and generated 2 comments.

Files not reviewed (1)
  • scripts/generate-api-docs/package-lock.json: Generated file

Comment thread scripts/generate-api-docs/generate.mjs Outdated
Comment thread .github/workflows/generate-api-docs.yml

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 5 out of 6 changed files in this pull request and generated 2 comments.

Files not reviewed (1)
  • scripts/generate-api-docs/package-lock.json: Generated file

Comment thread scripts/generate-api-docs/generate.mjs Outdated
Comment thread scripts/generate-api-docs/generate.mjs
Adds a script that generates crawlable HTML API reference pages from
@openui5/types and @sapui5/types npm packages using TypeDoc.

Pipeline:
1. Install types package (pinned, --ignore-scripts, allowlisted)
2. Preprocess .d.ts (rename default exports to named, collect export map)
3. Run TypeDoc with markdown plugin
4. Strip inherited members (reduces ~300MB to ~47MB)
5. Render minimal static HTML with import hints, breadcrumbs, sitemap

GitHub Actions workflow:
- Nightly cron (cheap version check via .version marker files)
- Fetches LTS + latest versions from versionoverview.json (hard floor: 1.120)
- Generates only versions with new patches, skips up-to-date ones
- Resilient: one failure does not block other versions
- Manual workflow_dispatch for on-demand generation

Security:
- .npmrc: registry pin, ignore-scripts, allow-git=none, min-release-age
- All deps pinned to exact versions with committed lockfile
- Actions pinned to SHA digests with version comments
- Workflow permissions scoped (contents:read default, write at job level)
- Node version pinned to exact patch
- No npx in generator (local bin path only)
- Types packages allowlisted

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 5 out of 6 changed files in this pull request and generated 2 comments.

Files not reviewed (1)
  • scripts/generate-api-docs/package-lock.json: Generated file

Comment thread .github/workflows/generate-api-docs.yml
Comment thread scripts/generate-api-docs/generate.mjs
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.

2 participants