Пишу на TypeScript раздел на сайте, который до сих пор на cp1251, и легаси там столько, что перевести его на UTF-8 пока не вариант.
TypeScript успешно компилируется независимо от того, в какой кодировке его файлы. Но полученный Javascript - строго в UTF-8, и на странице вся его кириллица превращается в кракозябры.
Указывать charset в tsconfig.json бесполезно - как я понимаю, это настройка исходной кодировки, а с ней компилятор и без подсказок разбирается.
Костыли типа ручной перекодировки или выноса текстовых констант в отдельный файл представляю, но и то, и другое неудобно.
Есть ли какие-то настройки, позволяющие перекодировать скомпилированный Javascript в нужную кодировку автоматически?
Александр Шипин, перекодировать каждую строку при работе скрипта - это еще кривее, чем вынести константы в отдельный файл. Не найти этот вариант действительно трудно, но всерьез я его даже не рассматривал.
Adamos, а авторы typescript не видят смысла в добавлении какой-либо кодировки кроме utf8, щито поделать.
У тебя специфический и крайне не поощряемый(и даже исподволь саботируемый в современным javascript) случай, так что решение только костыли руками: добавить в скрипт билда сразу после транспиляции прогон всех файлов через iconv.
Владимир Коротенко, окей, спасибо за направление.
Видимо, придется отказаться от встроенных инструментов PhpStorm и настроить сборку через npm build.
Тем более, что я все равно в перспективе планировал еще обфусцировать результат, так что дополнительная гибкость понадобится.