Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
@react-native/babel-preset
Advanced tools
Babel preset for React Native applications
@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.
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
Babel preset for React Native applications
The npm package @react-native/babel-preset receives a total of 1,495,950 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 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.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.