Size: a a a

2020 November 26

НС

Никита Сковорода... in BeerJS Moscow
Если там правда вся динамика через css variables, то ногу прострелить себе нельзя и это то, чего я ищу.
источник

AM

Andrey Marchenko in BeerJS Moscow
там есть проблемы и баги
источник

НС

Никита Сковорода... in BeerJS Moscow
Andrey Marchenko
там есть проблемы и баги
М?
источник

AM

Andrey Marchenko in BeerJS Moscow
посмотри в issue на баги, есть edge кейсы с css когда стреляет
источник

AM

Andrey Marchenko in BeerJS Moscow
но в остальном да, zero runtime css in js лучше чем просто css in js
источник

НС

Никита Сковорода... in BeerJS Moscow
Andrey Marchenko
посмотри в issue на баги, есть edge кейсы с css когда стреляет
сломано :-/
источник

НС

Никита Сковорода... in BeerJS Moscow
А, хотя нет, просто интересные особенности.
источник

НС

Никита Сковорода... in BeerJS Moscow
Надо посмотреть внимательнее.
источник

AM

Andrey Marchenko in BeerJS Moscow
да, базово работает, но не так что-бы "ногу прострелить себе нельзя"
источник

SR

Sergey Rubanov in BeerJS Moscow
emotion забыли
источник

НС

Никита Сковорода... in BeerJS Moscow
Sergey Rubanov
emotion забыли
я в начальном сообщении опечатался
emotion ой, а stencil я зря приплёл
источник

НС

Никита Сковорода... in BeerJS Moscow
Sergey Rubanov
emotion забыли
у emotion ровно тот косяк который делает всё очень плохим сразу — там очень легко прострелить себе всё, потому что нет никаких гарантий что небезопасные строки (например, пользовательский ввод) не окажутся вконкатенированными в цсс. Причём не в цсс компонента, а в глобальный, пробивая ещё и скоуп.
источник

НС

Никита Сковорода... in BeerJS Moscow
У lit-element такой проблемы нет за счёт того, что там нельзя строки вставлять, а можно только объекты типа, возвращаемого css``.
Да и стили там не глобальные а заскоупленные.

У linaria такой проблемы, кажется, тоже нет. За счёт того, что всё, что не функции — прекомпилируется, а функции в css variables. Но я смотрю пока.
источник

IK

Ilnur Khalilov in BeerJS Moscow
Никита Сковорода
у emotion ровно тот косяк который делает всё очень плохим сразу — там очень легко прострелить себе всё, потому что нет никаких гарантий что небезопасные строки (например, пользовательский ввод) не окажутся вконкатенированными в цсс. Причём не в цсс компонента, а в глобальный, пробивая ещё и скоуп.
А какой кейс у этого?
источник

НС

Никита Сковорода... in BeerJS Moscow
Ilnur Khalilov
А какой кейс у этого?
В смысле какой кейс? Какой кейс у не прострелить себе ногу?
источник

IK

Ilnur Khalilov in BeerJS Moscow
Зачем может понадобиться пользовательский ввод в ЦСС воткнуть?
источник

НС

Никита Сковорода... in BeerJS Moscow
Ilnur Khalilov
Зачем может понадобиться пользовательский ввод в ЦСС воткнуть?
Суть не в том, чтобы воткнуть ввод пользователей в цсс.
Суть как раз в том, чтобы гарантировать, что он там не окажется в небезопасном виде.
источник

IK

Ilnur Khalilov in BeerJS Moscow
Так мне вот и интересно, зачем такое может понадобиться
источник

НС

Никита Сковорода... in BeerJS Moscow
Допустим, у тебя в проекте 10 человек и все что-то пишут.
И ты используешь там вот этот замечательный emotion.

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

IK

Ilnur Khalilov in BeerJS Moscow
Фото сначала же на бекенд грузится, а потом пихается, нет?
источник