v0.2.12
This commit is contained in:
114
examples/038-resolver-et-lockfile-examples.md
Normal file
114
examples/038-resolver-et-lockfile-examples.md
Normal file
@@ -0,0 +1,114 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user