-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpnpm-workspace.yaml
More file actions
79 lines (70 loc) · 3.99 KB
/
Copy pathpnpm-workspace.yaml
File metadata and controls
79 lines (70 loc) · 3.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# https://pnpm.io/settings
# Ce qui remonte à la racine de `node_modules`, et rien d'autre. Un hoisting
# global (`shamefullyHoist`) revient à `publicHoistPattern: '*'` : le projet
# accède alors à des paquets qu'il n'a jamais déclarés, et une dépendance
# retirée du manifeste continue de fonctionner jusqu'au jour où elle disparaît
# de l'arbre. Nommer les motifs rend cette dette visible au lieu de la couvrir.
publicHoistPattern:
- '@fontsource/*'
- 'vite'
# Aucun préfixe sur les versions écrites par `pnpm add` et `pnpm up` :
# le manifeste porte des versions exactes, pas des plages.
savePrefix: ''
# Fait échouer l'installation quand le Node ou le pnpm courant ne satisfait
# pas le champ `engines` du manifeste, au lieu d'un simple avertissement.
engineStrict: true
# Seuls ces deux paquets ont le droit d'exécuter un script au moment de
# l'installation. Tout le reste est inerte sur le disque tant que rien ne
# l'importe.
allowBuilds:
'@parcel/watcher': true
esbuild: true
# Fait échouer l'installation si un script de build apparaît dans l'arbre des
# dépendances sans figurer ci-dessus. C'est déjà le défaut de pnpm 11 ; le
# déclarer le met à l'abri d'un retour en arrière, et dit l'intention à qui lit.
strictDepBuilds: true
# Refuse les versions publiées il y a moins de 24 heures. Défense contre les
# attaques où un jeton compromis publie une version malveillante : la fenêtre
# pendant laquelle le mainteneur légitime peut détecter et dépublier reste,
# elle, exploitable.
#
# 1440 est déjà le défaut de pnpm 11 — ce n'est donc pas la durée qu'on gagne
# ici. C'est `minimumReleaseAgeStrict`, qui ne vaut `true` que si le seuil est
# déclaré **explicitement**. Sans cette ligne, pnpm ne refuse pas une version
# trop jeune : il retombe dessus et inscrit lui-même la dérogation dans ce
# fichier. La quarantaine se désactive alors toute seule, en silence, et on ne
# le voit qu'en relisant le diff. Mesuré : `@anthropic-ai/claude-agent-sdk`
# 0.3.231, publié six heures plus tôt, s'est installé accompagné de neuf lignes
# d'exclusion ajoutées sans un mot.
minimumReleaseAge: 1440
# Ce qu'on refuse d'installer, quoi qu'en dise un manifeste.
#
# Un manifeste ÉPINGLE, un override CONTRAINT : l'épingle se réécrit au premier
# `pnpm up --latest` ou par une transitive, l'override tient. Chaque entrée porte
# la raison qui la retient et la condition de son retrait.
overrides:
# La vitrine tire une chaîne d'outils à elle. `vitepress` 1.6.4 — la dernière
# publiée, la 2 n'existe qu'en alpha — épingle `vite@^5.4.14`, et la ligne 5 de
# Vite n'a **jamais** reçu les correctifs : le plus bas est 6.4.3. Sans cette
# ligne, quatre avis restent ouverts en permanence, dont un de gravité haute qui
# vise Windows, la seule plateforme du projet.
#
# La portée compte : `vitepress>vite` et non `vite`. AURA elle-même est en
# vite 8.2.1 ; un remplacement global la ferait *descendre* de deux majeures.
#
# Ce qui permettrait de le retirer : une vitepress stable qui accepte vite 6 ou
# au-delà — la 2, aujourd'hui en alpha. Le jour où `pnpm why vite` ne montre
# plus vitepress tirer une ligne 5, cette ligne n'a plus d'objet.
vitepress>vite: '^6.4.3'
# TypeScript 7 a retiré l'API programmatique du compilateur (`ts.createProgram`,
# `ts.factory`), sur laquelle repose la vérification des composants monofichiers.
# vue-tsc échoue au chargement : la montée ne casse pas un type ici ou là, elle
# casse `pnpm typecheck` en entier. https://github.com/vuejs/language-tools/issues/5381
#
# À retirer quand vue-tsc publiera une version compatible — et pas avant de l'avoir
# vérifié : un override que personne ne teste survit à sa raison d'être.
typescript: '<7'
# Les types suivent la majeure de Node qu'on exécute (`engines.node: ^24`).
# Au-delà de la 24, ils décrivent des API absentes du runtime : le code
# compile et échoue à l'exécution. À retirer quand `engines.node` changera de ligne.
'@types/node': '<25'