Exported PropTypes shapes get lost in translation
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 45/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- javascript, react
- Bereich
- build-system
Rechercherichtung
Reproduziere den gemeldeten microbundle-Befehl mit dem gemeinsamen LocaleShape-Import und untersuche das generierte Bundle, in dem die exportierte PropTypes-Shape zu null wird. Vergleiche es mit dem funktionierenden Build, der die Shape dupliziert; fertig ist es, wenn importierte Shapes gültig bleiben und die React-Prop-Type-Warnung nicht mehr expected one of [null,null] meldet.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Hi there,
Thank you for the great work you've done with microbundle. For the record, here is how I'm using the lib:
microbundle --jsx React.createElement --no-compress --format modern,cjs
I'm using react in version 17 and microbundle in version 0.12.0-next.9
I've got a PropType shape that is used in several definitions:
import PropTypes from "prop-types";
const LocaleShape = PropTypes.shape({
// two-char language code ("en", "fr", "de")
tag: PropTypes.string.isRequired,
// human readable language description
language: PropTypes.oneOf([PropTypes.object, PropTypes.string]).isRequired,
//latin, cyrillic, etc.
script: PropTypes.string,
// two-char region code ("US", "CA", "GB", "CH")
region: PropTypes.string,
// text direction / orientation: right to left, left to right
orientation: PropTypes.oneOf(["rtl", "ltr"]),
// optional emoji string for displaying a flag 🇨🇬 🇲🇼 🇹🇩
flag: PropTypes.string,
// String that can be used to search for a locale
keywords: PropTypes.string,
// locale identifier of the fallback locale
fallback: PropTypes.string,
// optional identifier. If not specified, locale identifier will result in the concatenation
// of tag and region, with a dash separator: "en-GB", "fr-CA", "nl-BE"
id: PropTypes.string,
});
export default LocaleShape;
This shape is imported in different files:
LocaleChooser.propTypes = {
value: PropTypes.oneOfType([LocaleShape, PropTypes.arrayOf(LocaleShape)]),
locales: PropTypes.arrayOf(LocaleShape),
}
When the bundle is built, it looks like the exported PropType shape is turned into null, as explain the warnings I receive in console:
Warning: Failed prop type: Invalid prop `locales[0].language` of value `[object Object]` supplied to `LocaleChooser`, expected one of [null,null].
This warning is suppressed once I remove the imports and duplicate the LocaleShape in every file that requires it. Am I missing a parameter in the command?
Thanks for your help
- Vorherrschende Sprache
- JavaScript
- Sterne
- 8.1k
- Forks
- 358
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus developit/microbundle
-
CSS
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
developit/microbundle#1002 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
developit/microbundle#789 · 1 Kommentar ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
developit/microbundle#1100 · 4 Kommentare ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
developit/microbundle#1094 · 1 Kommentar ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 45/100
developit/microbundle#1093 · 3 Kommentare · 1 Reaktion ·
Alle Issues in developit/microbundle
Ähnliche Issues
-
awaiting triage bug Causes friction Hop Gui P1 P2 Transforms
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
Improve Title Support Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
georgestephanis/p2026#40 ·
-
Enatega Customer and Rider app: Add-ons price is not visible to customer after order is placed. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
Margaret-Petersen/food-delivery-app-clone-react-native#1981 ·