{"_id":"@attarchi/obfuscator-io-metro-plugin","name":"@attarchi/obfuscator-io-metro-plugin","dist-tags":{"latest":"2.1.4"},"versions":{"2.1.4":{"name":"@attarchi/obfuscator-io-metro-plugin","version":"2.1.4","description":"A metro plugin to use javascript-obfuscator library with react-native ","main":"lib/index.js","directories":{"lib":"lib"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/whoami-shubham/obfuscator-io-metro-plugin.git"},"author":{"name":"Shubham Jha"},"license":"MIT","bugs":{"url":"https://github.com/whoami-shubham/obfuscator-io-metro-plugin/issues"},"homepage":"https://github.com/whoami-shubham/obfuscator-io-metro-plugin#readme","keywords":["obfuscation","javascript","metro","react-native","react-native-obfuscation","react-native-obfuscator","javascript-obfuscator"],"dependencies":{"combine-source-map":"0.8.0","commander":"2.20.3","fs-extra":"8.1.0","glob":"7.1.6","javascript-obfuscator":"^4.0.2"},"_id":"@attarchi/obfuscator-io-metro-plugin@2.1.4","gitHead":"f0849f3257c99b0219218f641758e5b2142509a3","_nodeVersion":"18.20.4","_npmVersion":"10.7.0","dist":{"integrity":"sha512-Z758rxmw2cWn2UH5ZAh5pNnd8zK/img+yyvY3YndaDv6PBng9jicQHvIQ5BP/V/e8uX/foA89Y3UqmKSXJvG9A==","shasum":"42daa3ae7ed12abb599647b8045c4fcbcc05b6ee","tarball":"https://registry.npmjs.org/@attarchi/obfuscator-io-metro-plugin/-/obfuscator-io-metro-plugin-2.1.4.tgz","fileCount":9,"unpackedSize":15891,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFfXvkCGoiZL3CN8nMOyl24GbzPClClyICTUrF8IUsB0AiAgAByRwJ4uxUuSEsnW2eUrEbRPPbdZIzsSxl7eodyx+Q=="}]},"_npmUser":{"name":"attarchi","email":"attarchi@me.com"},"maintainers":[{"name":"attarchi","email":"attarchi@me.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/obfuscator-io-metro-plugin_2.1.4_1730206746999_0.8488793363646452"},"_hasShrinkwrap":false}},"time":{"created":"2024-10-29T12:59:06.912Z","2.1.4":"2024-10-29T12:59:07.181Z","modified":"2024-10-29T12:59:07.487Z"},"maintainers":[{"name":"attarchi","email":"attarchi@me.com"}],"description":"A metro plugin to use javascript-obfuscator library with react-native ","homepage":"https://github.com/whoami-shubham/obfuscator-io-metro-plugin#readme","keywords":["obfuscation","javascript","metro","react-native","react-native-obfuscation","react-native-obfuscator","javascript-obfuscator"],"repository":{"type":"git","url":"git+https://github.com/whoami-shubham/obfuscator-io-metro-plugin.git"},"author":{"name":"Shubham Jha"},"bugs":{"url":"https://github.com/whoami-shubham/obfuscator-io-metro-plugin/issues"},"license":"MIT","readme":"# Obfuscator.io Metro Plugin\n\n[![npm version](https://img.shields.io/npm/v/obfuscator-io-metro-plugin.svg)](https://www.npmjs.com/package/obfuscator-io-metro-plugin)\n[![npm](https://img.shields.io/npm/dt/obfuscator-io-metro-plugin)](https://www.npmjs.com/package/obfuscator-io-metro-plugin)\n<img src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg\" alt=\"PRs welcome!\" />\n\n\nThis metro plugin obfuscate your **React Native** bundle using [javascript-obfuscator](https://github.com/javascript-obfuscator/javascript-obfuscator) <br/>\nIt only obfuscates your code not the code of `node_modules`, you can verify the obfuscated bundle by either extracting the `index.android.bundle` from generated apk\nor you can find the file at `project_root\\android\\app\\build\\generated\\assets\\react\\release` after `assembleRelease` process\n\n#### for iOS if you’re facing any issue check this [comment](https://github.com/whoami-shubham/obfuscator-io-metro-plugin/issues/2#issuecomment-932389379) by [@andresarezo](https://github.com/andresarezo)\n\n## Installation\n\n```bash\n npm i -D obfuscator-io-metro-plugin\n\n```\n\n## Docs\n[Docs](https://whoami-shubham.github.io/obfuscator-io-metro-plugin/)\n\n## Usage\n\nInclude the plugin in your `metro.config.js`:\n\n```js\nconst jsoMetroPlugin = require(\"obfuscator-io-metro-plugin\")(\n  {\n    // for these option look javascript-obfuscator library options from  above url\n    compact: false,\n    sourceMap: false, // source Map generated after obfuscation is not useful right now so use default value i.e. false\n    controlFlowFlattening: true,\n    controlFlowFlatteningThreshold: 1,\n    numbersToExpressions: true,\n    simplify: true,\n    stringArrayShuffle: true,\n    splitStrings: true,\n    stringArrayThreshold: 1,\n  },\n  {\n    runInDev: false /* optional */,\n    logObfuscatedFiles: true /* optional generated files will be located at ./.jso */,\n    excludes: '**/*.assets.**' /* optional, A file names or globs which indicates files to exclude from obfuscation. */, \n  }\n);\n\nmodule.exports = {\n  transformer: {\n    getTransformOptions: async () => ({\n      transform: {\n        experimentalImportSupport: false,\n        inlineRequires: false,\n      },\n    }),\n  },\n  ...jsoMetroPlugin,\n};\n```\n\nFor obfuscation options configuration docs see: [https://github.com/javascript-obfuscator/javascript-obfuscator](https://github.com/javascript-obfuscator/javascript-obfuscator)\n","readmeFilename":"README.md"}