Решил перевести код на модуля. Проблема в том что с главного модуля очень хотелось бы пробросить глобальные переменные, функции которые используются везде (например isFunction()) во все импортируемые им модуля. Хотя это не хорошо, но так очень хорошо ужимается код, так как локальные переменные заменяются на короткие, что для библиотеки весьма критично. Т.е utils.isFunction() гораздо длиннее, чем локальная переменная isFunction которую минификатор заменит на короткую x при сборке.
При попытке в импортируемом модуле использовать не объявленную переменную все ок- она не преобразовывается, но вот в главном файле где ее объявляю- сборщик устраняет конфликт, по его мнению- переименовывает переменную.
import utils from "./lib/core-utils.js";
import another from "./lib/other_modules.js";
// short local declarations
let {
isFunction: isFunction$1, isNumber: isNumber$1, //Renamed variables by bundler
isString, isBoolean, //Unused variables
}= utils;
Можно как то это побороть?