VKUI
VKUI copied to clipboard
feat: use rspack
Требования
builtin:swc-loader
компилируется со своей версией swc_core
, поэтому для поддержки плагинов необходимо чтобы версия rust библиотеки swc_core
совпадала в npm пакетах @swc/core
, @rspack/core
и swc-plugin-*
Что по перфу
git checkout SevereCloud/feat/use-rspack
yarn
cd package/vkui
hyperfine \
--prepare 'git checkout master && rm -rf node_modules' \
'yarn postcss:bundle # webpack' \
--prepare 'git checkout SevereCloud/feat/use-rspack && rm -rf node_modules' \
'yarn postcss:bundle # rspack'
Benchmark 1: yarn postcss:bundle # webpack
Time (mean ± σ): 8.634 s ± 0.739 s [User: 15.548 s, System: 2.244 s]
Range (min … max): 7.989 s … 10.543 s 10 runs
Benchmark 2: yarn postcss:bundle # rspack
Time (mean ± σ): 5.554 s ± 0.415 s [User: 9.432 s, System: 1.520 s]
Range (min … max): 5.144 s … 6.560 s 10 runs
Summary
yarn postcss:bundle # rspack ran
1.55 ± 0.18 times faster than yarn postcss:bundle # webpack
Что по css
Для минификации используется lightningcss
clean-webpack-plugin
Добавил clean-webpack-plugin для удаления .js.tmp. Размер npm пакета уменьшится на 4~ мегабайта
- -rw-r--r-- 1 d.suvorov staff 2.0M Oct 15 12:29 components.js.tmp
- -rw-r--r-- 1 d.suvorov staff 2.0M Oct 15 12:29 vkui.js.tmp
Release notes
Улучшения
- css бандл теперь собирается с помощью rspack