algolia / instantsearch

⚡️ Libraries for building performant and instant search and recommend experiences with Algolia. Compatible with JavaScript, TypeScript, React and Vue.
https://www.algolia.com/doc/guides/building-search-ui/what-is-instantsearch/js/
MIT License
3.73k stars 526 forks source link

poc: custom bundler #6263

Open aymeric-giraudet opened 4 months ago

aymeric-giraudet commented 4 months ago

This could generate custom app bundles with appId, apiKey and provide blocks with bare-minimum requirements.

In this example we would assume there is no block widget but each block will be generated directly to JS code by importing the corresponding ES widgets.

Even if it does only pick hits, too many unnecessary things are pulled (the search helper is not tree-shakeable, and we missed some things that could be optimized in IS.js but we could probably use the InstantSearch constructor only)

This bundle is ~56kb gzipped vs ~100kb for InstantSearch.js + algoliasearch/lite UMD bundles (gzipped as well)

I included the generated bundle, here is a graph of dependencies : image

(static UI could just be inlined HTML generated from InstantSearch too)