Skip to content

Commit a816e62

Browse files
committed
Merge remote-tracking branch 'origin/main' into test/coverage-includes
2 parents 4f47291 + 85b5c80 commit a816e62

File tree

11 files changed

+701
-456
lines changed

11 files changed

+701
-456
lines changed

.github/workflows/chromatic.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
run: pnpm install
3838

3939
- name: 🧪 Run Chromatic Visual and Accessibility Tests
40-
uses: chromaui/action@0794e6939fe40ce46a88963f818092afc427da5b # v15.3.0
40+
uses: chromaui/action@f191a0224b10e1a38b2091cefb7b7a2337009116 # v16.0.0
4141
env:
4242
CHROMATIC_BRANCH: ${{ github.event.pull_request.head.ref || github.ref_name }}
4343
CHROMATIC_SHA: ${{ github.event.pull_request.head.sha || github.sha }}

CONTRIBUTING.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -752,6 +752,23 @@ pnpm test:browser:ui # Run with Playwright UI
752752

753753
Make sure to read about [Playwright best practices](https://playwright.dev/docs/best-practices) and don't rely on classes/IDs but try to follow user-replicable behaviour (like selecting an element based on text content instead).
754754

755+
#### Updating snapshots
756+
757+
Some tests use image snapshots that must match the CI environment (Linux). If you need to update them, and aren't running Linux, you can use Docker to run in the same environment:
758+
759+
```bash
760+
docker run --rm \
761+
-e CI=true \
762+
-e NODE_OPTIONS="--max-old-space-size=4096" \
763+
-v $(pwd):/work \
764+
-w /work \
765+
mcr.microsoft.com/playwright:v1.58.2-noble \
766+
sh -c "npm install -g pnpm && pnpm install && pnpm vp run build:test && pnpm vp run test:browser:prebuilt --update-snapshots"
767+
```
768+
769+
> [!NOTE]
770+
> If the build runs out of memory, increase `--max-old-space-size` to `8192`.
771+
755772
### Test fixtures (mocking external APIs)
756773

757774
E2E tests use a fixture system to mock external API requests, ensuring tests are deterministic and don't hit real APIs. This is handled at two levels:

cli/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
"@types/node": "24.12.0",
4444
"@types/validate-npm-package-name": "4.0.2",
4545
"tsdown": "0.21.4",
46-
"typescript": "5.9.3"
46+
"typescript": "6.0.2"
4747
},
4848
"engines": {
4949
"node": ">=24"

i18n/locales/de-DE.json

Lines changed: 229 additions & 103 deletions
Large diffs are not rendered by default.

i18n/locales/fr-FR.json

Lines changed: 101 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,9 @@
3636
"go_to_result": "Ouvrir le résultat",
3737
"open_code_view": "Ouvrir la vue code",
3838
"open_docs": "Ouvrir la doc",
39-
"disable_shortcuts": "Vous pouvez désactiver les raccourcis clavier dans {settings}."
39+
"disable_shortcuts": "Vous pouvez désactiver les raccourcis clavier dans {settings}.",
40+
"open_main": "Ouvrir les informations principales",
41+
"open_diff": "Ouvrir les différences de version"
4042
},
4143
"search": {
4244
"label": "Rechercher des paquets npm",
@@ -94,6 +96,7 @@
9496
},
9597
"draft_badge": "Brouillon",
9698
"draft_banner": "Ceci est un brouillon non publié. Il peut être incomplet ou contenir des inexactitudes.",
99+
"no_posts": "Aucun article trouvé.",
97100
"atproto": {
98101
"view_on_bluesky": "Voir sur Bluesky",
99102
"reply_on_bluesky": "Répondre sur Bluesky",
@@ -136,12 +139,15 @@
136139
"include_types_description": "Inclure les paquets {'@'}types à la commande d'installation pour les paquets non typés",
137140
"hide_platform_packages": "Masquer les paquets spécifiques à la plateforme dans la recherche",
138141
"hide_platform_packages_description": "Masquer les paquets binaires natifs comme {'@'}esbuild/linux-x64 des résultats",
142+
"enable_graph_pulse_loop": "Activer la boucle de l'effet de pulsation sur le mini-graphe",
143+
"enable_graph_pulse_loop_description": "Activer une animation de pulsation continue sur le graphique des téléchargements hebdomadaires. Cette animation peut être gênante pour certaines personnes.",
139144
"theme": "Thème",
140145
"theme_light": "Clair",
141146
"theme_dark": "Sombre",
142147
"theme_system": "Système",
143148
"language": "Langue de l'interface",
144149
"help_translate": "Aidez-nous à traduire npmx",
150+
"translation_status": "Consulter l'état global des traductions",
145151
"accent_colors": {
146152
"label": "Couleurs d'accentuation",
147153
"sky": "Ciel",
@@ -207,8 +213,20 @@
207213
"error": "Erreur",
208214
"view_on": {
209215
"npm": "voir sur npm",
210-
"github": "Voir sur GitHub"
211-
}
216+
"github": "Voir sur GitHub",
217+
"gitlab": "Voir sur GitLab",
218+
"bitbucket": "Voir sur Bitbucket",
219+
"codeberg": "Voir sur Codeberg",
220+
"git_repo": "Voir le dépôt Git",
221+
"forgejo": "Voir sur Forgejo",
222+
"gitea": "Voir sur Gitea",
223+
"gitee": "Voir sur Gitee",
224+
"radicle": "Voir sur Radicle",
225+
"sourcehut": "Voir sur SourceHut",
226+
"tangled": "Voir sur Tangled"
227+
},
228+
"collapse": "Réduire",
229+
"expand": "Développer"
212230
},
213231
"profile": {
214232
"display_name": "Nom d'affichage",
@@ -290,6 +308,7 @@
290308
"view_source": "Voir la source"
291309
},
292310
"links": {
311+
"main": "principal",
293312
"repo": "dépôt",
294313
"homepage": "site web",
295314
"issues": "issues",
@@ -373,7 +392,9 @@
373392
"published": "Publié",
374393
"weekly_downloads": "Téléchargements hebdomadaires",
375394
"keywords": "Mots-clés",
376-
"license": "Licence"
395+
"license": "Licence",
396+
"select": "Sélectionner le paquet",
397+
"select_maximum": "Vous pouvez sélectionner jusqu'à {count} paquets"
377398
},
378399
"versions": {
379400
"title": "Versions",
@@ -388,17 +409,21 @@
388409
"all_covered": "Toutes les versions sont couvertes par les tags ci-dessus",
389410
"deprecated_title": "{version} (dépréciée)",
390411
"view_all": "Voir la version | Voir les {count} versions",
412+
"view_all_versions": "Voir toutes les versions",
391413
"distribution_title": "Groupe Semver",
392414
"distribution_modal_title": "Versions",
393415
"distribution_range_date_same_year": "de {from} à {to} {endYear}",
394416
"distribution_range_date_multiple_years": "de {from} {startYear} à {to} {endYear}",
395417
"grouping_major": "Majeure",
396418
"grouping_minor": "Mineure",
397419
"grouping_versions_title": "Versions",
420+
"grouping_versions_about": "À propos du regroupement des versions",
398421
"grouping_versions_all": "Toutes",
399422
"grouping_versions_only_recent": "Récentes seulement",
400423
"grouping_usage_title": "Utilisation",
424+
"grouping_usage_about": "À propos du regroupement par utilisation",
401425
"grouping_usage_all": "Toutes",
426+
"grouping_usage_most_used": "Les plus utilisées",
402427
"recent_versions_only_tooltip": "Ne montrer que les versions publiées durant l'année écoulée.",
403428
"show_low_usage_tooltip": "Inclure les groupes de versions avec moins d'1% des téléchargements totaux.",
404429
"y_axis_label": "Téléchargements",
@@ -408,6 +433,11 @@
408433
"filter_tooltip": "Filtrer les versions avec une {link}. Par exemple, ^3.0.0 affiche toutes les versions 3.x.",
409434
"filter_tooltip_link": "plage semver",
410435
"no_matches": "Aucune version ne correspond à cette plage",
436+
"page_title": "Historique des versions",
437+
"current_tags": "Tags actuels",
438+
"version_filter_placeholder": "Filtrer les versions...",
439+
"version_filter_label": "Filtrer les versions",
440+
"no_match_filter": "Aucune version ne correspond à {filter}",
411441
"copy_alt": {
412442
"per_version_analysis": "La version {version} a été téléchargée {downloads} fois",
413443
"general_description": "Graphique en barres montrant les téléchargements par version pour {versions_count} versions {semver_grouping_mode} du paquet {package_name}, {date_range_label} de la version {first_version} à la version {last_version}. La version la plus téléchargée est {max_downloaded_version} avec {max_version_downloads} téléchargements. {per_version_analysis}. {watermark}."
@@ -422,7 +452,8 @@
422452
"outdated_major": "{count} version majeure en retard (dernière : {latest}) | {count} versions majeures en retard (dernière : {latest})",
423453
"outdated_minor": "{count} version mineure en retard (dernière : {latest}) | {count} versions mineures en retard (dernière : {latest})",
424454
"outdated_patch": "Mise à jour patch disponible (dernière : {latest})",
425-
"has_replacement": "Cette dépendance a des remplacements suggérés"
455+
"has_replacement": "Cette dépendance a des remplacements suggérés",
456+
"vulnerabilities_count": "{count} vulnérabilité | {count} vulnérabilités"
426457
},
427458
"peer_dependencies": {
428459
"title": "Dépendances peer ({count})",
@@ -484,6 +515,7 @@
484515
"data_correction": "Correction des données",
485516
"average_window": "Plage de moyenne",
486517
"smoothing": "Lissage",
518+
"prediction": "Prédiction",
487519
"known_anomalies": "Anomalies connues",
488520
"known_anomalies_description": "Interpole les pics de téléchargements connus causés par des bots ou des problèmes de CI.",
489521
"known_anomalies_ranges": "Plages d'anomalies",
@@ -529,6 +561,7 @@
529561
"esm": "ES Modules supportés",
530562
"cjs": "CommonJS supporté",
531563
"no_esm": "Pas de support des ES Modules",
564+
"wasm": "Dispose de WebAssembly",
532565
"types_label": "Types",
533566
"types_included": "Types inclus",
534567
"types_available": "Types disponibles via {package}",
@@ -602,6 +635,10 @@
602635
"b": "{size} o",
603636
"kb": "{size} ko",
604637
"mb": "{size} Mo"
638+
},
639+
"download": {
640+
"button": "Télécharger",
641+
"tarball": "Télécharger le tarball au format .tar.gz"
605642
}
606643
},
607644
"connector": {
@@ -806,7 +843,9 @@
806843
"preview": "aperçu",
807844
"code": "code"
808845
},
809-
"file_path": "Chemin du fichier"
846+
"file_path": "Chemin du fichier",
847+
"binary_file": "Fichier binaire",
848+
"binary_rendering_warning": "Le type de fichier \"{contentType}\" n'est pas pris en charge pour l'aperçu."
810849
},
811850
"badges": {
812851
"provenance": {
@@ -868,6 +907,8 @@
868907
"secure": "Sans avertissements",
869908
"insecure": "Avec avertissements"
870909
},
910+
"view_selected": "Voir la sélection",
911+
"clear_selected_label": "Effacer la sélection",
871912
"sort": {
872913
"label": "Trier les paquets",
873914
"toggle_direction": "Inverser l'ordre",
@@ -901,7 +942,8 @@
901942
"popularity_score": "Score de popularité",
902943
"maintenance_score": "Score de maintenance",
903944
"combined_score": "Score combiné",
904-
"security": "Sécurité"
945+
"security": "Sécurité",
946+
"selection": "Sélectionner le paquet"
905947
},
906948
"view_mode": {
907949
"label": "Mode d'affichage",
@@ -1048,7 +1090,8 @@
10481090
"error": "Échec du chargement des organisations",
10491091
"empty": "Aucune organisation trouvée",
10501092
"view_all": "Tout voir"
1051-
}
1093+
},
1094+
"pr": "Ouvrir la pull request GitHub #{prNumber}"
10521095
},
10531096
"compare": {
10541097
"packages": {
@@ -1181,6 +1224,15 @@
11811224
"file_size_warning": "{size} dépasse la limite de 250 Ko pour la comparaison",
11821225
"compare_versions": "diff",
11831226
"compare_versions_title": "Comparer avec la dernière version",
1227+
"comparing_versions_label": "Comparaison des versions...",
1228+
"version_back_to_package": "Retour au paquet",
1229+
"version_error_message": "Échec de la comparaison des versions.",
1230+
"version_invalid_url_format": {
1231+
"hint": "URL de comparaison invalide. Utilisez le format : {0}",
1232+
"from_version": "de",
1233+
"to_version": "à"
1234+
},
1235+
"version_selector_title": "Comparer avec la version",
11841236
"summary": "Résumé",
11851237
"deps_count": "{count} dépendances",
11861238
"dependencies": "Dépendances",
@@ -1206,7 +1258,18 @@
12061258
"files_button": "Fichiers",
12071259
"select_file_prompt": "Sélectionnez un fichier dans la barre latérale pour voir son diff",
12081260
"close_files_panel": "Fermer le panneau de fichiers",
1209-
"filter_files_label": "Filtrer les fichiers par type de modification"
1261+
"filter_files_label": "Filtrer les fichiers par type de modification",
1262+
"change_ratio": "Ratio de changement",
1263+
"char_edits": "Modifications de caractères",
1264+
"diff_distance": "Distance de diff",
1265+
"loading_diff": "Chargement du diff...",
1266+
"loading_diff_error": "Échec du chargement du diff",
1267+
"merge_modified_lines": "Fusionner les lignes modifiées",
1268+
"no_content_changes": "Aucun changement de contenu détecté",
1269+
"options": "Options",
1270+
"view_file": "Voir le fichier",
1271+
"view_in_code_browser": "Voir dans le navigateur de code",
1272+
"word_wrap": "Retour à la ligne"
12101273
},
12111274
"pds": {
12121275
"title": "npmx.social",
@@ -1345,5 +1408,34 @@
13451408
"p1": "Si vous rencontrez un problème d'accessibilité sur {app}, veuillez nous le faire savoir en ouvrant une issue sur notre {link}. Nous prenons ces rapports au sérieux et ferons de notre mieux pour les régler.",
13461409
"link": "dépôt GitHub"
13471410
}
1411+
},
1412+
"translation_status": {
1413+
"title": "état des traductions",
1414+
"generated_at": "Date de génération : {date}",
1415+
"welcome": "Si vous souhaitez nous aider à traduire {npmx} dans l'une des langues listées ci-dessous, vous êtes au bon endroit ! Cette page mise à jour automatiquement recense toujours tout le contenu qui a besoin de votre aide en ce moment.",
1416+
"p1": "Nous utilisons {lang} comme langue par défaut, avec un total de {count}. Si vous souhaitez aider à ajouter des traductions, trouvez la langue dans {bylang} et développez les détails.",
1417+
"p1_lang": "anglais américain (en-US)",
1418+
"p1_count": "0 message | 1 message | {count} messages",
1419+
"p2": "Avant de commencer, veuillez lire notre {guide} pour en savoir plus sur notre processus de traduction et sur la façon de contribuer.",
1420+
"guide": "guide de localisation (i18n)",
1421+
"by_locale": "Progression des traductions par langue",
1422+
"by_file": "Progression des traductions par fichier",
1423+
"complete_text": "Cette traduction est complète, bravo !",
1424+
"missing_text": "manquantes",
1425+
"missing_keys": "Aucune traduction manquante | Traduction manquante | Traductions manquantes",
1426+
"progress_label": "État d'avancement pour {locale}",
1427+
"table": {
1428+
"file": "Fichier",
1429+
"status": "Statut",
1430+
"error": "Erreur lors du chargement de la liste des fichiers.",
1431+
"empty": "Aucun fichier trouvé",
1432+
"file_link": "Modifier {file} ({lang}) sur GitHub"
1433+
}
1434+
},
1435+
"action_bar": {
1436+
"title": "barre d'actions",
1437+
"selection": "0 sélectionné | 1 sélectionné | {count} sélectionnés",
1438+
"shortcut": "Appuyez sur « {key} » pour cibler les actions",
1439+
"button_close_aria_label": "Fermer la barre d'actions"
13481440
}
13491441
}

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@
128128
"@vue/test-utils": "2.4.6",
129129
"axe-core": "4.11.1",
130130
"changelogen": "0.6.2",
131-
"chromatic": "15.3.0",
131+
"chromatic": "16.0.0",
132132
"devalue": "5.6.4",
133133
"eslint-plugin-regexp": "3.1.0",
134134
"fast-check": "4.6.0",
@@ -139,7 +139,7 @@
139139
"schema-dts": "1.1.5",
140140
"storybook": "catalog:storybook",
141141
"storybook-i18n": "catalog:storybook",
142-
"typescript": "5.9.3",
142+
"typescript": "6.0.2",
143143
"unplugin-vue-markdown": "30.0.0",
144144
"vitest": "npm:@voidzero-dev/vite-plus-test@0.1.12",
145145
"vue-i18n-extract": "2.0.7",

playwright.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ export default defineConfig<ConfigOptions>({
1515
webServer: {
1616
command: 'pnpm start:playwright:webserver',
1717
url: baseURL,
18-
reuseExistingServer: false,
18+
reuseExistingServer: !process.env.CI,
1919
timeout: 60_000,
2020
},
2121
// Start/stop mock connector server before/after all tests (teardown via returned closure)

0 commit comments

Comments
 (0)