Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   WebPack ShadowDOM emulator (https://javascript.ru/forum/offtopic/61051-webpack-shadowdom-emulator.html)

Mаxmaxmаximus 02.02.2016 17:30

WebPack ShadowDOM emulator
 
Есть ли уже какое-то расширение для этого или мне написать его?

Решение просто, ко всем нотам в темплейте добавляется уникальный аттрибут. для нод в одном темплейте _sh-0 для нод в другом _sh-1 и так далее. корневому элементу каждого темплейта задается _host-0 _host-1 и так далее.

далее мы указываем файл со стилем для этого темплейта где к каждому селектору в конце добавляем строку [_sh1], а все селекторы псевтокласса :host заменяем на [_host-1] и так далее.

Таким образом достигается изоляция стилей компонентов. Я стырил это у ангуляра 2, но пока это происходит все рантайм и мне это не нравится, по скольку я начал юзать вебпак (ну там для динамического бинда анбинда и перереднеринга изменившихся компонентов) то я думаю написать какую то тулзу не связаную с ui2 для достижения инкапсуляции компонентов. и это может быть какой то лоадер для вебпака.

есть ли уже что-то подобное?

п.с. всякие костыли типа бема не предлагать, цель этого всего именнно ИЗБАВИТЬСЯ от подобных хаков и начать нормально жить

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

п.с. внешние стили все ровно смогут проникать внутрь наших элементов но это плюс а не минус. смысл в том чтобы конфликта имен классов в компонентах не было и все, а задавать какие-то общие стили для наших компонентов это хорошо, и этого нет в шадоу дом, там двусторонняя изоляция

Mаxmaxmаximus 02.02.2016 17:51

п.с. лайкните за фитчу нахождения пути к файоу в любой строке любого языка https://youtrack.jetbrains.com/issue/WEB-20146

Mаxmaxmаximus 03.02.2016 01:51

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

но вот в случае с кофескриптом все совсем по другому, в этот раз я ЗНАЮ с чем сравниваю. и он обьективно лучше ES7

kobezzza 03.02.2016 14:26

Мб будет интересно https://habrahabr.ru/post/276417/.

А вообще для меня нет такой проблемы, т.к. в Snakeskin всё предусмотренно)

kobezzza 03.02.2016 14:28

Цитата:

че, никто даже поиздеваться не хочет что я таки на вебпак перешел)?
Я устал тебя троллить по поводу годных инструментов, на которые ты не хочешь переходить)

Цитата:

но вот в случае с кофескриптом все совсем по другому, в этот раз я ЗНАЮ с чем сравниваю. и он обьективно лучше ES7
Говорил раньше, скажу ещё раз: Кофескрипт не развивается, поэтому писать на нём стрёмно. А так язык годный.

Mаxmaxmаximus 03.02.2016 14:32

Цитата:

Сообщение от kobezzza
Кофескрипт не развивается

Меня вон на гитхабе забанили когда я предложил им как добаить приватные и протектед свойства при чем с поддержкой любых браузеров и платформ. они сказали "они видны извне обьекта значит не приватные" я сказал "ну так там же префикс служебный, люди не будут обращаться к свойствам имеющим в начале названия пробел и жетсткое подчеркивание" на что он мне ответил "к ним можно доступ получить так obj[' _prop'] по этому они не приватные. и закрыл тикет. и так 5 раз. а потом забанили. ебать одноклеточные сука). я им говорю это не защита от хаккеров а удобный сахар для избегания конфликта имен. на что мне ответили "я все сказал" и снова закрыли тикет. МОЗГОВ 0 у челвоека)))) я даже видео ему записал

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

kobezzza 03.02.2016 14:36

Вот поэтому Кофе для меня мёртв) из языков транслируемых в JS самый годный на данный момент - это ТС, как выйдет 2, слезу на него.

Mаxmaxmаximus 03.02.2016 14:38

Цитата:

Сообщение от kobezzza
Мб будет интересно https://habrahabr.ru/post/276417/.

Посмотрел, вообще чушь, у меня все прозрачно и работает словно шадоу дом. и заняло около 20 строк кода. я просто хочу это перенести на препроцессинг и убрать из рантайма и все. не думал что такое еще не сделали О_О ушел дописывать лоадер и делать с ним видео чтобы показать вам)

kobezzza, как выйдет CoffeeScript2 ? А кто его написать должен? Я)? или уже кто-то пилит?

kobezzza 03.02.2016 14:39

Цитата:

kobezzza, как выйдет CoffeeScript2 ? А кто его написать должен? Я)? или уже кто-то пилит?
Я про ТС2 :)

Цитата:

А кто его написать должен? Я)?
На тебя одна надежда)

Mаxmaxmаximus 03.02.2016 14:48

kobezzza, тут такое дело http://javascript.ru/forum/offtopic/...liz-uijs2.html

kobezzza 03.02.2016 14:55

Цитата:

Сообщение от Mаxmaxmаximus (Сообщение 406218)
kobezzza, тут такое дело http://javascript.ru/forum/offtopic/...liz-uijs2.html

Как сделаешь релиз - я посмотрю :)

Mаxmaxmаximus 03.02.2016 14:57

Цитата:

Сообщение от kobezzza
релиз

вот щас больно было)

kobezzza 03.02.2016 15:01

Цитата:

Сообщение от Mаxmaxmаximus (Сообщение 406223)
вот щас больно было)

Давай кто быстрее: Я SS7 или ты UI2 :)

Mаxmaxmаximus 03.02.2016 15:09

kobezzza, лол да мне 2 дня осталось, принимаю ставку ;):


Цитата:

[подумать над лоу приорити ватчерс которые нужны будут тока на отрисовку дома]

наполнить стандартными сервисами типа http, Promise и.т.п.
добавить директивы *model *repeat *if *model *html и.т.п.
сделать пайпы
сделать компонентам конструкторы и деструкторы, продумать утечки памяти

======================
ПРИДУМАТЬ НОРМАЛЬНУЮ СИСТЕМУ КОМПИЛЯЦИИ И ЛИНКОВКИ С ТРАНСКЛЮДАМИ
написать лоадер на вебпак который бы добавлял эмуляцию шадоу дом

kobezzza 03.02.2016 15:11

Мне остались тесты (большую часть написал) и новая документацию, думаю ещё месяц займёт.

Mаxmaxmаximus 03.02.2016 15:12

Цитата:

Сообщение от kobezzza
документацию

вот щас больно было)))))

kobezzza 04.02.2016 00:38

Цитата:

Сообщение от Mаxmaxmаximus (Сообщение 406234)
вот щас больно было)))))

https://github.com/SnakeskinTpl/Snakeskin

Я бетку выложил :) Осталась дока. Твой ход :)

a144881a 06.02.2016 15:05

Цитата:

Сообщение от Mаxmaxmаximus
вот щас больно было)))))

А я добавлю.

Цитата:

Сообщение от kobezzza
UI2

А где UI1 ? :D

Там не неведомых дорожках извилин Максимуса, следы невиданных UI.

FINoM 09.02.2016 20:41

Цитата:

Сообщение от Mаxmaxmаximus
вот щас больно было)))))

А "тесты" это не больно?


Часовой пояс GMT +3, время: 21:30.