
Evgeny
06.08.2016
13:30:35
Бля, бред
Пиши ишью
И кидай линк, плюсану за эту хуйню

Vasiliy
06.08.2016
13:30:58
сек, это реально нужно, сейчас сделаю

Google

Vasiliy
06.08.2016
13:33:06
короче они говорят, что это против unix философии
типа делать одну вещь, но делать ее хорошо
https://github.com/tjunnone/npm-check-updates/issues/245
https://github.com/tjunnone/npm-check-updates/issues/217

Evgeny
06.08.2016
13:33:42
bitches
Пускай они хорошо обновляют пакеты


Дмитрий
06.08.2016
13:34:13
Написал конфигурируемый адаптер для gulp
Принимает json вида
projects: {
client: {
ts: {,
depends: {
ts: require('gulp-typescript'),
concat: require('gulp-concat'),
minifier: require('gulp-uglify/minifier')
},
pipe: [ 'ts'
, {
loader: 'concat',
opts: 'app.js'
}, {
loader: 'minifier',
opts: { 0: { preserveComments: 'license' }, 1: uglifyjs }
}]
},
jade: {
path: {
dest: dirs.build,
},
depends: {
pug: 'gulp-pug'
},
pipe: 'pug', // mean full pipe from .src to .dest though .pipe( require('gulp-pug') )
}
},
server: {....}
После чего создаёт набор задач gulp 'client:jade' 'client:stylus' ... 'client:clean' 'client:watch' 'client' ([%all subtask%]) , 'server:...' в соответствии с настройками. Кучу рутинных и типовых параметров можно опускать, можно ссылаться на относительные папки вида tasknamedir, build, source и так далее))
Так вот) Чтобы выложить в open source надо надо ним посидеть ещё. Тратить время?) Я просто хз даже, вроде все webpack пользуются, но я к gulp привык, ну и довёл его конфиг для нового проекта до схожей краткости


Evgeny
06.08.2016
13:34:46
Нормас, выкладывай
Над чем посидеть?

Дмитрий
06.08.2016
13:37:28
Над чем посидеть?
Логику конфига до конца выработать, чтобы типовые задачи gulp нормально умещались.,Ну и не всё работает стабильно

Evgeny
06.08.2016
13:37:44
Поставь себе дедлайн — за час приведи в порядок и выкладывай
Назови это 0.0.1

Google

Evgeny
06.08.2016
13:37:54
Опиши Known Issues
Потом каждый день по полчаса
Через неделю спокойно 1.0.0 будет
Закинь в какие-нибудь чатики тематические

Дмитрий
06.08.2016
13:40:39
Через неделю спокойно 1.0.0 будет
Хм, звучит обнадёживающе)
А очень фигово, если кучу библиотек тащу в depends? А то там этих gulp-* миллион, каждый с тысячей зависимостей, и плюс у меня Ramda вдовесок

Evgeny
06.08.2016
13:41:24
http://2014.jsconf.eu/speakers/sebastian-markbage-minimal-api-surface-area-learning-patterns-instead-of-frameworks.html

Дмитрий
06.08.2016
13:43:27
Спасибо)??

Evgeny
06.08.2016
13:44:08
Вот хороший тред на тему https://github.com/reactjs/redux/pull/430

Vladimir
06.08.2016
13:57:19
я думаю, Даня прав тут
создателям лодаша надо пропихивать его не в чужие либы, а в стдлибу
Видимо с ес7 поллодаша стало ненужно, вото они и расстраиваются

Evgeny
06.08.2016
13:59:17
Это было до релиза в4
В в4 лоудэш стал модульным
И в редаксе лоудэш появился
Но сам факт того, что в своей библиотеке зависимостей должно быть мало

Denis
06.08.2016
14:00:16
Парни, немного переделываю логику своего сайд проекта, есть общий роут /task/:taskId, и есть чайлд роуты /task/:taskId/show, /task/:taskId/edit и тд, вопрос как в родительском роуте узнать какой дочерний роут открыт? нужно для подсветки активного таба, который прописан в род, роуте (его компоненте), пробовал в род роуте прописывать /task/:taskId/:activeTab, но это конечно не работает (react-router)

Evgeny
06.08.2016
14:00:42
@Misaka ↑

Vladimir
06.08.2016
14:00:58
в пропсах же есть вся инфа о том, что открыто

Denis
06.08.2016
14:03:05
парсить url вручную?

Evgeny
06.08.2016
14:03:42
Так нет же

Google

