@bytehide/react-native-shield

1.0.5 • Public • Published

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.

  1. 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));
  2. 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:

  1. Modify package.json:

    "scripts": {
      "obfuscate": "node obfuscate.js"
    }
  2. Execute the obfuscation script:

    npm run obfuscate

3. Integration into Build Processes

For Android (build.gradle)

  1. 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)

  1. Go to Build Phases > + Add Run Script Phase in Xcode.

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

  1. 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));
          },
        },
      ],
    };
  2. 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.

Package Sidebar

Install

npm i @bytehide/react-native-shield

Weekly Downloads

251

Version

1.0.5

License

MIT

Unpacked Size

6.24 kB

Total Files

5

Last publish

Collaborators

  • kikebytehide
  • vytehide
  • jespanag