@typescript_ru

Страница 360 из 669
Artur
26.09.2017
14:26:45
Кстати в yarn есть эта проблема или нет?

А вообще, вот не к ночи будет помянут, в composer (php) есть composer.lock, и никогда проблем с ним не было.

LiberateAI
26.09.2017
14:45:27
А вообще, вот не к ночи будет помянут, в composer (php) есть composer.lock, и никогда проблем с ним не было.
О да, коллега пхпшник только качает головой, слушая наши проблемы с зависимостями

Google
Artur
26.09.2017
14:45:56
В пхп другое, там нельзя иметь две версии одного пакета например, но как по мне так это даже фича :)

LiberateAI
26.09.2017
14:46:53
Только непонятно как это готовить, у меня были вопросы от него про lodash к примеру, у него был разброс верий от 1(!) до 4й

Дмитрий
26.09.2017
14:47:51
В нпм просто по возможности не будет двух версий

Я как то раз насчитал в проекте 7 различных вариантов лодаша

Aleh
26.09.2017
14:48:42
В нпм просто по возможности не будет двух версий
по факту, если очень хорошо не попросить, то будет более одной

Дмитрий
26.09.2017
14:48:48
И это был фронтенд

LiberateAI
26.09.2017
14:49:39
А еще у ярна остается баг, когда он зависимости зависимостей все равно ставит

Дмитрий
26.09.2017
14:50:05
Я так ярн и не запустил

На lerna bootstrap —hoist уходит в бесконечный луп с выжиранием всего доступного свопа

LiberateAI
26.09.2017
14:52:29
Я так ярн и не запустил
Я за ~год дважды отхватывал от звездочек в package.json у зависимостей и, в первый раз это послужило причиной экстренного переползания на ярн

Google
LiberateAI
26.09.2017
14:57:49
А просто npm shrinkwrap для начала?
Я некорректно написал, это послужило конечным доводом для перехода Мы и shrinkwrap рассматривали и на какие-то баги с резолвом у npm натыкались, сейчас точно не скажу

Ну и в тот момент ярн ощутимо быстрее ставил (по сравнению с npm v3)

Где-то видел ссылку на забавное ишью, что индикатор прогресса в npm тормозил процесс установки на 30% что-ли Извините за оффтоп, это все-таки больше для @nodejs_ru

Max
27.09.2017
06:30:37


Kenya-West
27.09.2017
06:37:26
А-ха-ха-хах!

andretshurotshka?❄️кде
27.09.2017
06:39:17
Уже везде

Max
27.09.2017
06:40:21
на удивление пролетало в макос чате

Дмитрий
27.09.2017
09:20:09
Вполне возможно, уже сто раз обсуждалось, но

че за херня с connect из react-redux



Error:(11, 1) TS1238:Unable to resolve signature of class decorator when called as an expression. Type 'ComponentClass<Pick<Props, any>>' is not assignable to type 'typeof CashOutQrConfirmation'. Type 'Component<Pick<Props, any>, ComponentState>' is not assignable to type 'CashOutQrConfirmation'. Types of property 'render' are incompatible. Type '() => false | Element | null' is not assignable to type '() => Element'. Type 'false | Element | null' is not assignable to type 'Element'. Type 'null' is not assignable to type 'Element'.

Как так-то

В issues пишут что-то типа, что connect сейчас нельзя использовать как декоратор в TS, но как так-то?

Aleh
27.09.2017
09:31:07
используй как функцию

Дмитрий
27.09.2017
09:31:55
Да это понятно

Aleh
27.09.2017
09:32:14
так а в чем вопрос?

Дмитрий
27.09.2017
09:32:30
Как заставить это работать как декоратор)

Aleh
27.09.2017
09:32:49
желательно этого не делать

Дмитрий
27.09.2017
09:32:57
аргументы?

мне не очень понятно

Google
Aleh
27.09.2017
09:33:07
декораторы еще неготовы

Дмитрий
27.09.2017
09:34:57
¯\_(ツ)_/¯

Aleh
27.09.2017
09:35:53
типа того

