elemental-design / elemental-design/react-platform
What is a React Platform?
- Dominant language
- TypeScript
- Stars
- 17
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
[WIP **umbrella issue** for discussion/ideas, to help surface proposals]
## What counts as a React platform?
Is using react-reconciler enough to count as a platform? Or does `react-test-renderer` count, for the case of `react-sketchapp`?
Will Metro be an explicit requirement, or will Webpack/ be supported as entrypoint bundlers?
- Some runtime environments may be in sandboxes where running bundlers like Metro aren't appropriate, such as in design software plugins, where file extensions are nice as a universally accepted standard across bundlers, especially with Babel extension preferences.
- Should file extensions remain a stable/supported default for out-of-tree platforms?
## How should imports work?
- Is `import { ... } from 'react-native';` a safe pattern for out-of-tree platforms?
- How can we make sure that props are types without `tsconfig` hacks?
**Proposal**
Standardise platform-specific imports around `react-native-ios`, `react-native-windows`, or `@react-native/ios`.
Support `react-native` as a common API surface across platforms, or have `react-platform`/`react-primitives` as a common API layer that maps to `react-native-windows`, etc. Or have `react-primitives` for `react-reconciler` platforms that don't have the full Metro/Fabric setup (e.g. `react-primitives` `View` import aliases to `react-native-` ``, and `react-native` for those that do.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.