Commit Graph

4 Commits

Author SHA1 Message Date
Claude Code
22ce3239fc chore(docs): freeze @site/-aliased data imports at version cut too
Extend freezeDataImports to also handle MDX imports that use the
Docusaurus `@site/` alias (e.g. feature-flags.mdx imports
`@site/static/feature-flags.json` to render the feature-flag tables).
Previously these were skipped because the regex only matched escaping
relative paths, so the snapshot kept reading the live JSON — meaning a
6.1.0 snapshot would silently grow new flags every time someone added
one in master.

The freeze now matches both prefixes:
- `from '../../foo/bar.json'` — relative escape (existing)
- `from '@site/static/foo.json'` — site-root alias (new)

`@site/` always resolves against the docs root, so we don't need the
depth check; instead we just skip any import that resolves inside the
section root (which would be copied with the section anyway).

Verified end-to-end with a throwaway admin_docs cut: the snapshot's
feature-flags page renders all 62 current feature flags from a frozen
JSON, alongside the country-map-tools freeze.
2026-05-11 10:02:09 -07:00
Claude Code
33edfca597 chore(docs): freeze data imports when cutting a docs version
MDX files can import JSON/YAML data from outside the section (e.g.
admin_docs/configuration/country-map-tools.mdx imports
../../data/countries.json). Without intervention, the snapshot keeps
reading the live data file, so the historical version's content
silently changes whenever the data file is updated upstream.

Add a freezeDataImports step to manage-versions.mjs that runs at cut
time, before the depth-aware path rewriter:
- Walks the freshly-snapshotted section dir
- For each .md/.mdx file, finds escaping JSON/YAML imports (one or more
  ../) and resolves them against the file's original location
- Copies the resolved file into <snapshot>/_versioned_data/, preserving
  its path relative to docs/ (the underscore prefix keeps Docusaurus
  from treating it as content)
- Rewrites the import to point at the snapshot-local copy

Verified end-to-end with a throwaway admin_docs cut: the snapshot's
country-map-tools page renders all 201 countries from a frozen JSON,
and a subsequent edit to the live docs/data/countries.json does not
affect the snapshot's rendered output.
2026-05-08 14:24:53 -07:00
Claude Code
2691c68240 chore(docs): clean up version-cutting tooling and finish developer_portal rename
Tooling-only prep for the upcoming docs version cut. Snapshots will land
in a follow-up PR.

- Finish the developer_portal -> developer_docs rename: update package.json
  scripts, manage-versions.mjs usage strings, DocVersionBadge plugin id list
  (replaces bogus 'tutorials' and 'developer_portal' ids with the real
  'default', 'components', 'admin_docs', 'developer_docs'), DocVersionBanner
  dead branch, DOCS_CLAUDE.md, README.md
- Add admin_docs version add/remove scripts (which previously didn't exist)
- Generalize fixVersionedImports in manage-versions.mjs to walk every
  section's snapshot dir with a depth-aware regex, and skip fenced code
  blocks; replaces the previous hard-coded two-file list
- Remove orphan files: developer_portal_versions.json, tutorials_versions.json
  (no such plugin), and the empty docs/components/versions.json and
  docs/developer_docs/versions.json that were accidentally tracked inside
  content directories
- Exclude auto-generated sidebar.js and sidebar.ts from the ASF license check
  (these are produced by docs/scripts/convert-api-sidebar.mjs from the
  OpenAPI spec, and a future version cut would otherwise commit them)
2026-05-08 10:54:43 -07:00
Evan Rusackas
0a45a89786 feat(docs): Docusaurus multi-versioning, Developer Portal starter kit (#34271)
Co-authored-by: Claude <noreply@anthropic.com>
2025-08-22 09:53:01 -07:00