Bug - Package Publishing - Published Libraries should follow NPM dual module package standards
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 42/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- nodejs, typescript
- Domaine
- build-system, developer-experience, release
Piste de recherche
Examinez les champs de métadonnées de package présentés dans l’issue pour l’ensemble des packages PatternFly, puis reproduisez le problème actuel de résolution des modules avec vitest. Consultez d’abord les références NPM package-examples et Vite library-mode ; le travail est terminé lorsque chaque package concerné prend en charge à la fois ESM et CommonJS via des métadonnées de package standard.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
PatternFly libraries should follow NPM standards for publishing dual module (CommonJS/ESModule) packages.
PatternFly packages have
"main": "dist/js/index.js",
"module": "dist/esm/index.js",
"types": "dist/esm/index.d.ts",
This is a really early format when es modules were being initially developed and not supported by modern tooling.
NPM documentation links to this as the right way to handle dual module packages.
{
"type": "module",
"exports": {
"import": "./index.mjs",
"require": "./index.cjs"
}
}
Modern tooling like vite builds libraries with a combination of both for compatibility.
{
"name": "my-lib",
"type": "module",
"main": "./dist/my-lib.umd.cjs",
"types": "./dist/my-lib.d.ts",
"module": "./dist/my-lib.js",
"exports": {
".": {
"import": "./dist/my-lib.js",
"require": "./dist/my-lib.umd.cjs"
}
}
}
This is currently blocking us from using vitest to test because it gets really confused. It tries to import the code as ESM but then is unhappy that the package is not marked as type "module". If we manually add type 'module', it then runs into some code that uses a 'require', which is not valid in the scope of a module.
PatternFly packages should support both ESM and CommonJS using NPM standards for better compatibility.
This affects all PF packages not just react-core.
- Langage dominant
- TypeScript
- Étoiles
- 862
- Forks
- 392
- Merge moyen
- 4 j 8 h
- PR mergées (30 j)
- 9
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de patternfly/patternfly-react
-
PF Team
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
patternfly/patternfly-react#12651 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
patternfly/patternfly-react#12637 ·
-
PF Team
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
patternfly/patternfly-react#12617 · 1 commentaire ·
-
PF Team
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
patternfly/patternfly-react#12610 · 1 commentaire · 1 réaction ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
patternfly/patternfly-react#12600 ·
Toutes les issues de patternfly/patternfly-react
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
bcgov/bc-wallet-mobile#4761 · 1 commentaire ·
-
external-issue to-triage
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
-
area-deployment area-integrations triage:bot-seen
Difficulté 2/5 Une demi-journée Accessibilité débutants 86/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
-
refactor
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100