
Nikita
11.05.2016
13:56:19
есть вебпак, которым мы собираем приложения
я хочу на его уровне найти инструмент, который позволит это переопределить
если его нет - ок, напишу. В этом и был весь вопрос
бабел кривой - ок. предлагаю вам свой babel написать, который будет прямой)

Google

Artur
11.05.2016
13:57:25
Типа такой штуки
const resolverMap = {
"components": {
"buttons": {
"BlueButton": "custom/path/to/BlueButton"
}
}
}
И соответствующие правила.

Nikita
11.05.2016
13:57:43
ты не ту проблему решаешь
ты мне говоришь как интерфейс дать
это я и так знаю
мне нужно понять как это сделать в кишках
а снаружи вообще на важно, будет там строка, или название компонента, или его id - вообще плевать

Artur
11.05.2016
13:58:31

Nikita
11.05.2016
13:59:03
я тебе показал реальный пример с babel. У него есть полифил для промиса, и дока как переопределять

Artur
11.05.2016
13:59:06
это я и так знаю
А, ну т.е. вопрос просто в том, есть ли стандартный способ это сделать в webpack.

Nikita
11.05.2016
13:59:16
мне кажется этот способ переопределения для фронтенда странным
потому что мы как минимум 2 реализации промисов тянем

Anton
11.05.2016
14:00:18
Не мешайте человеку хотеть странного ) Если для него причины по которым так не делают не принципиальны - пусть делает )

Artur
11.05.2016
14:00:27

Google

Nikita
11.05.2016
14:00:52
просто фейспалм
я пишу одно - вы читаете другое))
если переопределять, как предлагает babel в бандле окажется 2, ДВЕ реализации промисов, а в рантайме одна, блюберд - да
Антон, тебе норм в бандл тащить код, который ты не используешь?)

Artur
11.05.2016
14:02:00
Давайте оставим бабель

Nikita
11.05.2016
14:02:18
да не, отличный пример
у меня как раз тоже самое

Artur
11.05.2016
14:02:27
Ну я изначально спрашивал, это принципиально вычистить неиспользуемый код или нет.

Nikita
11.05.2016
14:02:45
у бабеля полифил, вот у этого полифила я хочу переопределить кусок

Anton
11.05.2016
14:02:58
require('babel-runtime/core/promise').default = require('bluebird') - как раз вот это насколько я помню можно решить алиасами

Vladimir
11.05.2016
14:03:23
просто не полифиль runtime-ом

Nikita
11.05.2016
14:03:32
ну вот у меня не получилось это решить алиасами)

Vladimir
11.05.2016
14:03:32
используй bluebird напрямую

Anton
11.05.2016
14:03:43
покажи как решал

Nikita
11.05.2016
14:04:12
alias: {'babel-runtime/core/promise': 'bluebird'}
просто не полифиль runtime-ом
интересный подход) Не нравится маленький кусочек инструмента - выкидываем его нафиг, берем маленький кусочек, а остальные 90% инструмента дописываем сами, или как?

Vladimir
11.05.2016
14:05:44
что из рантайма кроме промисов тебе ещё нужно?

Nikita
11.05.2016
14:05:59
String.prototype.includes

Aleksey
11.05.2016
14:06:49
Вы прям здесь бем описываете, ребята :D
С его бандлами и уровнями переопределения.

Google

Nikita
11.05.2016
14:07:27
ребята решают абстрактную задачу и не отвечают на конкретный вопрос)

Vladimir
11.05.2016
14:07:50
babel-ю до фулл-стека бэма по сложности ещё очень далеко

Aleksey
11.05.2016
14:09:40
Я и не сравнивал бабел с бемом, я говорю что идея то там уже изложена, просто инструмент этот скорей всего не подойдет. Хотя знаю человека который их сборщиком себе реакт собирает.

Vladimir
11.05.2016
14:10:34
внутри яндекса некоторые команды тоже бэмом собирают реакт
@gusnkt я не знаю про includes =(

Nikita
11.05.2016
14:11:12
ты это к чему?)

Vladimir
11.05.2016
14:11:49
> String.prototype.includes

Anton
11.05.2016
14:12:00
Слушай, а ты случаем не делаешь что-то в духе конструктор лендингов? Типа тебе нужно продавать многим заказчикам одну и ту же примерно логику, и что бы максимизировать прибыль ты хочешь автоматизировать процесс переопределнием компонентов в сборщике?

Vladimir
11.05.2016
14:12:20
я бы полифилил только то, что использую
а не всё разом

Nikita
11.05.2016
14:12:32
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes

Vladimir
11.05.2016
14:12:37
чтобы бандл не разрастался

Vladimir
11.05.2016
14:12:42
я знаю что это

