169 похожих чатов

Привет. Столкнулся с проблемой. Иентегрирую Tailwind CSS в монорепозиторий (pnpm

workspaces). Хочу переписать shared ui библиотеки на Tailwind. Настроил content в конфиге чтобы Tailwind видел классы в установленом пакете. Проблема в том что я не пойму как настроить префиксы. Я не хочу чтобы случались конфиликты (то есть проект использует свой префикс, библиотека свой, также планируется shared префикс один для всех). Как я могу это реализовать?

19 ответов

22 просмотра

Никак. Зачем тебе префиксы?

В монорепе все просто до опупения - просто наследуешь конфиг и в content указываешь как сурсы ui либы, так и сурсы приложения. Не надо ничего собирать, это путь в никуда (как собранные классы подклеивать к приложению?)

veal- Автор вопроса
Dmitry Remezov
В монорепе все просто до опупения - просто наследу...

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

veal
мне нужны префиксы для изоляции стилей) у приложен...

Это Маня-изоляция, не ломай себе DX. Ну и у приложения не может быть своей дизайн-системы, это всегда отнаследованная от общей. Либо без изменений, либо изменения везде. Иначе кринж. Дизайн система есть дизайн-система, твоя юай либа ее реализует, дальше наследуешься и танцуешь. Если у приложения другая дизайн-система - ну, твоей либы там просто не будет. Два вотча - поломанный DX и не нужны. Со временем это будет все больнее. Нужно не эмулирование маня-внешней библиотеки, а интеграция исходников

veal
мне нужны префиксы для изоляции стилей) у приложен...

Про стили - любая маня-изоляция - дублирование, без дублирования не обойдешься. Без дублирования только отсутствие этой изоляции. Есть layers, но они не то и не про то, твоим хотелкам маня-изоляции не поможет

veal- Автор вопроса
Dmitry Remezov
Это Маня-изоляция, не ломай себе DX. Ну и у прилож...

может использоваться две дизайн системы, в моем кейсе у меня как-бы превью сайта рендерится на сайте (визуальный редактор сайта) у самого редактора общие дизайн токены для продуктов, а для самого настраиваемого сайта другие, кастомные, генеративные, плюс есть также общие компоненты для этого редактируемого сайта на своих дизайн токенах короче нужно избегать конфликтов чтобы условно в редакторе превью сайта, использующее свои дизацн токены не пересекались с самим редактором а в целом все дизайн токены просто перебираются и вставляются в дом в виде ЦСС (с кастомным хешем) переменных, а также испоьзуются в настройке темы tailwind

veal- Автор вопроса
Dmitry Remezov
Это Маня-изоляция, не ломай себе DX. Ну и у прилож...

и окей а что мне делать если я захочу вообще вынести ui либу в пакет, как мне это все связывать

veal
может использоваться две дизайн системы, в моем ке...

Так сделай реальную изоляцию :) Shadow dom / iframe / четоеще

Dmitry Remezov
Так сделай реальную изоляцию :) Shadow dom / ifram...

Это точно поддается автоматизации, лучше потрать на это время, чем руками префиксы дрочить

Dmitry Remezov
Это точно поддается автоматизации, лучше потрать н...

Еще куда можешь копнуть - таилвинд работает на ксс переменных. Наверняка есть какой-то способ просто переопределять эти переменные на каком-то блоке

Dmitry Remezov
Еще куда можешь копнуть - таилвинд работает на ксс...

Ну, не руками месить, а как-то полуавтоматически

veal- Автор вопроса
veal
может использоваться две дизайн системы, в моем ке...

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

Dmitry Remezov
Я таки преисполнился. Да, у тебя два разных прилож...

Да и вообще сам конструктор выносить как отдельную внешнюю хрень. Не вижу других адекватных вариантов, кроме ксс ин жс. Но мб кто-то другой жонглировал и таки понял, как можно на два стула сесть

veal- Автор вопроса
Dmitry Remezov
Да и вообще сам конструктор выносить как отдельную...

я уже СЕЛ походу нашел решение все очень хорошо получилось не знаю нормально ли но гуд и по DX и по размеру стилей все отпад и префиксы работают

veal- Автор вопроса
Dmitry Remezov
Да и вообще сам конструктор выносить как отдельную...

CSS in JS был, с него и переписыаю не подходит

veal- Автор вопроса
veal
я уже СЕЛ походу нашел решение все очень хорошо по...

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

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта