Parcel CSS, парсер, компилятор и минификатор CSS на основе Rust, был анонсирован на этой неделе и позиционируется как инструмент, предлагающий преимущества в производительности и минимизации.
Написанный на языке Rust, инструмент выполняет компиляцию модулей CSS, а также встряхивание деревьев и транспилирование функций CSS, таких как вложение, логические свойства и цветовой синтаксис уровня 4. Parcel CSS, представленный 12 января создателями веб-инструмента сборки Parcel, можно найти на GitHub. Parcel CSS можно использовать с Parcel или как отдельную библиотеку из JavaScript или Rust. Его также можно обернуть как плагин в другие инструменты.
Разработчики могут попробовать живую демо-версию в браузере. Согласно бюллетеню по этой технологии, Parcel CSS работает быстро не только потому, что он написан на родном языке, но и потому, что он был разработан для обеспечения высокой производительности. В инструменте реализована оптимизация памяти, например представление префиксов поставщиков с использованием однобайтовых флагов и анализ свойств CSS в структурированные данные, а не представление их в виде строк, которые необходимо анализировать повторно при каждом использовании. По словам сторонников, несмотря на то, что Parcel CSS ориентирован на скорость, он не идет на компромисс с размером. Во многих случаях он может выдавать меньший результат, чем другие инструменты, поскольку он имеет возможность преобразовывать устаревший синтаксис CSS, используемый во многих библиотеках, в меньший современный синтаксис. Он также понимает каждое отдельное свойство CSS.
В основе Parcel CSS лежит cssparser Rust crate, токенизатор браузерного уровня, используемый в браузере Firefox. Это предназначено для обеспечения основы, включающей токенизацию и базовый анализ. Пользователи Parcel могут опробовать Parcel CSS, добавив следующее в свои .parcelrc
файл:
{
"extends": "@parcel/config-default",
"transformers": {
"*.css": ["@parcel/transformer-css-experimental"]
},
"optimizers": {
"*.css": ["@parcel/optimizer-css"]
}
}
Пользователям также следует добавить browserlist
в свой package.json, чтобы определить целевые браузеры, для которых будет скомпилирован целевой CSS.
Дальше читайте это:
- Облачные вычисления больше не являются пустяком
- Что такое генеративный ИИ? Искусственный интеллект, который создает
- Программирование с помощью ИИ: советы и лучшие практики от разработчиков
- Python пытается удалить GIL и повысить параллелизм
- 7 причин, по которым Java по-прежнему хороша
- Война за лицензирование открытого исходного кода окончена