Так пишите на здоровье. Типы, дженерики и прочие юнионы всё равно отсутствуют в рантайме, они статически проверяются. Если вам всё ещё нужно их проверять — tsc умеет их проверять без эмита файлов. А классы остаются классами что в ts, что в js.
Если раньше для проверки типов вы физически транспилировали файлы ts->js, то теперь можно делать это ещё быстрее, без эмита файлов, с флагом --noEmit. Вин.
Если раньше для запуска вам нужен был этап транспиляции, то теперь он вам будет не нужен, приложение можно запускать быстрее и без лишней папки. Вин.
Если раньше для запуска ts-кода вы использовали сторонние пакеты tsx или ts-node, то теперь можно делать это из коробки, без лишних инструментов, и быстрее. Вин.
t(page.hello) довольно легко можно накостылить, сгенерировав структуру с соответствующими значениями по каждому ключу. Плюсом я для себя подшаманил вывод типов, чтобы по hover-у вместо бесполезного string (который по факту находится по каждому ключу) писало текст перевода, правда, это возможно только если переводы лежат не в json-е, из него пока ts не может вывести строгий тип. У нас по историческим причинам оригиналы текстов лежат в ts-файле.
Напомнило как я в своё время "изобрёл" "манипулятор типа карандаш", нарисовав мышь в формате толстого маркера. О лазерных мышах я тогда ещё, увы, не знал, поэтому принцип работы был такой же, как у ручки, с шариком.
Да, стало немного понятнее... Осталось понять как это всё тестировать и дебажить. Подумаю нам тем чтобы попробовать что-то переложить на edge. Спасибо за статью!
Как же сложно... Так и не понял, в каком случае вот прям нужно перекладывать работу на Edge, и как именно оно будет работать. Если npm start запускает именно сервер, что (и как) запускает edge рантаймы? Как они взаимодействуют с основным сервером? Версель как-то детектит, что в проекте есть использование edge рантаймов и начинает перенаправлять запросы туда вместо прямых запросов на сервер? Все запросы или не все? А сколько под проект выделить точек в своей network (и где) версель сам решает по метрикам проекта? Или я вообще не так понял это всё?
А вот с типами вообще не соглашусь. Это js-ная либа без типов, типы - сторонние, и у меня регулярно при обновлении зависимостей что-то отваливалось.
Ещё один минус того что либа js-ная - она обмазана проверками типов. Каждая функция будет проверять, что в неё передаётся, валидировать, приводить типы и стараться покрыть все их комбинации. Это ж сколько лишнего кода!
В итоге плюнул и пересел на remeda. Стало гораздо лучше. Тришейкается вообще без лишних движений, компактная, изначально ts. Советую посмотреть.
У рамды кривые типы. Если уж и тащить, то remeda, которая изначально на тс-е
А чем они ещё знамениты?
Так пишите на здоровье. Типы, дженерики и прочие юнионы всё равно отсутствуют в рантайме, они статически проверяются. Если вам всё ещё нужно их проверять — tsc умеет их проверять без эмита файлов. А классы остаются классами что в ts, что в js.
Если раньше для проверки типов вы физически транспилировали файлы ts->js, то теперь можно делать это ещё быстрее, без эмита файлов, с флагом
--noEmit. Вин.Если раньше для запуска вам нужен был этап транспиляции, то теперь он вам будет не нужен, приложение можно запускать быстрее и без лишней папки. Вин.
Если раньше для запуска ts-кода вы использовали сторонние пакеты
tsxилиts-node, то теперь можно делать это из коробки, без лишних инструментов, и быстрее. Вин.Нет никакого "на выходе", оно буквально запускает ts как js без необходимости транспиляции (что предварительной, что рантайм).
Пожалуйста, обоснуйте свой комментарий и подскажите более ценные, на ваш взгляд, альтернативы
t(page.hello)довольно легко можно накостылить, сгенерировав структуру с соответствующими значениями по каждому ключу. Плюсом я для себя подшаманил вывод типов, чтобы по hover-у вместо бесполезногоstring(который по факту находится по каждому ключу) писало текст перевода, правда, это возможно только если переводы лежат не в json-е, из него пока ts не может вывести строгий тип. У нас по историческим причинам оригиналы текстов лежат в ts-файле.Это шутка
Так я узнал что PS VR можно подключать к PS5
Напомнило как я в своё время "изобрёл" "манипулятор типа карандаш", нарисовав мышь в формате толстого маркера. О лазерных мышах я тогда ещё, увы, не знал, поэтому принцип работы был такой же, как у ручки, с шариком.
То ли ещё будет.
Спасибо за ваши посты.
Чем дальше тем больше думаю что я не успеваю разбираться со всеми нюансами фреймворка. Или что авторы плохо доносят, что и зачем нужно.
Пока что нахожусь на этапе принятия необходимости миграции на апп роутер.
Сейчас ещё появился UBPay, обещают переводы в обе стороны
My bad, извиняюсь, я не выкупил про полностью дистанционный процесс, о таком даже не слышал до этого.
Не мониторю никаких чатов, снялся не в Калининграде, и ещё пара знакомых снялись без проблем.
Камни с травой ОК
Перый раз вижу на хабре красный тред
Актуальная ссылка здесь https://telegra.ph/Zdes-my-vylozhili-T-Lite-modeli-07-20
Да, стало немного понятнее... Осталось понять как это всё тестировать и дебажить. Подумаю нам тем чтобы попробовать что-то переложить на edge. Спасибо за статью!
Как же сложно... Так и не понял, в каком случае вот прям нужно перекладывать работу на Edge, и как именно оно будет работать. Если npm start запускает именно сервер, что (и как) запускает edge рантаймы? Как они взаимодействуют с основным сервером? Версель как-то детектит, что в проекте есть использование edge рантаймов и начинает перенаправлять запросы туда вместо прямых запросов на сервер? Все запросы или не все? А сколько под проект выделить точек в своей network (и где) версель сам решает по метрикам проекта? Или я вообще не так понял это всё?
Помню для тришейкабл нужны были какие-то костыли.
А вот с типами вообще не соглашусь. Это js-ная либа без типов, типы - сторонние, и у меня регулярно при обновлении зависимостей что-то отваливалось.
Ещё один минус того что либа js-ная - она обмазана проверками типов. Каждая функция будет проверять, что в неё передаётся, валидировать, приводить типы и стараться покрыть все их комбинации. Это ж сколько лишнего кода!
В итоге плюнул и пересел на remeda. Стало гораздо лучше. Тришейкается вообще без лишних движений, компактная, изначально ts. Советую посмотреть.