@typescript_ru

Страница 163 из 669
Aleh
27.01.2017
09:50:04
зачем

ну зачем вы хотите так делать :(

es modules же есть(

Stepan
27.01.2017
09:50:35
по примеру с типами для angular

Google
Stepan
27.01.2017
09:50:59
когда namespace angular определен глобально

Aleh
27.01.2017
09:51:08
import { MyInterface1, MyInterface2 } from "my/types/for/angular";

Stepan
27.01.2017
09:51:11
и он содержит все типы для angular

соотвественно мне не нужно подключасть все типы к каждому файлу

Aleh
27.01.2017
09:51:46
а вы используете все типы в каждом файле?

явное > неявное

Stepan
27.01.2017
09:52:13
ну в каждом файле будет типов по 10-20

Aleh
27.01.2017
09:52:19
следующий шагом будет сделать какой-нибудь глобальный модуль

и там глобальный стейт

доступный неявно ото всюду :|

Stepan
27.01.2017
09:53:31
чем плохо иметь глобальные типы?

мы же не подключаем в каждом файле String или Number ?

Aleh
27.01.2017
09:54:06
глобальностью

Google
Stepan
27.01.2017
09:54:25
это такие же типы системы, которые будут определены на глобальном уровне и ограничены неймспейсом

Дмитрий
27.01.2017
09:54:41
Благими намерениями вымощена дорога в ад

Сейчас вы строите магистраль

Stepan
27.01.2017
09:55:44
ок, есть аргументы против глобальных типов проекта?

Aleh
27.01.2017
09:56:42
страдает структура, для разбиения проекта надо будет выносить все типы с собой, потому что легко понять какие юзаются не выйдет

типы отделены от мест основной работы с ними

честно говоря вообще слабо понимаю, почему у вас типы пролетают с верхних уровней до нижних как есть без преобразований

а если есть преобразования, то вы же их вероятно подключаете?

в мире ecmascript уже есть неймспейсы - модули

Stepan
27.01.2017
10:03:44
что вы имеете ввиду под преобразованиями?

пока из аргументов только то, что невозможно определить какие типы используются, а какие - нет, верно?

Aleh
27.01.2017
10:04:32
ну и еще что namespace из ts не нужен

Stepan
27.01.2017
10:08:28
это позволяет быстро находить нужный тип с помощью автодополнения

мы сейчас переводим огромный проект ng1 на TS

и стараемся балансировать между идеальной архитектурой и практичностью

Aleh
27.01.2017
10:12:32
Starting with ECMAScript 2015, modules are native part of the language, and should be supported by all compliant engine implementations. Thus, for new projects modules would be the recommended code organization mechanism. это из доки typescript

это позволяет быстро находить нужный тип с помощью автодополнения
комплит ж поидее работает глобально по проекту, а новый tsserver сам умеет импорты добавлять, до этого это делалось на уровне редакторов, но даже плагин к виму умел, хоть и коряво

Vadim
28.01.2017
04:45:28
Сейчас обновил тайпинги реакта, и все посыпалось. При чем, ругань такого типа: Subsequent variable declarations must have the same type. Variable 'a' must be of type 'HTMLProps<HTMLAnchorElement>', but here has type 'HTMLProps<HTMLAnchorElement>'.

Что это вообще значит? Речь ведь об одном и том же формате "HTMLProps<HTMLAnchorElement>"?

Глеб
28.01.2017
05:57:15
Ну я же говорю, у меня особый случай, хочу свой lodash сделать
летом тоже стелал, раньше flyd с ramda использовал, теперь ток ramda и особый случай..

Google
Глеб
28.01.2017
05:59:22
доволен как слон, сделал паттернмачинг как хотел. С каррированием только доконца не разобрался, как слушается "btbox" так не заработатет... ...но я много времни не тратил на то чтоб сделать такие детали.

Stepan
28.01.2017
06:19:48
Спасибо всем неравнодушным, кто откликнулся на вопрос. После нескольких часов бубна с namespace решили писать по нормальному с импортами.

Андрей
28.01.2017
10:24:28
кто-нибудь завел VS Code Crome Debugging для связки TypeScript+WebPack?

Дмитрий
28.01.2017
10:46:27
Я так работаю

Там всё довольно тривиально

Anton
28.01.2017
10:51:03
Есть проект на TS. Работаю с ним в vscode. Периодически отваливается дебаг. Чтобы вернуть, надо поменять target в tsconfig. На некоторое время всё возвращается в норму, но потом опять отваливается. На другом компе всё нормально. Кто-нибудь сталкивался? P.S. js нормально дебажит

Андрей
28.01.2017
10:58:48
я добился того, что он брекпоинты считает корректными, но он останавливается на них не всегда, по некоторому неясному пока принципу. Антон, на что меняете target?

Anton
28.01.2017
11:00:40
С es6 на es5 и обратно. Причем при дебаге показывает путь типа /1001/server.ts (если крэш случается)

Причем это уже на втором проекте. На первом было через tsc, сейчас через gulp.

Андрей
28.01.2017
12:24:23
Я понял, что с моими точками останова. видимое место точки не соответствует реально исполняемому коду (несильно, на 1-5 строк кода), то есть можно остановиться, можно идти пошагово, по Locals я вижу, что происходит, но показываемое место выполнения не соответствует реальности. Получается, webpack не вполне корректные sourcemap генерирует. No ideas?)

Дмитрий
28.01.2017
12:32:28
Стопроцентное соответствие только с режимом source-map в вебпаке

остальное по идее всегда с определенной погрешностью

Дмитрий
28.01.2017
12:35:56
vs code недавно ещё переехал на node2 debugger, я не сравнивал, но по идее он так же должен работать лучше и точнее

.
28.01.2017
13:57:48
Какой сейчас tslint конфиг топовый?

MVP
28.01.2017
14:13:42
Ни у кого не бывало что vsc не сохраняет файлы ?. Тоесть постоянно кружок горит над табом а не крестик ✖

??

Adam
29.01.2017
08:48:07
Как сфокусироваться на рабочей директории в проводнике vs code, чтобы создать новую папку в корне?

Кнопка 'создать папку' создаёт в активной, после свернуть все фокус на настройках vs code

листать надоело, может, есть способ?

Отбой, разобрался. Чтобы получить фокус на корне, нужно 'обновить' нажать

Google
Vadim
29.01.2017
12:15:04
Есть ли какие-то линтеры, позволяющие контролировать иммутабельность в проекте?

Admin
ERROR: S client not available

Vadim
29.01.2017
12:15:20
Попробовал этот, но он не работает https://github.com/jonaskello/tslint-immutable

Friedrich
29.01.2017
12:23:11
За ссылку спасибо, очень хороший Readme у проекта :)

