GitHub / rescript-react-native / rescript-react-native
ReScript bindings for React Native
JSON API: http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rescript-react-native%2Frescript-react-native
PURL: pkg:github/rescript-react-native/rescript-react-native
Stars: 931
Forks: 149
Open issues: 12
License: mit
Language: ReScript
Size: 5.93 MB
Dependencies parsed at: Pending
Created at: over 8 years ago
Updated at: 12 days ago
Pushed at: 6 days ago
Last synced at: 5 days ago
Commit Stats
Commits: 1243
Authors: 103
Mean commits per author: 12.07
Development Distribution Score: 0.683
More commit stats: https://commits.ecosyste.ms/hosts/GitHub/repositories/rescript-react-native/rescript-react-native
Topics: hacktoberfest, react, react-native, rescript, rescript-react, rescript-react-native
Funding Links https://github.com/sponsors/MoOx
0.62.0
0.62.0
The release we all have been waiting for (thanks for you patience)!
Huge thanks to @sgny which handled most of the
changes directly related to react-native 0.62.
tl;dr: this release includes
- breaking changes related to
reason-react@0.8 - breaking changes related to
bs-platform@7(say bye to most##accessors in
favor of.) - breaking changes related to
react-native@0.62(say bye to removed
components)
So in order to upgrade to this release you need to upgrade all this dependencies
at the same time. Be sure to respect
peerDependencies
before reporting issue.
π Upgrades & π₯ Breaking changes
- Upgraded reason-react to 0.8.0 (#689) @jfrolich
See https://reasonml.org/blog/reason-react-0-8-0 for more informations - Upgraded to bs-platform 7.3.0 (#631) @idkjs (#666) @Arnarkari93 (#674) (#693) (#690) (#694) @sgny (#695) @cknitt
We have convertedJs.tobjects to records where possible (we had to skipped
objects that rely on[@bs.meth]). This means you will have to change a lot
of##notation to just a dot (.) to access properties.
See https://reasonml.org/blog/whats-new-in-7-pt1 for more informations - Removed some methods for FlatList, ScrollView, SectionList, VirtualizedList
and VirtualizedSectionList (#680) @sgny
These components are interrelated in the sense of being based on each other
and inheriting props, however, applicable methods are not inherited quite so
consistently. We removed unavailable methods from each component. - Removed
accessibilityStatesprop (#656) @sgny - Removed
TextInputonTextInputandselectionStateprops (#658) @sgny - Animated: setting
useNativeDriverprop is required (#655) @sgny - Handle deprecated or removed components and APIs (#668) @sgny
- Removed components:
ToolbarAndroid,ViewPagerAndroid,WebView - Removed APIs:
AlertIOS,CameraRoll,GeoLocation,ImageEditor,
NetInfo,TimePickerAndroid - Some others components that have been deprecated in RN regarding βLean Coreβ
initiative have been documented as such and will be removed in future
releases.
- Removed components:
- Deprecated
Style.list&Style.listOptionfor future bs-platform 8.0.0
compatibility (#700) @MoOx
β Fixes
- Fixed
DatePickerIOSminuteIntervaltype (int, not string) (#648) @idkjs - Fixed
Animated.ValueXY.getTranslateTransform(value)binding (#675) @benadamstyles - Fixed
Global.hermesInternal(#703) @fa7ad - Fixed
TouchableNativeFeedback.Background.canUseNativeForegroundtype (#704) @phamhoaivu911
π Additions
- Added support for callback refs (#684) @cknitt
- Added
unstable_enableLogBox(#692) @MoOx - Added
Appearancemodule (#654) (#662) (#677) @sgny - Added Modal
statusBarTranslucentprop (#660) @sgny - Added missing accessibility props to
Touchable*components (#659) @sgny - Added
accessibilityStateprop and constructor for related object (#657) @sgny - Added
DevSettingsmodule (#661) (#664) @sgny - Added
fadingEdgeLengthprop to FlatList, ScrollView, SectionList etc (#663) @sgny - Added
accessibilityValueprop (#665) - Added mouse event for
react-native-web(#646) @Naturalclar - Added
onMouseEnter,onMouseLeaveprops for View, Text, TextInput and more
web props, press-event, href and target (#650) @jfrolich - Updated Linking documentation (#673) @sgny
- Updated Event documentation (#672) @sgny
Download
0.60.1
0.60.1
Probably the latest release for React Native 0.60. We will focus on 0.61.
π₯ Breaking changes (minor)
Sorry, a mix of bugfixes & changes! This should be easy to handle for you.
- Add constructor for section type in
VirtualizedSectionList
#614 by
@sgny - Add
SectionList/VirtualizedSectionListsection data as parameterized type
#618 by
@jfrolich
β Fixes
- Fix
AppState(now returnunit)
#568 by
@cknitt - Fix
Animated.eventtype so it can be used inAnimated.ScrollView
onScrollprops (& similar)
#584 by
@MoOx - Fix missing
[@bs.meth]in methods ofEvent,BackHandler&NetInfo
#621 by
@cknitt - Fix
ScrollViewscrollToItem,scrollToIndexandscrollToOffset
#569 by
@benadamstyles - Fix
WebviewcontentInsetprop
#607 by
@cem2ran - Fix
WebViewevent types & add missing fields
#608 by
@cem2ran
π New bindings
- Add
AccessibilityInfo
#587 by
@sgny - Add
Alert.prompt
#617 by
by @fhammerschmidt - Add
Animated.SectionListandAnimated.FlatList
#600 by
@sgny +
#623 by
@jfrolich - Add lots of
AppRegistrymethods
#567 by
@sgny +
#560 by
@cknitt - Add
Global.__DEV__
#609 by
@sgny - Add
Global.hermesInternal
#613 by
@MoOx - Add
YellowBox
#562 by
@cknitt
π Documentation
We improved some part of the missing docs, thanks to contributions of @sgny,
@idkjs, @fhammerschmidt & @MoOx and maybe others we forgot to mention (but
git log doesnβt)
Download
reason-react-native@0.60, bs-react-native@0.11.1, bs-react-native-jsx3-compat@0.11.1, react-native-template-reason@0.2.0
v0.60.0
reason-react-native@0.60
β¨ Initial release for this new React Native bindings!
See
https://reasonml-community.github.io/reason-react-native/en/blog/2019-06-17-hello-reason-react-native/
for more information.
bs-react-native@0.11.1
- Fix for
Degtransformer that should be encoded to float instead of
percentage #547 by @bjornj12
bs-react-native-jsx3-compat@0.11.1
β¨ Initial release.
See
https://reasonml-community.github.io/reason-react-native/en/docs/migration/jsx3/
for more information.
react-native-template-reason@0.2.0
New template to works with reason-react-native
Download
v0.11.0
v0.11.0
Good news, maintenance of this bindings have been taken by a new crew. While we are working hard on new, zero-cost & more straight forward bindings that will works nicely with
reason-react 0.7.0 (stay tuned for more soon), we are publishing is a new release that will brings you some latest things before we start to breaks things a little bit (but donβt worry we have a migration plan, just because, like everybody, we have to migrate
various codebases).
This release mostly add some missing stuffs, and fixes some.
Changelog
We have highlighted most significant changes below. You can see the full list of commits here.
Notable changes
- Fully compatible with bs-platform 4.0.18 & reason-react 0.6.0
- A lots of things has been documented
- Deprecate & replace Style.(flatten|concat) with
(array|arrayOption|list|listOption) - Deprecate Style.combine as itβs unsafe
- New
Style.transformfunction so you can choose transform order & deprecate
Style.Transformmethods - View props: support
accessibilityRole,accessibilityStates,
accessibilityHint,accessibilityIgnoresInvertColorson lots of components
More in details
- ActionSheetIOS: fix options conversion
- Animated: fix annotations
- FlatList: add
listEmptyComponent,refreshControl,stickyHeaderIndices,
contentInsetAdjustmentBehavior,scrollEventThrottle,
listFooterComponentStyle&listHeaderComponentStyle - Image:
resolveAssetSource - InteractionManager
- Platform: add
select - ScrollView: remove
onScrollAnimationEnd, addsnapToInterval,
onScrollBeginDrag,onScrollEndDrag,onMomentumScrollBegin,
onMomentumScrollEnd,contentInsetAdjustmentBehavior - Style: remove
justifyContent(Stretch)(unsupported by Yoga), add
justifyContent(SpaceEvenly),flexBasis(Auto), newtransformfunction - Switch: remove
onTintColor,thumbTintColor&tintColor, addtrackColor
(viatrackColorTrue&trackColorFalseprops),thumbColorand
iosBackgroundColor - Text: add
accessibilityHint,accessibilityLabel - TextInput: fixes
onChange,onEndEditing,autoComplete - Touchables: add
testID, fixon(Long)Press(In|Out)events - TabBarIOS: fix systemIcon
bookmarks - View:
accessibilityRole,accessibilityStates,accessibilityHint,
accessibilityIgnoresInvertColors - react-native-template-reason: Enhance the react native template so you donβt
have a weird black screen. Looks more like standard RN hello world
Download
v0.10.0
v0.10.0
This is the biggest release we have done in a while. It is a result of hard work done by bs-react-native and rebolt teams.
We have worked really hard on bringing you lots of missing components (e.g. TouchableNativeFeedback, ProgressBarAndroid and more), improving existing APIs (e.g. type-safe Animated API) and adding documentation to make your getting started experience even smoother. We hope you will like the changes and the direction the project is moving! There are many companies looking into adopting Reason within their existing React & React Native projects right now. Our focus is to address the use cases and needs of early users to increase the overall adoption across the ecosystem.
I also would like to thank all contributors that made this project possible. Due to the complicated nature of merging rebolt and bs-react-native together, some of the contribution attributions were lost in the process. Make sure to check the full list our contributors for details.
Meanwhile, see the changelog below for a full list of new features and breaking changes.
Changelog
We have highlighted most significant changes below. You can see the full list of commits here.
- Added missing bindings to the following:
ToastAndroid,TimePickerAndroid,PermissionsAndroid,PickerIOS,ViewPagerAndroid,TouchableNativeFeedback,SnapshotViewIOS,ProgressBarAndroid,MaskedView,ProgressViewIOS, - Added a brand new documentation, available here. We are working hard on adding more any more examples. So far,
Animatedmodule is the one that is most documented, - Created Discord server dedicated to
bs-react-nativeand using Reason for writing mobile apps in general. Feel free to join if you would like to take an active part in this projectβs development or have any questions regarding using it in production, - Improved typing in many modules to be more accurate with what React Native expects, including
focusandblurmethod onTextInput,FlatListβsscrollToOffset,WebViewβsonMessageand more, - Created a brand new React Native generator for easier experience getting started,
- Added Code of Conduct
Breaking changes
All of the breaking changes happened inside
Animatedmodule. If you are not using it, you can safely upgrade and expect little to no changes required.
Easingis now exported as a top-level module,CompositeAnimationis now anAnimationmodule,- There is no
Timing,SpringandDecaymodule exported at a top-level. UseAnimated.timing,Animated.springandAnimated.decayinstead, - You no longer need to write
Animated.CompositeAnimation.start. All methods or this module are now available underAnimatedmodule. For example, you can start an animation by writingAnimated.start. This change aligns the API with React Native.
See Animated guide for details on how to use it.
What happens with Rebolt?
Nothing. Rebolt development will continue under this project umbrella, together, with the community. We are discussing the v2 version that plans to deliver first-class Reason APIs instead of bindings. There are many exciting opportunities and challenges ahead. If youβd like to get involved, let us know on Discord (linked above). As soon as any plans or decisions are made, we will be publishing them here and on Twitter.
Download
0.7.0
0.7.0
New features π
- Geolocation module (@mobily)
Bug fixes π
- Supported orientation now takes list of orientations (@leomayleomay)
- Animated.Easing.in fix (@mcanobbio)
- Missing props on flatlist (@mcanobbio)
- Missing props on TouchableOpacity (@laynor)
- Missing props on SectionList (@bjornj12) (@johannth)
Docs π
- Updated docs (@grsabreu) (@Gregoirevda)
Breaking changes π₯
- Colors are now strings or interpolated which allows you to animate colors (@bjornj12)
Download