Tool

React Native Decompiler

Alpha-stage Node.js CLI that splits a React Native JavaScript bundle (index.android.bundle or main.jsbundle), an unbundled js-modules folder, or Webpack entrypoint and chunk bundles into one readable file per module. Tagger, editor and decompiler plugins working on a Babel AST undo compilation artifacts such as Babel helpers, comma-operator chains and shortened booleans, turn element calls back into JSX and can rewrite modules as ES6 imports and exports, after which ESLint and Prettier tidy the output. Modules recognized as npm packages are skipped unless requested, and one module ID can limit output to that module and its dependencies.

Requirements and limitations

  • Latest npm release: react-native-decompiler 0.2.4, published 2023-03-31, providing the react-native-decompiler and rnd commands; the reviewed master commit is from the same day and was still the latest at review. The package declares no Node.js engine range, its publish workflow uses Node.js 12, and it pins Babel 7.12, ESLint 7 and Prettier 2. It continues Richard Fu's original repository, which is now archived.
  • Input is a plain-JavaScript bundle taken from the user's own React Native app, a js-modules folder, or a Webpack entrypoint bundle or chunk folder. The README states in bold that encrypted or binary bundles are not supported.
  • The README labels the tool alpha, and the repository has no automated tests; CI only builds and lints it. The README documents the Prettier switch as --prettier, but the source reads --noPrettier. Output is cleaned-up module code for reading, not the original project sources.
  • AGPL-3.0-or-later. No bundles were decompiled.

About this entry

Type
Tool
Category
JavaScript and Electron tools
Relationship
Foundation tool
Targets
App

Sources reviewed

The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.

Primary sources

  1. README.md GitHub · numandev1/react-native-decompiler · Revision 77c7b94
  2. README.md#L48-L70 GitHub · numandev1/react-native-decompiler · Revision 77c7b94
  3. README.md#L115-L121 GitHub · numandev1/react-native-decompiler · Revision 77c7b94
  4. package.json GitHub · numandev1/react-native-decompiler · Revision 77c7b94
  5. src/main.ts#L46-L60 GitHub · numandev1/react-native-decompiler · Revision 77c7b94
  6. src/decompilers GitHub · numandev1/react-native-decompiler · Revision 77c7b94
  7. .github/workflows/node.js.yml GitHub · numandev1/react-native-decompiler · Revision 77c7b94
  8. .github/workflows/publishnpm.yml GitHub · numandev1/react-native-decompiler · Revision 77c7b94
  9. LICENSE GitHub · numandev1/react-native-decompiler · Revision 77c7b94
  10. https://registry.npmjs.org/react-native-decompiler/0.2.4
  11. https://github.com/richardfuca/react-native-decompiler