
Sergey
22.08.2016
13:28:29
Потому как есть еще ресурсы в проекте, которыми нужно управлять.

Artur
22.08.2016
13:29:07
Где же он должен лежать, если очевидно, что это должен быть корень проекта...

Nikita
22.08.2016
13:29:57
я вот ща пару дней пытаюсь начать проект на ТС) и хочу вам сказать это пиздец, какое нетривиальное приключение)

Google

Artur
22.08.2016
13:30:21
За кастомизацию отвечает какой-нибудь параметр конфигурации. Я в WS настраивал кастомные конфиги и разносил разные настройки по папкам (UI/Server). Но это более редкий случай, на мой взгляд.

hlomzik
22.08.2016
13:30:32

Artur
22.08.2016
13:30:44

Nikita
22.08.2016
13:30:46
ща прям желание нахрен его выкинуть)

Artur
22.08.2016
13:30:59

hlomzik
22.08.2016
13:31:07


Nikita
22.08.2016
13:31:19
неа, мне стремно на 2 версию))
src/redux/configureStore.ts(7,19): error TS2307: Cannot find module 'redux-thunk'.
src/redux/configureStore.ts(8,20): error TS2307: Cannot find module 'redux-logger'.
src/redux/configureStore.ts(9,23): error TS2307: Cannot find module '@dlghq/dialog-messenger'.
src/redux/configureStore.ts(22,7): error TS2304: Cannot find name '__DEV__'.
src/redux/configureStore.ts(32,7): error TS2304: Cannot find name '__DEV__'.
src/redux/configureStore.ts(32,25): error TS2339: Property 'devToolsExtension' does not exist on type 'Window'.
src/redux/configureStore.ts(33,45): error TS2339: Property 'devToolsExtension' does not exist on type 'Window'.
src/typings/globals.d.ts(11,9): error TS2669: Augmentations for the global scope can only be directly nested in external modules or ambient module declarations.
src/typings/redux-logger.d.ts(3,16): error TS2664: Invalid module name in augmentation, module 'redux-logger' cannot be found.
src/typings/redux-thunk.d.ts(3,16): error TS2664: Invalid module name in augmentation, module 'redux-thunk' cannot be found.
вот так вот весело)


Sergey
22.08.2016
13:31:44

hlomzik
22.08.2016
13:32:06
неа, мне стремно на 2 версию))
у меня было много мелких проблем, которые пришлось обходить костылями. в итоге на какой-то очередной плюнул и обновился до next, пропала эта и предыдущие проблемы %)

Artur
22.08.2016
13:32:13

Nikita
22.08.2016
13:32:51
мне на бете реакта/редакса/любой либы, которой пользуюсь больше месяца тоже норм) А пока только пытаюсь понять - не весело это, на бете пытаться)

Google

Artur
22.08.2016
13:33:07
И вообще, если начинать, лучше typings сразу выкинуть.

Nikita
22.08.2016
13:33:57
а я и выкинул))
ну то есть поставил что надо и переписал частично под себя

Artur
22.08.2016
13:34:26
И если возникают проблемы с модулями (отсутствуют в @typings), то просто добавляете свои декларации с declare module 'fucking-module';

Nikita
22.08.2016
13:34:29
только это вообще ни разу не юзерфрендли

Sergey
22.08.2016
13:34:30

Artur
22.08.2016
13:34:40

Nikita
22.08.2016
13:35:06
подскажи, что вот это значит src/typings/redux-logger.d.ts(3,16): error TS2664: Invalid module name in augmentation, module 'redux-logger' cannot be found.

Sergey
22.08.2016
13:35:31

Nikita
22.08.2016
13:35:44
https://gist.github.com/nkt/52403f3321401d1085b7799f8f5e2b50

Artur
22.08.2016
13:35:55
Без понятия что там ангуляр напридумывал. Я руководствуюсь документацией по TS.

Nikita
22.08.2016
13:36:12
вот так тайпинг выглядит, подключен через srd/index.d.ts, который указан в typings.json#files

Sergey
22.08.2016
13:36:40
Сложно этим мудням было добавить настройку в vscode

Alex
22.08.2016
13:39:37

Artur
22.08.2016
13:39:55

Google

Artur
22.08.2016
13:40:10
Наверняка можно указать tsc -p /path/to/tsconfig.json

Sergey
22.08.2016
13:40:27

