Как сконфигурировать tailwindcss под "Bitrix управление сайтом"?

Рейтинг: 0Ответов: 1Опубликовано: 01.06.2023

В документации к tailwindcss указано, что нужно перечислить все файлы в которых нужно искать стили. Однако Битрикс устроен так, что прямо в корне проекта лежат папки, и добавлять их все руками невозможно, так как они могу появляться там благодаря контент менеджеру, который не будет править конфиги Тайлвинда.

Указание широкого паттерна запрещено в документации

content: [
  './**/*.{php,js}',
],

и приводит к обходу всей папки bitrix, что затягивается на много минут и часто ведёт к краху сборки проекта.

Подскажите, как указать исключение папки bitrix? Нужен паттерн который бы заставил обойти весь проект кроме папки bitrix лежащей в корне. При этом папки с названием bitrix, которые не в корне обходить нужно!

Ответы

▲ 0Принят

Курение документаци и эксперименты позволили вывести конфиг Тайлвинда который работает с Битриксом:

/** @type {import('tailwindcss').Config} */
module.exports = {
    content: [
        './!(bitrix|node_modules)/**/(.default|**)/*.php',
        './local/**/(.default|**)/*.js',
        './index.php',
        './404.php',
    ],
    theme: {},
    plugins: [],
}

./!(bitrix|node_modules)/ вот эта конструкция делает самое важно, исключает из обхода тяжёлые папки движка и модулей. Соответственно сюда через | можно дописать ешё папки из коря, которые обходить НЕ надо.

(.default|**) а вот эта магия вне Хогвардса далась мне особенно тяжело. Но оно заставляет Tailwind заходить в папки с именем .default, коих полно в Битриксе. Загвоздка в том, что звёздочки в паттерне не учитывают файлы и папки название которых начинается с точки. Такие файлы считаются скрытыми.