diff --git a/.gitignore b/.gitignore index 1ac48d18..d8f49277 100644 --- a/.gitignore +++ b/.gitignore @@ -56,4 +56,7 @@ jspm_packages/ dist package -*.tar.gz \ No newline at end of file +*.tar.gz + +# IntelliJ +.idea diff --git a/README.md b/README.md index 5f560379..b6d8ed4f 100644 --- a/README.md +++ b/README.md @@ -12,17 +12,41 @@ or ## Usage +### React Native >= 0.59 + +#### /metro.config.js + +```diff + module.exports = { ++ transformer: { ++ babelTransformerPath: require.resolve("./transformer") ++ }, + } +``` + +#### /transformer.js + +```js +const obfuscatingTransformer = require("react-native-obfuscating-transformer") + +module.exports = obfuscatingTransformer({ + /* options */ +}) +``` + +### React Native < 0.59 + ### /rn-cli.config.js ```diff module.exports = { -+ transformer { ++ transformer: { + babelTransformerPath: require.resolve("./transformer") + }, } ``` -### /transformer.js +#### /transformer.js ```js const obfuscatingTransformer = require("react-native-obfuscating-transformer") diff --git a/package.json b/package.json index d80e859f..ff61e8e1 100644 --- a/package.json +++ b/package.json @@ -10,10 +10,14 @@ "@types/app-root-path": "^1.2.4", "@types/babel-core": "^6.25.3", "@types/babel-generator": "^6.25.1", + "babel-traverse": "^6.26.0", + "babylon": "^6.18.0", "@types/node": "^9.3.0", "@types/semver": "^5.4.0", "app-root-path": "^2.0.1", "babel-generator": "^6.26.1", + "babel-traverse": "^6.26.0", + "babylon": "^6.18.0", "javascript-obfuscator": "^0.13.0", "jju": "^1.3.0", "semver": "^5.4.1", diff --git a/src/getMetroTransformer.ts b/src/getMetroTransformer.ts index e5d46b54..976d0abc 100644 --- a/src/getMetroTransformer.ts +++ b/src/getMetroTransformer.ts @@ -44,7 +44,9 @@ function getReactNativeMinorVersion(): number { export function getMetroTransformer( reactNativeMinorVersion: number = getReactNativeMinorVersion(), ): MetroTransformer { - if (reactNativeMinorVersion >= 56) { + if (reactNativeMinorVersion >= 59) { + return require('metro-react-native-babel-transformer/src/index') + } else if (reactNativeMinorVersion >= 56) { return require("metro/src/reactNativeTransformer") } else if (reactNativeMinorVersion >= 52) { return require("metro/src/transformer")