
Security News
/Research
Wallet-Draining npm Package Impersonates Nodemailer to Hijack Crypto Transactions
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
babel-plugin-react-native-class-prop
Advanced tools
Are you tired of defining same styles across your project? This snippet look known to You?
const styles = StyleSheet.create({
container: {
flex: 1
}
})
babel-plugin-react-native-class-prop
enables defining collection of global styles that can be used anywhere in project via class
props. This plugin recreates way of using global styles as on the web.
Install the plugin:
yarn add --dev babel-plugin-react-native-class-prop
or
npm install --save-dev babel-plugin-react-native-class-prop
Then include it in your .babelrc
or babel.config.js
:
{
"plugins": ["react-native-class-prop", {
classes: {
flex: {
flex: 1
},
'justify-center': {
justifyContent: 'center'
}
}
}]
}
Now you can use the class
prop in your components:
function App(props) {
return (
<View
class="flex justify-center"
>
Hello world
</View>
);
}
If class should be applied conditionally this plugin supports syntax similar to classnames
package:
function App(props) {
return (
<View
class={["flex", { "justify-center": props.center }]}
>
Hello world
</View>
);
}
Sometimes if You just need to pass some class definitions as prop to sub component evaluateClass
function do the job.
import { evaluateClass } from 'babel-plugin-react-native-class-prop';
function App(props) {
return (
<Paragraph
passClassToSubComponent={evaluateClass('flex')}
>
Hello world
</Paragraph>
);
}
Using class
prop does not mean You shouldn't use old way, the style
prop. These two props should be used in combination. style
prop should be used for styles that are not addded to babel configuration file, or they are just defined in runtime, computed in render method...
propName
: Default value is class
. But if You want to use something more appropriate for your needs it can be changed here.classes
: Object that contain global classes definitions. It has same format as any style created with StyleSheet.create
. Bare in mind that babel uses older JS syntax for configuration file and at this step babel plugins are not applied to project files.Please restart react-native packager with npm start -- --reset-cache
command. Sometimes when new classes are added packager still use cached ones.
FAQs
Babel plugin to transpile class prop
The npm package babel-plugin-react-native-class-prop receives a total of 3 weekly downloads. As such, babel-plugin-react-native-class-prop popularity was classified as not popular.
We found that babel-plugin-react-native-class-prop 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.
Security News
/Research
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
Security News
/Research
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.