Skip to content

Upgrade jsdom to v28 and fix CSS selector scoping for spec compliance#198

Merged
rweyrauch merged 3 commits intomasterfrom
update-jsdom
Mar 5, 2026
Merged

Upgrade jsdom to v28 and fix CSS selector scoping for spec compliance#198
rweyrauch merged 3 commits intomasterfrom
update-jsdom

Conversation

@rweyrauch
Copy link
Copy Markdown
Owner

  • Update jsdom ^19.0.0 → ^28.1.0 and @types/jsdom ^16.2.14 → ^21.1.7 to resolve GHSA-vpq2-c234-7xj6 (via http-proxy-agent/@tootallnate/once)

  • Fix roster parsers that relied on jsdom 19's non-spec-compliant behavior where element.querySelectorAll("tagname>child") incorrectly matched the context element itself against the leading tagname. jsdom 28 is now spec-compliant and only searches descendants.

    Changed all ParseSelections/ParseUnits calls from: root.querySelectorAll("force>selections>selection") to the spec-compliant equivalent using :scope or nested-force selectors.

    roster40k.ts uses a combined selector to also capture nested detachment forces (multi-detachment rosters embed a second force inside the first).

- Update jsdom ^19.0.0 → ^28.1.0 and @types/jsdom ^16.2.14 → ^21.1.7
  to resolve GHSA-vpq2-c234-7xj6 (via http-proxy-agent/@tootallnate/once)

- Fix roster parsers that relied on jsdom 19's non-spec-compliant behavior
  where element.querySelectorAll("tagname>child") incorrectly matched the
  context element itself against the leading tagname. jsdom 28 is now
  spec-compliant and only searches descendants.

  Changed all ParseSelections/ParseUnits calls from:
    root.querySelectorAll("force>selections>selection")
  to the spec-compliant equivalent using :scope or nested-force selectors.

  roster40k.ts uses a combined selector to also capture nested detachment
  forces (multi-detachment rosters embed a second force inside the first).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
rweyrauch and others added 2 commits March 5, 2026 07:00
…n permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Project was migrated to Vite. Remove leftover webpack.config.js,
webpack.config.prod.js, .github/workflows/webpack.yml,
dist/prettyscribe.js (committed build artifact), and
src/renderer40k10th.ts (superseded by renderer40k10th.tsx).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@rweyrauch rweyrauch merged commit 45a87eb into master Mar 5, 2026
5 checks passed
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