PropTypes and createClass warnings in SDK 20


#1

Hello, I upgraded my project to SDK 20 and I am getting warnings about PropTypes and React.createClass usage that look to be originating from Expo.js. None of my code uses React.createClass, PropTypes or checkPropTypes and I just got done checking all of my dependencies too. None of them are causing these warnings.

I found issue #365 where @dikaiosune mentioned that it was an upstream problem with react-native. Is that still the case?

Can you point out which code is causing this? I am curious because I also searched my entire node_modules directory for files containing PropTypes and createClass but I could not find any offending code…

Here are the contents of my package.json file:

{
  "name": "my-app",
  "version": "1.1.0-dev",
  "description": "My App",
  "author": {
    "name": "Wayne Bloss",
    "email": "waynebloss@gmail.com"
  },
  "license": "private",
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "test": "node ./node_modules/jest/bin/jest.js --watch"
  },
  "jest": {
    "preset": "jest-expo"
  },
  "dependencies": {
    "expo": "^20.0.0",
    "mustache": "2.3.0",
    "prop-types": "^15.5.10",
    "react": "16.0.0-alpha.12",
    "react-native": "https://github.com/expo/react-native/archive/sdk-20.0.0.tar.gz",
    "react-native-htmlview": "https://github.com/jsdf/react-native-htmlview/archive/3197c3aecfefb74b1d2b9ac95a83c29ec35e7365.tar.gz",
    "react-native-modal-selector": "0.0.17",
    "react-native-platform-touchable": "^1.1.1",
    "react-navigation": "^1.0.0-beta.12",
    "wolfy87-eventemitter": "^5.2.2"
  },
  "devDependencies": {
    "jest-expo": "~20.0.0"
  }
}

and .babelrc:

{
  "presets": ["babel-preset-expo"],
  "env": {
    "development": {
      "plugins": ["transform-react-jsx-source"]
    }
  }
}

#2

Hi! It does look like we’re tracking an issue to remove PropTypes from the SDK JS as well: https://github.com/expo/expo/issues/284. Sorry about the confusion there!


#3

Thank you for responding. The warnings have now disappeared after I upgraded the “expo” dependency to 20.1.2.

I was having a separate issue with an error “webBrowser.openBrowserAsync is not a function” and after I read this comment, I upgraded to the latest version of the expo-sdk that I saw on npm, which fixed both of my issues.

Now I’m just wondering why npmjs.com/package/expo lists 20.1.2 as the latest release while github.com/expo/expo-sdk shows 15.0.0 as the latest release…but that’s a separate topic. I’m sure there’s a good reason for it.


#4

I’ve noticed it’s been that way for awhile with the github repo. I have a feeling their managing it another way now.