Bug - Package Publishing - Published Libraries should follow NPM dual module package standards
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 42/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- nodejs, typescript
Línea de trabajo
Revisa los campos de metadatos de paquete mostrados en el issue en todos los paquetes de PatternFly y luego reproduce el problema actual de resolución de módulos con vitest. Consulta primero las referencias de NPM package-examples y Vite library-mode; se considera terminado cuando cada paquete afectado admite tanto ESM como CommonJS mediante metadatos de paquete estándar.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- TypeScript
- Estrellas
- 862
- Forks
- 392
- Merge medio
- 4 d 8 h
- PR fusionados (30 d)
- 9
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de patternfly/patternfly-react
-
PF Team
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
patternfly/patternfly-react#12651 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
patternfly/patternfly-react#12637 ·
-
PF Team
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
patternfly/patternfly-react#12617 · 1 comentario ·
-
PF Team
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
patternfly/patternfly-react#12610 · 1 comentario · 1 reacción ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
patternfly/patternfly-react#12600 ·
Todos los issues de patternfly/patternfly-react
Issues similares
-
bug(cli): hapi doctor inline-media prints a fabricated B:\ helper-script path in packaged installs Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Crush Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
catppuccin/catppuccin#3125 ·
-
Add a SECURITY.md Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
ElementsProject/cln-application#167 · 1 comentario · 1 reacción ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Quantco/pnpm-licenses#17 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100