
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.
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 2 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.
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.