
Dmitry
19.07.2017
20:00:08
import { App } from ‘@yourapp/spa’;

Denis
19.07.2017
20:00:09
Но в случае со статикой мы имеем скомпилированный JS
хм
import { App } from ‘@yourapp/spa’;

Google

Dmitry
19.07.2017
20:01:01
но эта спа лежит в том же репозитории

Дмитрий
19.07.2017
20:01:18
Ага, а линки lerna проставит сама

Denis
19.07.2017
20:01:20
А собачка - это фича npm?

Сергей
19.07.2017
20:01:29
А собачка - это фича npm?
это приватные пакеты
официальная фича уже давно
но если не публиковать, локально юзать можно бесплатно
{ private: true }

Dmitry
19.07.2017
20:01:58
но это к монорепо отношения не имеет особо )

Denis
19.07.2017
20:02:02
)

Дмитрий
19.07.2017
20:02:04

Denis
19.07.2017
20:02:14
Типа как airbnb/javascript/packages?

Сергей
19.07.2017
20:02:29

Denis
19.07.2017
20:02:55
В итоге это должно лежать в корне или в ~/node_modules?

Сергей
19.07.2017
20:03:11

Denis
19.07.2017
20:03:40
О спасиб
Ну вот да, как https://github.com/airbnb/javascript/tree/master/packages

Google

Denis
19.07.2017
20:05:24
Только лерна ещё и алиасы похоже прописывает
В итоге получается, изоморфное приложение выглядит как два пакета:
- сервер
- бандл
Тут тогда можно даже рассмотреть два варианта:
- монореп
- мультиреп :)
Но зависимость и взаимосвязанность роутов портит всю идилию

Сергей
19.07.2017
20:12:07

Dmitry
19.07.2017
20:12:40

Denis
19.07.2017
20:12:43
При SSR это ещё и то, что исполняется во время запроса
Структура становится странной

Сергей
19.07.2017
20:13:17
как раз норм

Dmitry
19.07.2017
20:13:23
В чем странность ?
packages/<модуль>

Denis
19.07.2017
20:13:44
Получается или всё в packages, и нет src

Dmitry
19.07.2017
20:13:45
референсишься на имя модуля
src в каждом модуле
в руте держишь только .env и пекейдж жсон

Denis
19.07.2017
20:14:43
~/packages/server
~/packages/client

Сергей
19.07.2017
20:14:58

Dmitry
19.07.2017
20:15:01
да но ты в пекейдж жсоне указываешь

Google

Dmitry
19.07.2017
20:15:07
на что референсится
т.е это может быть в модуле src/index.js
хотя имортить будешь ~/packages/client

Denis
19.07.2017
20:16:52
Звучит вроде круто
Какие интересно могут быть проблемы у такого подхода?

Сергей
19.07.2017
20:17:17
но потом завелось

Denis
19.07.2017
20:17:27
:)
В итоге удобней стало?

Сергей
19.07.2017
20:17:47
да, намного
особенно связанные обновления делать
коммиты общие

Denis
19.07.2017
20:18:21
Лерна может подтягивать из корня все эти babelrc, eslint, test и пр?

Сергей
19.07.2017
20:18:26

Denis
19.07.2017
20:19:55
Зачётно :)

Дмитрий
19.07.2017
20:20:34
У меня вообще уже сто лет монорепо в telegram-mtproto

Denis
19.07.2017
20:20:52
Как время быстро летит

Дмитрий
19.07.2017
20:20:55
Отдельно ядро, отдельно shared, отдельно серверный модуль

Сергей
19.07.2017
20:21:07
бабель вон тож

Denis
19.07.2017
20:21:54
А никаких ещё решений не появилось, как синхронизировать серверные роуты и react-router, чтобы с правами доступа разруливать?

Google

Сергей
19.07.2017
20:22:27
а что там синхрить с сервером и react router?
на сервере же также react router если есть SSR

Denis
19.07.2017
20:23:05
Например, когда юзер хочет получить доступ к /users/dan-abramov/home-video, а ему уже на клиенте выдавалось сообщение "Sorry, men, try Redux and make things happen"
Тут ключевой вопрос с динамическими правами доступа

Admin
ERROR: S client not available

Denis
19.07.2017
20:24:39
В том числе, чтобы можно было делать revoke прав

Dmitry
19.07.2017
20:25:04
а просто синхронайзить по сокетам не ?

Сергей
19.07.2017
20:25:40
да и странный подход
нужны права не по урлам
а по сущностям
и при переходе ты так или иначе запросишь сущность
ну получишь 403
отрееагируй на клиенте

Denis
19.07.2017
20:28:30

Dmitry
19.07.2017
20:29:17
в 90% будет правильно работать, а в остальных ты словишь 403

Alexander
19.07.2017
20:41:22

Denis
19.07.2017
20:53:16
Но как настройки и прочее прокидывать пакетам?

Google

Denis
19.07.2017
20:54:49
Получается для конфига будет третий пакет
Вот так внезапно микросервисная архитектура пришла в наши пакеты
Всех с новым днём :)

Stepan
19.07.2017
21:00:36

Дмитрий
19.07.2017
21:00:46
Это ещё не самый последний шаг в эту сторону)
Сам фронт уже тоже делят

Denis
19.07.2017
21:01:10
Звучит как "самый последний гвоздь"))
Тоже делят это как?

Дмитрий
19.07.2017
21:01:56
https://medium.com/@tomsoderlund/micro-frontends-a-microservice-approach-to-front-end-web-development-f325ebdadc16

Denis
19.07.2017
21:03:50
Бодро :)

Roman
19.07.2017
22:10:09
кто на маках работает сталкивались с таким?
такое происходит когда на странице начинает проигрываться видео

Anton
20.07.2017
01:49:01
Эксперты jest, подскажите один момент.
Имеется jest + enzyme для тестирования и есть структура
<div className=“slider”><div className=“arrowLeft”></div><div className=“arrowRight”></div></div>
Но wrapper.find(‘.arrowLeft’) не хочет рабоатть
с find().dive() тоже не прокатывает, как в таком случае правильно работать с тестированием?