Analyses your React Native project and calculates the percentage of
- shared code across platforms
- platform specific code
The formulas are based on the two ways of targeting specific platforms in React Native:
![shared code](https://latex.codecogs.com/png.latex?\dpi{150}&space;\fn_phv&space;\frac{.js\ LOC&space;-&space;Platform\ module\ LOC}{Total\ LOC})
![platform specific](https://latex.codecogs.com/png.latex?\dpi{150}&space;\fn_phv&space;\frac{.ios.js|.android.js\ LOC&space;+&space;Platform\ module\ LOC}{Total\ LOC})
You can install react-native-shared-code
either as a global package or a local module.
npm install -g react-native-shared-code
react-native-shared-code path-to-react-native-project
npm install --save-dev react-native-shared-code
Add shared-code script to your package.json
{
"scripts": {
"shared-code": "react-native-shared-code"
}
}
Usage: react-native-shared-code [path] [options]
Commands:
[path] path to React Native project (default value is cwd)
Options:
-h, --help output usage information
-v, --version output the version number
-p, --platform platform for which to calculate the shared code percentages.
Accepted values are ios, android and windows.
By default, it detects index.platform.js for android, ios, windows
--verbose output debugging info
Fidan Hakaj
- email [email protected]
- twitter twitter.com/fdnhkj
- Mateusz Zatorski for having this awesome idea!
- Martín Bigio for sharing the script used @instagram
- James Kyle & Logan Smyth for their help regarding babel (babel plugin - get-structured information as output after static code analysis)