Об этом проекте
Pkl — это язык конфигурации как кода, созданный Apple и призванный привнести выразительность и валидацию языков программирования в конфигурационные файлы. Вместо написания статических файлов YAML, JSON или properties пользователи пишут программы на Pkl, которые создают конфигурационный вывод, с проверкой типов, ограничениями и переиспользуемыми шаблонами.
Репозиторий представляет собой основную реализацию языка. Он поставляет CLI для вычисления файлов Pkl и их преобразования в такие форматы, как JSON, YAML и другие. Язык поддерживает богатую валидацию, поэтому недопустимые или выходящие за диапазон значения могут быть обнаружены до применения конфигурации. Документация охватывает введение, справочник по языку, инструментарий, примеры и примечания к выпускам.
Экосистема сопутствующих репозиториев расширяет Pkl на многие среды. Существуют привязки к языкам для Go и Swift, а также примеры использования Pkl внутри приложений на Go, JVM и Swift. Расширение для Spring Boot позволяет конфигурировать приложения Boot с помощью Pkl. Пользователи Kubernetes получают шаблоны и примеры, а также доступны правила сборки Bazel. Поддержка редакторов и инструментов включает языковой сервер, реализующий Language Server Protocol, плагины для JetBrains IDE и VS Code, поддержку Neovim, пакет TextMate, парсер Tree-sitter и подсветку синтаксиса Highlight.js. Общие пакеты и служебные библиотеки публикуются через репозитории pkl-pantry и pkl-project-commons, а внешние инструменты чтения находятся в pkl-readers.
Проект разрабатывается открыто на GitHub, для вопросов сообщества используются issues и GitHub Discussions. В репозитории приведены руководство по участию и инструкции по сборке, а конвейеры CI публикуют артефакты в репозиторий Sonatype. Предлагаемые изменения языка отслеживаются через репозиторий pkl-evolution в виде SPICE.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.