
Research
Two Malicious Rust Crates Impersonate Popular Logger to Steal Wallet Keys
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
@rnx-kit/babel-preset-metro-react-native
Advanced tools
@rnx-kit/babel-preset-metro-react-native
provides a Babel preset for React
Native applications that you can use as a drop-in replacement for
@react-native/babel-preset
).
Add @rnx-kit/babel-preset-metro-react-native
to your babel.config.js
:
module.exports = {
presets: ["@rnx-kit/babel-preset-metro-react-native"],
};
If you want to add additional plugins, you can pass an options object:
module.exports = {
presets: [
[
"@rnx-kit/babel-preset-metro-react-native",
{
additionalPlugins: ["const-enum"],
},
],
],
};
If you're looking to reduce the bundle size, here are a couple of things you can try.
Since 7.13.0, Babel can make certain assumptions about your code to reduce the amount of generated code. You can read more about it in Compiler assumptions.
If you make heavy use of classes, but can't use compiler assumptions, you can
enable looseClassTransform
to remove helper functions:
module.exports = {
presets: [
[
"@rnx-kit/babel-preset-metro-react-native",
{
looseClassTransform: true,
},
],
],
};
This is equivalent to passing
{ loose: true }
to @babel/plugin-transform-classes
.
In your metro.config.js
, enable experimentalImportSupport
:
module.exports = {
transformer: {
getTransformOptions: async () => ({
transform: {
experimentalImportSupport: true,
inlineRequires: true,
},
}),
},
};
And disable import/export transformation in your babel.config.js
:
module.exports = {
presets: [
[
"@rnx-kit/babel-preset-metro-react-native",
{ disableImportExportTransform: true },
],
],
};
Doing this will help the minifier strip out some unused code, but make sure that your app still works after enabling it.
babel-plugin-lodash
If you're using Lodash, you can get some reduction with
babel-plugin-lodash. Add it to
your babel.config.js
like below:
module.exports = {
presets: ["@rnx-kit/babel-preset-metro-react-native"],
plugins: ["lodash"],
};
FAQs
Babel preset for React Native applications
The npm package @rnx-kit/babel-preset-metro-react-native receives a total of 9,113 weekly downloads. As such, @rnx-kit/babel-preset-metro-react-native popularity was classified as popular.
We found that @rnx-kit/babel-preset-metro-react-native demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 7 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
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
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.