这个项目能做什么
Pkl 是 Apple 创建的一种配置即代码语言,旨在将编程语言的表达能力和校验能力引入配置文件。用户不再编写静态的 YAML、JSON 或属性文件,而是编写 Pkl 程序来生成配置输出,并具备类型检查、约束和可复用模板。
该仓库是该语言的核心实现。它提供一个 CLI,用于求值 Pkl 文件并将其渲染为 JSON、YAML 等格式。该语言支持丰富的校验,因此无效或超出范围的值可以在配置应用之前被捕获。文档涵盖简介、语言参考、工具、示例和发布说明。
一个由配套仓库组成的生态系统将 Pkl 扩展到许多环境。存在面向 Go 和 Swift 的语言绑定,并且有在 Go、JVM 和 Swift 应用程序中使用 Pkl 的示例。Spring Boot 扩展允许使用 Pkl 配置 Boot 应用。Kubernetes 用户可获得模板和示例,并且提供 Bazel 构建规则。编辑器和工具支持包括实现 Language Server Protocol 的语言服务器、JetBrains IDE 和 VS Code 插件、Neovim 支持、TextMate bundle、Tree-sitter 解析器以及 Highlight.js 语法高亮。共享包和实用库通过 pkl-pantry 和 pkl-project-commons 仓库发布,外部读取器工具位于 pkl-readers。
该项目在 GitHub 上公开开发,社区问题可通过 issues 和 GitHub Discussions 提出。仓库中提供了贡献指南和构建说明,CI 流水线将产物发布到 Sonatype 仓库。建议的语言变更通过 pkl-evolution 仓库以 SPICE 形式跟踪。
评论
0 评分人数达到10人后显示
登录后参与讨论。