As per this Twitter thread, I've updated all bundled examples to use Vite as new build tool for the foreseeable future. Even though Snowpack was a major improvement over the previous trialled bundlers (Parcel, WebPack) and served us well for 1.5 years, there have been some issues reported by some users, esp. in recent months, since switching all umbrella packages to ESM. Snowpack also had no real support for web workers, bundling was still done via webpack and there were a few other configuration quirks I wished I wouldn't have to deal with... Furthermore, Snowpack itself seems to be pretty unmaintained and already has been (quietly) superseded by the Astro toolchain, but that one feels too much of a departure for the needs of the examples in this repo...
Here're some outstanding tasks related to this switch:
[x] update example build instructions on main readme
[x] research code splitting issue w/ shader-ast-workers example
currently the worker is still built separately, but should work just as in mandelbrot demo
Hello Vite...
So far Vite has provided a much better, faster, lighter out-of-the-box handling and losing Snowpack, Snowpack plugins and Webpack also means no more hundreds of Babel packages. The node_modules folder is now 80MB(!) lighter (still 220MB, though), but the drastically lower number of cruft in node_modules hopefully also means less Dependabot alerts for to take care of in the future (also considering Lerna is gone since landing #326)...
adopting the new build tool has another (IMHO) amazing outcome: All final example sizes are *drastically reduced (even further compared to recent savings due to using deep imports, see #315). The table below gives an overview of the size differences. The "ratio 1" column is the ratio of vite-produced pkg sizes compared to snowpack (both uncompressed). The "ratio 2" column expresses the filesize ratio of gzip'd vite outputs... The numbers speak for themselves!
As per this Twitter thread, I've updated all bundled examples to use Vite as new build tool for the foreseeable future. Even though Snowpack was a major improvement over the previous trialled bundlers (Parcel, WebPack) and served us well for 1.5 years, there have been some issues reported by some users, esp. in recent months, since switching all umbrella packages to ESM. Snowpack also had no real support for web workers, bundling was still done via webpack and there were a few other configuration quirks I wished I wouldn't have to deal with... Furthermore, Snowpack itself seems to be pretty unmaintained and already has been (quietly) superseded by the Astro toolchain, but that one feels too much of a departure for the needs of the examples in this repo...
Here're some outstanding tasks related to this switch:
Hello Vite...
So far Vite has provided a much better, faster, lighter out-of-the-box handling and losing Snowpack, Snowpack plugins and Webpack also means no more hundreds of Babel packages. The node_modules folder is now 80MB(!) lighter (still 220MB, though), but the drastically lower number of cruft in node_modules hopefully also means less Dependabot alerts for to take care of in the future (also considering Lerna is gone since landing #326)...
adopting the new build tool has another (IMHO) amazing outcome: All final example sizes are *drastically reduced (even further compared to recent savings due to using deep imports, see #315). The table below gives an overview of the size differences. The "ratio 1" column is the ratio of vite-produced pkg sizes compared to snowpack (both uncompressed). The "ratio 2" column expresses the filesize ratio of gzip'd vite outputs... The numbers speak for themselves!