Skip to content

demo(benchmark-react): remove plain React baseline app#3796

Merged
ntucker merged 2 commits intomasterfrom
demo/remove-benchmark-react-baseline
Mar 20, 2026
Merged

demo(benchmark-react): remove plain React baseline app#3796
ntucker merged 2 commits intomasterfrom
demo/remove-benchmark-react-baseline

Conversation

@ntucker
Copy link
Copy Markdown
Collaborator

@ntucker ntucker commented Mar 20, 2026

Motivation

The React benchmark suite compared @data-client/react to TanStack Query, SWR, and a separate plain React “baseline” app. That baseline duplicated competitor-style behavior without adding a distinct third data library, so removing it simplifies the harness and docs while keeping the meaningful library comparisons.

Solution

  • Remove src/baseline/index.tsx and the baseline webpack entry.
  • Drop baseline from LIBRARIES in bench/scenarios.ts so the runner no longer schedules those scenarios.
  • Update README.md, bench/validate.ts CLI example, and .cursor/rules/benchmarking.mdc to describe only data-client, TanStack Query, and SWR.

Open questions

N/A

Made with Cursor


Note

Low Risk
Mostly removes a benchmark comparison target and updates docs/config accordingly; the only other changes are TypeScript declaration updates used by the website playground, with no runtime impact.

Overview
Removes the plain React baseline implementation from examples/benchmark-react and stops scheduling/building it by dropping baseline from LIBRARIES and the webpack entries.

Updates benchmark docs and validation CLI examples to reflect that the React harness now compares only data-client, TanStack Query, and SWR.

Updates website playground editor .d.ts files to include the new Collection.moveWith() signature and export unshift, and extends qs parse options typing with strictMerge.

Written by Cursor Bugbot for commit b8f90f0. This will update automatically on new commits. Configure here.

Drop the baseline webpack entry, scenarios, and implementation; keep
comparisons to TanStack Query and SWR only. Update README and
benchmarking cursor rule.

Made-with: Cursor
@vercel
Copy link
Copy Markdown

vercel bot commented Mar 20, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs-site Ready Ready Preview, Comment Mar 20, 2026 2:01am

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Mar 20, 2026

⚠️ No Changeset found

Latest commit: b8f90f0

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Benchmark

Details
Benchmark suite Current: b8f90f0 Previous: 3d7a577 Ratio
data-client: getlist-100 20.9 ms (± 0.11) 22 ms (± 1.44) 0.95
data-client: getlist-500 33.8 ms (± 0) 35.4 ms (± 0.29) 0.95
data-client: update-single-entity 5.3 ms (± 0.6) 5.5 ms (± 0.79) 0.96
data-client: ref-stability-issue-changed 5 count (± 0) 5 count (± 0) 1
data-client: ref-stability-user-changed 5 count (± 0) 5 count (± 0) 1
data-client: update-shared-user-500-mounted 6.3 ms (± 0.49) 6.6 ms (± 0.78) 0.95
data-client: sorted-view-mount-500 26.1 ms (± 2.45) 27 ms (± 0.88) 0.97
data-client: sorted-view-update-entity 5.5 ms (± 0.49) 6 ms (± 0.59) 0.92
data-client: list-detail-switch 88.2 ms (± 3.92) 92.1 ms (± 7.74) 0.96
data-client: update-shared-user-10000-mounted 27.7 ms (± 0.88) 27.3 ms (± 3.14) 1.01
data-client: invalidate-and-resolve 14.6 ms (± 2.08) 12.4 ms (± 0.58) 1.18
data-client: unshift-item 7 ms (± 0.47) 7.2 ms (± 0.2) 0.97
data-client: delete-item 6.9 ms (± 0.43) 7.8 ms (± 0.69) 0.88
data-client: move-item 5.6 ms (± 0.6) 5.8 ms (± 0.87) 0.97

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

*
* @see https://dataclient.io/rest/api/Collection#moveWith
*/
moveWith<P extends any[] = Args>(merge: (existing: any, incoming: any) => any): Collection<S, P>;
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Unrelated type definition changes bundled into benchmark PR

Low Severity

Several generated type definition files (endpoint.d.ts, graphql.d.ts, rest.d.ts, globals.d.ts, qs.d.ts) contain changes that add moveWith, unshift, and strictMerge — none of which are related to the PR's stated goal of removing the baseline benchmark app. These were likely regenerated by running copywebsitetypes.sh which picked up changes from a separate feature already landed in the packages. Mixing unrelated generated-file updates makes this PR harder to review and reason about.

Additional Locations (2)
Fix in Cursor Fix in Web

@ntucker ntucker merged commit 9e9fb70 into master Mar 20, 2026
22 checks passed
@ntucker ntucker deleted the demo/remove-benchmark-react-baseline branch March 20, 2026 02:14
@codecov
Copy link
Copy Markdown

codecov bot commented Mar 20, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.06%. Comparing base (fe8e19f) to head (b8f90f0).
⚠️ Report is 4 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #3796   +/-   ##
=======================================
  Coverage   98.06%   98.06%           
=======================================
  Files         151      151           
  Lines        2843     2843           
  Branches      556      556           
=======================================
  Hits         2788     2788           
  Misses         11       11           
  Partials       44       44           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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