Отключает csso на дев-сервере - #1376
Merged
Merged
Conversation
Vite гонит через postcss-цепочку и инлайновые стили демок, а csso тянет css-tree 2.2.1, который не знает @container, @scope, вложенные слои и вложенность. Из-за этого демки к статьям про современный CSS отдавались локально с 500. Минификация на дев-сервере всё равно ничего не даёт, в прод-сборке csso остаётся. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
solarrust
requested review from
HellSquirrel,
furtivite and
igsekor
as code owners
September 1, 2026 09:37
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Что случилось
Локально дев-сервер отдавал 500 на демках к статьям про современный CSS —
@container,@scope, вложенные слои, CSS-вложенность:Виноват не postcss — он свежий, 8.5.26. Виноват
postcss-csso: он тянетcsso@5.0.5, а тот жёстко пинитcss-tree@2.2.1. Этот парсер не знает современного синтаксиса:Обновиться нельзя:
postcss-cssoне выходил с августа 2022,csso— с февраля 2023, css-tree тем временем ушёл на 3.2.1. Стоят самые новые версии, новых просто нет.Под раздачу демки попадают потому, что Vite прогоняет через css-цепочку и инлайновые
<style>из HTML. На проде этого нет: gulp гоняет postcss только поsrc/styles/{index.css,index.sc.css,dark-theme.css}, а демки уезжают passthrough-копией — поэтому doka.guide/css/container/ работает, а локальная копия нет. Заодноhtml-minв прод-ветке демки и так исключает (notDemo,minifyCss: false), так что минификация демок нигде и не задумывалась.Что сделано
postcssCssoубран из vite-конфига. На дев-сервере минификация не даёт ничего — она там только ломает. В прод-сборке (gulpfile.js) csso остаётся нетронутым.Чем проверяла
Юнит-тест сюда не ложится: это конфиг плагина Vite, а ломается всё на стыке Vite + postcss. Поэтому проверяла запуском.
До правки поднимала настоящий Vite с цепочкой из
.eleventy.jsнаcss/container/demos/basic/index.html— 500 и ошибка выше. После правки гоняла полныйnpm startи ходила по страницам:/css/container/demos/basic//css/scope/demos/basic//css/layer/demos/list-of-child-layers//js/number-is-nan/demos/index//css/container/@containerи@scopeдоезжают до браузера как есть, в логе дев-сервера ни одной ошибки postcss,/styles/index.cssи/styles/dark-theme.cssпо-прежнему 200.npm run checkзелёный целиком.Что осталось за скобками
csso мёртв, и он же стоит в проде. Как только в
src/stylesпоявится@container,@scopeили вложенность — упадёт уже боевая сборка (@propertyтам уже есть, но его css-tree 2.2.1 переваривает). Замена на живой минификатор — отдельная задача, не сюда.Ещё 15 демок падали по другой причине — опечатка
;;в контенте, она чинится в doka-guide/content#6134.🤖 Generated with Claude Code
Превью контента из ae9714c опубликовано.