diff --git a/local-cli/src/bundle.js b/local-cli/src/bundle.js index 06c6357..d74914c 100644 --- a/local-cli/src/bundle.js +++ b/local-cli/src/bundle.js @@ -377,6 +377,23 @@ export const commands = { } catch (err) { require('metro-bundler/src/babelRegisterOnly'); } + + // ref: https://github.com/ds300/react-native-typescript-transformer/blob/master/index.js#L20 + if (major === 0) { + if (minor >= 52) { + require('metro/src/babelRegisterOnly'); + } else if (minor >= 47) { + require('metro-bundler/src/babelRegisterOnly'); + } else if (minor === 46) { + require('metro-bundler/build/babelRegisterOnly'); + } else { + // handle RN <= 0.45 + require(path.resolve('node_modules/react-native/packager/babelRegisterOnly'))([ + /private-cli\/src/, + /local-cli/, + ]); + } + } // This line fix issue #11 require(path.resolve('node_modules/react-native/local-cli/cli'));