andretshurotshka?❄️кде
27.09.2017
09:57:31
че сложно обновиться до 16-го реакта?

с типами там все ок?

Artur
27.09.2017
10:58:20
так апи вроде не меняли

Vladimir
27.09.2017
11:47:19
с типами там все ок?
Только на Flow нормально работает

andretshurotshka?❄️кде
27.09.2017
11:47:33
Max
27.09.2017
12:25:34
сука

спустя 2 дня ебли

я победил ярн

и обновил тайпинги реакта с 15.0.20 до 15.0.39

Kos
27.09.2017
12:25:52
а что с ним не так было?

Aleh
27.09.2017
12:25:53
типичные будни фронтендера

Max
27.09.2017
12:26:05
семвер агага

чуваки

а что там с 2.3 сломали

ERROR in [at-loader] ./src/widgets/services.ts:38:49 TS2339: Property 'name' does not exist on type '{} | { [propName: string]: any; }'. Property 'name' does not exist on type '{}'.

обновился до 2.5

Aleh
27.09.2017
12:33:35
ну ошибка выглядит разумно

Google
Max
27.09.2017
12:34:13
а как словарь описывать теперь с любыми пропертями?

Aleh
27.09.2017
12:35:30
убрать {}| из перечисления?

Вертихвост
27.09.2017
12:35:41
типичные будни фронтендера
Раз в неделю просмотреть changelogs, обновить зависимости, и сделать миграцию, если необходимо. Не 2 дня)

Max
27.09.2017
12:36:05
а бля

ебаные спреды

когда они их починят ?

andretshurotshka?❄️кде
27.09.2017
12:36:20
+++

на флоу пора переезжать

Вертихвост
27.09.2017
12:36:34
andretshurotshka?❄️кде
27.09.2017
12:36:35
там и спреды починили и маппед типы

Max
27.09.2017
12:36:41
не, висит же

https://github.com/Microsoft/TypeScript/issues/10727

andretshurotshka?❄️кде
27.09.2017
12:37:06
https://github.com/Microsoft/TypeScript/issues/10727
чет оно долго висит

Artur
27.09.2017
12:37:20
Я не осилил переход на ярн сегодня

Max
27.09.2017
12:37:27
а что с ними?
x = {…someType} было

пришлось явно говорить x = {…someType} as MyType

Алексей
27.09.2017
13:04:45
аргументы?
С точки зрения типов TS декораторы должны возвращать тот же тип, что и принимали. То есть TS запрещает декораторам изменять интерфейс декорируемого класса. А connect возвращает совершенно новый класс с другим интерфейсом.

andretshurotshka?❄️кде
27.09.2017
13:08:31
а что декоратор тогда может поменять?)

Google
SerzN1
27.09.2017
13:09:53
а это не одно и тоже?

Дмитрий
27.09.2017
13:10:21
с точки зрения спеки декоратор должен менять сущность, а не возвращать новую, поэтому TS в этом плане прав

Алексей
27.09.2017
13:10:22
это HoC
HoC или не HoC, если функция возвращает тот же тип, что и у её первого аргумента, то она может быть использована как декоратор. А про HoC TS ничего не знает.

SerzN1
27.09.2017
13:10:22
та же самая обертка

Дмитрий
27.09.2017
13:11:19
HoC или не HoC, если функция возвращает тот же тип, что и у её первого аргумента, то она может быть использована как декоратор. А про HoC TS ничего не знает.
я имею ввиду, что типы у коннекта описаны корректно, соответствующе поведению но это поведение не соответствует спеке декораторов

короче, дело не в типах, а в спеке

ничто не мешает описать им коннект так, чтобы он проходил тайп-чек

кроме принципов)

Алексей
27.09.2017
13:15:25
кроме принципов)
и того, что тип в рантайме будет не свопадать с типом времени компиляции, о котором знает TypeScript

то есть компонент-результат connect (то есть HoC) может требовать другие свойства, чем исходный компонент

и TS может об этом не знать

если поменять тип connect для использования в качестве декоратора

и тогда TS будет требовать пропсы, которые не нужны

Страница 360 из 669