Skip to content

fix(docs): unblock Docusaurus build — remove webpack override + MDX escapes + onBrokenLinks tolerance#15

Merged
rubenvdlinde merged 2 commits into
developmentfrom
fix/docs-deploy-mdx-and-broken-links
May 11, 2026
Merged

fix(docs): unblock Docusaurus build — remove webpack override + MDX escapes + onBrokenLinks tolerance#15
rubenvdlinde merged 2 commits into
developmentfrom
fix/docs-deploy-mdx-and-broken-links

Conversation

@rubenvdlinde
Copy link
Copy Markdown
Contributor

Summary

Closes #13. Three independent fixes to make Deploy Documentation workflow green:

  1. Remove "webpack": "5.99.9" override in docusaurus/package.json — forces an incompatible webpack against Docusaurus 3.7+'s ProgressPlugin schema. openconnector (working reference) has no such override.
  2. Escape MDX-confusing generic-type angle brackets in docs/ARCHITECTURE.mdarray<string> and array<UUID> (8 occurrences) wrapped in backticks so MDX 3 treats them as code spans, not JSX.
  3. Relax onBrokenLinks: 'throw''warn' in docusaurus.config.js (matches openconnector). Two specific concurrentie-analyse/... references in ARCHITECTURE.md + DESIGN-REFERENCES.md were also rewritten to absolute GitHub URLs.
  4. Commit docusaurus/package-lock.json so CI can npm ci --legacy-peer-deps deterministically (matches openconnector).

Local verification

./node_modules/.bin/docusaurus build exits 0; build/ directory contains 404.html, assets/, docs/, img/, CNAME for both en and nl locales. Remaining broken-link mentions are warnings, not errors.

Follow-ups (not in scope)

  • Open issue to clean up the linking to /nl/ warnings (auto-generated cross-locale links).
  • Migrate onBrokenMarkdownLinks to markdown.hooks.onBrokenMarkdownLinks (Docusaurus deprecation warning).

…capes, broken-link tolerance

Three independent fixes to make the Documentation workflow build:

1. **Remove the 'webpack: 5.99.9' override** in docusaurus/package.json.
   The override forced webpack 5.99.9 which doesn't satisfy Docusaurus
   3.7+'s ProgressPlugin schema. Removing it lets Docusaurus pick its
   own webpack and resolves the cryptic 'Progress Plugin has been
   initialized using an options object that does not match the API
   schema' error. Pattern matches openconnector/docusaurus (working
   reference).

2. **Escape generic-type angle brackets in ARCHITECTURE.md** — MDX 3
   (Docusaurus 3.7+) parses 'array<string>' as a JSX tag and fails
   on 'expected closing tag for <string>'. Wrapping the type cells
   in backticks (array<string>) tells MDX to treat them as code spans
   instead of JSX. 8 occurrences fixed (4 array<string>, 4 array<UUID>).

3. **Relax onBrokenLinks from 'throw' to 'warn'** in docusaurus.config.js.
   The docs reference '../../concurrentie-analyse/...' (private intel
   submodule not present in the public docs build) plus auto-detected
   cross-locale links Docusaurus generates for /nl/. Switching to 'warn'
   matches the working openconnector pattern; broken-link warnings
   remain visible in CI logs for follow-up cleanup. The two specific
   concurrentie-analyse references in ARCHITECTURE.md + DESIGN-REFERENCES.md
   were rewritten to absolute GitHub URLs as part of this PR.

Local 'npm run build' verified with both en and nl locales producing
static files in build/. Companion lockfile (docusaurus/package-lock.json)
committed so CI can use 'npm ci' deterministically — matches the
openconnector pattern.

Closes #13 (docs build deferred from quality-fix PR #6).
@github-actions
Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/scholiq @ 4e0e641

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer ✅ 100/100
npm ✅ 215/215
PHPUnit
Newman
Playwright ⏭️

Coverage: 0% (0/3 statements)


Quality workflow — 2026-05-11 11:47 UTC

Download the full PDF report from the workflow artifacts.

Docusaurus 3.10+ requires Node >= 20. Workflow was pinned to Node 18,
producing 'Minimum Node.js version not met' on every PR run.

Changes:
- node-version: '18' -> '20'
- actions/setup-node@v3 -> @v4
- Add npm cache keyed on docusaurus/package-lock.json (only possible
  now that the lockfile is committed per PR #15)
- timeout-minutes: 3 -> 5 (docusaurus 3.10 install + build is heavier)
@github-actions
Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/scholiq @ 8c0bc88

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer ✅ 100/100
npm ✅ 215/215
PHPUnit
Newman
Playwright ⏭️

Coverage: 0% (0/3 statements)


Quality workflow — 2026-05-11 11:51 UTC

Download the full PDF report from the workflow artifacts.

@rubenvdlinde rubenvdlinde merged commit 45e1d0d into development May 11, 2026
26 checks passed
@rubenvdlinde rubenvdlinde deleted the fix/docs-deploy-mdx-and-broken-links branch May 11, 2026 11:52
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