Skip to content

Commit 16cc00e

Browse files
committed
docs(CHANGES[unreleased]): Document astro alignment work
why: The "0.0.1 (unreleased)" section was empty, hiding ~17 commits of astro-stack alignment work from the changelog narrative. This populates the section so the eventual release notes (and the PR description that mirrors this content) communicate what landed. what: Add entries under ## gp-sphinx 0.0.1 (unreleased), grouped by user impact: - What's new: Astro renderer rebased onto post-PR-#29 main; dual-token coexistence (@gp-sphinx/furo-tokens + Astro OKLCH); bump_version.py JS literal coverage; sphinx-vite-builder skip-builders config; astro CI workflow. - Bug fixes: three @gp-sphinx/astro strict-tsc errors; @pagefind/default-ui module shim for astro check; typescript devDep added to @gp-sphinx/astro for tsc resolution; gp-furo-tokens / gp-furo-theme/web versions aligned to lockstep. Each entry is descriptive (why + what) rather than a literal commit hash list, matching the existing changelog style for 0.0.1a16 and prior versions. Commit hashes are visible in the PR diff for reviewers who want to drill in.
1 parent d3267dd commit 16cc00e

1 file changed

Lines changed: 95 additions & 0 deletions

File tree

CHANGES

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,101 @@ $ uv add gp-sphinx --prerelease allow
1818

1919
<!-- To maintainers and contributors: Please add notes for the forthcoming version below -->
2020

21+
### What's new
22+
23+
#### Astro renderer rebased onto post-PR-#29 main
24+
25+
The `gp-sphinx-astro-builder` Sphinx extension (Sphinx → typed JSON),
26+
the `@gp-sphinx/astro` Astro theme package (Zod wire-format schemas +
27+
recursive renderer + render utilities), and the `@gp-sphinx/astro-docs-site`
28+
dogfood site land alongside the existing HTML stack. `sphinx-build
29+
--builder astro docs/ astro/apps/gp-sphinx-docs/` emits per-doc JSON
30+
into the Astro app's content collection; `astro build` renders 244
31+
HTML pages with Pagefind search index. The Astro stack is opt-in —
32+
HTML builds via `gp-furo-theme` are unchanged. Workspace consolidation
33+
collapses the formerly-separate `astro/` pnpm workspace into the root
34+
workspace; one `pnpm install` resolves all five JS projects.
35+
36+
#### Dual-token coexistence: `@gp-sphinx/furo-tokens` loaded alongside Astro OKLCH palette
37+
38+
`@gp-sphinx/astro-docs-site/src/styles/global.css` loads the
39+
`@gp-sphinx/furo-tokens/plugin` Tailwind v4 plugin alongside its own
40+
`@theme` block. The two CSS-variable namespaces are disjoint
41+
(`--color-bg` / `--color-fg` / etc. from the Astro app vs.
42+
`--color-background-primary` / `--sidebar-*` / etc. from Furo's
43+
169-token contract), so both sets are simultaneously available to
44+
components. The `@custom-variant dark` declaration unions both runtime
45+
selectors (`:root[data-theme-mode="dark"]` and
46+
`body[data-theme="dark"]`); the theme-toggle JS sets both attributes
47+
so dark Furo tokens activate without a CSS shim. Rendering components
48+
inside `@gp-sphinx/astro` can migrate from Astro tokens to Furo tokens
49+
incrementally for shared concepts (admonitions, links, code, prose).
50+
51+
#### `scripts/ci/bump_version.py` covers JS package literals
52+
53+
`BUMP_GLOBS` extended to scan `astro/**/*.{json,ts,astro}` and
54+
`packages/*/{package.json,web/package.json,src/**/*.ts}`. The new
55+
`_alt_form()` helper maps PEP 440 prerelease form (`0.0.1a16`) to the
56+
equivalent npm SemVer prerelease form (`0.0.1-alpha.16`) so a single
57+
bump call updates Python and JS literals in lockstep.
58+
`/node_modules/` joins the exclude list so vendored package.json
59+
files stay frozen.
60+
61+
#### `sphinx-vite-builder`: builder-name skip list
62+
63+
New config value `sphinx_vite_builder_skip_builders: list[str]`
64+
(default `["astro"]`) short-circuits the `builder-inited` hook before
65+
any vite-root resolution or pnpm-install probe. Builders that emit
66+
non-HTML output (e.g. the JSON-emitting `astro` builder) no longer
67+
spawn `pnpm exec vite build` for assets they don't consume.
68+
69+
#### CI: astro pipeline workflow
70+
71+
New `.github/workflows/astro.yml` runs the full astro chain
72+
(`uv sync` → `pnpm install` → Sphinx → JSON → Astro build →
73+
type-check → vitest) on changes to `astro/`,
74+
`packages/gp-sphinx-astro-builder/`, `packages/gp-furo-{tokens,theme/web}/`,
75+
or `docs/`. Marked `continue-on-error: true` while it stabilises;
76+
promote to required by removing that line once it's trusted.
77+
78+
### Bug fixes
79+
80+
#### `@gp-sphinx/astro`: three strict-tsc errors fixed
81+
82+
The theme's `tsc --noEmit` script now exits 0. Previously
83+
`src/render/highlight-code.ts` cast Shiki's `langs` array as
84+
`readonly BundledLanguage[]` against a mutable parameter (TS4104);
85+
`test/render/build-toc.test.ts` accessed `.value` on InlineNode
86+
without guarding the image variant; and the Pydantic ↔ Zod
87+
`SymbolKind` enum omitted `'exception'` even though
88+
`render-symbol.ts`'s `KEYWORD_PREFIX_BY_KIND` already mapped it.
89+
Pydantic schema export and the committed
90+
`astro/fixtures/symbol.schema.json` regenerated for parity.
91+
92+
#### `@gp-sphinx/astro-docs-site`: `astro check` shim for `@pagefind/default-ui`
93+
94+
The dynamic import of `@pagefind/default-ui` in `SearchBox.astro`
95+
implicitly typed `any` because the package ships no `.d.ts` and isn't
96+
on DefinitelyTyped. `src/env.d.ts` adds an ambient
97+
`declare module '@pagefind/default-ui'` so `astro check` reports
98+
0 errors.
99+
100+
#### `@gp-sphinx/astro`: `tsc` now resolvable via `pnpm --filter`
101+
102+
The workspace consolidation deleted the inner `astro/package.json`'s
103+
role as a workspace anchor, and pnpm only places the `tsc` bin on
104+
packages that *declare* the dep. `typescript ^5.7.0` now lives in
105+
`@gp-sphinx/astro/devDependencies` so
106+
`pnpm --filter "@gp-sphinx/astro" run type-check` runs.
107+
108+
#### `gp-furo-tokens` and `gp-furo-theme/web`: versions aligned to lockstep
109+
110+
Both JS-only packages were stuck at `0.0.1-alpha.13` while the Python
111+
workspace and the astro stack landed at `0.0.1-alpha.16`. The
112+
`FURO_TOKENS_VERSION` constant in `gp-furo-tokens/src/index.ts` was
113+
even more stale at `0.0.1-alpha.12`. All three aligned to
114+
`0.0.1-alpha.16`.
115+
21116
## gp-sphinx 0.0.1a16 (2026-05-03)
22117

23118
### What's new

0 commit comments

Comments
 (0)