@bytehide/react-native-shield
v1.0.5
Published
React Native plugin for ByteHide Shield obfuscation.
Downloads
251
Readme
ByteHide React Native Shield Plugin
This README provides step-by-step instructions for integrating and using the ByteHide React Native Shield Plugin for obfuscating your React Native project's source code.
Installation
Install the plugin as a development dependency in your project:
npm install --save-dev @bytehide/react-native-shield
Usage Options
1. Using a Standalone Script
You can create a standalone script to perform obfuscation manually.
Create a script file in the root of your project, e.g.,
obfuscate.js
, and add the following:const shield = require('@bytehide/react-native-shield'); const srcPath = './src'; // Path to source files const destPath = './dist'; // Path to destination const projectToken = 'your_project_token'; // Project token shield .obfuscate(srcPath, destPath, projectToken) .then(() => console.log('Obfuscation completed successfully!')) .catch((err) => console.error('Error during obfuscation:', err));
Run the script manually when needed:
node obfuscate.js
2. Adding to package.json
Scripts
Include the obfuscation step as a script in your project's package.json
:
Modify
package.json
:"scripts": { "obfuscate": "node obfuscate.js" }
Execute the obfuscation script:
npm run obfuscate
3. Integration into Build Processes
For Android (build.gradle
)
Add a custom task to
android/app/build.gradle
:task obfuscateJs(type: Exec) { commandLine "node", "${project.rootDir}/obfuscate.js" } preBuild.dependsOn obfuscateJs
For iOS (Run Script in Xcode)
Go to Build Phases > + Add Run Script Phase in Xcode.
Add the following script:
node "$SRCROOT/../obfuscate.js"
4. Adding a Custom CLI Command
You can integrate the obfuscation step as a custom React Native CLI command.
Add the following to
react-native.config.js
:module.exports = { commands: [ { name: 'obfuscate', func: () => { const shield = require('@bytehide/react-native-shield'); const srcPath = './src'; const destPath = './dist'; const projectToken = 'your_project_token'; shield .obfuscate(srcPath, destPath, projectToken) .then(() => console.log('Obfuscation completed successfully!')) .catch((err) => console.error('Error during obfuscation:', err)); }, }, ], };
Run the command:
npx react-native obfuscate
5. Using the bin
Command
You can use the bin
command to obfuscate your project.
npx @bytehide/react-native-shield obfuscate --src ./src --dest ./dist --token your_project_token
This command will obfuscate the source files in the ./src
directory and save the obfuscated files in the ./dist
directory.