Nikita
11.05.2016
14:12:55

Vladimir
11.05.2016
14:13:15
@gusnkt так это es2017

Anton
11.05.2016
14:13:25
И ты хочешь, что бы либа была встриваемой, но при этом гибко и легко кастомизируемой

Nikita
11.05.2016
14:13:35
да

Anton
11.05.2016
14:13:36
Теперь я понял, что и зачем ты хочешь сделать

Nikita
11.05.2016
14:13:36
ура

Anton
11.05.2016
14:14:04
Стандартными средствами сборщика ты это врядли сделаешь

Google

Vladimir
11.05.2016
14:14:06
скорее всего эту штуку можно просто пресетом es2017 сделать

Nikita
11.05.2016
14:14:29
в core-js это есть
я вообще метод из головы взял))

Anton
11.05.2016
14:14:44

Nikita
11.05.2016
14:14:53
String.prototype.trim - лучше пример?)

Vladimir
11.05.2016
14:15:44
а зачем trim полифилить?

Nikita
11.05.2016
14:15:48

Admin
ERROR: S client not available

Vladimir
11.05.2016
14:15:55
у него 100% support

Anton
11.05.2016
14:15:59
ну я сейчас попробовал - все работает
не понимаю о чем тогда сыр бор )

Nikita
11.05.2016
14:16:54
гм, а как ты попробовал?
у него 100% support
ты вот опять не те вопросы спрашиваешь) Я взял babel исключительно ради примера. У него есть как раз подобное моему API и подобная проблема - что-то хочется переопределить

Anton
11.05.2016
14:19:19
я проверил что алиас типа a/b работает норм. Следовательно,
в либе:
require('buttons/coolbutton')
...
alias :{
'buttons/coolbutton': './src/ugly-lib-button.js',
}
в аппе:
alias :{
'buttons/coolbutton': './src/my-super-cool-button.js',
}
соберется с твоей подсунутой кнопкой

Nikita
11.05.2016
14:20:01
не, мне так не нравится. Возможны конфликты
допустим внутри проекта test есть require('./src/foo'), а я хочу переопределить test/src/foo
иначе такие алиасы могут поломать чужой код

Anton
11.05.2016
14:23:54
не вижу что где должно поломаться

Denis
11.05.2016
14:25:07
Electron 1.0: больше миллиона загрузок, демо-приложение, расширение для отладки, тесты — http://electron.atom.io/blog/2016/05/11/electron-1-0

Sergey
11.05.2016
14:27:11
новый электрон огонь, да

Google

Sergey
11.05.2016
14:27:27
завезли встроеные API уведомлений

Anton
11.05.2016
14:28:05

Denis
11.05.2016
14:30:28
А если глаза устают читать, то ребята из Frontflip выпустили очередной бомбовый подкаст http://frontflip.me/2016/05/05/vk-redesign.html

Nikita
11.05.2016
14:31:27
а мне скучно показалось:(

Andrey
11.05.2016
14:33:05
и в дополнение выступление фронтедщика из вк https://www.youtube.com/watch?v=qseu-ZaGoes&feature=youtu.be&t=812

anoru
11.05.2016
15:12:45
https://youtu.be/qseu-ZaGoes?t=780
причина почему вк отваливается)
доклад совсем не впечатлил. Сначала сказал, что не юзают сс методологию и как раз столкнулись с тем, что будут постепенно внедрять (вероятно бэм). Учитывая, что они делали с нуля новый дизайн, то не понимаю почему бы не заюзать современный стек. Старый gulp с less, отсутствие тестов. Любой может задеплоить одной кнопки. Рассказывают, что может сломаться сообщения у 100 млн и страхом держат разработчиков. По этой причине, видимо, у меня всегда отваливаются сообщений)
Про iframe вот интересно было немного, но надо больше подробностей нагуглить
css методологию*
в целом видос словно из 2013 года пришел

Nikita
11.05.2016
15:34:26
подкаст еще хуже
ппц тухло

Denis
11.05.2016
15:39:24
ВК всё?)

Nikita
11.05.2016
15:40:16
чувак в докладе какую-то хрень выдает за дикий рокетсайнс))
вообще как они могли додуматься прямо по запросу клиента генерить css. CI - не, не слышали

Andrey
11.05.2016
15:49:46
там много тупняков и видео + подкаст помоему отличная антиреклама как работадателя да и вообще, сервиса )

Denis
11.05.2016
15:50:44
По запросу клиента генерить critical CSS?

Artur
11.05.2016
16:46:03
А чего бы его не генерить сразу при сборке билда?

Dmitrii
11.05.2016
16:46:54
а что делать если количество бандлов будет 10**10? :)