
Research
Malicious fezbox npm Package Steals Browser Passwords from Cookies via Innovative QR Code Steganographic Technique
A malicious package uses a QR code as steganography in an innovative technique.
@react-native/codegen
Advanced tools
The @react-native/codegen package is a tool used in the React Native ecosystem to generate native code (Java for Android, Objective-C for iOS) from JavaScript. It is primarily used to bridge custom native modules and components in a React Native application, facilitating the communication between JavaScript and native code. This tool automates the process of creating the necessary boilerplate code for native modules, making the development process more efficient and less error-prone.
Generating Native Modules
This feature allows developers to generate the boilerplate code for native modules by specifying the platform (iOS or Android), the path to a schema file (schema.json) that describes the module, and the output directory. The schema file is a JSON file that outlines the structure and types of the native module's methods and properties.
"npx react-native codegen --platform ios/android --schemaPath ./schema.json --outputDir ./output"
Generating Native Components
Similar to native modules, this feature enables the generation of boilerplate code for native components. The process involves specifying a schema file (componentSchema.json) that describes the component's properties and events, allowing for seamless integration of custom native UI components into React Native applications.
"npx react-native codegen --platform ios/android --schemaPath ./componentSchema.json --outputDir ./output"
React Native Builder Bob is a tool that helps developers create React Native libraries with support for both native and JavaScript code. While it provides a streamlined process for setting up, building, and publishing libraries, it does not offer the same code generation capabilities for bridging native modules and components as @react-native/codegen.
React Native Create Bridge is a CLI tool designed to simplify the process of creating native modules and UI components for React Native. It offers a more interactive approach by prompting users for input to generate the necessary boilerplate code. However, it is not as automated or schema-driven as @react-native/codegen, requiring more manual intervention.
yarn add --dev @react-native/codegen
Note: We're using yarn
to install deps. Feel free to change commands to use npm
3+ and npx
if you like
To run the tests in this package, run the following commands from the React Native root folder:
yarn
to install the dependencies. You just need to run this onceyarn jest packages/react-native-codegen
.v0.82.0-rc.0
Appearance.setColorScheme
no longer accepts a nullable value (a4581ecd8b by @huntie)CxxSharedModuleWrapper
: Removed CxxSharedModuleWrapper (fafbee2402 by @javache)shouldEmitW3CPointerEvents
: Migrate shouldPressibilityUseW3CPointerEventsForHover
to common private feature flags and remove shouldEmitW3CPointerEvents
flag. (fb4587780e by @coado)reactNativeHost
: Throw Exception if ReactApplication.reactNativeHost is not overriden (0d3791ca0a by @mdvacca)Animated.CompositeAnomation
is now exposed when using "react-native-strict-api"
(024d25794a by @huntie)ReactNativeVersion
API as JavaScript root export (ec5638abd0 by @huntie)blockNativeResponder
on Pressable (6e4d23ded2 by @zeyap)debugOptimized
buildType
for Android (eb2461c7c9 by @cortinico)DevSupportManager::openDebugger
now supports an optional panel
param determining the starting panel (7eb3536728 by @huntie)usesCleartextTraffic
manifest placeholder which is autoconfigured by RNGP. (d89acc1596 by @cortinico)enableFontScaleChangesUpdatingLayout
feature flag by default (686d14f1d1 by @j-piasecki)addBinding
and removeBinding
methods earlier, before a Runtime exists. (3271e57c75 by @motiz88)openDebugger()
methods now accept a panel: String?
param. Frameworks directly implementing DevSupportManager
will need to adjust call signatures. (9dba7112cf by @huntie)YogaConfig
to Kotlin (4d5caef76b by @mateoguzmana)YogaValue
to Kotlin (4340dcbae8 by @mateoguzmana)YogaNative
to Kotlin (bc54a06fcb by @mateoguzmana)YogaConfigFactory
to Kotlin (33ca53d9db by @mateoguzmana)DoNotStrip
to Kotlin (35d8086881 by @mateoguzmana)YogaLayoutType
to Kotlin (7e461003c6 by @mateoguzmana)LayoutPassReason
to Kotlin (db2a9c089c by @mateoguzmana)YogaNodeFactory
to Kotlin (40afa75a7c by @mateoguzmana)YogaMeasureOutput
to Kotlin (453508ada8 by @mateoguzmana)YogaMeasureFunction
to Kotlin (05eddd354e by @mateoguzmana)YogaStyleInputs
to Kotlin (001736000f by @mateoguzmana)YogaBaselineFunction
to Kotlin (a2eb3b299d by @mateoguzmana)YogaLogger
to Kotlin (9c9a39b58e by @mateoguzmana)TextAttributeProps.effectiveLineHeight
. This field was public but never used in OSS. (ede037ade7 by @cortinico)StyleSheet.absoluteFillObject
is deprecated in favor of StyleSheet.absoluteFill
(equivalent). (83e19813ff by @huntie)BridgelessReactContext.getCatalystInstance()
method (4583fbe052 by @cortinico)CoreModulesPackage
and NativeModuleRegistryBuilder
legacy architecture classes, these classes unused in the new architecture and will be deleted in the future (d3bbbd893a by @mdvacca)DefaultReactHost.getDefaultReactHost()
overload (d35ddb5e59 by @cortinico)Inspector
public class from React Android (cf528526cc by @cortinico)com.facebook.react.bridge.JSONArguments
class (04ae15d99b by @cortinico)aria-hidden
support for Text
, non-editable TextInput
and Image
(0f39fc3000 by @mdjastrzebski)exports
field in their package.json file and the ./package.json
subpath is not explicitly defined (739dfd2141 by @RakaDoank)hermes.framework
to hermesvm.framework
(7f051c5470 by @j-piasecki)Dimensions
window
values on Android < 15 when edge-to-edge is enabled (3b185e4bce by @zoontek)RootView
(5cda3065ce by @j-piasecki)isDevicePreferredLanguageRTL
(a03780d279 by Kaining Zhong)jsBundleAssetPath
on DefaultReactHost
(2246e2b82c by @cortinico)set_fast_float_config
method in react_native_pods.rb
(327057fad5 by @eliotfallon213)RCTPullToRefreshViewComponentView
(27217e8bd6 by @cipolleschi)getModuleForClass
and getModuleInstanceFromClass
(85b47afb48 by @cipolleschi)ScrollView
props to RefreshControl
(09daad27ea by @cipolleschi)ScrollView
recycled refresh control have the right props setup. (21b93d8d7d by @cipolleschi)Switch
component (28275a0f7b by @cipolleschi)inputAccessoryView
dependency. (eb08f54594 by @ArturKalach)maxLength={null}
is passed (56ad53cb14 by @cipolleschi)View
alignment with lineHeight
in Text (6da351a5ed by @intergalacticspacehighway)FAQs
Code generation tools for React Native
The npm package @react-native/codegen receives a total of 3,552,677 weekly downloads. As such, @react-native/codegen popularity was classified as popular.
We found that @react-native/codegen demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.
Application Security
/Research
/Security News
Socket detected multiple compromised CrowdStrike npm packages, continuing the "Shai-Hulud" supply chain attack that has now impacted nearly 500 packages.