Skip to content

Remove typedoc from cli-kit (drop unused API-docs generation)#7723

Draft
amcaplan wants to merge 1 commit into
mainfrom
remove-dep/typedoc
Draft

Remove typedoc from cli-kit (drop unused API-docs generation)#7723
amcaplan wants to merge 1 commit into
mainfrom
remove-dep/typedoc

Conversation

@amcaplan
Copy link
Copy Markdown
Contributor

@amcaplan amcaplan commented Jun 5, 2026

What & why

typedoc is a dev/doc-only devDependency in @shopify/cli-kit whose only consumer is an API-docs generator (packages/cli-kit/scripts/build-api-docs.js). A Round-1 investigation found the generated API docs are unlinked and unindexed, and normal PR / main / release CI never invoke typedoc. The dependency nonetheless drives recurring Dependabot churn — 35 version bumps over the last 24 months. This PR removes typedoc and its unused API-docs generation pipeline.

⚠️ Capability removal — please confirm

This PR removes the cli-kit API-docs (TSDoc) generation capability. The docs it produced were unlinked/unindexed, so we believe nothing depends on them — but if those generated API docs ARE wanted, please object here and we'll restore the pipeline. The hand-written docs published to GitHub Pages (docs/cli/*, docs/cli-kit/*, docs/decision-record/*) are NOT affected — pages.yml still builds and deploys them.

What is removed

  • typedoc devDependency from packages/cli-kit/package.json (+ pnpm-lock.yaml refresh).
  • packages/cli-kit/scripts/build-api-docs.js — the sole typedoc importer.
  • The build-api-docs and open-api-docs nx targets (packages/cli-kit/project.json) and the matching cli-kit package.json scripts.
  • The root build-api-docs script + the now-stale docs/api/cli-kit/**/*.js knip entry (and the now-stale open knip ignoreBinaries entry for cli-kit, which only the removed open-api-docs command used).
  • The "Build TSDoc docs" step in .github/workflows/pages.yml, plus the packages/cli-kit/package.json push-path trigger (its sole purpose was triggering typedoc regen). Jekyll build + GitHub Pages deploy of the hand-written ./docs site are kept fully intact.

Validation (local, on this branch)

  • pnpm --filter @shopify/cli-kit build → ✅ green
  • pnpm --filter @shopify/cli-kit type-check → ✅ green
  • pnpm --filter @shopify/cli-kit lint → ✅ green
  • pnpm knip → ✅ exit 0 (no new findings)
  • pnpm --filter @shopify/cli-kit exec vitest run → 1408 passed, 2 skipped. 4 failures in base-command.test.ts > removeDuplicatedPlugins are pre-existing on main (verified against a clean tree) and unrelated to this change, which touches no source/test files.
  • Repo-wide grep for typedoc / build-api-docs / open-api-docs / TypeDoc → no matches.

Changeset

None — removing a devDependency is invisible to consumers of the published package (devDeps are stripped on publish), and no CI gate requires one.

🤖 Automated dependency-removal initiative — AI-generated draft, needs human review.

Co-Authored-By: Claude <noreply@anthropic.com>
@github-actions github-actions Bot added the no-changelog This PR doesn't include a changeset entry. Is an internal only change not relevant to end users. label Jun 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-changelog This PR doesn't include a changeset entry. Is an internal only change not relevant to end users.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant