![Malicious npm Package Typosquats react-login-page to Deploy Keylogger](https://cdn.sanity.io/images/cgdhsj6q/production/007b21d9cf9e03ae0bb3f577d1bd59b9d715645a-1024x1024.webp?w=400&fit=max&auto=format)
Research
Security News
Malicious npm Package Typosquats react-login-page to Deploy Keylogger
Socket researchers unpack a typosquatting package with malicious code that logs keystrokes and exfiltrates sensitive data to a remote server.
@react-native/babel-preset
Advanced tools
Package description
@react-native/babel-preset is a Babel preset specifically designed for React Native projects. It includes a set of plugins and configurations that are optimized for transforming modern JavaScript and JSX syntax into a format that can be understood by React Native. This preset simplifies the setup process for React Native development by providing a pre-configured environment that supports the latest JavaScript features and React Native-specific syntax.
Transform modern JavaScript syntax
This configuration allows Babel to transform modern JavaScript syntax (ES6+) into a format that is compatible with older JavaScript environments. This is essential for ensuring that your React Native app runs smoothly on all supported devices.
module.exports = { presets: ['@react-native/babel-preset'] };
Support for JSX
The preset includes support for transforming JSX syntax, which is commonly used in React and React Native components. This allows you to write your UI components using JSX, which is then transformed into JavaScript that can be executed by the React Native runtime.
module.exports = { presets: ['@react-native/babel-preset'] };
Optimized for React Native
The preset is specifically optimized for React Native, including plugins and configurations that are tailored to the needs of React Native development. This includes support for React Native-specific syntax and features, ensuring that your code is transformed correctly for the React Native environment.
module.exports = { presets: ['@react-native/babel-preset'] };
babel-preset-expo is a Babel preset that is specifically designed for Expo projects. It includes a set of plugins and configurations that are optimized for transforming modern JavaScript and JSX syntax for Expo-managed React Native projects. Compared to @react-native/babel-preset, babel-preset-expo includes additional configurations and plugins that are specific to the Expo ecosystem, making it a better choice for projects that are using Expo.
metro-react-native-babel-preset is another Babel preset designed for React Native projects. It is maintained by the Metro bundler team and includes a set of plugins and configurations that are optimized for transforming modern JavaScript and JSX syntax for React Native. Compared to @react-native/babel-preset, metro-react-native-babel-preset is more closely integrated with the Metro bundler, which is the default bundler for React Native projects. This makes it a good choice for projects that are using the Metro bundler.
Readme
Babel presets for React Native applications. React Native itself uses this Babel preset by default when transforming your app's source code.
If you wish to use a custom Babel configuration by writing a babel.config.js
file in your project's root directory, you must specify all the plugins necessary to transform your code. React Native does not apply its default Babel configuration in this case. So, to make your life easier, you can use this preset to get the default configuration and then specify more plugins that run before it.
As mentioned above, you only need to use this preset if you are writing a custom babel.config.js
file.
Install @react-native/babel-preset
in your app:
with npm
:
npm i @react-native/babel-preset --save-dev
or with yarn
:
yarn add -D @react-native/babel-preset
Then, create a file called babel.config.js
in your project's root directory. The existence of this babel.config.js
file will tell React Native to use your custom Babel configuration instead of its own. Then load this preset:
{
"presets": ["module:@react-native/babel-preset"]
}
You can further customize your Babel configuration by specifying plugins and other options. See Babel's babel.config.js
documentation to learn more.
If you get stuck configuring Babel, please ask a question on Stack Overflow or find a consultant for help. If you discover a bug, please open up an issue.
FAQs
Unknown package
The npm package @react-native/babel-preset receives a total of 974,261 weekly downloads. As such, @react-native/babel-preset popularity was classified as popular.
We found that @react-native/babel-preset demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 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
Security News
Socket researchers unpack a typosquatting package with malicious code that logs keystrokes and exfiltrates sensitive data to a remote server.
Security News
The JavaScript community has launched the e18e initiative to improve ecosystem performance by cleaning up dependency trees, speeding up critical parts of the ecosystem, and documenting lighter alternatives to established tools.
Product
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.