Versions et paquets

exports package.jsonen branches

Collez le manifeste, choisissez un point d’entrée et suivez la première condition retenue.

exports package.json

Entrée package.json

Le manifeste reste dans ce navigateur : aucun envoi ni consultation de npm.

Résultat de résolution

Saisissez un manifeste package.json.

Options de résolution

Séparez les conditions par des espaces ou virgules. Aucun bundler complet n’est simulé.

Entrée ou options modifiées. Relancez avant d’exporter.

Un paquet peut fonctionner avec import puis échouer avec require. Dans les exports package.json, l’ordre des clés décide parfois du fichier choisi avant même que vous regardiez le code.

Cette vue des exports package.json suit une seule requête, ou un alias interne # via imports. Elle explique la chaîne sélectionnée et ne prétend pas lire les fichiers du paquet.

Pourquoi visualiser les exports package.json ?

Voir la première branche gagnante

Les exportations conditionnelles suivent l’ordre des clés JSON, pas celui des conditions cochées. La vue distingue les clés inactives de la cible retenue ; default placé trop tôt masque import.

Plusieurs branches ordonnées issues d’un manifeste ; seule la première branche valide est colorée.

Distinguer public et interne

Les exports package.json exposent . et ./feature. Un alias #config dans imports reste réservé au paquet. Une cible null signifie un blocage volontaire, pas un fichier perdu.

Carte séparant deux entrées publiques, un alias interne # et une branche bloquée.

Suivre une requête sans deviner le résolveur

01

Tester un nom ou un alias #

sample-kit/feature est ramené à ./feature selon name. #config utilise imports et ne s’emploie que depuis le paquet concerné.

02

Changer les conditions

Node.js avec import est le choix initial. Comparez require ou ajoutez une condition. Le mode auto attend 350 ms ; une fois coupé, bouton ou Ctrl/Cmd + Entrée lance le calcul.

03

Lire avant de transmettre

Vérifiez la clé, l’ordre et la cible. Le diagnostic ne confirme pas l’existence du fichier. Toute modification interdit de copier un ancien rapport.

Voir les choix à chaque niveau

Clés exactes et motifs *

Testez la racine, un sous-chemin exact ou un motif *. Une clé exacte prime ; les motifs les plus précis passent avant les plus larges, et null peut fermer une zone.

Node et conditions explicites

Comparez import et require sous Node.js. Ajoutez browser, types ou development pour prévisualiser un ensemble de conditions, sans simuler Vite ni TypeScript.

Règles locales de chemin

Une cible exports locale commence par ./ et ne traverse ni le parent ni node_modules. Une cible de paquet externe est permise seulement dans imports.

Ce que prouve réellement la carte

Aucune garantie de fichier
Les exports package.json désignent une chaîne. Le manifeste seul ne prouve ni la présence du fichier, ni son inclusion dans l’archive publiée, ni sa capacité à se charger.
Conditions choisies, pas outil reproduit
browser et types ne refont pas la résolution de Vite, webpack ou TypeScript, qui appliquent aussi des règles de champs, d’extensions et de déclarations.
Un alias # reste privé
imports ne rend pas un nom # public : il ne s’utilise que dans le même paquet, même si sa cible désigne un paquet externe.
Aucun examen de registre
La page ne télécharge pas de paquet, n’inspecte pas le répertoire, n’exécute pas de script et ne génère pas de nouvelle carte exports.

Questions sur les exports package.json

Dans quel ordre les exportations conditionnelles sont-elles évaluées ?

Selon l’ordre des clés de l’objet. La première branche active avec une cible l’emporte ; default placé avant import peut cacher cette dernière.

Pourquoi main est-il ignoré quand exports correspond ?

Dans les versions de Node qui prennent en charge exports, ce champ définit les entrées exposées. Cette page suit sa carte plutôt que de substituer main aux sous-chemins absents.

Que devient un sous-chemin absent des exports ?

Il n’est normalement plus accessible depuis l’extérieur. Cherchez une clé exacte ou un motif * ; null indique une interdiction explicite.

Comment choisir entre import et require ?

Changez le mode d’appel pour une même entrée. Les conditions actives de Node changent, alors que l’ordre inscrit dans la carte reste le même.

Les conditions de Vite sont-elles celles de Node.js ?

Pas entièrement. Vous pouvez ajouter des noms comme browser pour un aperçu, mais Vite possède d’autres règles de résolution que cette page ne reproduit pas.

Comment vérifier une cible sans lire le système de fichiers ?

On ne peut vérifier que la syntaxe de la cible. Pour confirmer la présence et la publication du fichier, inspectez le vrai contenu du paquet.

Une autre difficulté de résolution ?

Tester les exports package.json maintenant

Comparez import et require sur la même entrée et partagez le rapport des branches avec votre équipe.