Skip to content

feat(deps): L3-0000 bundled dependabot updates from passing CI runs - #908

Merged
scottdickerson merged 2 commits into
mainfrom
chore/bundled-dependabot-updates
Jul 27, 2026
Merged

scottdickerson merged 2 commits into
mainfrom
chore/bundled-dependabot-updates

Conversation

@scottdickerson

Copy link
Copy Markdown
Contributor

Jira ticket

N/A — dependency housekeeping. Consolidates 24 open Dependabot PRs whose CI was passing.

Screenshots

Before After
N/A — no runtime UI changes. Verify via Chromatic diff on this PR. N/A — verify via Chromatic diff on this PR.

Figma link

N/A — no design changes.

Summary

Consolidates 24 open Dependabot PRs whose CI passed into a single, reviewable diff, reducing the review-and-merge overhead of dealing with each dependency bump individually.

Explicitly excluded (their CI was failing on the dependabot branches themselves):

WHY: A bundled bump is easier to validate downstream in a single Chromatic + phillips-public-remix smoke test than 24 individual merges. Grouping into one PR also collapses one lockfile re-resolution instead of 24 sequential ones.

Change List (describe the changes made to the files)

Direct dependency bumps in package.json:

Transitive lockfile-only bumps (18 PRs) applied via npm update --package-lock-only targeting the specific packages Dependabot proposed:

ws #906, postcss #905, form-data #903, fast-uri #902, immutable #900, svgo #898, linkify-it #897, axios #896, js-yaml #889, undici #887, qs #873, follow-redirects #844, lodash + @microsoft/api-extractor #842, picomatch #840, lodash-es #839, handlebars #837, flatted #832, tar + npm #824.

Prettier 3.8 cosmetic reformats (no behavior change):

  • src/components/Dropdown/Dropdown.tsx — single-line multi-extends interface
  • src/scss/_vars.scss — leading-newline style for the long $text-tokens list
  • .cursor/**/*.md — minor markdown normalization

Acceptance Test (how to verify the PR)

  1. CI on this PR passes (build + lint + unit tests + Chromatic).
  2. Review the Chromatic UI diff — approve baselines only if any visual differences are cosmetic/expected.
  3. Bump @phillips/seldon in phillips-public-remix to a preview version of this branch and smoke-test the following pages/flows:
    • Any page rendering RichText / Portable Text (exercises dompurify 3.2 → 3.4)
    • Toast notifications (exercises uuid v11 → v14 via ToastContextProvider)
    • Any page using react-zoom-pan-pinch (image zoom lots)
  4. If green, merge and close the 24 bundled Dependabot PRs.

Regression Test

  • Run the full unit test suite locally after bumping in the consumer app: npm test.
  • Verify the Filter dropdowns still auto-apply sort (recently landed via PDD-289) — the auto-apply chain doesn't intersect with any of the bumped packages, but worth a smoke test.
  • Verify commit still works via husky since @commitlint/config-conventional went 19 → 20 (this very commit already validates that path).

Evidence of testing

Local verification against main + this branch:

  • npm run build → exit 0 (tsc + vite build)
  • npm run lint → exit 0 (tsc --noEmit, eslint, stylelint, markdownlint)
  • npx vitest run --project=unit1042 / 1042 tests passing
  • Pre-push storybook hook — 238 / 238 storybook tests passing

Notable risk areas to spot-check during review:

  • uuid v11 → v14 (3 major versions). Used in src/components/Toast/ToastContextProvider.tsx via v4 as uuidv4. The v4() API is stable across all uuid majors, but worth verifying the Toast story in Chromatic.
  • @commitlint/config-conventional 19 → 20 — dev-only; affects commit-message linting. Husky commit-msg hook accepted this commit, so v20 rules are compatible with the current commit convention.
  • prettier 3.3 → 3.8 — cosmetic reformats visible in diff; anyone with in-flight PRs should rebase.
  • dompurify 3.2 → 3.4 — check any HTML sanitization surfaces in Chromatic.

Things to look for during review

  • PR title should correctly describe the most significant type of commit. I.e. feat(scope): ... if a minor release should be triggered.
  • All commit messages follow convention and are appropriate for the changes
  • All references to phillips class prefix are using the prefix variable
  • All major areas have a data-testid attribute.
  • Document all props with jsdoc comments
  • All strings should be translatable.
  • Unit tests should be written and should have a coverage of 90% or higher in all areas.

🤖 Generated with Claude Code

Consolidates 24 open dependabot PRs whose CI passed. Excludes #907
(vite/@vitejs/plugin-react — failed build), #904 (markdown-it — failed
tests), #808 (react-dom majors — failed CI), #807 (@eslint/js majors —
failed CI).

