Skip to content

chore(docs): update Docusaurus to 3.10.2 and group docs security updates - #23

Merged
dwikiriyadi merged 2 commits into
mainfrom
chore/docs-security-updates
Oct 10, 2026
Merged

dwikiriyadi merged 2 commits into
mainfrom
chore/docs-security-updates

Conversation

@dwikiriyadi

Copy link
Copy Markdown
Member

Description

Dependabot security updates now open one PR per vulnerable npm package in the docs sites (#15–#20 so far). The repository has 100+ open alerts across docs/internal and docs/usage.

  • Docusaurus 3.9.0 → 3.10.2 in both sites, plus npm audit fix. npm audit drops from 78 to 48 findings per site.
  • future.v4 is now an explicit flag object. 3.10 added two flags to v4: true. mdx1CompatDisabledByDefault breaks the generated pages' {#id} headings (all 50 component pages failed to compile). fasterByDefault needs the extra @docusaurus/faster package. Both are off, so the build behaves as it did on 3.9. The other three v4 flags stay on.
  • dependabot.yml: an npm entry for both sites that groups security updates into one PR and opens no routine version-update PRs (open-pull-requests-limit: 0).

What's left: the remaining 48 findings come from six packages pulled in by Docusaurus's own dependencies: tinypool, serialize-javascript, uuid (via sockjs), katex (via mermaid), postcss-selector-parser and braces. Each fix needs a major version their parents don't accept yet, and braces has no fixed release. All six are build-time tooling; the published sites are static HTML. Forcing them with overrides could break the build, so they wait for upstream Docusaurus releases.

Once this merges, Dependabot should close #15–#20, or rebase them to no-ops that can be closed.

Type of change

  • Bug fix
  • New feature
  • Documentation update
  • Refactor/Chore
  • Breaking change (fix or feature that would cause existing functionality to change)

How Has This Been Tested?

  • npm run build passes for docs/internal and docs/usage with no errors or warnings.
  • The generated component pages keep their custom heading ids (id="concept", id="kotlin-1-why" in components/primitives/camo-text.html).

npm run typecheck fails in src/components/LangTabs/index.tsx (the onChange prop on Tabs). The same error is on main with 3.9.0, so it isn't caused by this PR, and CI doesn't run typecheck.

Breaking changes

None.

🤖 Generated with Claude Code

dwikiriyadi and others added 2 commits October 10, 2026 14:06
- Both sites: @docusaurus/* 3.9.0 -> 3.10.2 plus npm audit fix,
  78 -> 48 npm audit findings each. The rest come from Docusaurus's own
  dependencies and need major bumps their parents don't allow yet.
- future.v4 is now an explicit flag object: 3.10 added
  mdx1CompatDisabledByDefault (would break the generated {#id} headings)
  and fasterByDefault (needs @docusaurus/faster) to `v4: true`. Both
  stay off, so the build behaves as on 3.9.
- dependabot.yml: npm security updates for both sites in one grouped PR,
  no routine version updates.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@dwikiriyadi
dwikiriyadi merged commit 8502550 into main Oct 10, 2026
4 checks passed
@dwikiriyadi
dwikiriyadi deleted the chore/docs-security-updates branch October 10, 2026 07:12
dwikiriyadi added a commit to srctool/sinew that referenced this pull request Oct 10, 2026
…tes (#8)

## Description
This is the same change as srctool/camouflage#23. The docs sites lock
the same vulnerable npm packages as Camouflage's, but this repository's
dependency graph is off, so GitHub raises no alerts for them.

- **Docusaurus 3.9.0 → 3.10.2** in both sites, plus `npm audit fix`.
`npm audit` drops from 78 to 48 findings per site.
- **`future.v4` is now an explicit flag object.** 3.10 added two flags
to `v4: true`. `mdx1CompatDisabledByDefault` breaks the generated pages'
`{#id}` headings. `fasterByDefault` needs the extra `@docusaurus/faster`
package. Both are off, so the build behaves as it did on 3.9.
- **`dependabot.yml`**: an npm entry for both sites that groups security
updates into one PR and opens no routine version-update PRs.

The remaining 48 findings are the same six build-time packages as in
Camouflage (tinypool, serialize-javascript, uuid, katex,
postcss-selector-parser, braces). Each needs a major bump their parents
don't accept yet, so they wait for upstream Docusaurus releases.

**After merging:** turn on the dependency graph for this repository.
Dependabot security updates are already on, and with this PR merged they
arrive as one grouped PR instead of one per package.

## Type of change
- [ ] Bug fix
- [ ] New feature
- [ ] Documentation update
- [x] Refactor/Chore
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)

## How Has This Been Tested?
- `npm run build` passes for `docs/internal` and `docs/usage` with no
errors or warnings.
- Custom heading ids are still rendered (14 pages in
`docs/internal/build`, e.g. `id="kotlin-repository-and-modules"`).

## Breaking changes
None.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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.

1 participant