developit / developit/microbundle

Exported PropTypes shapes get lost in translation

未關閉
#766 5 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
question :grey_question:
主要語言
JavaScript
星號
8.1k
分支
358
PR 合併指標
30 天內沒有已合併 PR

描述

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:

```js
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:
```js
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

貢獻指南

這個儲存庫沒有索引到貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。