From 8d8c1434b66ba407ec6c0d38a9893dec815ce1bc Mon Sep 17 00:00:00 2001 From: Paul Copplestone Date: Thu, 5 Nov 2020 15:44:13 +0800 Subject: [PATCH 01/11] Init expo app --- examples/supabase-expo/.expo/settings.json | 8 + examples/todo-expo/.expo-shared/assets.json | 4 + examples/todo-expo/.gitignore | 13 + examples/todo-expo/App.tsx | 56 + examples/todo-expo/app.json | 32 + examples/todo-expo/assets/adaptive-icon.png | Bin 0 -> 17547 bytes examples/todo-expo/assets/favicon.png | Bin 0 -> 1466 bytes examples/todo-expo/assets/icon.png | Bin 0 -> 22380 bytes examples/todo-expo/assets/splash.png | Bin 0 -> 48478 bytes examples/todo-expo/babel.config.js | 6 + examples/todo-expo/components/Button.tsx | 26 + examples/todo-expo/components/TextField.tsx | 34 + examples/todo-expo/constants.ts | 8 + examples/todo-expo/package-lock.json | 7762 +++++++++++++++++++ examples/todo-expo/package.json | 26 + examples/todo-expo/tsconfig.json | 12 + 16 files changed, 7987 insertions(+) create mode 100644 examples/supabase-expo/.expo/settings.json create mode 100644 examples/todo-expo/.expo-shared/assets.json create mode 100644 examples/todo-expo/.gitignore create mode 100644 examples/todo-expo/App.tsx create mode 100644 examples/todo-expo/app.json create mode 100644 examples/todo-expo/assets/adaptive-icon.png create mode 100644 examples/todo-expo/assets/favicon.png create mode 100644 examples/todo-expo/assets/icon.png create mode 100644 examples/todo-expo/assets/splash.png create mode 100644 examples/todo-expo/babel.config.js create mode 100644 examples/todo-expo/components/Button.tsx create mode 100644 examples/todo-expo/components/TextField.tsx create mode 100644 examples/todo-expo/constants.ts create mode 100644 examples/todo-expo/package-lock.json create mode 100644 examples/todo-expo/package.json create mode 100644 examples/todo-expo/tsconfig.json diff --git a/examples/supabase-expo/.expo/settings.json b/examples/supabase-expo/.expo/settings.json new file mode 100644 index 0000000000..92bc513bfd --- /dev/null +++ b/examples/supabase-expo/.expo/settings.json @@ -0,0 +1,8 @@ +{ + "hostType": "lan", + "lanType": "ip", + "dev": true, + "minify": false, + "urlRandomness": null, + "https": false +} diff --git a/examples/todo-expo/.expo-shared/assets.json b/examples/todo-expo/.expo-shared/assets.json new file mode 100644 index 0000000000..1e6decfbb5 --- /dev/null +++ b/examples/todo-expo/.expo-shared/assets.json @@ -0,0 +1,4 @@ +{ + "12bb71342c6255bbf50437ec8f4441c083f47cdb74bd89160c15e4f43e52a1cb": true, + "40b842e832070c58deac6aa9e08fa459302ee3f9da492c7e77d93d2fbf4a56fd": true +} diff --git a/examples/todo-expo/.gitignore b/examples/todo-expo/.gitignore new file mode 100644 index 0000000000..73e9e94574 --- /dev/null +++ b/examples/todo-expo/.gitignore @@ -0,0 +1,13 @@ +node_modules/**/* +.expo/* +npm-debug.* +*.jks +*.p8 +*.p12 +*.key +*.mobileprovision +*.orig.* +web-build/ + +# macOS +.DS_Store diff --git a/examples/todo-expo/App.tsx b/examples/todo-expo/App.tsx new file mode 100644 index 0000000000..cde097beb2 --- /dev/null +++ b/examples/todo-expo/App.tsx @@ -0,0 +1,56 @@ +import { StatusBar } from 'expo-status-bar' +import React from 'react' +import { StyleSheet, Text, View } from 'react-native' +import { Styles } from './constants' + +import Button from './components/Button' +import TextField from './components/TextField' + +export default function App() { + const [email, onChangeEmail] = React.useState('') + const [password, onChangePassword] = React.useState('') + + return ( + + + To Do List + + + Email + onChangeEmail(text)} + text={email} + placeholder="Enter your email" + /> + + + Password + onChangePassword(text)} + text={password} + type={'password'} + placeholder="Enter your password" + /> + + + + + + + )} + /> + + + ) +} + +const styles = StyleSheet.create({ + container: { + marginTop: 40, + padding: Styles.spacing, + }, + verticallySpaced: { + paddingTop: 4, + paddingBottom: 4, + alignSelf: 'stretch', + }, +}) diff --git a/examples/todo-expo/package-lock.json b/examples/todo-expo/package-lock.json index 9cd8fb7007..1d8a8d10a7 100644 --- a/examples/todo-expo/package-lock.json +++ b/examples/todo-expo/package-lock.json @@ -2481,6 +2481,15 @@ "node-int64": "^0.4.0" } }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "buffer-alloc": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", @@ -4074,6 +4083,11 @@ "safer-buffer": ">= 2.1.2 < 3" } }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, "image-size": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz", @@ -6126,6 +6140,11 @@ "once": "^1.3.1" } }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, "qs": { "version": "6.9.4", "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.4.tgz", @@ -6301,6 +6320,14 @@ "resolved": "https://registry.npmjs.org/react-native-status-bar-height/-/react-native-status-bar-height-2.6.0.tgz", "integrity": "sha512-z3SGLF0mHT+OlJDq7B7h/jXPjWcdBT3V14Le5L2PjntjjWM3+EJzq2BcXDwV+v67KFNJic5pgA26cCmseYek6w==" }, + "react-native-url-polyfill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/react-native-url-polyfill/-/react-native-url-polyfill-1.2.0.tgz", + "integrity": "sha512-hpLZ8RyS3oGVyTOe/HjoqVoCOSkeJvrCoEB3bJsY7t9uh7kpQDV6kgvdlECEafYpxe3RzMrKLVcmWRbPU7CuAw==", + "requires": { + "whatwg-url-without-unicode": "8.0.0-3" + } + }, "react-native-web": { "version": "0.13.18", "resolved": "https://registry.npmjs.org/react-native-web/-/react-native-web-0.13.18.tgz", @@ -7574,6 +7601,11 @@ "defaults": "^1.0.3" } }, + "webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==" + }, "websocket": { "version": "1.0.33", "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.33.tgz", @@ -7607,6 +7639,16 @@ "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.5.0.tgz", "integrity": "sha512-jXkLtsR42xhXg7akoDKvKWE40eJeI+2KZqcp2h3NsOrRnDvtWX36KcKl30dy+hxECivdk2BVUHVNrPtoMBUx6A==" }, + "whatwg-url-without-unicode": { + "version": "8.0.0-3", + "resolved": "https://registry.npmjs.org/whatwg-url-without-unicode/-/whatwg-url-without-unicode-8.0.0-3.tgz", + "integrity": "sha512-HoKuzZrUlgpz35YO27XgD28uh/WJH4B0+3ttFqRo//lmq+9T/mIOJ6kqmINI9HpUpz1imRC/nR/lxKpJiv0uig==", + "requires": { + "buffer": "^5.4.3", + "punycode": "^2.1.1", + "webidl-conversions": "^5.0.0" + } + }, "which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", diff --git a/examples/todo-expo/package.json b/examples/todo-expo/package.json index 154d84216d..5159efe024 100644 --- a/examples/todo-expo/package.json +++ b/examples/todo-expo/package.json @@ -17,6 +17,7 @@ "react-dom": "16.13.1", "react-native": "https://github.com/expo/react-native/archive/sdk-39.0.4.tar.gz", "react-native-elements": "^3.0.0-alpha.1", + "react-native-url-polyfill": "^1.2.0", "react-native-web": "~0.13.12" }, "devDependencies": {