Evgeny
06.08.2016
14:03:49
props.router.
Или как там
Плюс в реакт-роутере есть activeClassName
<Link to=“show” activeClassName=“muh-link-is-active”>show</Link>

Denis
06.08.2016
14:05:29
у меня кастомные табы, по индексу подсвечиваются

Evgeny
06.08.2016
14:05:44
Тогда из пропсов доставай

Владимир
06.08.2016
14:06:31
глубоко вложенный компонент может передать свою активность выше по дереву

Evgeny
06.08.2016
14:17:24
Так в роутере всегда можно достать его стейт
Зачем костылить

Denis
06.08.2016
14:17:38
хотелось бы без новых сущностей
так что именно доставать из пропсов? от реакт-роутера там есть текущий локейшн (url), весь список роутов и параметры роута, при чем. если выводить текущий роут в род. компоненте, он не показывает дочернюю часть, которая открыта по факту, а только то, что пренадлежит родителю (по факту у меня открыто /task/57a5e41c35cd4939e885c295/INFO, то есть компонент дочерний, но props.route.name === имя родителя)

Evgeny
06.08.2016
14:18:37
Покажи вывод props.router

Denis
06.08.2016
14:21:01
в общем я думаю создать hoc для контента, который будет инжектить компонент табов с уже открытым табом, то индекс прописан статически, надеюсь, анимация не сломается, да и вроде проще
в пропсах нет его

Evgeny
06.08.2016
14:21:21
Редакс есть?

Denis
06.08.2016
14:21:26
да

Владимир
06.08.2016
14:21:42
Зачем костылить
костылить затем что доставая значение в роутере мы должны его будем обработать используя заново реализацию обработки что происходит в роутере
ну и я не считаю это решение костыльным

Evgeny
06.08.2016
14:21:53
Тогда https://github.com/reactjs/react-router-redux
Еще не раз пригодится

Владимир
06.08.2016
14:22:17

Google

Evgeny
06.08.2016
14:22:36
Нет, через него сильно проще работать с роутером

Владимир
06.08.2016
14:23:29
так давайте все в стор запихивать, и объект виндоу туда же, проще же работаь

Evgeny
06.08.2016
14:23:43
Ну мы так и делаем, хули
За исключением виндоу
Редакс-форм тоже используем
(честно говоря хз зачем там редакс, но работа с формами у них самая адекватная)

Denis
06.08.2016
14:25:26
сейчас попробую

Vasiliy
06.08.2016
14:29:15

Evgeny
06.08.2016
14:29:44
Мб форкнуть их

Admin
ERROR: S client not available

Evgeny
06.08.2016
14:29:54
redux-form-without-redux
Или есть чё нормальное по формам?

Vasiliy
06.08.2016
14:30:53
я не встречал)

Evgeny
06.08.2016
14:31:14
С другой стороны, зачем выпиливать

from
06.08.2016
14:31:28

Evgeny
06.08.2016
14:31:49
Валидация
Нормализация
Хуё-моё
Но вообще да, обернуть в hoc-и и готово

Google

Evgeny
06.08.2016
14:32:32
Хм

from
06.08.2016
14:32:36
evt.target.willValidate :) но это конечно уже не так универсально

Vasiliy
06.08.2016
14:34:45
но это тоже нифига не универсально

Владимир
06.08.2016
14:34:55

Evgeny
06.08.2016
14:35:28
Чё, запилить?
const Input = formHOC(<input>);
const asEmail = (value) => () // fucking regexp
<Input type=“text” name=“email” validate={asEmail} />

from
06.08.2016
14:35:58
вот кстати не знаю, нормальная ли практика своим кастомным инпут компонентам экстендить evt, чтобы value был форматированный
например, компонент, который делает маскированный инпут, но на onChange выдавал бы "сырое" значение

Владимир
06.08.2016
14:36:42

Evgeny
06.08.2016
14:36:46
Ну очевидно Input прямо из библиотеки можно достать как дефолтный компонент.
import { Input } from ‘react-form’

マイク
06.08.2016
14:37:38

Владимир
06.08.2016
14:37:55

マイク
06.08.2016
14:38:07
Конструктивно

Владимир
06.08.2016
14:38:16
мы ведь не засовываем хистори апи в стору
обращаемся к нему напрямую

Evgeny
06.08.2016
14:38:30
Ты не путай данные и апи
Это разные вещи
Данные в редаксе хранить ОК

Владимир
06.08.2016
14:38:45
вам роутер это апи предлагает
пользуйтесь им

マイク
06.08.2016
14:39:13
Роут разве не является частью стейта приложения?
Обесните

Evgeny
06.08.2016
14:39:27