Files
saselang-bible/examples/038-resolver-et-lockfile-examples.md
2026-09-12 08:56:27 +02:00

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.