The name of this package.
The package name is only used for display purposes.
Example:
name = "myproject"
The URI that the package is published to, without the version part.
This, along with the version, determines the import path for modules and resources published by this package.
baseUri = "package://example.com/myproject"
The version of this package.
Must adhere to semantic versioning.
version = "1.5.0"
The HTTPS location for the zip archive for this package.
packageZipUrl = "https://example.com/artifacts/myproject/\(version).zip"
The description of this package.
The maintainers' emails for this package.
Email addresses must adhere to RFC5322 mailbox specification.
email { "Johnny Appleseed <johnny.appleseed@example.com>" }
The website for this package.
website = "https://example.com/myproject"
The web URL of the Pkldoc documentation for this package.
The source code repository for this package.
sourceCode = "https://github.com/myorg/myproject"
The source code scheme for this package.
This is used to transform stack frames for errors arising for this package.
The following placeholders are available:
%{path}
%{line}
%{endLine}
%{column}
%{endColumn}
For example, if publishing to GitHub, assuming that the version gets published as a tag:
sourceCodeUrlScheme = "\(sourceCode)/blob/\(version)%{path}#L%{line}-L%{endLine}"
The license associated with this package.
If using a common license, use its SPDX license identifier.
If using multiple common licenses, use a SPDX license expression syntax version 2.0 string. For example: "Apache-2.0 or MIT".
"Apache-2.0 or MIT"
If using an uncommon license, also provide its full text in the licenseText property.
licenseText
license = "Apache-2.0"
The full text of the license associated with this package.
The web URL of the issue tracker for this package.
Paths to the tests that define the API of the package.
These tests are run as part of the pkl project package command.
pkl project package
Relative paths are resolved against PklProject's enclosing directory.
Glob imports can be useful for defining this property.
tests = import*("**.test.pkl").keys.toListing()
Glob patterns describing the set of files to exclude from packaging.
By default, the project manifest files are excluded, and any paths that start with a dot.
Glob patterns follows the same glob rules as glob imports and reads.
The effective package URI for the package represented by this project.
Returns the class of this.
this
Returns a string representation of this.
This method is used to convert the values of string interpolation expressions to strings.
Returns this |> transform if this is non-null, and null otherwise.
this |> transform
null
This method is the complement of the ?? operator and the equivalent of an Option type's map and flatMap methods.
??
Option
map
flatMap
Tells if this object has a property with the given name.
name
Returns the value of the property with the given name.
Throws if a property with this name does not exist.
Returns null if a property with this name does not exist.
Converts this object to a Dynamic object.
Dynamic
Converts this object to a Map.
Map
The name of this package.