То-есть я дам пользователю возможность задать сплайн из двух кривых безье и дам возможность ввести текст.
После этого текст нужно отобразить с вышеизложенным эффектом, учитывая заданный сплайн
Про обфускаторы я понял, да.
Но крупные компании, которые делают карты, редакторы и т.д. используют ts + gcc и не используют обфускаторы.
Хочется понять как они это делают.
Я не пробовал source map с обфускаторами, но в целом в каком- то виде должно помочь, да.
Но я до сих пор брезговал обфускаторами, так как не хочется превращать код в избыточный и неэффективный без гарантии, что его нельзя преобразовать назад и с сохранением названий функций и переменных.
Я как-то смотрел продакшн код больших фронтовых проектов и там везде код выглядел как после GCC. То-есть переименованы все функции и переменные и нету обфускации.
При этом там явно используется Typescript, значит точно есть нормальный способ использовать typescript + gcc.
Может есть смысл посмотреть на другие сборщики?
У обфускаторов помимо размера и скорости выполнения кода есть еще один важный недостаток - если там где-то будет undefined или ошибка, то даже человек, который наизусть знает исходники, не сможет понять где именно проблема.
Когда я использовал js + gcc и ловил в проде undefined или какую-то другую проблему, то у меня была возможность понять что это за место в коде, так как я знал исходники. Я просто искал рядом какие-нибудь строки и таким образом ориентировался. У меня даже была возможность дебажить.
После обфускатора же будет просто черный ящик.
Поэтому идеальный для меня вариант - переименовать все функции и переменные.
После GCC нельзя осознать код, так как он убирает оттуда все слова, а вся семантика заключается в них.
Может есть state of the art подход для продакшн кода? Как делают крупные международные проекты, у которых frontend это важная часть IP (Intellectual property), например Miro?
p.s. это может казаться overhead, но мне важно аргументировано выбрать правильный способ, чтобы исключить вероятность reverse engineering и защитить IP
Моя основная мотивация - сделать невозможным анализ и переиспользование моего кода взятого в проде. (Размер бандла меня не интересует)
Следовательно, моя текущая позиция - что нужно, чтобы были переименованы все методы и переменные.
Я уже использовал GCC на большом проекте с webpack + javascript. Там была пара особенностей, но все работало, а здесь я столкнулся с проблемой, которую создает процесс сборки.