115 lines
2.1 KiB
Markdown
115 lines
2.1 KiB
Markdown
# 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
|
|
|
|
```text
|
|
identity vendor/package
|
|
selector vendor/package@requirement
|
|
resolved instance vendor/package@MAJOR.MINOR.PATCH
|
|
```
|
|
|
|
### Exemple 2
|
|
|
|
```text
|
|
A -> foo/bar@^2.0
|
|
B -> foo/bar@^2.5
|
|
```
|
|
|
|
### Exemple 3
|
|
|
|
```text
|
|
A -> foo/bar@^2.0
|
|
B -> foo/bar@^3.0
|
|
```
|
|
|
|
### Exemple 4
|
|
|
|
```text
|
|
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
|
|
|
|
```text
|
|
vendor/package@1.2.3
|
|
```
|
|
|
|
### Exemple 6
|
|
|
|
```text
|
|
saselang.lock
|
|
```
|
|
|
|
### Exemple 7
|
|
|
|
```text
|
|
project.manifest.toml
|
|
saselang.lock
|
|
```
|
|
|
|
### Exemple 8
|
|
|
|
```text
|
|
workspace.manifest.toml
|
|
saselang.lock
|
|
projects/.../project.manifest.toml
|
|
```
|
|
|
|
### Exemple 9
|
|
|
|
```text
|
|
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
|
|
|
|
```text
|
|
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
|
|
|
|
```text
|
|
resolved-package-instance
|
|
+ namespace
|
|
+ symbol
|
|
```
|
|
|
|
### Exemple 12
|
|
|
|
```text
|
|
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.
|