
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
@ethicdevs/metro-webpack-react-native-web-babel-preset
Advanced tools
Babel preset that configures itself for both metro/react-native and CRA/webpack/react-native-web
A babel preset that configures itself for both metro with react-native and webpack with react-native-web. Use this instead of module:metro-react-native-babel-preset
in your Babel config file.
Install with either npm or yarn (as you prefer). core-js@3
is a peer dependency and you might need to install it seperately.
yarn add -D core-js@3 @ethicdevs/metro-webpack-react-native-web-babel-preset
Add this to your Babel config file (babel.config.js
):
module.exports = {
presets: ["@ethicdevs/metro-webpack-react-native-web-babel-preset"],
};
noPresetEnv
optionIf you want to provide your own preset-env config (in babel.config.js
or babel-loader
config, etc), you can exclude @babel/preset-env
with the option noPresetEnv
.
module.exports = {
presets: [
["@ethicdevs/metro-webpack-react-native-web-babel-preset", { noPresetEnv: true }],
],
};
When bundling with metro, it simply includes module:metro-react-native-babel-preset
so it shouldn't mess with your normal react native build.
When bundling with webpack/babel-loader, it includes the presets for typescript and flow, the react-native-web plugin, and the plugins from module:metro-react-native-babel-preset
that aren't better handled by @babel/preset-env
: react/jsx specific stuff and proposal features. It also includes @babel/preset-env
set up to automatically pick up .browserslistrc
or browserlist
key in package.json
and include appropriate polyfills.
When running in any other environment, it falls back to the same config as for webpack.
With this preset, you can bundle a basic react native app for the web with very little or technically no webpack config.
You need to install at least webpack
, babel-loader
and probably babel-cli
.
A minimal webpack.config.js
would be:
const path = require("path");
module.exports = {
module: {
rules: [
{
test: /\.(js|jsx|tsx|ts|mjs)$/,
include: [path.resolve(__dirname, "src")],
use: {
loader: "babel-loader",
},
},
],
},
resolve: {
extensions: [
".web.js",
".js",
".web.ts",
".ts",
".web.tsx",
".tsx",
".web.mjs",
".mjs",
],
},
};
And technically no config file with this command (doesn't work great though)
npx webpack --module-bind js=babel-loader
Don't forget to add a .browserslistrc
to your root directory or your bundle will be huge. For example:
>0.5%
not ie 11
not samsung < 8
module.exports = ({ caller }) => {
// is either "metro" or "babel-loader"
const runningIn = caller(({ name }) => name);
return {
/* your config here */
};
};
babel-plugin-react-native-web
as dependency, oopsbabel-plugin-module-resolver
as dependencyFAQs
Babel preset that configures itself for both metro/react-native and CRA/webpack/react-native-web
The npm package @ethicdevs/metro-webpack-react-native-web-babel-preset receives a total of 1 weekly downloads. As such, @ethicdevs/metro-webpack-react-native-web-babel-preset popularity was classified as not popular.
We found that @ethicdevs/metro-webpack-react-native-web-babel-preset demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.