Skip to content

chore(bundle-size): measure JavaScript and React bundle sizes with and without Chat - #7146

Draft
anjola-adeuyi wants to merge 11 commits into
masterfrom
feat/fx-3801-bundle-baseline
Draft

chore(bundle-size): measure JavaScript and React bundle sizes with and without Chat#7146
anjola-adeuyi wants to merge 11 commits into
masterfrom
feat/fx-3801-bundle-baseline

Conversation

@anjola-adeuyi

@anjola-adeuyi anjola-adeuyi commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Summary

This adds a reproducible way to compare four consumer bundle cases:

  • InstantSearch.js without Chat
  • InstantSearch.js with Chat
  • React InstantSearch without Chat
  • React InstantSearch with Chat

Each measurement records minified and gzip sizes, output hashes, resolved input graphs and retained module attribution.

Result

Three clean runs produced identical measurements and hashes across all four consumers.

Consumer Baseline gzip Candidate gzip Change
InstantSearch.js without Chat 46,530 B 46,530 B 0 B
InstantSearch.js with Chat 83,576 B 83,550 B −26 B
React InstantSearch without Chat 94,642 B 94,642 B 0 B
React InstantSearch with Chat 125,962 B 125,857 B −105 B

The experiment successfully removed the intended generic scrolling modules from both Chat bundles. However, the gzip savings were far below the required 1,000 bytes per Chat consumer, so the candidate was rejected.

Compatibility checks were not run because the size gate failed. The candidate implementation was removed afterward, so no production-source change remains in this PR.

Markdown feasibility

A separate local dependency spike confirmed that JavaScript Chat retains React through the default markdown-to-jsx entry, even though InstantSearch uses Preact.

A renderer-neutral Markdown entry removed React from the JavaScript Chat graph and produced these provisional results:

Consumer Gzip change
InstantSearch.js without Chat 0 B
InstantSearch.js with Chat −2,459 B
React InstantSearch without Chat 0 B
React InstantSearch with Chat +51 B

The build, relevant tests and Chromium, Firefox and WebKit checks passed.

This is a one-run local feasibility result, not a production change or verified three-run measurement. InstantSearch uses markdown-to-jsx 7.7.15, while upstream is now on 9.10.1, so the local dependency change cannot be shipped or contributed unchanged.

View the complete feasibility report.

What this PR keeps

  • The four consumer fixtures and measurement script
  • The verified baseline and retained-module attribution
  • The renderer-neutral Markdown feasibility report
  • The rejected scrolling experiment evidence
  • The ranked improvement candidates

View the complete verified report.

FX-3801

@codacy-production

codacy-production Bot commented Jul 30, 2026

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 402 complexity

Metric Results
Complexity 402

View in Codacy

TIP This summary will be updated as you push new changes.

@pkg-pr-new

pkg-pr-new Bot commented Jul 30, 2026

Copy link
Copy Markdown
More templates

algoliasearch-helper

npm i https://pkg.pr.new/algolia/instantsearch/algoliasearch-helper@7146

instantsearch-ui-components

npm i https://pkg.pr.new/algolia/instantsearch/instantsearch-ui-components@7146

instantsearch.css

npm i https://pkg.pr.new/algolia/instantsearch/instantsearch.css@7146

instantsearch.js

npm i https://pkg.pr.new/algolia/instantsearch/instantsearch.js@7146

react-instantsearch

npm i https://pkg.pr.new/algolia/instantsearch/react-instantsearch@7146

react-instantsearch-core

npm i https://pkg.pr.new/algolia/instantsearch/react-instantsearch-core@7146

react-instantsearch-nextjs

npm i https://pkg.pr.new/algolia/instantsearch/react-instantsearch-nextjs@7146

react-instantsearch-router-nextjs

npm i https://pkg.pr.new/algolia/instantsearch/react-instantsearch-router-nextjs@7146

vue-instantsearch

npm i https://pkg.pr.new/algolia/instantsearch/vue-instantsearch@7146

commit: dda985f

@github-actions

github-actions Bot commented Jul 30, 2026

Copy link
Copy Markdown

Size Change: 0 B

Total Size: 1.22 MB

ℹ️ View Unchanged
Filename Size Change
packages/algolia-experiences/dist/algolia-experiences.development.js 179 kB -1 B (0%)
packages/algolia-experiences/dist/algolia-experiences.production.min.js 81.3 kB +1 B (0%)
packages/algoliasearch-helper/dist/algoliasearch.helper.js 44.3 kB -1 B (0%)
packages/algoliasearch-helper/dist/algoliasearch.helper.min.js 13.9 kB 0 B
packages/instantsearch.css/components/ai-mode-button.css 1.75 kB 0 B
packages/instantsearch.css/components/autocomplete-min.css 4.31 kB 0 B
packages/instantsearch.css/components/autocomplete.css 4.66 kB 0 B
packages/instantsearch.css/components/button.css 1.96 kB 0 B
packages/instantsearch.css/components/chat-min.css 6.33 kB 0 B
packages/instantsearch.css/components/chat.css 6.77 kB 0 B
packages/instantsearch.css/components/filter-suggestions.css 1.88 kB 0 B
packages/instantsearch.css/themes/algolia-min.css 10.8 kB 0 B
packages/instantsearch.css/themes/algolia.css 11.4 kB 0 B
packages/instantsearch.css/themes/nova-min.css 10.9 kB 0 B
packages/instantsearch.css/themes/nova.css 11.6 kB 0 B
packages/instantsearch.css/themes/reset-min.css 1.3 kB 0 B
packages/instantsearch.css/themes/reset.css 1.38 kB 0 B
packages/instantsearch.css/themes/satellite-min.css 11.6 kB 0 B
packages/instantsearch.css/themes/satellite.css 12.5 kB 0 B
packages/instantsearch.js/dist/instantsearch.development.js 295 kB 0 B
packages/instantsearch.js/dist/instantsearch.production.min.js 140 kB 0 B
packages/react-instantsearch-core/dist/umd/ReactInstantSearchCore.min.js 67 kB 0 B
packages/react-instantsearch/dist/umd/ReactInstantSearch.min.js 112 kB +1 B (0%)
packages/vue-instantsearch/vue2/cjs/index.js 19.9 kB 0 B
packages/vue-instantsearch/vue2/umd/index.js 73.1 kB -5 B (-0.01%)
packages/vue-instantsearch/vue3/cjs/index.js 20.6 kB 0 B
packages/vue-instantsearch/vue3/umd/index.js 73.4 kB -5 B (-0.01%)

compressed-size-action

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