У меня есть один модуль по типу библиотеки, то есть в нём набор функций, объектов и пара констант. Всё, что в нём есть, всё экспортируется. Есть "конечный" файл, в который импортируются только некоторые объекты и функции из первого модуля-"библиотеки".
"Конечный" файл также указан в конфиге вебпака как входная точка. После сборки вебпаком я вижу в бандле не только то, что импортировано, но и всё остальное, что было в модуле-"библиотеке".
Я пробовала указывать в конфиге вебпака -
optimization: {
usedExports: true,
},
затем в package.json -
"sideEffects": false
, и я так понимаю, что оба способа должны решать мою задачу. Но по отдельности они ничего вообще не делают в моём случае. И только если их совместно указать, то вебпак хотя бы обозначил неиспользуемые модули таковыми, но не удалил. И режим продакшна его не смутил.
Удаляет ли неиспользуемые экспорты вебпак 5 версии сам по себе, или для этого нужны дополнительные плагины?
Дополнительная информация:
В конфиге вебпака у меня указан mode: 'production'. Babel не использую, у меня просто ES6 модули.
Сейчас протестировала вариант с usedExports: true в режиме разработки, всё же вебпак указывает unused harmony exports сейчас и при отсутствии строчки sideEffects: false.