Explorar o código

Merge branch 'master' of github.com:transloadit/uppy

Kevin van Zonneveld %!s(int64=6) %!d(string=hai) anos
pai
achega
97dc3902fb

+ 2 - 28
examples/react-native-expo/App.js

@@ -5,7 +5,6 @@ import {
   View,
   AsyncStorage,
   Image
-  // Linking
 } from 'react-native'
 import Uppy from '@uppy/core'
 import Tus from '@uppy/tus'
@@ -15,31 +14,6 @@ import PauseResumeButton from './PauseResumeButton'
 import ProgressBar from './ProgressBar'
 import SelectFiles from './SelectFilesButton'
 
-function hashCode (str) {
-  // from https://stackoverflow.com/a/8831937/151666
-  var hash = 0
-  if (str.length === 0) {
-    return hash
-  }
-  for (var i = 0; i < str.length; i++) {
-    var char = str.charCodeAt(i)
-    hash = ((hash << 5) - hash) + char
-    hash = hash & hash // Convert to 32bit integer
-  }
-  return hash
-}
-
-function customFingerprint (file, options) {
-  let exifHash = 'noexif'
-  if (file.exif) {
-    exifHash = hashCode(JSON.stringify(file.exif))
-  }
-  // console.log(exifHash)
-  const fingerprint = ['tus', file.name || 'noname', file.size || 'nosize', exifHash].join('/')
-  console.log(fingerprint)
-  return fingerprint
-}
-
 export default class App extends React.Component {
   constructor () {
     super()
@@ -69,8 +43,8 @@ export default class App extends React.Component {
     this.uppy = Uppy({ autoProceed: true, debug: true })
     this.uppy.use(Tus, {
       endpoint: 'https://master.tus.io/files/',
-      urlStorage: AsyncStorage,
-      fingerprint: customFingerprint
+      urlStorage: AsyncStorage
+      // fingerprint: customFingerprint
     })
     this.uppy.on('upload-progress', (file, progress) => {
       this.setState({

+ 11 - 8
examples/react-native-expo/FileList.js

@@ -15,17 +15,20 @@ import SvgUri from 'react-native-svg-uri'
 //   return str
 // }
 
-// function FileIcon () {
-//   return <View style={styles.itemIconContainer}>
-//     <Image
-//       style={styles.itemIcon}
-//       source={require('./assets/file-icon.png')}
-//     />
-//   </View>
-// }
+function FileIcon () {
+  return <View style={styles.itemIconContainer}>
+    <Image
+      style={styles.itemIcon}
+      source={require('./assets/file-icon.png')}
+    />
+  </View>
+}
 
 function UppyDashboardFileIcon (props) {
   const icon = renderStringFromJSX(getFileTypeIcon(props.type).icon)
+  if (!icon) {
+    return <FileIcon />
+  }
   const color = getFileTypeIcon(props.type).color
   return (
     <View style={{

+ 96 - 82
examples/react-native-expo/package-lock.json

@@ -846,20 +846,20 @@
       "integrity": "sha1-Yhpman8CAY58u0q6uVaiVzbCfXE="
     },
     "@uppy/companion-client": {
-      "version": "0.28.4",
-      "resolved": "https://registry.npmjs.org/@uppy/companion-client/-/companion-client-0.28.4.tgz",
-      "integrity": "sha512-Mp6eAQVKLwyoy4AEsfyWEbmH/np7dXklnmR0mcx80g8owM7DC9R6MYa0mPTJhF5nBxfUiCkfYE4b3gJr079t1A==",
+      "version": "0.28.5",
+      "resolved": "https://registry.npmjs.org/@uppy/companion-client/-/companion-client-0.28.5.tgz",
+      "integrity": "sha512-oNutUB/dnHVgjKLwKi31kXjTQM1WTq/3XJy6euR5mLwYpxfWgx5FeO7M08HU4n98Dz3FxztIcAW5tNTKLq1/bQ==",
       "requires": {
         "namespace-emitter": "^2.0.1"
       }
     },
     "@uppy/core": {
-      "version": "0.30.4",
-      "resolved": "https://registry.npmjs.org/@uppy/core/-/core-0.30.4.tgz",
-      "integrity": "sha512-CAnjjvlytnV2P223wsin49H3DQ2pq7VJKiHVYce0NvrUgu10uCglUHJ4QkTYdrxjsjwp+AdYI4l55PMg+dumDw==",
+      "version": "0.30.5",
+      "resolved": "https://registry.npmjs.org/@uppy/core/-/core-0.30.5.tgz",
+      "integrity": "sha512-MekAgvE6MYX4PAW7ouCQEiUWXB4CpDZ0pD/Sbirfn0MbX7CqD2UyT9sEWt5jwZLgKz829G1nOt4TYw0GnzKHrQ==",
       "requires": {
         "@uppy/store-default": "0.28.3",
-        "@uppy/utils": "0.30.4",
+        "@uppy/utils": "0.30.5",
         "cuid": "^2.1.1",
         "lodash.throttle": "^4.1.1",
         "mime-match": "^1.0.2",
@@ -869,15 +869,15 @@
       }
     },
     "@uppy/dashboard": {
-      "version": "0.30.4",
-      "resolved": "https://registry.npmjs.org/@uppy/dashboard/-/dashboard-0.30.4.tgz",
-      "integrity": "sha512-fTcjPBdJJTfonBh2tKwj/opFNuuQfXtLR5N/3sfcmIzLVXFVrowlGUe3JslxjhSHD3wys895oUqrJTELdCLtVA==",
-      "requires": {
-        "@uppy/informer": "0.30.4",
-        "@uppy/provider-views": "0.30.4",
-        "@uppy/status-bar": "0.30.4",
-        "@uppy/thumbnail-generator": "0.30.4",
-        "@uppy/utils": "0.30.4",
+      "version": "0.30.5",
+      "resolved": "https://registry.npmjs.org/@uppy/dashboard/-/dashboard-0.30.5.tgz",
+      "integrity": "sha512-G4220BPJcxB/EbvrHH8IUI0sHuRyWh/pchPWModqsE2RR9L/K2E1F2ad2LnWQP+v4H54R34FDmHtk/hjoTPzhA==",
+      "requires": {
+        "@uppy/informer": "0.30.5",
+        "@uppy/provider-views": "0.30.5",
+        "@uppy/status-bar": "0.30.5",
+        "@uppy/thumbnail-generator": "0.30.5",
+        "@uppy/utils": "0.30.5",
         "classnames": "^2.2.6",
         "cuid": "^2.1.1",
         "drag-drop": "2.13.3",
@@ -889,46 +889,46 @@
       }
     },
     "@uppy/informer": {
-      "version": "0.30.4",
-      "resolved": "https://registry.npmjs.org/@uppy/informer/-/informer-0.30.4.tgz",
-      "integrity": "sha512-EDrtmVJB1wJcDmITnjg8WWcLHTJaYmY7kw4c8Hp+FS6smyKQl7f85MKnZJVZ8vN9loiKLSBJ7eMbL2C2OIlk2g==",
+      "version": "0.30.5",
+      "resolved": "https://registry.npmjs.org/@uppy/informer/-/informer-0.30.5.tgz",
+      "integrity": "sha512-4Ie19Hc03NYRjRA4fhrKebk0QHhgX3Z/ndq+G3Z0AcpbMr8SlNAzUxF52qunEqbOGJ+hFJqkTxas5v/o/uhUSw==",
       "requires": {
-        "@uppy/utils": "0.30.4",
+        "@uppy/utils": "0.30.5",
         "preact": "^8.2.9"
       }
     },
     "@uppy/instagram": {
-      "version": "0.30.4",
-      "resolved": "https://registry.npmjs.org/@uppy/instagram/-/instagram-0.30.4.tgz",
-      "integrity": "sha512-lFXNPaqCEOeMbm7WHT8B9CHWXxUryvrkgA3ADWLalRZ7T8pn444mPSCes4hpYm8q8B0kpa2ohu0FzoZUWlpq7w==",
+      "version": "0.30.5",
+      "resolved": "https://registry.npmjs.org/@uppy/instagram/-/instagram-0.30.5.tgz",
+      "integrity": "sha512-yeQWZiKXLN4NcigoNpxijArhuX+FjupRWTsWipe7D1bOqJKHJh98eNSznjF8W4Mi/H5zJ223JCsQy7RCqx6eFA==",
       "requires": {
-        "@uppy/companion-client": "0.28.4",
-        "@uppy/provider-views": "0.30.4",
-        "@uppy/utils": "0.30.4",
+        "@uppy/companion-client": "0.28.5",
+        "@uppy/provider-views": "0.30.5",
+        "@uppy/utils": "0.30.5",
         "preact": "^8.2.9"
       }
     },
     "@uppy/provider-views": {
-      "version": "0.30.4",
-      "resolved": "https://registry.npmjs.org/@uppy/provider-views/-/provider-views-0.30.4.tgz",
-      "integrity": "sha512-ZmjeHJpvnBMNyUIMBnzR1r5auddPIbbyfpvc9JYOqsaEQLXbAL3WC0XaFQVLMrMv63jncxqrrHjdqsSbUWuYvA==",
+      "version": "0.30.5",
+      "resolved": "https://registry.npmjs.org/@uppy/provider-views/-/provider-views-0.30.5.tgz",
+      "integrity": "sha512-2P2/pzlRjG3TT7FY07jS5AEn2SUEb0yM6XteH4cv53kM9qdrOMdC3ORbZ2avOg2GFoZJgy2v3OeuFYIwat/jPw==",
       "requires": {
-        "@uppy/utils": "0.30.4",
+        "@uppy/utils": "0.30.5",
         "classnames": "^2.2.6",
         "preact": "^8.2.9"
       }
     },
     "@uppy/react-native": {
-      "version": "0.0.2",
-      "resolved": "https://registry.npmjs.org/@uppy/react-native/-/react-native-0.0.2.tgz",
-      "integrity": "sha512-TBjhJXUqtsnse9m0HrDm4rbhwuf9PE/vSzYJlAF+2zmQSnHj0UeNLQbd8ZcNvidF3Y8BYOjaMy9aq6VsR8eCyg=="
+      "version": "0.0.3",
+      "resolved": "https://registry.npmjs.org/@uppy/react-native/-/react-native-0.0.3.tgz",
+      "integrity": "sha512-eh6NelTs8EGsl8vQEJ/6Dp0tK4gMNYlm3Kxt1HnqhFTGjqbTLDCil0DfrIlIit7eP2vhjyhnhsyhw5skmNV0/A=="
     },
     "@uppy/status-bar": {
-      "version": "0.30.4",
-      "resolved": "https://registry.npmjs.org/@uppy/status-bar/-/status-bar-0.30.4.tgz",
-      "integrity": "sha512-V6qd6vBvGn3uLiqWSEFxt+AeJrj2DfZ4Rr05YyF+HosyuEgIsR/qhvVgUJf0J6W8sdBYS+OK5VM+hSIvcYdfCQ==",
+      "version": "0.30.5",
+      "resolved": "https://registry.npmjs.org/@uppy/status-bar/-/status-bar-0.30.5.tgz",
+      "integrity": "sha512-Yfrk4pDksnoEAuykiMiaPiE6JTZElRDuFIwgei/bRPcdNMtAyvF5/uYQ9zjOauivp5zWr8dJ8Y/CgfpxdhjSjw==",
       "requires": {
-        "@uppy/utils": "0.30.4",
+        "@uppy/utils": "0.30.5",
         "classnames": "^2.2.6",
         "lodash.throttle": "^4.1.1",
         "preact": "^8.2.9",
@@ -941,67 +941,48 @@
       "integrity": "sha512-H3dHvYnna1D3qGMeEW2Mc4BDe2+73IsshqyqyNawZcOG4EF053D5ZeeoB0DQoXaL290vsHMhYilZbp6O0v6Z8g=="
     },
     "@uppy/thumbnail-generator": {
-      "version": "0.30.4",
-      "resolved": "https://registry.npmjs.org/@uppy/thumbnail-generator/-/thumbnail-generator-0.30.4.tgz",
-      "integrity": "sha512-Eg++nTtlGpiaEM6qNKwbzYv/zS1eUw9m01RubHbnMDL9cabO0QxKlVtuE5KQkKiKx5omja18IzS+c7VQziamHg==",
+      "version": "0.30.5",
+      "resolved": "https://registry.npmjs.org/@uppy/thumbnail-generator/-/thumbnail-generator-0.30.5.tgz",
+      "integrity": "sha512-yD+AcjpFNJ9alNQ9B+C4KWv/9qj/GOvhhkU9dEDAcsls/ml6JiWlFf4pPaVdP84bpCFiUyKe5EzsLxPLK8MojQ==",
       "requires": {
-        "@uppy/utils": "0.30.4"
+        "@uppy/utils": "0.30.5"
       }
     },
     "@uppy/tus": {
-      "version": "0.30.4",
-      "resolved": "https://registry.npmjs.org/@uppy/tus/-/tus-0.30.4.tgz",
-      "integrity": "sha512-MfsGjfQSKMyUdNx5ugUSCxP8yYy6FH1EHgwgtZ03rJr7gCmGdPWNf32iY5DOnZ3pbtMKOsRn7cTvnEV/mZyvAQ==",
+      "version": "0.30.5",
+      "resolved": "https://registry.npmjs.org/@uppy/tus/-/tus-0.30.5.tgz",
+      "integrity": "sha512-Vk1R/fMWqMOrwcc5r14Iit0/VWZCFVDde4yGIZSzF81YIIfC20nyCU2s7EjocNnU394tk6znXauDMT8FMdIC3g==",
       "requires": {
-        "@uppy/companion-client": "0.28.4",
-        "@uppy/utils": "0.30.4",
-        "tus-js-client": "1.6.0"
-      },
-      "dependencies": {
-        "buffer-from": {
-          "version": "0.1.2",
-          "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-0.1.2.tgz",
-          "integrity": "sha512-RiWIenusJsmI2KcvqQABB83tLxCByE3upSP8QU3rJDMVFGPWLvPQJt/O1Su9moRWeH7d+Q2HYb68f6+v+tw2vg=="
-        },
-        "tus-js-client": {
-          "version": "1.6.0",
-          "resolved": "https://registry.npmjs.org/tus-js-client/-/tus-js-client-1.6.0.tgz",
-          "integrity": "sha512-8y3A/pq5SKHZPJPU2LZ0KC+TNaol7TDNplprS5PEsfnjOcqHU2pJ7E6oTEXsA32tZkWHs+4JguAfXZd4XV0Jlg==",
-          "requires": {
-            "buffer-from": "^0.1.1",
-            "extend": "^3.0.0",
-            "js-base64": "^2.4.9",
-            "lodash.throttle": "^4.1.1",
-            "url-parse": "^1.4.3"
-          }
-        }
+        "@uppy/companion-client": "0.28.5",
+        "@uppy/utils": "0.30.5",
+        "tus-js-client": "github:ifedapoolarewaju/tus-js-client#d63fcf08ee43080a0e1cc968ad5986ace788c2d4"
       }
     },
     "@uppy/url": {
-      "version": "0.30.4",
-      "resolved": "https://registry.npmjs.org/@uppy/url/-/url-0.30.4.tgz",
-      "integrity": "sha512-e/pAwfXk+vLcmL++x6OXBYuN9jMsUNaxGqgTBx7AIflLyjyN95vG5UjakO+GF0dNbOszdL2XGZVtkEi5Pc0KkQ==",
+      "version": "0.30.5",
+      "resolved": "https://registry.npmjs.org/@uppy/url/-/url-0.30.5.tgz",
+      "integrity": "sha512-l8tsCPzKQyxn4gaaI3JD42fEc6b/wdmgbwD6+tEJSe+4TNHaOyrFPZ+j/OYT9tiy7+/qEx3widzY9FN+2VaKHg==",
       "requires": {
-        "@uppy/companion-client": "0.28.4",
-        "@uppy/utils": "0.30.4",
+        "@uppy/companion-client": "0.28.5",
+        "@uppy/utils": "0.30.5",
         "preact": "^8.2.9"
       }
     },
     "@uppy/utils": {
-      "version": "0.30.4",
-      "resolved": "https://registry.npmjs.org/@uppy/utils/-/utils-0.30.4.tgz",
-      "integrity": "sha512-rDoridOYdKjVvJsvxNSKN28pa2hB3jAysghFllXfQxsaRD8w97slPG/bMhZtUoivq9pkGKX8x06YojOR+SFZtA==",
+      "version": "0.30.5",
+      "resolved": "https://registry.npmjs.org/@uppy/utils/-/utils-0.30.5.tgz",
+      "integrity": "sha512-kdZK9qqbzduCIRsTUzEtQEv/Q4iTaEuwm75VlFAs+8mTMd0bFMRf/gYyGCAnANkfD2Ad/7cdjxy3FlwLO9gUBg==",
       "requires": {
         "lodash.throttle": "^4.1.1"
       }
     },
     "@uppy/xhr-upload": {
-      "version": "0.30.4",
-      "resolved": "https://registry.npmjs.org/@uppy/xhr-upload/-/xhr-upload-0.30.4.tgz",
-      "integrity": "sha512-oCbppueKp07LjrgS09Ggui10nFwpUpMJjTWP5/tjX1MNQShMIlvs+R1BoH9soNC+fe33L6PfSa5mTlQ5JHQJdg==",
+      "version": "0.30.5",
+      "resolved": "https://registry.npmjs.org/@uppy/xhr-upload/-/xhr-upload-0.30.5.tgz",
+      "integrity": "sha512-i5xZ98ParlwZtcfaMAQwOTTJqiUe6WIxa9ctoBuMXOgg5jHZeXYk1/evUd3ToB93xqk6fsyTjO0kbKDBLjI9SQ==",
       "requires": {
-        "@uppy/companion-client": "0.28.4",
-        "@uppy/utils": "0.30.4",
+        "@uppy/companion-client": "0.28.5",
+        "@uppy/utils": "0.30.5",
         "cuid": "^2.1.1"
       }
     },
@@ -5829,6 +5810,15 @@
         "react-is": "^16.8.1"
       }
     },
+    "proper-lockfile": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-2.0.1.tgz",
+      "integrity": "sha1-FZ+wYZPTIAP0s2kd0uwaY0qoDR0=",
+      "requires": {
+        "graceful-fs": "^4.1.2",
+        "retry": "^0.10.0"
+      }
+    },
     "pseudomap": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
@@ -6310,6 +6300,11 @@
       "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
       "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
     },
+    "retry": {
+      "version": "0.10.1",
+      "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz",
+      "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q="
+    },
     "rimraf": {
       "version": "2.6.3",
       "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
@@ -7294,6 +7289,25 @@
       "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
       "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM="
     },
+    "tus-js-client": {
+      "version": "github:ifedapoolarewaju/tus-js-client#d63fcf08ee43080a0e1cc968ad5986ace788c2d4",
+      "from": "github:ifedapoolarewaju/tus-js-client#d63fcf08ee43080a0e1cc968ad5986ace788c2d4",
+      "requires": {
+        "buffer-from": "^0.1.1",
+        "extend": "^3.0.0",
+        "js-base64": "^2.4.9",
+        "lodash.throttle": "^4.1.1",
+        "proper-lockfile": "^2.0.1",
+        "url-parse": "^1.4.3"
+      },
+      "dependencies": {
+        "buffer-from": {
+          "version": "0.1.2",
+          "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-0.1.2.tgz",
+          "integrity": "sha512-RiWIenusJsmI2KcvqQABB83tLxCByE3upSP8QU3rJDMVFGPWLvPQJt/O1Su9moRWeH7d+Q2HYb68f6+v+tw2vg=="
+        }
+      }
+    },
     "typedarray": {
       "version": "0.0.6",
       "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
@@ -7478,9 +7492,9 @@
       }
     },
     "url-parse": {
-      "version": "1.4.4",
-      "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.4.tgz",
-      "integrity": "sha512-/92DTTorg4JjktLNLe6GPS2/RvAd/RGr6LuktmWSMLEOa6rjnlrFXNgSbSmkNvCoL2T028A0a1JaJLzRMlFoHg==",
+      "version": "1.4.6",
+      "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.6.tgz",
+      "integrity": "sha512-/B8AD9iQ01seoXmXf9z/MjLZQIdOoYl/+gvsQF6+mpnxaTfG9P7srYaiqaDMyKkR36XMXfhqSHss5MyFAO8lew==",
       "requires": {
         "querystringify": "^2.0.0",
         "requires-port": "^1.0.0"

+ 7 - 7
examples/react-native-expo/package.json

@@ -7,13 +7,13 @@
     "eject": "expo eject"
   },
   "dependencies": {
-    "@uppy/core": "^0.30.4",
-    "@uppy/dashboard": "^0.30.4",
-    "@uppy/instagram": "^0.30.4",
-    "@uppy/react-native": "0.0.2",
-    "@uppy/tus": "^0.30.4",
-    "@uppy/url": "^0.30.4",
-    "@uppy/xhr-upload": "^0.30.4",
+    "@uppy/core": "^0.30.5",
+    "@uppy/dashboard": "^0.30.5",
+    "@uppy/instagram": "^0.30.5",
+    "@uppy/react-native": "0.0.3",
+    "@uppy/tus": "^0.30.5",
+    "@uppy/url": "^0.30.5",
+    "@uppy/xhr-upload": "^0.30.5",
     "expo": "^32.0.0",
     "preact-render-to-string": "^4.1.0",
     "react": "16.5.0",