Direct dependency bumps in package.json:
- dompurify: ^3.2.4 → ^3.4.12 (#899, supersedes #819)
- @types/dompurify: ^3.0.5 → ^3.2.0 (#819)
- uuid: ^11.1.0 → ^14.0.0 (#855)
- react-zoom-pan-pinch: ^3.6.1 → ^3.7.0 (#811)
- @commitlint/config-conventional: ^19.2.2 → ^20.4.1 (#810)
- prettier: 3.3.3 → 3.8.1 (#809)

Transitive lockfile bumps (via npm update --package-lock-only):
- ws 8.20.0→8.21.1 (#906), postcss 8.5.6→8.5.23 (#905),
  form-data 4.0.4→4.0.6 (#903), fast-uri 3.1.2→3.1.4 (#902),
  immutable 5.0.3→5.1.9 (#900), svgo 3.3.2→3.3.4 (#898),
  linkify-it 5.0.0→5.0.2 (#897), axios 1.8.2→1.18.1 (#896),
  js-yaml 4.1.1→4.3.0 (#889), undici (#887), qs 6.14.1→6.15.2 (#873),
  follow-redirects 1.15.6→1.16.0 (#844),
  lodash & @microsoft/api-extractor (#842),
  picomatch (#840), lodash-es 4.17.21→4.18.1 (#839),
  handlebars 4.7.8→4.7.9 (#837), flatted 3.3.1→3.4.2 (#832),
  tar & npm (#824)

Also includes cosmetic reformats from prettier 3.8:
- Dropdown.tsx: single-line multi-extends
- _vars.scss: multi-line $text-tokens uses leading-newline style
- .cursor/**/*.md: markdown formatting normalization

Verified: build passes (tsc + vite build), lint passes,
1042/1042 unit tests pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 27, 2026 17:22
@netlify

netlify Bot commented Jul 27, 2026

Copy link
Copy Markdown

Deploy Preview for phillips-seldon ready!

Name Link
🔨 Latest commit 241d8fb
🔍 Latest deploy log https://app.netlify.com/projects/phillips-seldon/deploys/6a6797f8778d510008e5a5da
😎 Deploy Preview https://deploy-preview-908--phillips-seldon.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@scottdickerson scottdickerson changed the title build(deps): bundled dependabot updates from passing CI runs feat(deps): bundled dependabot updates from passing CI runs Jul 27, 2026
@chromatic-com

chromatic-com Bot commented Jul 27, 2026

Copy link
Copy Markdown

Tip

All tests passed and all changes approved!

🟢 UI Tests: 4 visual and accessibility changes accepted as baselines
🟢 UI Review: Approved by Scott Dickerson
Storybook icon Storybook Publish: 238 stories published

@github-actions

github-actions Bot commented Jul 27, 2026

Copy link
Copy Markdown

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR consolidates multiple Dependabot updates into a single dependency-housekeeping change for the Seldon React + TypeScript component library, with a small amount of Prettier-driven formatting churn.

Changes:

  • Bumped several direct dependencies/devDependencies (notably dompurify, uuid, react-zoom-pan-pinch, @commitlint/config-conventional, prettier) and re-resolved the lockfile for a batch of transitive updates.
  • Applied Prettier formatting-only updates to a small set of TS/SCSS files.
  • Normalized minor markdown formatting in .cursor/ command/agent docs.

Reviewed changes

Copilot reviewed 10 out of 11 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
package.json Direct dependency/devDependency version bumps.
package-lock.json Lockfile re-resolution reflecting bundled Dependabot updates (direct + transitive).
src/components/Dropdown/Dropdown.tsx Prettier-only formatting of the DropdownProps interface extends clause.
src/scss/_vars.scss Prettier-only reformat of the long $text-tokens list for readability.
.cursor/commands/run-tests-and-fix-failure.md Markdown normalization (removed empty list spacing lines).
.cursor/commands/new-feature.md Markdown normalization (removed empty list spacing lines).
.cursor/commands/lint-and-format.md Markdown normalization (removed empty list spacing lines).
.cursor/agents/test-coverage-checker.md Markdown normalization (removed empty list spacing lines).
.cursor/agents/playwright-route-checker.md Markdown normalization (removed empty list spacing lines).
.cursor/agents/component-unit-test-checker.md Markdown normalization (removed empty list spacing lines).
.cursor/agents/component-storybook-checker.md Markdown normalization (removed empty list spacing lines).

Comment thread package.json Outdated
"@radix-ui/react-tabs": "^1.1.1",
"@radix-ui/react-toast": "^1.2.11",
"@types/dompurify": "^3.0.5",
"@types/dompurify": "^3.2.0",

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch — done in 241d8fb. Removed @types/dompurify entirely (dompurify 3.x provides its own types, and nothing in src/ imports it directly either).

@scottdickerson scottdickerson changed the title feat(deps): bundled dependabot updates from passing CI runs chore(deps): L3-0000 bundled dependabot updates from passing CI runs Jul 27, 2026
dompurify 3.x ships its own type definitions, and @types/dompurify is
now published as a deprecated stub whose only content is a
"dompurify": "*" dependency (which can pull in duplicate dompurify
resolutions). Nothing in src/ imports dompurify or DOMPurify, so
removing the stub is a safe cleanup.

Verified: build passes, lint passes, 1042/1042 unit tests pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@scottdickerson
scottdickerson enabled auto-merge (squash) July 27, 2026 17:57
@scottdickerson
scottdickerson disabled auto-merge July 27, 2026 18:18
@scottdickerson
scottdickerson enabled auto-merge (squash) July 27, 2026 18:18
@scottdickerson scottdickerson changed the title chore(deps): L3-0000 bundled dependabot updates from passing CI runs feat(deps): L3-0000 bundled dependabot updates from passing CI runs Jul 27, 2026

@adietrich3074 adietrich3074 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@davidicus

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 1.277.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants