A quoi sert le champ package.json du module?

J’ai vu des paquets npm ( vue par exemple ) avoir un champ pkg.module dans leur package.json. Est-ce que "module" une propriété officielle de npm ou s’agit-il d’une convention quelconque? Y a-t-il une documentation pour cela quelque part? C’est pour quoi? chemin esnext? Chemin du module dégroupé?

Est-ce que "module" une propriété officielle de npm ou s’agit-il d’une convention quelconque?

C’est une proposition , mais susceptible de devenir officielle en raison d’une utilisation de facto.

Y a-t-il une documentation pour cela quelque part?

Il y a, en fait, et on peut le trouver ici et plus tard enlevé ici .

C’est pour quoi?

Interopérabilité du module ES6 dans le nœud. Une discussion supplémentaire peut être trouvée ici et ici . Et voici un billet de blog de Rich Harris en parlant davantage.

Ceci est utilisé par les outils de regroupement pour la détection ESM (ECMAScript Module). La documentation Rollup le dit assez bien:

Si votre fichier package.json comporte également un champ de module , les outils compatibles ES6 tels que Rollup et webpack 2 importeront directement la version du module ES6 .

Une discussion plus approfondie de pkg.module trouve sur le wiki pkg.module Github .