@syldel/hl-shared-types 0.0.28 → 0.0.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -22
- package/package.json +2 -3
package/README.md
CHANGED
|
@@ -85,37 +85,48 @@ Pour utiliser ce package dans tes autres projets (`bot`, `gateway` ou `mobile`)
|
|
|
85
85
|
|
|
86
86
|
## 📦 Publication
|
|
87
87
|
|
|
88
|
-
|
|
88
|
+
La publication passe par **GitHub Actions, sans aucun jeton npm** : le workflow
|
|
89
|
+
[`publish.yml`](.github/workflows/publish.yml) s'authentifie auprès de npm par OIDC
|
|
90
|
+
(« trusted publishing ») et **dépose** la version sans la rendre publique
|
|
91
|
+
(`npm stage publish`). Elle ne devient installable qu'après **approbation avec la 2FA**
|
|
92
|
+
du mainteneur. Un workflow, une action ou une dépendance compromis ne peut donc, au
|
|
93
|
+
pire, que déposer une version qu'on refusera. Le paquet porte en plus une attestation
|
|
94
|
+
de provenance qui le relie au commit et au workflow qui l'ont construit.
|
|
95
|
+
|
|
96
|
+
Jusqu'au 2026-11-03, la publication se faisait depuis le poste avec un jeton « Bypass
|
|
97
|
+
2FA » rangé dans un `.npmrc` : n'importe quel paquet malveillant installé sur la
|
|
98
|
+
machine pouvait le lire et publier à notre place. npm retire d'ailleurs la publication
|
|
99
|
+
directe par jeton en janvier 2027.
|
|
89
100
|
|
|
90
|
-
###
|
|
91
|
-
1. Générer un token sur NPM avec les permissions `Read and Write`.
|
|
92
|
-
2. Restreindre l'accès au package `@syldel/hl-shared-types` uniquement.
|
|
93
|
-
3. Utiliser l'option `Bypass 2FA` pour permettre l'automatisation.
|
|
101
|
+
### Publier une nouvelle version
|
|
94
102
|
|
|
95
|
-
### Commande de publication rapide
|
|
96
|
-
Si tu n'utilises pas de fichier `.npmrc`, tu peux publier en passant le token directement :
|
|
97
103
|
```bash
|
|
98
|
-
npm
|
|
104
|
+
npm version patch # ou minor, major : met à jour package.json et crée le tag v<version>
|
|
105
|
+
git push origin main --follow-tags
|
|
99
106
|
```
|
|
100
107
|
|
|
101
|
-
|
|
102
|
-
|
|
108
|
+
Le tag `v*` déclenche le workflow : il vérifie que le tag correspond à `package.json`,
|
|
109
|
+
relance lint, tests, build et le contrôle du contenu du paquet, puis dépose la version.
|
|
110
|
+
Il reste à l'approuver :
|
|
103
111
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
112
|
+
- sur [npmjs.com](https://www.npmjs.com), onglet **Staged Packages**, bouton **Approve** ;
|
|
113
|
+
- ou en ligne de commande : `npm stage list @syldel/hl-shared-types`, puis
|
|
114
|
+
`npm stage approve <stage-id>` (demande la 2FA).
|
|
107
115
|
|
|
108
|
-
|
|
109
|
-
La commande suivante automatise le build, l'incrémentation de version et l'envoi vers NPM :
|
|
116
|
+
Une version déposée par erreur se refuse avec `npm stage reject <stage-id>`.
|
|
110
117
|
|
|
111
|
-
|
|
112
|
-
npm run release
|
|
113
|
-
```
|
|
118
|
+
### Réglages côté npm (une fois)
|
|
114
119
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
120
|
+
Dans les réglages du paquet sur npmjs.com :
|
|
121
|
+
|
|
122
|
+
- **Trusted Publisher** : GitHub Actions, utilisateur `Syldel`, dépôt `hl-shared-types`, workflow
|
|
123
|
+
`publish.yml`, actions autorisées **`npm stage publish` seulement**. ⚠️ Une
|
|
124
|
+
déclaration neuve expire si aucune publication ne la valide sous **2 jours**.
|
|
125
|
+
- **Publishing access** : « Require two-factor authentication and disallow tokens ».
|
|
126
|
+
|
|
127
|
+
⚠️ Renommer `publish.yml` ou le dépôt casse la publication (ENEEDAUTH) : la déclaration
|
|
128
|
+
sur npmjs.com les nomme exactement. Le champ `repository.url` de `package.json` doit
|
|
129
|
+
aussi correspondre au dépôt GitHub.
|
|
119
130
|
|
|
120
131
|
---
|
|
121
132
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@syldel/hl-shared-types",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.29",
|
|
4
4
|
"description": "Shared TypeScript interfaces and types for Hyperliquid integration.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -21,8 +21,7 @@
|
|
|
21
21
|
"lint:fix": "eslint . --fix",
|
|
22
22
|
"clean": "rm -rf dist",
|
|
23
23
|
"build": "npm run lint && npm run test && npm run clean && tsc",
|
|
24
|
-
"prepublishOnly": "npm run build"
|
|
25
|
-
"release": "npm run build && npm version patch && npm publish"
|
|
24
|
+
"prepublishOnly": "npm run build"
|
|
26
25
|
},
|
|
27
26
|
"publishConfig": {
|
|
28
27
|
"access": "public"
|