Skip to content
  • Sebastian Markbage's avatar
    Fix up this pattern var React = require('react-native'); · a80dd9a9
    Sebastian Markbage authored
    Summary:First I searched for special cases that destructor PropTypes:
    
    ```
    (?s)React\s*=\s*require\('react\-native'\).*(Children|PropTypes)[^\{\}]*\}\s*=\s*React;
    ```
    
    I split them up manually.
    
    Then I replaced the React = require('react-native') + destructuring pattern...
    
    ```
    (?s)(const|var)\s+React\s*=\s*require\('react\-native'\)(.*[^\{\}]*\}\s*=\s*)React;
    ```
    
    ...with...
    
    ```
    $1 React = require('react');
    $1 ReactNative = require('react-native')$2ReactNative;
    ```
    
    I used lint to figure out if I left some unnecessary imports.
    
    Finally I grepped for just
    
    ```
    React\s*=\s*require\('react\-native'\)
    ```
    
    to catch any remaining patterns.
    
    Also, `} = React.NativeModules` -> `} = ReactNative.NativeModules`.
    
    Reviewed By: spicyj
    
    Differential Revision: D3158991
    
    fb-gh-sync-id: f97e8e921e193d6ea1a49d8d1bf3f09be7bed5c3
    fbshipit-source-id: f97e8e921e193d6ea1a49d8d1bf3f09be7bed5c3
    a80dd9a9