
Research
GemStuffer Campaign Abuses RubyGems as Exfiltration Channel Targeting UK Local Government
GemStuffer abuses RubyGems as an exfiltration channel, packaging scraped UK council portal data into junk gems published from new accounts.
@rnx-kit/tools-react-native
Advanced tools
@rnx-kit/tools-react-native is a collection of supplemental react-native
functions and types.
You can import the entire package, or, to save space, import individual categories:
import * as tools from "@rnx-kit/tools-react-native";
// Alternatively...
import * as metroTools from "@rnx-kit/tools-react-native/metro";
import * as platformTools from "@rnx-kit/tools-react-native/platform";
| Category | Type Name | Description |
|---|---|---|
| platform | AllPlatforms | List of supported react-native platforms. |
| Category | Function | Description |
|---|---|---|
| context | loadContext(projectRoot) | Equivalent to calling loadConfig() from @react-native-community/cli, but the result is cached for faster subsequent accesses. |
| context | loadContextAsync(projectRoot) | Equivalent to calling loadConfigAsync() (with fallback to loadConfig()) from @react-native-community/cli, but the result is cached for faster subsequent accesses. |
| context | resolveCommunityCLI(root, reactNativePath) | Finds path to @react-native-community/cli. |
| metro | findMetroPath(projectRoot) | Finds the installation path of Metro. |
| metro | getMetroVersion(projectRoot) | Returns Metro version number. |
| metro | requireModuleFromMetro(moduleName, fromDir) | Imports specified module starting from the installation directory of the currently used metro version. |
| platform | expandPlatformExtensions(platform, extensions) | Returns a list of extensions that should be tried for the target platform in prioritized order. |
| platform | getAvailablePlatforms(startDir) | Returns a map of available React Native platforms. The result is cached. |
| platform | getAvailablePlatformsUncached(startDir, platformMap) | Returns a map of available React Native platforms. The result is NOT cached. |
| platform | getModuleSuffixes(platform, appendEmpty) | Get the module suffixes array for a given platform, suitable for use with TypeScript's moduleSuffixes setting in the form of ['.ios', '.native', ''] or ['.windows', '.win', '.native', ''] or similar |
| platform | parsePlatform(val) | Parse a string to ensure it maps to a valid react-native platform. |
| platform | platformExtensions(platform) | Returns file extensions that can be mapped to the target platform. |
| platform | platformValues() | |
| platform | tryParsePlatform(val) |
FAQs
A collection of supplemental react-native functions and types
We found that @rnx-kit/tools-react-native demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 8 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
GemStuffer abuses RubyGems as an exfiltration channel, packaging scraped UK council portal data into junk gems published from new accounts.

Company News
Socket was named to the Rising in Cyber 2026 list, recognizing 30 private cybersecurity startups selected by CISOs and security executives.

Research
Socket detected 84 compromised TanStack npm package artifacts modified with suspected CI credential-stealing malware.