Artur
22.08.2016
13:40:31
Ну т.е. путь к tsconfig.json

Sergey
22.08.2016
13:40:45
Интересно как она называется?

Artur
22.08.2016
13:40:46
Попробуй 2

Nikita
22.08.2016
13:41:29
1.8ю10
ооок, но стремно. Но ок)
typescript ^1.8.10 → ^2.1.0-dev.20160822
круто)

Sergey
22.08.2016
13:42:37

Artur
22.08.2016
13:42:54

Sergey
22.08.2016
13:43:27

Alex
22.08.2016
13:44:13

Artur
22.08.2016
13:47:39

Aleh
22.08.2016
13:48:02
2 это beta, а next уже как написали 2.1
кстати, как там с npm? Нормальные там уже тайпинги?

Sergey
22.08.2016
13:49:15

Google

Sergey
22.08.2016
13:49:24
Все зависит от зависимостей

Aleh
22.08.2016
13:49:30
логично)

Sergey
22.08.2016
13:49:40
Ну да, не все )

Aleh
22.08.2016
13:49:44
но там были какие-то траблы с паблишем в npm
типа оно из typestrong не тянуло папки или еще что
в итоге там совсем битые пакеты были
я больше потом не тестил

Sergey
22.08.2016
13:50:39
У меня мало зависимостей. Вот только lodash

Aleh
22.08.2016
13:52:44
вот в redux клево, там есть index.d.ts

Nikita
22.08.2016
13:54:39
в redux да. но написать middleware с тайпингами - это прям так себе удовольствие
Augmentations for the global scope can only be directly nested in external modules or ambient module declarations.
вот это сохранилось, что это вообще значит?

Aleh
22.08.2016
13:58:58

Nikita
22.08.2016
14:02:28
покажешь пример кода?
еще вопрос. Вот у меня есть библиотека на ts написанная. Мне ее обязательно компилить в js, если ее использование предполагается только из TS?

Andrey
22.08.2016
14:09:45
если для публикации, то лучше скомпилировать

Nikita
22.08.2016
14:10:25
лучше, или обязательно?
я ей пользуюсь внутри компании и на ts. То есть babel я не компилю, например. Прописываю его в исключения для webpack

Дмитрий
22.08.2016
14:13:38
лучше, или обязательно?
Я делаю в package.json скрипт postinstall, который при установке собирает ts версию, es6 и es5. И пользователь всегда имеет возможность выбора

Nikita
22.08.2016
14:14:11
а что значит собирает ts версию?

Google

Дмитрий
22.08.2016
14:14:49
Ну типа бандлит в один файл для удобства использования. Это уже точно не обязательно)

Artur
22.08.2016
14:15:49
Даже в случае внутреннего использования, лучше компилировать и собирать пакет с декларациями.

Nikita
22.08.2016
14:17:03
я помню твой доклад, и смотрел репо. Но не понимаю, почему так сделано

Artur
22.08.2016
14:17:46
Почему TS исключается из репы?

Nikita
22.08.2016
14:18:10
зачем мне компилить ts, если я просто могу прописать ts-loader?

Artur
22.08.2016
14:18:22

Nikita
22.08.2016
14:19:00
это большой вопрос, что увиличит время сборки. мэпинг сорсмэпов, или трансляция ts в es6

Artur
22.08.2016
14:19:07
Ну и потом, представь, что ты обновляешь TS в аппке. А у тебя модуль несовместим с новой версией.

Nikita
22.08.2016
14:19:34
а плевать. Если несовместим код, скорее всего не совместимы тайпинги

Artur
22.08.2016
14:19:36

Nikita
22.08.2016
14:19:53
подхватывает. Но через жопу. Или это надо тоже пару дней настраивать)

Artur
22.08.2016
14:20:03
Впрочем, чисто для внутренних нужд можно и так.
У меня все же основная тема была как правильно для тех и других.
Поэтому, если тебе кажется, что от этого нет выигрыша, наверное можно на чистом TS пакеты публиковать.

Nikita
22.08.2016
14:21:33
просто я объясню свой кейс. Есть отдельно либка, которая работает с сервером. Представляет всякое разное api с интерфейсами. Его разработку хочется вести отдельно. Так вот оно экспортирует 1 класс наружу. Что указывать в typings - не понятно
а вот нельзя. У меня ts орет, что Module build failed: Error: Typescript emitted no output for <module-entry-point>

Artur
22.08.2016
14:22:53