apple / apple/pkl

"latest" packages

Open
#974 1 comment 2 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
11.5k
Forks
402
Avg merge
1d 15h
Merged PRs (30d)
20

Description

Provide a way to use the "latest" version of a package, where, the version is queried during eval.

Imagined syntax:

```pkl
import "package://example.com/foo@1.+#/myModule.pkl"
```

Or, when as a dependency:

```pkl
amends "pkl:Project"

dependencies {
["foo"] { uri = "package://example.com/foo@1.+" }
}
```

Some thoughts:

1. Projects with "latest" dependencies should be prevented from being published as packages
2. The "latest" should only be applied to the minor version or below, because the major version is part of the package identifier.

This requires a package index that can be queried.

Contributor guide

Open the contributing guide

Research direction

The issue names no files, tests, or entry points. Begin by locating package dependency resolution and the package-index design, then determine how version queries and package publication are handled. Done should cover the proposed latest-version semantics, minor-version constraint, and prevention of publishing projects with such dependencies.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system, release
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.