patternfly / patternfly/patternfly-react

Packages do not specify an `exports` field

Ouverte
#10,832 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Breaking change :boom: Pinned
Langage dominant
TypeScript
Étoiles
862
Forks
392
Merge moyen
4 j 8 h
PR mergées (30 j)
9

Description

Packages in the workspaces should set the exports field in the package.json file. As Node.JS doesn't read the module field, the ESM output may be skipped if the exports field is not added.

Specifying the exports field also prevents modules that are written in ESM from being interpreted as CommmonJS. For example, it is currently possible to make the following import:

import foo from "@patternfly/react-drag-drop/dist/esm/next/components/DragDrop/DragButton"

Since there is no type specified this file would be considered CommonJS, even though the source is actually written in ESM.

The exports field supplants the main and module fields, which should be removed when the exports field is introduced. This would be considered a breaking change.

This is part of a series of issues resulting from publication linting introduced under #10764

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Examinez les fichiers package.json du workspace ainsi que le contexte du linting de publication de #10764. Ajoutez des entrées exports pour les packages, supprimez les champs main et module devenus obsolètes lorsque cela s’applique, et vérifiez que l’import ESM documenté est correctement résolu par Node.js.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
node.js
Domaine
build-system, release
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.