2.1 KiB
2.1 KiB
Exemples / DO-DON'T — Chapitre 38 — Resolver et lockfile
Document compagnon non normatif tant qu'une règle n'est pas explicitement référencée comme normative par le chapitre.
Exemples actuellement présents dans le chapitre
Exemple 1
identity vendor/package
selector vendor/package@requirement
resolved instance vendor/package@MAJOR.MINOR.PATCH
Exemple 2
A -> foo/bar@^2.0
B -> foo/bar@^2.5
Exemple 3
A -> foo/bar@^2.0
B -> foo/bar@^3.0
Exemple 4
1. conservation des versions déjà verrouillées lorsqu'elles restent valides ;
2. minimisation du nombre d'instances distinctes ;
3. versions SemVer compatibles les plus élevées lorsqu'une nouvelle résolution est nécessaire.
Exemple 5
vendor/package@1.2.3
Exemple 6
saselang.lock
Exemple 7
project.manifest.toml
saselang.lock
Exemple 8
workspace.manifest.toml
saselang.lock
projects/.../project.manifest.toml
Exemple 9
identité vendor/package
selector/requirement d'origine
version exacte résolue
kind
source exacte
locator stable lorsque pertinent
checksum/intégrité lorsque pertinent
commit exact pour Git
features résolues
instances multi-version
graphe de dépendances
conditions target/features pertinentes
Exemple 10
normal
utilise le lock ;
le complète/corrige si nécessaire ;
n'upgrade pas gratuitement
locked
interdit toute modification du lock ;
échoue si le graphe demandé n'est pas reproductible
update
recherche volontairement de nouvelles versions compatibles
Exemple 11
resolved-package-instance
+ namespace
+ symbol
Exemple 12
acme/foo@1.0.0 :: data.Node
acme/foo@2.0.0 :: data.Node
DO / DON'T / WHY / compiler error / edge cases
La couverture structurée de cette section sera enrichie au fur et à mesure de la fermeture des règles du chapitre. La migration 0.2.12 conserve volontairement les exemples historiques dans le chapitre afin de ne perdre aucun contexte normatif.