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

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

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

19 ответов

4 просмотра

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

В монорепе все просто до опупения - просто наследуешь конфиг и в 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
я уже СЕЛ походу нашел решение все очень хорошо по...

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

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

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

читать файл максимально быстро? странный вопрос))
zamtmn
53
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
17
или вы считаете муит дает знание?
супер_лох_3000 альфа версия
12
А кто такой мужчина в твоем понимании Азиз?
who?です 🐈
11
Ну значит тебе повезло, мы же про транк говорим оба?
Александр (Rouse_) Багель
11
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Всем ку. Подскажите, если задекларировал массив так: int arr[10] = {1, 2, 3, 4}, то в arr[4] будет мусор или нуль?
Sasha K
14
буквально один оставшийся вопрос при выполнении строчки mov eax, 5 операнд "5" будет присутствовать где-либо в памяти (любой), кроме как в памяти блока .code? подвопрос: как...
12
Карта сайта