Vadim
29.01.2017
12:23:26
Или я неправильно его использовал )

На что должно указывать rulesDirectory в tslint?

Dmitry
29.01.2017
12:23:46
Я теперь без тайпскрипта жить не могу

Friedrich
29.01.2017
12:24:14
Dmitry
29.01.2017
12:25:36
Да

Aleh
29.01.2017
12:25:54
Есть ли какие-то линтеры, позволяющие контролировать иммутабельность в проекте?
а что значит контролировать, вы на уровне типа можете прописать все как readonly

Vadim
29.01.2017
12:26:23
Что б это было прописано как обязательное правило. Могу не все проконтролировать )

Friedrich
29.01.2017
12:26:30
а что значит контролировать, вы на уровне типа можете прописать все как readonly
Именно это и форсирует данный линтер, судя по документации.

Aleh
29.01.2017
12:26:33
ну и любой мутабельный тип можно привести к немутабельному с mapped types

зачем, если это уже умеет сам компилятор?

Vadim
29.01.2017
12:27:47
А как обеспечить контроль иммутабельности?

Friedrich
29.01.2017
12:28:22
Идея с mapped types хороша. А я даже и не знал про эту фичу.

Vadim
29.01.2017
12:42:15
А где прописать что б тайпскрипт не компилился если tslint ругается на ошибки?

Вообще это возможно?

Friedrich
29.01.2017
12:44:36
А как ты его компиляешь?

Google
Friedrich
29.01.2017
12:44:57
Ну, вебпак там, нпм-скрипт или что ещё?

Vadim
29.01.2017
12:45:14
Вебпак

Friedrich
29.01.2017
12:45:27
А вебпак руками вызываешь?

Vadim
29.01.2017
12:45:42
да

Friedrich
29.01.2017
12:46:36
Сходу нагуглилось такое: - https://www.npmjs.com/package/tslint-loader - https://www.npmjs.com/package/tslint-webpack-plugin

Я бы сам, наверное, побоялся tslint на каждом билде делать. Это не так быстро, как хотелось бы.

Vadim
29.01.2017
12:47:09
Спасибо, почитаю

Friedrich
29.01.2017
12:47:16
Я пробовал включать его в редакторе, и очень быстро меня стала раздражать скорость работы.

Дмитрий
29.01.2017
12:47:26
Friedrich
29.01.2017
12:47:27
Поэтому я на CI прикрутил tslint, ну и пул-реквесты проверяю им.

Vadim
29.01.2017
12:47:40
Я не вижу вообще разницы в скорости

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