├── .editorconfig ├── .eslintrc.json ├── .gitattributes ├── .github └── stale.yml ├── .gitignore ├── .npmignore ├── .watchmanconfig ├── README.md ├── RewardsComponent.js ├── confetti.js ├── emoji.js ├── example ├── .babelrc ├── .buckconfig ├── .flowconfig ├── .gitattributes ├── .gitignore ├── .watchmanconfig ├── App.js ├── android │ ├── app │ │ ├── BUCK │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ ├── MainActivity.java │ │ │ │ └── MainApplication.java │ │ │ └── res │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ └── values │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── keystores │ │ ├── BUCK │ │ └── debug.keystore.properties │ └── settings.gradle ├── app.json ├── assets │ ├── Wiretap.png │ └── cup.png ├── index.js ├── ios │ ├── example-tvOS │ │ └── Info.plist │ ├── example-tvOSTests │ │ └── Info.plist │ ├── example.xcodeproj │ │ ├── project.pbxproj │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ ├── example-tvOS.xcscheme │ │ │ └── example.xcscheme │ ├── example │ │ ├── AppDelegate.h │ │ ├── AppDelegate.m │ │ ├── Base.lproj │ │ │ └── LaunchScreen.xib │ │ ├── Images.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ ├── Info.plist │ │ └── main.m │ └── exampleTests │ │ ├── Info.plist │ │ └── exampleTests.m ├── package-lock.json ├── package.json └── yarn.lock ├── index.js ├── package-lock.json ├── package.json └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | charset = utf-8 7 | trim_trailing_whitespace = true 8 | insert_final_newline = true 9 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "node": true, 4 | "browser": true, 5 | "es6": true, 6 | "mocha": true, 7 | "jest": true 8 | }, 9 | "parser": "babel-eslint", 10 | "extends": "airbnb", 11 | "plugins": [ 12 | "mocha" 13 | ], 14 | "globals": { 15 | "__DEV__": false, 16 | "babelHelpers": false 17 | }, 18 | "rules": { 19 | "no-underscore-dangle": 0, 20 | "no-return-assign": 0, 21 | "max-len": 0, 22 | "no-shadow": 0, 23 | "react/jsx-filename-extension": 0, 24 | "react/forbid-prop-types": 0, 25 | "no-use-before-define": 0, 26 | "no-unused-vars": 1, 27 | "eqeqeq": 1, 28 | "global-require": 0, 29 | "class-methods-use-this": 0, 30 | "react/sort-comp": 0, 31 | "react/require-default-props": 0, 32 | "react/jsx-tag-spacing": { 33 | "closingSlash": "never", 34 | "beforeSelfClosing": "always", 35 | "afterOpening": "never", 36 | "beforeClosing": "allow" 37 | }, 38 | "radix": 0, 39 | "react/prefer-stateless-function": 0, 40 | "no-plusplus": 0, 41 | "no-console": 0, 42 | "no-restricted-syntax": 0, 43 | "no-continue": 0, 44 | "guard-for-in": 0, 45 | "no-debugger": 0, 46 | "prefer-destructuring": 0, 47 | "react/destructuring-assignment": 1, 48 | "object-curly-newline": ["warn", { 49 | "consistent": true, 50 | "multiline": true 51 | }] 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text -------------------------------------------------------------------------------- /.github/stale.yml: -------------------------------------------------------------------------------- 1 | # Configuration for probot-stale - https://github.com/probot/stale 2 | 3 | # Number of days of inactivity before an Issue or Pull Request becomes stale 4 | daysUntilStale: 60 5 | 6 | # Number of days of inactivity before an Issue or Pull Request with the stale label is closed. 7 | # Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale. 8 | daysUntilClose: 7 9 | 10 | # Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable 11 | exemptLabels: 12 | - pinned 13 | - security 14 | - "[Status] Maybe Later" 15 | 16 | # Set to true to ignore issues in a project (defaults to false) 17 | exemptProjects: false 18 | 19 | # Set to true to ignore issues in a milestone (defaults to false) 20 | exemptMilestones: false 21 | 22 | # Label to use when marking as stale 23 | staleLabel: wontfix 24 | 25 | # Comment to post when marking as stale. Set to `false` to disable 26 | markComment: > 27 | This issue has been automatically marked as stale because it has not had 28 | recent activity. It will be closed if no further activity occurs. Thank you 29 | for your contributions. 30 | 31 | # Comment to post when removing the stale label. 32 | # unmarkComment: > 33 | # Your comment here. 34 | 35 | # Comment to post when closing a stale Issue or Pull Request. 36 | # closeComment: > 37 | # Your comment here. 38 | 39 | # Limit the number of actions per hour, from 1-30. Default is 30 40 | limitPerRun: 30 41 | 42 | # Limit to only `issues` or `pulls` 43 | # only: issues 44 | 45 | # Optionally, specify configuration settings that are specific to just 'issues' or 'pulls': 46 | # pulls: 47 | # daysUntilStale: 30 48 | # markComment: > 49 | # This pull request has been automatically marked as stale because it has not had 50 | # recent activity. It will be closed if no further activity occurs. Thank you 51 | # for your contributions. 52 | 53 | # issues: 54 | # exemptLabels: 55 | # - confirmed -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # OSX 3 | # 4 | .DS_Store 5 | 6 | # node.js 7 | # 8 | node_modules/ 9 | npm-debug.log 10 | yarn-error.log 11 | 12 | 13 | # Xcode 14 | # 15 | build/ 16 | *.pbxuser 17 | !default.pbxuser 18 | *.mode1v3 19 | !default.mode1v3 20 | *.mode2v3 21 | !default.mode2v3 22 | *.perspectivev3 23 | !default.perspectivev3 24 | xcuserdata 25 | *.xccheckout 26 | *.moved-aside 27 | DerivedData 28 | *.hmap 29 | *.ipa 30 | *.xcuserstate 31 | project.xcworkspace 32 | 33 | 34 | # Android/IntelliJ 35 | # 36 | build/ 37 | .idea 38 | .gradle 39 | local.properties 40 | *.iml 41 | 42 | # BUCK 43 | buck-out/ 44 | \.buckd/ 45 | *.keystore 46 | 47 | .vscode/* 48 | !.vscode/settings.json 49 | !.vscode/tasks.json 50 | !.vscode/launch.json 51 | !.vscode/extensions.json 52 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | example/* 2 | node_modules/* 3 | -------------------------------------------------------------------------------- /.watchmanconfig: -------------------------------------------------------------------------------- 1 | { 2 | "ignore_dirs": [ 3 | "node_modules", 4 | "example" 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | # react-native-rewards 3 |

4 | 6 | npm version 7 |

8 | 9 | Library is strongly inspired by [react-rewards](https://github.com/thedevelobear/react-rewards) created by [The Develobear](https://medium.com/@thedevelobear)! 10 | 11 |

12 | react-native-rewards demo 13 |

14 | ## Getting started 15 | 16 | `$ npm install react-native-rewards --save` 17 | 18 | `$ yarn add react-native-root-view-background` 19 | 20 | Library is 100% javascript so, there is no need to do native linking 21 | 22 | 23 | ## Usage 24 | 25 | using props: 26 | 27 | ```javascript 28 | import RewardsComponent from 'react-native-rewards'; 29 | import React, { Component, createRef } from 'react'; 30 | 31 | class App extends Component { 32 | state={ 33 | animationState: 'rest', 34 | } 35 | 36 | render() { 37 | const { animationState } = this.state; 38 | return ( 39 | this.setState({ animationState: 'rest' })} 43 | > 44 | this.setState({ animationState: 'reward' })} 46 | style={styles.buttonProps} 47 | > 48 | + 49 | 50 | 51 | ) 52 | } 53 | } 54 | ``` 55 | 56 | using ref: 57 | 58 | ```javascript 59 | import RewardsComponent from 'react-native-rewards'; 60 | import React, { Component, createRef } from 'react'; 61 | 62 | class App extends Component { 63 | constructor(props) { 64 | super(props); 65 | this.rewardsComponent = createRef(); 66 | } 67 | 68 | render() { 69 | return ( 70 | 74 | this.rewardsComponent.current.rewardMe()} 76 | style={styles.button} 77 | > 78 | 80 | 81 | 82 | ) 83 | } 84 | } 85 | ``` 86 | 87 | ## Props 88 | | name | type | description | required | default | 89 | |:--------------------: |:--------------: |:-------------------------------------------------------------: |:--------: |:---------------: | 90 | | **`children`** | React Element | content to animate e.g. Button | YES | | 91 | | **`initialSpeed`** | Number/Float | initial speed of partices | NO | `1` | 92 | | **`spread`** | Number/Float | Multiplier of distance beetween partices | NO | `1` | 93 | | **`deacceleration`** | Number/Float | Multiplier how fast partices deaccelerate in firt phase | NO | `1` | 94 | | **`rotationXSpeed`** | Number/Float | Rotation speed multiplier in X axis | NO | `5` | 95 | | **`rotationZSpeed`** | Number/Float | Rotation speed multiplier in Z axis | NO | `5` | 96 | | **`particiesCount`** | Number/Integer | Partices count in reward animation | NO | `20` | 97 | | **`colors`** | Array | Colors used to generate confetti | NO | Some colors :) | 98 | | **`emoji`** | Array | Emojis used to generate confetti | NO | `['👍','😊','🎉']` | 99 | | **`animationType`** | String | Type of animation `confetti`/`emoji` | NO | `confetti` | 100 | | **`state`** | String | State of animation, changing of this value triggers animation | NO | `rest` | 101 | | **`onRest`** | Function | Callback when animation goes to rest state | NO | | 102 | 103 | 104 | ## Methods 105 | 106 | You can call this method by using refs of component 107 | * **`rewardMe`** - Triggers reward animation 108 | * **`punishMe`** - Triggers punish animation 109 | 110 | ## Notes for local development 111 | You need to have facebook watchman installed 112 | 113 | 114 | 1. `cd example` 115 | 2. `yarn` 116 | 4. `yarn start` 117 | 5. `yarn run sync` in another terminal window (doesn't matter where) 118 | 119 | If you have any issues, you can clear your watches using `watchman watch-del-all` and try again. 120 | 121 | ## Author 122 | 123 | Feel free to ask me qustion on Twitter [@JanRomaniak](https://www.twitter.com/JanRomaniak)! 124 | 125 | -------------------------------------------------------------------------------- /RewardsComponent.js: -------------------------------------------------------------------------------- 1 | import React, { Component, createRef } from 'react'; 2 | import PropTypes from 'prop-types'; 3 | import { Text, View, Animated } from 'react-native'; 4 | import posed from 'react-native-pose'; 5 | import { generateConfettiItems, generateConfettiInitialTranslations, generateConfettiAnimations } from './confetti'; 6 | import { generateEmojiItems } from './emoji'; 7 | 8 | const confecttiCount = 40; 9 | const SpringAnim = posed.View({ 10 | clicked: { 11 | y: 5, 12 | transition: { 13 | type: 'spring', 14 | stiffness: 200, 15 | damping: 2, 16 | }, 17 | }, 18 | punished: { 19 | x: 5, 20 | transition: { 21 | type: 'spring', 22 | stiffness: 200, 23 | damping: 2, 24 | }, 25 | }, 26 | rest: { 27 | x: 0, 28 | y: 0, 29 | transition: { 30 | type: 'spring', 31 | stiffness: 200, 32 | damping: 2, 33 | }, 34 | }, 35 | }); 36 | class RewardsComponent extends Component { 37 | state={ 38 | translations: generateConfettiInitialTranslations(confecttiCount, 0), 39 | state: null, 40 | } 41 | 42 | constructor(props) { 43 | super(props); 44 | this.containerRef = createRef(); 45 | } 46 | 47 | get animationParams() { 48 | const { initialSpeed, spread, deacceleration, rotationXSpeed, rotationZSpeed } = this.props; 49 | const params = { initialSpeed, spread, deacceleration, rotationXSpeed, rotationZSpeed }; 50 | return params; 51 | } 52 | 53 | async rest() { 54 | setTimeout(() => { 55 | this.setState({ state: 'rest' }); 56 | this.props.onRest(); 57 | }, 100); 58 | } 59 | 60 | async punishMe() { 61 | this.setState({ state: 'punished' }); 62 | this.rest(); 63 | } 64 | 65 | UNSAFE_componentWillReceiveProps(props) { 66 | const newState = props.state; 67 | const { state } = this.props; 68 | if (state === newState) { 69 | return; 70 | } 71 | switch (newState) { 72 | case 'reward': 73 | this.rewardMe(); 74 | break; 75 | case 'punish': 76 | this.rewardMe(); 77 | break; 78 | default: 79 | } 80 | } 81 | async rewardMe() { 82 | this.setState({ state: 'clicked' }); 83 | const translations = generateConfettiInitialTranslations(confecttiCount); 84 | 85 | this.setState({ translations }, () => generateConfettiAnimations(translations, this.animationParams)); 86 | this.rest(); 87 | } 88 | render() { 89 | const { children, animationType, colors, emojis } = this.props; 90 | const { translations, state } = this.state; 91 | let items; 92 | switch (animationType) { 93 | case 'confetti': 94 | items = generateConfettiItems(translations, confecttiCount, colors); 95 | break; 96 | case 'emoji': 97 | items = generateEmojiItems(translations, confecttiCount, emojis); 98 | break; 99 | default: 100 | items = generateConfettiItems(translations, confecttiCount, colors); 101 | } 102 | return ( 103 | 104 | 105 | {items} 106 | 107 | 108 | {children} 109 | 110 | 111 | ); 112 | } 113 | } 114 | RewardsComponent.propTypes = { 115 | children: PropTypes.element.isRequired, 116 | initialSpeed: PropTypes.number, 117 | spread: PropTypes.number, 118 | deacceleration: PropTypes.number, 119 | rotationXSpeed: PropTypes.number, 120 | rotationZSpeed: PropTypes.number, 121 | particiesCount: PropTypes.number, 122 | colors: PropTypes.array, 123 | emojis: PropTypes.array, 124 | animationType: PropTypes.oneOf(['confetti', 'emoji']), 125 | state: PropTypes.oneOf(['rest', 'reward', 'punish']), 126 | onRest: PropTypes.func, 127 | }; 128 | 129 | RewardsComponent.defaultProps = { 130 | initialSpeed: 1, 131 | spread: 1, 132 | deacceleration: 1, 133 | rotationXSpeed: 5, 134 | rotationZSpeed: 5, 135 | particiesCount: 20, 136 | colors: [ 137 | '#A45BF1', 138 | '#25C6F6', 139 | '#72F753', 140 | '#F76C88', 141 | '#F5F770', 142 | ], 143 | emojis: [ 144 | '👍', 145 | '😊', 146 | '🎉', 147 | ], 148 | animationType: 'confetti', 149 | state: 'rest', 150 | onRest: () => {}, 151 | }; 152 | export default RewardsComponent; 153 | -------------------------------------------------------------------------------- /confetti.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import {Animated } from 'react-native'; 3 | 4 | export function ConfettiItem({ color, translateX, translateY, opacity, rotateX, rotateZ }) { 5 | const spinX = rotateX.interpolate({ 6 | inputRange: [0, 10], 7 | outputRange: ['0deg', '360deg'], 8 | }); 9 | const spinZ = rotateZ.interpolate({ 10 | inputRange: [0, 10], 11 | outputRange: ['0deg', '360deg'], 12 | }); 13 | const itemStyle = { 14 | backgroundColor: color, 15 | height: 8, 16 | width: 8, 17 | opacity, 18 | transform: [ 19 | { translateX }, 20 | { translateY }, 21 | { rotateX: spinX }, 22 | { rotateZ: spinZ }, 23 | ], 24 | position: 'absolute', 25 | }; 26 | return ( 27 | 28 | ); 29 | } 30 | 31 | 32 | export function generateConfettiItems(translations, count, colors) { 33 | const items = []; 34 | for (let i = 0; i < count; i++) { 35 | const { transform, opacity, rotateX, rotateZ } = translations[i]; 36 | const item = ( 37 | 46 | ); 47 | items.push(item); 48 | } 49 | return items; 50 | } 51 | 52 | export function generateConfettiInitialTranslations(count = 20, initialOpacity = 1) { 53 | const translations = []; 54 | for (let i = 0; i < count; i++) { 55 | const translation = { 56 | transform: new Animated.ValueXY(0, 0), 57 | opacity: new Animated.Value(initialOpacity), 58 | rotateX: new Animated.Value(0), 59 | rotateZ: new Animated.Value(0), 60 | }; 61 | translations.push(translation); 62 | } 63 | return translations; 64 | } 65 | 66 | export function generateConfettiAnimations(translations, params) { 67 | return translations.map((item, index) => generateConfettiAnimation(item, index, translations.length, params)); 68 | } 69 | 70 | function generateConfettiAnimation({ transform, opacity, rotateX, rotateZ }, index, count, params) { 71 | const { initialSpeed, spread, deacceleration, rotationXSpeed, rotationZSpeed } = params; 72 | const degrees = 0; 73 | const angle = degrees * Math.PI / 180; 74 | const vx = Math.cos(angle); 75 | const vy = Math.sin(angle); 76 | const spreadSpeed = (Math.random() - 0.5) * 3 * initialSpeed * spread; 77 | const flySpeed = (-1.0 - Math.random() * 2) * initialSpeed; 78 | const xSpeed = spreadSpeed * vx + flySpeed * vy; 79 | const ySpeed = flySpeed * vx + flySpeed * vy; 80 | const upAnimation = 81 | Animated.decay(transform, { 82 | // coast to a stop 83 | velocity: { x: xSpeed, y: ySpeed }, // velocity from gesture release 84 | deceleration: 0.989 + (1 - deacceleration) / 100, 85 | }); 86 | 87 | const duration = 2000 + Math.random() * 100; 88 | const downAnimation = Animated.timing( // Animate over time 89 | transform.y, // The animated value to drive 90 | { 91 | toValue: 100 + Math.random() * 100, // Animate to opacity: 1 (opaque) 92 | duration, // Make it take a while 93 | }, 94 | ); 95 | const disapearAnimation = Animated.timing( // Animate over time 96 | opacity, // The animated value to drive 97 | { 98 | toValue: 0, // Animate to opacity: 1 (opaque) 99 | duration, // Make it take a while 100 | }, 101 | ); 102 | const rotateXAnimation = Animated.timing( 103 | rotateX, 104 | { 105 | toValue: (Math.random() * 3) * rotationXSpeed, 106 | duration, 107 | }, 108 | ); 109 | const rotateZAnimation = Animated.timing( 110 | rotateZ, 111 | { 112 | toValue: (Math.random() * 5) * rotationZSpeed, 113 | duration, 114 | }, 115 | ); 116 | 117 | Animated.parallel([ 118 | Animated.sequence([ 119 | upAnimation, 120 | Animated.parallel([ 121 | disapearAnimation, 122 | downAnimation, 123 | ]), 124 | ]), 125 | rotateXAnimation, 126 | rotateZAnimation, 127 | ]).start(); 128 | } 129 | -------------------------------------------------------------------------------- /emoji.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { Animated } from 'react-native'; 3 | 4 | export function EmojiItem({ emoji, translateX, translateY, opacity, rotateZ }) { 5 | const spinZ = rotateZ.interpolate({ 6 | inputRange: [0, 10], 7 | outputRange: ['0deg', '360deg'], 8 | }); 9 | const itemStyle = { 10 | height: 18, 11 | width: 18, 12 | opacity, 13 | transform: [ 14 | { translateX }, 15 | { translateY }, 16 | { rotateZ: spinZ }, 17 | ], 18 | position: 'absolute', 19 | }; 20 | return ( 21 | 22 | {emoji} 23 | 24 | ); 25 | } 26 | 27 | 28 | export function generateEmojiItems(translations, count = 20, emojis) { 29 | const items = []; 30 | for (let i = 0; i < count; i++) { 31 | const { transform, opacity, rotateZ } = translations[i]; 32 | const item = ( 33 | 41 | ); 42 | items.push(item); 43 | } 44 | return items; 45 | } 46 | -------------------------------------------------------------------------------- /example/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["module:metro-react-native-babel-preset"] 3 | } 4 | -------------------------------------------------------------------------------- /example/.buckconfig: -------------------------------------------------------------------------------- 1 | 2 | [android] 3 | target = Google Inc.:Google APIs:23 4 | 5 | [maven_repositories] 6 | central = https://repo1.maven.org/maven2 7 | -------------------------------------------------------------------------------- /example/.flowconfig: -------------------------------------------------------------------------------- 1 | [ignore] 2 | ; We fork some components by platform 3 | .*/*[.]android.js 4 | 5 | ; Ignore "BUCK" generated dirs 6 | /\.buckd/ 7 | 8 | ; Ignore unexpected extra "@providesModule" 9 | .*/node_modules/.*/node_modules/fbjs/.* 10 | 11 | ; Ignore duplicate module providers 12 | ; For RN Apps installed via npm, "Libraries" folder is inside 13 | ; "node_modules/react-native" but in the source repo it is in the root 14 | .*/Libraries/react-native/React.js 15 | 16 | ; Ignore polyfills 17 | .*/Libraries/polyfills/.* 18 | 19 | ; Ignore metro 20 | .*/node_modules/metro/.* 21 | 22 | [include] 23 | 24 | [libs] 25 | node_modules/react-native/Libraries/react-native/react-native-interface.js 26 | node_modules/react-native/flow/ 27 | node_modules/react-native/flow-github/ 28 | 29 | [options] 30 | emoji=true 31 | 32 | esproposal.optional_chaining=enable 33 | esproposal.nullish_coalescing=enable 34 | 35 | module.system=haste 36 | module.system.haste.use_name_reducers=true 37 | # get basename 38 | module.system.haste.name_reducers='^.*/\([a-zA-Z0-9$_.-]+\.js\(\.flow\)?\)$' -> '\1' 39 | # strip .js or .js.flow suffix 40 | module.system.haste.name_reducers='^\(.*\)\.js\(\.flow\)?$' -> '\1' 41 | # strip .ios suffix 42 | module.system.haste.name_reducers='^\(.*\)\.ios$' -> '\1' 43 | module.system.haste.name_reducers='^\(.*\)\.android$' -> '\1' 44 | module.system.haste.name_reducers='^\(.*\)\.native$' -> '\1' 45 | module.system.haste.paths.blacklist=.*/__tests__/.* 46 | module.system.haste.paths.blacklist=.*/__mocks__/.* 47 | module.system.haste.paths.blacklist=/node_modules/react-native/Libraries/Animated/src/polyfills/.* 48 | module.system.haste.paths.whitelist=/node_modules/react-native/Libraries/.* 49 | 50 | munge_underscores=true 51 | 52 | module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> 'RelativeImageStub' 53 | 54 | module.file_ext=.js 55 | module.file_ext=.jsx 56 | module.file_ext=.json 57 | module.file_ext=.native.js 58 | 59 | suppress_type=$FlowIssue 60 | suppress_type=$FlowFixMe 61 | suppress_type=$FlowFixMeProps 62 | suppress_type=$FlowFixMeState 63 | 64 | suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\) 65 | suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(\\)? *\\(site=[a-z,_]*react_native[a-z,_]*\\)?)\\)?:? #[0-9]+ 66 | suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy 67 | suppress_comment=\\(.\\|\n\\)*\\$FlowExpectedError 68 | 69 | [version] 70 | ^0.78.0 71 | -------------------------------------------------------------------------------- /example/.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | -------------------------------------------------------------------------------- /example/.gitignore: -------------------------------------------------------------------------------- 1 | # OSX 2 | # 3 | .DS_Store 4 | 5 | # Xcode 6 | # 7 | build/ 8 | *.pbxuser 9 | !default.pbxuser 10 | *.mode1v3 11 | !default.mode1v3 12 | *.mode2v3 13 | !default.mode2v3 14 | *.perspectivev3 15 | !default.perspectivev3 16 | xcuserdata 17 | *.xccheckout 18 | *.moved-aside 19 | DerivedData 20 | *.hmap 21 | *.ipa 22 | *.xcuserstate 23 | project.xcworkspace 24 | 25 | # Android/IntelliJ 26 | # 27 | build/ 28 | .idea 29 | .gradle 30 | local.properties 31 | *.iml 32 | 33 | # node.js 34 | # 35 | node_modules/ 36 | npm-debug.log 37 | yarn-error.log 38 | 39 | # BUCK 40 | buck-out/ 41 | \.buckd/ 42 | *.keystore 43 | 44 | # fastlane 45 | # 46 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 47 | # screenshots whenever they are needed. 48 | # For more information about the recommended setup visit: 49 | # https://docs.fastlane.tools/best-practices/source-control/ 50 | 51 | */fastlane/report.xml 52 | */fastlane/Preview.html 53 | */fastlane/screenshots 54 | 55 | # Bundle artifact 56 | *.jsbundle 57 | -------------------------------------------------------------------------------- /example/.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /example/App.js: -------------------------------------------------------------------------------- 1 | import React, { Component, createRef } from 'react'; 2 | import { Platform, StyleSheet, Text, View, TouchableOpacity, ImageBackground, Image } from 'react-native'; 3 | import RewardsComponent from 'react-native-rewards'; 4 | 5 | const CornflowerBlue = '#6495ED'; 6 | 7 | export default class App extends Component { 8 | state={ 9 | animationState: 'rest', 10 | } 11 | constructor(props) { 12 | super(props); 13 | this.rewardsComponent = createRef(); 14 | this.rewardsComponent2nd = createRef(); 15 | } 16 | render() { 17 | const { animationState } = this.state; 18 | return ( 19 | 20 | 21 | 25 | this.rewardsComponent.current.rewardMe()} 27 | style={styles.button} 28 | > 29 | 30 | 31 | 32 | 36 | this.rewardsComponent2nd.current.punishMe()} 38 | style={styles.buttonPunish} 39 | > 40 | X 41 | 42 | 43 | this.setState({ animationState: 'rest' })} 47 | > 48 | this.setState({ animationState: 'reward' })} 50 | style={styles.buttonProps} 51 | > 52 | + 53 | 54 | 55 | 56 | 57 | ); 58 | } 59 | } 60 | 61 | const styles = StyleSheet.create({ 62 | container: { 63 | flex: 1, 64 | justifyContent: 'center', 65 | alignItems: 'center', 66 | backgroundColor: '#fff', 67 | margin: 10, 68 | marginTop: 20, 69 | }, 70 | button: { 71 | backgroundColor: CornflowerBlue, 72 | height: 60, 73 | width: 60, 74 | borderRadius: 30, 75 | alignItems: 'center', 76 | justifyContent: 'center', 77 | shadowColor: '#000', 78 | shadowOffset: { 79 | width: 0, 80 | height: 2, 81 | }, 82 | shadowOpacity: 0.25, 83 | shadowRadius: 3.84, 84 | elevation: 5, 85 | }, 86 | buttonPunish: { 87 | backgroundColor: '#f04', 88 | height: 60, 89 | width: 60, 90 | borderRadius: 30, 91 | alignItems: 'center', 92 | justifyContent: 'center', 93 | shadowColor: '#000', 94 | shadowOffset: { 95 | width: 0, 96 | height: 2, 97 | }, 98 | shadowOpacity: 0.25, 99 | shadowRadius: 3.84, 100 | elevation: 5, 101 | marginTop: 10, 102 | }, 103 | buttonProps: { 104 | backgroundColor: '#f60', 105 | height: 60, 106 | width: 60, 107 | borderRadius: 30, 108 | alignItems: 'center', 109 | justifyContent: 'center', 110 | shadowColor: '#000', 111 | shadowOffset: { 112 | width: 0, 113 | height: 2, 114 | }, 115 | shadowOpacity: 0.25, 116 | shadowRadius: 3.84, 117 | elevation: 5, 118 | marginTop: 10, 119 | }, 120 | buttonText: { 121 | color: 'white', 122 | fontSize: 24, 123 | }, 124 | }); 125 | -------------------------------------------------------------------------------- /example/android/app/BUCK: -------------------------------------------------------------------------------- 1 | # To learn about Buck see [Docs](https://buckbuild.com/). 2 | # To run your application with Buck: 3 | # - install Buck 4 | # - `npm start` - to start the packager 5 | # - `cd android` 6 | # - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US"` 7 | # - `./gradlew :app:copyDownloadableDepsToLibs` - make all Gradle compile dependencies available to Buck 8 | # - `buck install -r android/app` - compile, install and run application 9 | # 10 | 11 | lib_deps = [] 12 | 13 | for jarfile in glob(['libs/*.jar']): 14 | name = 'jars__' + jarfile[jarfile.rindex('/') + 1: jarfile.rindex('.jar')] 15 | lib_deps.append(':' + name) 16 | prebuilt_jar( 17 | name = name, 18 | binary_jar = jarfile, 19 | ) 20 | 21 | for aarfile in glob(['libs/*.aar']): 22 | name = 'aars__' + aarfile[aarfile.rindex('/') + 1: aarfile.rindex('.aar')] 23 | lib_deps.append(':' + name) 24 | android_prebuilt_aar( 25 | name = name, 26 | aar = aarfile, 27 | ) 28 | 29 | android_library( 30 | name = "all-libs", 31 | exported_deps = lib_deps, 32 | ) 33 | 34 | android_library( 35 | name = "app-code", 36 | srcs = glob([ 37 | "src/main/java/**/*.java", 38 | ]), 39 | deps = [ 40 | ":all-libs", 41 | ":build_config", 42 | ":res", 43 | ], 44 | ) 45 | 46 | android_build_config( 47 | name = "build_config", 48 | package = "com.example", 49 | ) 50 | 51 | android_resource( 52 | name = "res", 53 | package = "com.example", 54 | res = "src/main/res", 55 | ) 56 | 57 | android_binary( 58 | name = "app", 59 | keystore = "//android/keystores:debug", 60 | manifest = "src/main/AndroidManifest.xml", 61 | package_type = "debug", 62 | deps = [ 63 | ":app-code", 64 | ], 65 | ) 66 | -------------------------------------------------------------------------------- /example/android/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: "com.android.application" 2 | 3 | import com.android.build.OutputFile 4 | 5 | /** 6 | * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets 7 | * and bundleReleaseJsAndAssets). 8 | * These basically call `react-native bundle` with the correct arguments during the Android build 9 | * cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the 10 | * bundle directly from the development server. Below you can see all the possible configurations 11 | * and their defaults. If you decide to add a configuration block, make sure to add it before the 12 | * `apply from: "../../node_modules/react-native/react.gradle"` line. 13 | * 14 | * project.ext.react = [ 15 | * // the name of the generated asset file containing your JS bundle 16 | * bundleAssetName: "index.android.bundle", 17 | * 18 | * // the entry file for bundle generation 19 | * entryFile: "index.android.js", 20 | * 21 | * // whether to bundle JS and assets in debug mode 22 | * bundleInDebug: false, 23 | * 24 | * // whether to bundle JS and assets in release mode 25 | * bundleInRelease: true, 26 | * 27 | * // whether to bundle JS and assets in another build variant (if configured). 28 | * // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants 29 | * // The configuration property can be in the following formats 30 | * // 'bundleIn${productFlavor}${buildType}' 31 | * // 'bundleIn${buildType}' 32 | * // bundleInFreeDebug: true, 33 | * // bundleInPaidRelease: true, 34 | * // bundleInBeta: true, 35 | * 36 | * // whether to disable dev mode in custom build variants (by default only disabled in release) 37 | * // for example: to disable dev mode in the staging build type (if configured) 38 | * devDisabledInStaging: true, 39 | * // The configuration property can be in the following formats 40 | * // 'devDisabledIn${productFlavor}${buildType}' 41 | * // 'devDisabledIn${buildType}' 42 | * 43 | * // the root of your project, i.e. where "package.json" lives 44 | * root: "../../", 45 | * 46 | * // where to put the JS bundle asset in debug mode 47 | * jsBundleDirDebug: "$buildDir/intermediates/assets/debug", 48 | * 49 | * // where to put the JS bundle asset in release mode 50 | * jsBundleDirRelease: "$buildDir/intermediates/assets/release", 51 | * 52 | * // where to put drawable resources / React Native assets, e.g. the ones you use via 53 | * // require('./image.png')), in debug mode 54 | * resourcesDirDebug: "$buildDir/intermediates/res/merged/debug", 55 | * 56 | * // where to put drawable resources / React Native assets, e.g. the ones you use via 57 | * // require('./image.png')), in release mode 58 | * resourcesDirRelease: "$buildDir/intermediates/res/merged/release", 59 | * 60 | * // by default the gradle tasks are skipped if none of the JS files or assets change; this means 61 | * // that we don't look at files in android/ or ios/ to determine whether the tasks are up to 62 | * // date; if you have any other folders that you want to ignore for performance reasons (gradle 63 | * // indexes the entire tree), add them here. Alternatively, if you have JS files in android/ 64 | * // for example, you might want to remove it from here. 65 | * inputExcludes: ["android/**", "ios/**"], 66 | * 67 | * // override which node gets called and with what additional arguments 68 | * nodeExecutableAndArgs: ["node"], 69 | * 70 | * // supply additional arguments to the packager 71 | * extraPackagerArgs: [] 72 | * ] 73 | */ 74 | 75 | project.ext.react = [ 76 | entryFile: "index.js" 77 | ] 78 | 79 | apply from: "../../node_modules/react-native/react.gradle" 80 | 81 | /** 82 | * Set this to true to create two separate APKs instead of one: 83 | * - An APK that only works on ARM devices 84 | * - An APK that only works on x86 devices 85 | * The advantage is the size of the APK is reduced by about 4MB. 86 | * Upload all the APKs to the Play Store and people will download 87 | * the correct one based on the CPU architecture of their device. 88 | */ 89 | def enableSeparateBuildPerCPUArchitecture = false 90 | 91 | /** 92 | * Run Proguard to shrink the Java bytecode in release builds. 93 | */ 94 | def enableProguardInReleaseBuilds = false 95 | 96 | android { 97 | compileSdkVersion rootProject.ext.compileSdkVersion 98 | buildToolsVersion rootProject.ext.buildToolsVersion 99 | 100 | defaultConfig { 101 | applicationId "com.example" 102 | minSdkVersion rootProject.ext.minSdkVersion 103 | targetSdkVersion rootProject.ext.targetSdkVersion 104 | versionCode 1 105 | versionName "1.0" 106 | ndk { 107 | abiFilters "armeabi-v7a", "x86" 108 | } 109 | } 110 | splits { 111 | abi { 112 | reset() 113 | enable enableSeparateBuildPerCPUArchitecture 114 | universalApk false // If true, also generate a universal APK 115 | include "armeabi-v7a", "x86" 116 | } 117 | } 118 | buildTypes { 119 | release { 120 | minifyEnabled enableProguardInReleaseBuilds 121 | proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" 122 | } 123 | } 124 | // applicationVariants are e.g. debug, release 125 | applicationVariants.all { variant -> 126 | variant.outputs.each { output -> 127 | // For each separate APK per architecture, set a unique version code as described here: 128 | // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits 129 | def versionCodes = ["armeabi-v7a":1, "x86":2] 130 | def abi = output.getFilter(OutputFile.ABI) 131 | if (abi != null) { // null for the universal-debug, universal-release variants 132 | output.versionCodeOverride = 133 | versionCodes.get(abi) * 1048576 + defaultConfig.versionCode 134 | } 135 | } 136 | } 137 | } 138 | 139 | dependencies { 140 | implementation fileTree(dir: "libs", include: ["*.jar"]) 141 | implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}" 142 | implementation "com.facebook.react:react-native:+" // From node_modules 143 | } 144 | 145 | // Run this once to be able to run the application with BUCK 146 | // puts all compile dependencies into folder libs for BUCK to use 147 | task copyDownloadableDepsToLibs(type: Copy) { 148 | from configurations.compile 149 | into 'libs' 150 | } 151 | -------------------------------------------------------------------------------- /example/android/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /example/android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 13 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /example/android/app/src/main/java/com/example/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.example; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. 9 | * This is used to schedule rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "example"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /example/android/app/src/main/java/com/example/MainApplication.java: -------------------------------------------------------------------------------- 1 | package com.example; 2 | 3 | import android.app.Application; 4 | 5 | import com.facebook.react.ReactApplication; 6 | import com.facebook.react.ReactNativeHost; 7 | import com.facebook.react.ReactPackage; 8 | import com.facebook.react.shell.MainReactPackage; 9 | import com.facebook.soloader.SoLoader; 10 | 11 | import java.util.Arrays; 12 | import java.util.List; 13 | 14 | public class MainApplication extends Application implements ReactApplication { 15 | 16 | private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) { 17 | @Override 18 | public boolean getUseDeveloperSupport() { 19 | return BuildConfig.DEBUG; 20 | } 21 | 22 | @Override 23 | protected List getPackages() { 24 | return Arrays.asList( 25 | new MainReactPackage() 26 | ); 27 | } 28 | 29 | @Override 30 | protected String getJSMainModuleName() { 31 | return "index"; 32 | } 33 | }; 34 | 35 | @Override 36 | public ReactNativeHost getReactNativeHost() { 37 | return mReactNativeHost; 38 | } 39 | 40 | @Override 41 | public void onCreate() { 42 | super.onCreate(); 43 | SoLoader.init(this, /* native exopackage */ false); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johniak/react-native-rewards/96fa046e54836ee3ec7b4b15b7ce391a2baf361f/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johniak/react-native-rewards/96fa046e54836ee3ec7b4b15b7ce391a2baf361f/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johniak/react-native-rewards/96fa046e54836ee3ec7b4b15b7ce391a2baf361f/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johniak/react-native-rewards/96fa046e54836ee3ec7b4b15b7ce391a2baf361f/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johniak/react-native-rewards/96fa046e54836ee3ec7b4b15b7ce391a2baf361f/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johniak/react-native-rewards/96fa046e54836ee3ec7b4b15b7ce391a2baf361f/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johniak/react-native-rewards/96fa046e54836ee3ec7b4b15b7ce391a2baf361f/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johniak/react-native-rewards/96fa046e54836ee3ec7b4b15b7ce391a2baf361f/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johniak/react-native-rewards/96fa046e54836ee3ec7b4b15b7ce391a2baf361f/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johniak/react-native-rewards/96fa046e54836ee3ec7b4b15b7ce391a2baf361f/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /example/android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | example 3 | 4 | -------------------------------------------------------------------------------- /example/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /example/android/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | ext { 5 | buildToolsVersion = "27.0.3" 6 | minSdkVersion = 16 7 | compileSdkVersion = 27 8 | targetSdkVersion = 26 9 | supportLibVersion = "27.1.1" 10 | } 11 | repositories { 12 | google() 13 | jcenter() 14 | } 15 | dependencies { 16 | classpath 'com.android.tools.build:gradle:3.1.4' 17 | 18 | // NOTE: Do not place your application dependencies here; they belong 19 | // in the individual module build.gradle files 20 | } 21 | } 22 | 23 | allprojects { 24 | repositories { 25 | mavenLocal() 26 | google() 27 | jcenter() 28 | maven { 29 | // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm 30 | url "$rootDir/../node_modules/react-native/android" 31 | } 32 | } 33 | } 34 | 35 | 36 | task wrapper(type: Wrapper) { 37 | gradleVersion = '4.4' 38 | distributionUrl = distributionUrl.replace("bin", "all") 39 | } 40 | -------------------------------------------------------------------------------- /example/android/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m 13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true 19 | -------------------------------------------------------------------------------- /example/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johniak/react-native-rewards/96fa046e54836ee3ec7b4b15b7ce391a2baf361f/example/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /example/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip 6 | -------------------------------------------------------------------------------- /example/android/gradlew: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | ############################################################################## 4 | ## 5 | ## Gradle start up script for UN*X 6 | ## 7 | ############################################################################## 8 | 9 | # Attempt to set APP_HOME 10 | # Resolve links: $0 may be a link 11 | PRG="$0" 12 | # Need this for relative symlinks. 13 | while [ -h "$PRG" ] ; do 14 | ls=`ls -ld "$PRG"` 15 | link=`expr "$ls" : '.*-> \(.*\)$'` 16 | if expr "$link" : '/.*' > /dev/null; then 17 | PRG="$link" 18 | else 19 | PRG=`dirname "$PRG"`"/$link" 20 | fi 21 | done 22 | SAVED="`pwd`" 23 | cd "`dirname \"$PRG\"`/" >/dev/null 24 | APP_HOME="`pwd -P`" 25 | cd "$SAVED" >/dev/null 26 | 27 | APP_NAME="Gradle" 28 | APP_BASE_NAME=`basename "$0"` 29 | 30 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 31 | DEFAULT_JVM_OPTS="" 32 | 33 | # Use the maximum available, or set MAX_FD != -1 to use that value. 34 | MAX_FD="maximum" 35 | 36 | warn () { 37 | echo "$*" 38 | } 39 | 40 | die () { 41 | echo 42 | echo "$*" 43 | echo 44 | exit 1 45 | } 46 | 47 | # OS specific support (must be 'true' or 'false'). 48 | cygwin=false 49 | msys=false 50 | darwin=false 51 | nonstop=false 52 | case "`uname`" in 53 | CYGWIN* ) 54 | cygwin=true 55 | ;; 56 | Darwin* ) 57 | darwin=true 58 | ;; 59 | MINGW* ) 60 | msys=true 61 | ;; 62 | NONSTOP* ) 63 | nonstop=true 64 | ;; 65 | esac 66 | 67 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar 68 | 69 | # Determine the Java command to use to start the JVM. 70 | if [ -n "$JAVA_HOME" ] ; then 71 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 72 | # IBM's JDK on AIX uses strange locations for the executables 73 | JAVACMD="$JAVA_HOME/jre/sh/java" 74 | else 75 | JAVACMD="$JAVA_HOME/bin/java" 76 | fi 77 | if [ ! -x "$JAVACMD" ] ; then 78 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 79 | 80 | Please set the JAVA_HOME variable in your environment to match the 81 | location of your Java installation." 82 | fi 83 | else 84 | JAVACMD="java" 85 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 86 | 87 | Please set the JAVA_HOME variable in your environment to match the 88 | location of your Java installation." 89 | fi 90 | 91 | # Increase the maximum file descriptors if we can. 92 | if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then 93 | MAX_FD_LIMIT=`ulimit -H -n` 94 | if [ $? -eq 0 ] ; then 95 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then 96 | MAX_FD="$MAX_FD_LIMIT" 97 | fi 98 | ulimit -n $MAX_FD 99 | if [ $? -ne 0 ] ; then 100 | warn "Could not set maximum file descriptor limit: $MAX_FD" 101 | fi 102 | else 103 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" 104 | fi 105 | fi 106 | 107 | # For Darwin, add options to specify how the application appears in the dock 108 | if $darwin; then 109 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" 110 | fi 111 | 112 | # For Cygwin, switch paths to Windows format before running java 113 | if $cygwin ; then 114 | APP_HOME=`cygpath --path --mixed "$APP_HOME"` 115 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` 116 | JAVACMD=`cygpath --unix "$JAVACMD"` 117 | 118 | # We build the pattern for arguments to be converted via cygpath 119 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` 120 | SEP="" 121 | for dir in $ROOTDIRSRAW ; do 122 | ROOTDIRS="$ROOTDIRS$SEP$dir" 123 | SEP="|" 124 | done 125 | OURCYGPATTERN="(^($ROOTDIRS))" 126 | # Add a user-defined pattern to the cygpath arguments 127 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then 128 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" 129 | fi 130 | # Now convert the arguments - kludge to limit ourselves to /bin/sh 131 | i=0 132 | for arg in "$@" ; do 133 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` 134 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option 135 | 136 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition 137 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` 138 | else 139 | eval `echo args$i`="\"$arg\"" 140 | fi 141 | i=$((i+1)) 142 | done 143 | case $i in 144 | (0) set -- ;; 145 | (1) set -- "$args0" ;; 146 | (2) set -- "$args0" "$args1" ;; 147 | (3) set -- "$args0" "$args1" "$args2" ;; 148 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;; 149 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; 150 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; 151 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; 152 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; 153 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; 154 | esac 155 | fi 156 | 157 | # Escape application args 158 | save () { 159 | for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done 160 | echo " " 161 | } 162 | APP_ARGS=$(save "$@") 163 | 164 | # Collect all arguments for the java command, following the shell quoting and substitution rules 165 | eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" 166 | 167 | # by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong 168 | if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then 169 | cd "$(dirname "$0")" 170 | fi 171 | 172 | exec "$JAVACMD" "$@" 173 | -------------------------------------------------------------------------------- /example/android/gradlew.bat: -------------------------------------------------------------------------------- 1 | @if "%DEBUG%" == "" @echo off 2 | @rem ########################################################################## 3 | @rem 4 | @rem Gradle startup script for Windows 5 | @rem 6 | @rem ########################################################################## 7 | 8 | @rem Set local scope for the variables with windows NT shell 9 | if "%OS%"=="Windows_NT" setlocal 10 | 11 | set DIRNAME=%~dp0 12 | if "%DIRNAME%" == "" set DIRNAME=. 13 | set APP_BASE_NAME=%~n0 14 | set APP_HOME=%DIRNAME% 15 | 16 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 17 | set DEFAULT_JVM_OPTS= 18 | 19 | @rem Find java.exe 20 | if defined JAVA_HOME goto findJavaFromJavaHome 21 | 22 | set JAVA_EXE=java.exe 23 | %JAVA_EXE% -version >NUL 2>&1 24 | if "%ERRORLEVEL%" == "0" goto init 25 | 26 | echo. 27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 28 | echo. 29 | echo Please set the JAVA_HOME variable in your environment to match the 30 | echo location of your Java installation. 31 | 32 | goto fail 33 | 34 | :findJavaFromJavaHome 35 | set JAVA_HOME=%JAVA_HOME:"=% 36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 37 | 38 | if exist "%JAVA_EXE%" goto init 39 | 40 | echo. 41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 42 | echo. 43 | echo Please set the JAVA_HOME variable in your environment to match the 44 | echo location of your Java installation. 45 | 46 | goto fail 47 | 48 | :init 49 | @rem Get command-line arguments, handling Windows variants 50 | 51 | if not "%OS%" == "Windows_NT" goto win9xME_args 52 | 53 | :win9xME_args 54 | @rem Slurp the command line arguments. 55 | set CMD_LINE_ARGS= 56 | set _SKIP=2 57 | 58 | :win9xME_args_slurp 59 | if "x%~1" == "x" goto execute 60 | 61 | set CMD_LINE_ARGS=%* 62 | 63 | :execute 64 | @rem Setup the command line 65 | 66 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 67 | 68 | @rem Execute Gradle 69 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% 70 | 71 | :end 72 | @rem End local scope for the variables with windows NT shell 73 | if "%ERRORLEVEL%"=="0" goto mainEnd 74 | 75 | :fail 76 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 77 | rem the _cmd.exe /c_ return code! 78 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 79 | exit /b 1 80 | 81 | :mainEnd 82 | if "%OS%"=="Windows_NT" endlocal 83 | 84 | :omega 85 | -------------------------------------------------------------------------------- /example/android/keystores/BUCK: -------------------------------------------------------------------------------- 1 | keystore( 2 | name = "debug", 3 | properties = "debug.keystore.properties", 4 | store = "debug.keystore", 5 | visibility = [ 6 | "PUBLIC", 7 | ], 8 | ) 9 | -------------------------------------------------------------------------------- /example/android/keystores/debug.keystore.properties: -------------------------------------------------------------------------------- 1 | key.store=debug.keystore 2 | key.alias=androiddebugkey 3 | key.store.password=android 4 | key.alias.password=android 5 | -------------------------------------------------------------------------------- /example/android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'example' 2 | 3 | include ':app' 4 | -------------------------------------------------------------------------------- /example/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "example", 3 | "displayName": "example" 4 | } -------------------------------------------------------------------------------- /example/assets/Wiretap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johniak/react-native-rewards/96fa046e54836ee3ec7b4b15b7ce391a2baf361f/example/assets/Wiretap.png -------------------------------------------------------------------------------- /example/assets/cup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/johniak/react-native-rewards/96fa046e54836ee3ec7b4b15b7ce391a2baf361f/example/assets/cup.png -------------------------------------------------------------------------------- /example/index.js: -------------------------------------------------------------------------------- 1 | /** @format */ 2 | 3 | import {AppRegistry} from 'react-native'; 4 | import App from './App'; 5 | import {name as appName} from './app.json'; 6 | 7 | AppRegistry.registerComponent(appName, () => App); 8 | -------------------------------------------------------------------------------- /example/ios/example-tvOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | UIViewControllerBasedStatusBarAppearance 38 | 39 | NSLocationWhenInUseUsageDescription 40 | 41 | NSAppTransportSecurity 42 | 43 | 44 | NSExceptionDomains 45 | 46 | localhost 47 | 48 | NSExceptionAllowsInsecureHTTPLoads 49 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /example/ios/example-tvOSTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /example/ios/example.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */; }; 11 | 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */; }; 12 | 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */; }; 13 | 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */; }; 14 | 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */; }; 15 | 00E356F31AD99517003FC87E /* exampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* exampleTests.m */; }; 16 | 11D1A2F320CAFA9E000508D9 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */; }; 17 | 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 78C398B91ACF4ADC00677621 /* libRCTLinking.a */; }; 18 | 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */; }; 19 | 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */; }; 20 | 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; 21 | 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB11A68108700A75B9A /* LaunchScreen.xib */; }; 22 | 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 23 | 13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; 24 | 140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; }; 25 | 146834051AC3E58100842450 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; }; 26 | 2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB01A68108700A75B9A /* AppDelegate.m */; }; 27 | 2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; }; 28 | 2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; }; 29 | 2D02E4C21E0B4AEC006451C7 /* libRCTAnimation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.a */; }; 30 | 2D02E4C31E0B4AEC006451C7 /* libRCTImage-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */; }; 31 | 2D02E4C41E0B4AEC006451C7 /* libRCTLinking-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */; }; 32 | 2D02E4C51E0B4AEC006451C7 /* libRCTNetwork-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */; }; 33 | 2D02E4C61E0B4AEC006451C7 /* libRCTSettings-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */; }; 34 | 2D02E4C71E0B4AEC006451C7 /* libRCTText-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */; }; 35 | 2D02E4C81E0B4AEC006451C7 /* libRCTWebSocket-tvOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */; }; 36 | 2D16E6881FA4F8E400B85C8A /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D16E6891FA4F8E400B85C8A /* libReact.a */; }; 37 | 2DCD954D1E0B4F2C00145EB5 /* exampleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* exampleTests.m */; }; 38 | 2DF0FFEE2056DD460020B375 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3DAD3EA31DF850E9000B6D8A /* libReact.a */; }; 39 | 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; }; 40 | ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */; }; 41 | /* End PBXBuildFile section */ 42 | 43 | /* Begin PBXContainerItemProxy section */ 44 | 00C302AB1ABCB8CE00DB3ED1 /* PBXContainerItemProxy */ = { 45 | isa = PBXContainerItemProxy; 46 | containerPortal = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */; 47 | proxyType = 2; 48 | remoteGlobalIDString = 134814201AA4EA6300B7C361; 49 | remoteInfo = RCTActionSheet; 50 | }; 51 | 00C302B91ABCB90400DB3ED1 /* PBXContainerItemProxy */ = { 52 | isa = PBXContainerItemProxy; 53 | containerPortal = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */; 54 | proxyType = 2; 55 | remoteGlobalIDString = 134814201AA4EA6300B7C361; 56 | remoteInfo = RCTGeolocation; 57 | }; 58 | 00C302BF1ABCB91800DB3ED1 /* PBXContainerItemProxy */ = { 59 | isa = PBXContainerItemProxy; 60 | containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; 61 | proxyType = 2; 62 | remoteGlobalIDString = 58B5115D1A9E6B3D00147676; 63 | remoteInfo = RCTImage; 64 | }; 65 | 00C302DB1ABCB9D200DB3ED1 /* PBXContainerItemProxy */ = { 66 | isa = PBXContainerItemProxy; 67 | containerPortal = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; 68 | proxyType = 2; 69 | remoteGlobalIDString = 58B511DB1A9E6C8500147676; 70 | remoteInfo = RCTNetwork; 71 | }; 72 | 00C302E31ABCB9EE00DB3ED1 /* PBXContainerItemProxy */ = { 73 | isa = PBXContainerItemProxy; 74 | containerPortal = 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */; 75 | proxyType = 2; 76 | remoteGlobalIDString = 832C81801AAF6DEF007FA2F7; 77 | remoteInfo = RCTVibration; 78 | }; 79 | 00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = { 80 | isa = PBXContainerItemProxy; 81 | containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; 82 | proxyType = 1; 83 | remoteGlobalIDString = 13B07F861A680F5B00A75B9A; 84 | remoteInfo = example; 85 | }; 86 | 139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */ = { 87 | isa = PBXContainerItemProxy; 88 | containerPortal = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; 89 | proxyType = 2; 90 | remoteGlobalIDString = 134814201AA4EA6300B7C361; 91 | remoteInfo = RCTSettings; 92 | }; 93 | 139FDEF31B06529B00C62182 /* PBXContainerItemProxy */ = { 94 | isa = PBXContainerItemProxy; 95 | containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; 96 | proxyType = 2; 97 | remoteGlobalIDString = 3C86DF461ADF2C930047B81A; 98 | remoteInfo = RCTWebSocket; 99 | }; 100 | 146834031AC3E56700842450 /* PBXContainerItemProxy */ = { 101 | isa = PBXContainerItemProxy; 102 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 103 | proxyType = 2; 104 | remoteGlobalIDString = 83CBBA2E1A601D0E00E9B192; 105 | remoteInfo = React; 106 | }; 107 | 2D02E4911E0B4A5D006451C7 /* PBXContainerItemProxy */ = { 108 | isa = PBXContainerItemProxy; 109 | containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; 110 | proxyType = 1; 111 | remoteGlobalIDString = 2D02E47A1E0B4A5D006451C7; 112 | remoteInfo = "example-tvOS"; 113 | }; 114 | 2D16E6711FA4F8DC00B85C8A /* PBXContainerItemProxy */ = { 115 | isa = PBXContainerItemProxy; 116 | containerPortal = ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */; 117 | proxyType = 2; 118 | remoteGlobalIDString = ADD01A681E09402E00F6D226; 119 | remoteInfo = "RCTBlob-tvOS"; 120 | }; 121 | 2D16E6831FA4F8DC00B85C8A /* PBXContainerItemProxy */ = { 122 | isa = PBXContainerItemProxy; 123 | containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; 124 | proxyType = 2; 125 | remoteGlobalIDString = 3DBE0D001F3B181A0099AA32; 126 | remoteInfo = fishhook; 127 | }; 128 | 2D16E6851FA4F8DC00B85C8A /* PBXContainerItemProxy */ = { 129 | isa = PBXContainerItemProxy; 130 | containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; 131 | proxyType = 2; 132 | remoteGlobalIDString = 3DBE0D0D1F3B181C0099AA32; 133 | remoteInfo = "fishhook-tvOS"; 134 | }; 135 | 2DF0FFDE2056DD460020B375 /* PBXContainerItemProxy */ = { 136 | isa = PBXContainerItemProxy; 137 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 138 | proxyType = 2; 139 | remoteGlobalIDString = EBF21BDC1FC498900052F4D5; 140 | remoteInfo = jsinspector; 141 | }; 142 | 2DF0FFE02056DD460020B375 /* PBXContainerItemProxy */ = { 143 | isa = PBXContainerItemProxy; 144 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 145 | proxyType = 2; 146 | remoteGlobalIDString = EBF21BFA1FC4989A0052F4D5; 147 | remoteInfo = "jsinspector-tvOS"; 148 | }; 149 | 2DF0FFE22056DD460020B375 /* PBXContainerItemProxy */ = { 150 | isa = PBXContainerItemProxy; 151 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 152 | proxyType = 2; 153 | remoteGlobalIDString = 139D7ECE1E25DB7D00323FB7; 154 | remoteInfo = "third-party"; 155 | }; 156 | 2DF0FFE42056DD460020B375 /* PBXContainerItemProxy */ = { 157 | isa = PBXContainerItemProxy; 158 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 159 | proxyType = 2; 160 | remoteGlobalIDString = 3D383D3C1EBD27B6005632C8; 161 | remoteInfo = "third-party-tvOS"; 162 | }; 163 | 2DF0FFE62056DD460020B375 /* PBXContainerItemProxy */ = { 164 | isa = PBXContainerItemProxy; 165 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 166 | proxyType = 2; 167 | remoteGlobalIDString = 139D7E881E25C6D100323FB7; 168 | remoteInfo = "double-conversion"; 169 | }; 170 | 2DF0FFE82056DD460020B375 /* PBXContainerItemProxy */ = { 171 | isa = PBXContainerItemProxy; 172 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 173 | proxyType = 2; 174 | remoteGlobalIDString = 3D383D621EBD27B9005632C8; 175 | remoteInfo = "double-conversion-tvOS"; 176 | }; 177 | 2DF0FFEA2056DD460020B375 /* PBXContainerItemProxy */ = { 178 | isa = PBXContainerItemProxy; 179 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 180 | proxyType = 2; 181 | remoteGlobalIDString = 9936F3131F5F2E4B0010BF04; 182 | remoteInfo = privatedata; 183 | }; 184 | 2DF0FFEC2056DD460020B375 /* PBXContainerItemProxy */ = { 185 | isa = PBXContainerItemProxy; 186 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 187 | proxyType = 2; 188 | remoteGlobalIDString = 9936F32F1F5F2E5B0010BF04; 189 | remoteInfo = "privatedata-tvOS"; 190 | }; 191 | 3DAD3E831DF850E9000B6D8A /* PBXContainerItemProxy */ = { 192 | isa = PBXContainerItemProxy; 193 | containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; 194 | proxyType = 2; 195 | remoteGlobalIDString = 2D2A283A1D9B042B00D4039D; 196 | remoteInfo = "RCTImage-tvOS"; 197 | }; 198 | 3DAD3E871DF850E9000B6D8A /* PBXContainerItemProxy */ = { 199 | isa = PBXContainerItemProxy; 200 | containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; 201 | proxyType = 2; 202 | remoteGlobalIDString = 2D2A28471D9B043800D4039D; 203 | remoteInfo = "RCTLinking-tvOS"; 204 | }; 205 | 3DAD3E8B1DF850E9000B6D8A /* PBXContainerItemProxy */ = { 206 | isa = PBXContainerItemProxy; 207 | containerPortal = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; 208 | proxyType = 2; 209 | remoteGlobalIDString = 2D2A28541D9B044C00D4039D; 210 | remoteInfo = "RCTNetwork-tvOS"; 211 | }; 212 | 3DAD3E8F1DF850E9000B6D8A /* PBXContainerItemProxy */ = { 213 | isa = PBXContainerItemProxy; 214 | containerPortal = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; 215 | proxyType = 2; 216 | remoteGlobalIDString = 2D2A28611D9B046600D4039D; 217 | remoteInfo = "RCTSettings-tvOS"; 218 | }; 219 | 3DAD3E931DF850E9000B6D8A /* PBXContainerItemProxy */ = { 220 | isa = PBXContainerItemProxy; 221 | containerPortal = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; 222 | proxyType = 2; 223 | remoteGlobalIDString = 2D2A287B1D9B048500D4039D; 224 | remoteInfo = "RCTText-tvOS"; 225 | }; 226 | 3DAD3E981DF850E9000B6D8A /* PBXContainerItemProxy */ = { 227 | isa = PBXContainerItemProxy; 228 | containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; 229 | proxyType = 2; 230 | remoteGlobalIDString = 2D2A28881D9B049200D4039D; 231 | remoteInfo = "RCTWebSocket-tvOS"; 232 | }; 233 | 3DAD3EA21DF850E9000B6D8A /* PBXContainerItemProxy */ = { 234 | isa = PBXContainerItemProxy; 235 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 236 | proxyType = 2; 237 | remoteGlobalIDString = 2D2A28131D9B038B00D4039D; 238 | remoteInfo = "React-tvOS"; 239 | }; 240 | 3DAD3EA41DF850E9000B6D8A /* PBXContainerItemProxy */ = { 241 | isa = PBXContainerItemProxy; 242 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 243 | proxyType = 2; 244 | remoteGlobalIDString = 3D3C059A1DE3340900C268FA; 245 | remoteInfo = yoga; 246 | }; 247 | 3DAD3EA61DF850E9000B6D8A /* PBXContainerItemProxy */ = { 248 | isa = PBXContainerItemProxy; 249 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 250 | proxyType = 2; 251 | remoteGlobalIDString = 3D3C06751DE3340C00C268FA; 252 | remoteInfo = "yoga-tvOS"; 253 | }; 254 | 3DAD3EA81DF850E9000B6D8A /* PBXContainerItemProxy */ = { 255 | isa = PBXContainerItemProxy; 256 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 257 | proxyType = 2; 258 | remoteGlobalIDString = 3D3CD9251DE5FBEC00167DC4; 259 | remoteInfo = cxxreact; 260 | }; 261 | 3DAD3EAA1DF850E9000B6D8A /* PBXContainerItemProxy */ = { 262 | isa = PBXContainerItemProxy; 263 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 264 | proxyType = 2; 265 | remoteGlobalIDString = 3D3CD9321DE5FBEE00167DC4; 266 | remoteInfo = "cxxreact-tvOS"; 267 | }; 268 | 3DAD3EAC1DF850E9000B6D8A /* PBXContainerItemProxy */ = { 269 | isa = PBXContainerItemProxy; 270 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 271 | proxyType = 2; 272 | remoteGlobalIDString = 3D3CD90B1DE5FBD600167DC4; 273 | remoteInfo = jschelpers; 274 | }; 275 | 3DAD3EAE1DF850E9000B6D8A /* PBXContainerItemProxy */ = { 276 | isa = PBXContainerItemProxy; 277 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 278 | proxyType = 2; 279 | remoteGlobalIDString = 3D3CD9181DE5FBD800167DC4; 280 | remoteInfo = "jschelpers-tvOS"; 281 | }; 282 | 5E9157321DD0AC6500FF2AA8 /* PBXContainerItemProxy */ = { 283 | isa = PBXContainerItemProxy; 284 | containerPortal = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */; 285 | proxyType = 2; 286 | remoteGlobalIDString = 134814201AA4EA6300B7C361; 287 | remoteInfo = RCTAnimation; 288 | }; 289 | 5E9157341DD0AC6500FF2AA8 /* PBXContainerItemProxy */ = { 290 | isa = PBXContainerItemProxy; 291 | containerPortal = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */; 292 | proxyType = 2; 293 | remoteGlobalIDString = 2D2A28201D9B03D100D4039D; 294 | remoteInfo = "RCTAnimation-tvOS"; 295 | }; 296 | 78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */ = { 297 | isa = PBXContainerItemProxy; 298 | containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; 299 | proxyType = 2; 300 | remoteGlobalIDString = 134814201AA4EA6300B7C361; 301 | remoteInfo = RCTLinking; 302 | }; 303 | 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */ = { 304 | isa = PBXContainerItemProxy; 305 | containerPortal = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; 306 | proxyType = 2; 307 | remoteGlobalIDString = 58B5119B1A9E6C1200147676; 308 | remoteInfo = RCTText; 309 | }; 310 | ADBDB9261DFEBF0700ED6528 /* PBXContainerItemProxy */ = { 311 | isa = PBXContainerItemProxy; 312 | containerPortal = ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */; 313 | proxyType = 2; 314 | remoteGlobalIDString = 358F4ED71D1E81A9004DF814; 315 | remoteInfo = RCTBlob; 316 | }; 317 | /* End PBXContainerItemProxy section */ 318 | 319 | /* Begin PBXFileReference section */ 320 | 008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = main.jsbundle; sourceTree = ""; }; 321 | 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTActionSheet.xcodeproj; path = "../node_modules/react-native/Libraries/ActionSheetIOS/RCTActionSheet.xcodeproj"; sourceTree = ""; }; 322 | 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTGeolocation.xcodeproj; path = "../node_modules/react-native/Libraries/Geolocation/RCTGeolocation.xcodeproj"; sourceTree = ""; }; 323 | 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTImage.xcodeproj; path = "../node_modules/react-native/Libraries/Image/RCTImage.xcodeproj"; sourceTree = ""; }; 324 | 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTNetwork.xcodeproj; path = "../node_modules/react-native/Libraries/Network/RCTNetwork.xcodeproj"; sourceTree = ""; }; 325 | 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTVibration.xcodeproj; path = "../node_modules/react-native/Libraries/Vibration/RCTVibration.xcodeproj"; sourceTree = ""; }; 326 | 00E356EE1AD99517003FC87E /* exampleTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = exampleTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 327 | 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 328 | 00E356F21AD99517003FC87E /* exampleTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = exampleTests.m; sourceTree = ""; }; 329 | 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTSettings.xcodeproj; path = "../node_modules/react-native/Libraries/Settings/RCTSettings.xcodeproj"; sourceTree = ""; }; 330 | 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWebSocket.xcodeproj; path = "../node_modules/react-native/Libraries/WebSocket/RCTWebSocket.xcodeproj"; sourceTree = ""; }; 331 | 13B07F961A680F5B00A75B9A /* example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = example.app; sourceTree = BUILT_PRODUCTS_DIR; }; 332 | 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = example/AppDelegate.h; sourceTree = ""; }; 333 | 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = example/AppDelegate.m; sourceTree = ""; }; 334 | 13B07FB21A68108700A75B9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; 335 | 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = example/Images.xcassets; sourceTree = ""; }; 336 | 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = example/Info.plist; sourceTree = ""; }; 337 | 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = example/main.m; sourceTree = ""; }; 338 | 146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "../node_modules/react-native/React/React.xcodeproj"; sourceTree = ""; }; 339 | 2D02E47B1E0B4A5D006451C7 /* example-tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "example-tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 340 | 2D02E4901E0B4A5D006451C7 /* example-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "example-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 341 | 2D16E6891FA4F8E400B85C8A /* libReact.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libReact.a; sourceTree = BUILT_PRODUCTS_DIR; }; 342 | 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTAnimation.xcodeproj; path = "../node_modules/react-native/Libraries/NativeAnimation/RCTAnimation.xcodeproj"; sourceTree = ""; }; 343 | 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "../node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = ""; }; 344 | 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "../node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = ""; }; 345 | ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTBlob.xcodeproj; path = "../node_modules/react-native/Libraries/Blob/RCTBlob.xcodeproj"; sourceTree = ""; }; 346 | /* End PBXFileReference section */ 347 | 348 | /* Begin PBXFrameworksBuildPhase section */ 349 | 00E356EB1AD99517003FC87E /* Frameworks */ = { 350 | isa = PBXFrameworksBuildPhase; 351 | buildActionMask = 2147483647; 352 | files = ( 353 | 140ED2AC1D01E1AD002B40FF /* libReact.a in Frameworks */, 354 | ); 355 | runOnlyForDeploymentPostprocessing = 0; 356 | }; 357 | 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { 358 | isa = PBXFrameworksBuildPhase; 359 | buildActionMask = 2147483647; 360 | files = ( 361 | ADBDB9381DFEBF1600ED6528 /* libRCTBlob.a in Frameworks */, 362 | 11D1A2F320CAFA9E000508D9 /* libRCTAnimation.a in Frameworks */, 363 | 146834051AC3E58100842450 /* libReact.a in Frameworks */, 364 | 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */, 365 | 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */, 366 | 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */, 367 | 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */, 368 | 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */, 369 | 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */, 370 | 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */, 371 | 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */, 372 | 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */, 373 | ); 374 | runOnlyForDeploymentPostprocessing = 0; 375 | }; 376 | 2D02E4781E0B4A5D006451C7 /* Frameworks */ = { 377 | isa = PBXFrameworksBuildPhase; 378 | buildActionMask = 2147483647; 379 | files = ( 380 | 2D16E6881FA4F8E400B85C8A /* libReact.a in Frameworks */, 381 | 2D02E4C21E0B4AEC006451C7 /* libRCTAnimation.a in Frameworks */, 382 | 2D02E4C31E0B4AEC006451C7 /* libRCTImage-tvOS.a in Frameworks */, 383 | 2D02E4C41E0B4AEC006451C7 /* libRCTLinking-tvOS.a in Frameworks */, 384 | 2D02E4C51E0B4AEC006451C7 /* libRCTNetwork-tvOS.a in Frameworks */, 385 | 2D02E4C61E0B4AEC006451C7 /* libRCTSettings-tvOS.a in Frameworks */, 386 | 2D02E4C71E0B4AEC006451C7 /* libRCTText-tvOS.a in Frameworks */, 387 | 2D02E4C81E0B4AEC006451C7 /* libRCTWebSocket-tvOS.a in Frameworks */, 388 | ); 389 | runOnlyForDeploymentPostprocessing = 0; 390 | }; 391 | 2D02E48D1E0B4A5D006451C7 /* Frameworks */ = { 392 | isa = PBXFrameworksBuildPhase; 393 | buildActionMask = 2147483647; 394 | files = ( 395 | 2DF0FFEE2056DD460020B375 /* libReact.a in Frameworks */, 396 | ); 397 | runOnlyForDeploymentPostprocessing = 0; 398 | }; 399 | /* End PBXFrameworksBuildPhase section */ 400 | 401 | /* Begin PBXGroup section */ 402 | 00C302A81ABCB8CE00DB3ED1 /* Products */ = { 403 | isa = PBXGroup; 404 | children = ( 405 | 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */, 406 | ); 407 | name = Products; 408 | sourceTree = ""; 409 | }; 410 | 00C302B61ABCB90400DB3ED1 /* Products */ = { 411 | isa = PBXGroup; 412 | children = ( 413 | 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */, 414 | ); 415 | name = Products; 416 | sourceTree = ""; 417 | }; 418 | 00C302BC1ABCB91800DB3ED1 /* Products */ = { 419 | isa = PBXGroup; 420 | children = ( 421 | 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */, 422 | 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */, 423 | ); 424 | name = Products; 425 | sourceTree = ""; 426 | }; 427 | 00C302D41ABCB9D200DB3ED1 /* Products */ = { 428 | isa = PBXGroup; 429 | children = ( 430 | 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */, 431 | 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */, 432 | ); 433 | name = Products; 434 | sourceTree = ""; 435 | }; 436 | 00C302E01ABCB9EE00DB3ED1 /* Products */ = { 437 | isa = PBXGroup; 438 | children = ( 439 | 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */, 440 | ); 441 | name = Products; 442 | sourceTree = ""; 443 | }; 444 | 00E356EF1AD99517003FC87E /* exampleTests */ = { 445 | isa = PBXGroup; 446 | children = ( 447 | 00E356F21AD99517003FC87E /* exampleTests.m */, 448 | 00E356F01AD99517003FC87E /* Supporting Files */, 449 | ); 450 | path = exampleTests; 451 | sourceTree = ""; 452 | }; 453 | 00E356F01AD99517003FC87E /* Supporting Files */ = { 454 | isa = PBXGroup; 455 | children = ( 456 | 00E356F11AD99517003FC87E /* Info.plist */, 457 | ); 458 | name = "Supporting Files"; 459 | sourceTree = ""; 460 | }; 461 | 139105B71AF99BAD00B5F7CC /* Products */ = { 462 | isa = PBXGroup; 463 | children = ( 464 | 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */, 465 | 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */, 466 | ); 467 | name = Products; 468 | sourceTree = ""; 469 | }; 470 | 139FDEE71B06529A00C62182 /* Products */ = { 471 | isa = PBXGroup; 472 | children = ( 473 | 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */, 474 | 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */, 475 | 2D16E6841FA4F8DC00B85C8A /* libfishhook.a */, 476 | 2D16E6861FA4F8DC00B85C8A /* libfishhook-tvOS.a */, 477 | ); 478 | name = Products; 479 | sourceTree = ""; 480 | }; 481 | 13B07FAE1A68108700A75B9A /* example */ = { 482 | isa = PBXGroup; 483 | children = ( 484 | 008F07F21AC5B25A0029DE68 /* main.jsbundle */, 485 | 13B07FAF1A68108700A75B9A /* AppDelegate.h */, 486 | 13B07FB01A68108700A75B9A /* AppDelegate.m */, 487 | 13B07FB51A68108700A75B9A /* Images.xcassets */, 488 | 13B07FB61A68108700A75B9A /* Info.plist */, 489 | 13B07FB11A68108700A75B9A /* LaunchScreen.xib */, 490 | 13B07FB71A68108700A75B9A /* main.m */, 491 | ); 492 | name = example; 493 | sourceTree = ""; 494 | }; 495 | 146834001AC3E56700842450 /* Products */ = { 496 | isa = PBXGroup; 497 | children = ( 498 | 146834041AC3E56700842450 /* libReact.a */, 499 | 3DAD3EA31DF850E9000B6D8A /* libReact.a */, 500 | 3DAD3EA51DF850E9000B6D8A /* libyoga.a */, 501 | 3DAD3EA71DF850E9000B6D8A /* libyoga.a */, 502 | 3DAD3EA91DF850E9000B6D8A /* libcxxreact.a */, 503 | 3DAD3EAB1DF850E9000B6D8A /* libcxxreact.a */, 504 | 3DAD3EAD1DF850E9000B6D8A /* libjschelpers.a */, 505 | 3DAD3EAF1DF850E9000B6D8A /* libjschelpers.a */, 506 | 2DF0FFDF2056DD460020B375 /* libjsinspector.a */, 507 | 2DF0FFE12056DD460020B375 /* libjsinspector-tvOS.a */, 508 | 2DF0FFE32056DD460020B375 /* libthird-party.a */, 509 | 2DF0FFE52056DD460020B375 /* libthird-party.a */, 510 | 2DF0FFE72056DD460020B375 /* libdouble-conversion.a */, 511 | 2DF0FFE92056DD460020B375 /* libdouble-conversion.a */, 512 | 2DF0FFEB2056DD460020B375 /* libprivatedata.a */, 513 | 2DF0FFED2056DD460020B375 /* libprivatedata-tvOS.a */, 514 | ); 515 | name = Products; 516 | sourceTree = ""; 517 | }; 518 | 2D16E6871FA4F8E400B85C8A /* Frameworks */ = { 519 | isa = PBXGroup; 520 | children = ( 521 | 2D16E6891FA4F8E400B85C8A /* libReact.a */, 522 | ); 523 | name = Frameworks; 524 | sourceTree = ""; 525 | }; 526 | 5E91572E1DD0AC6500FF2AA8 /* Products */ = { 527 | isa = PBXGroup; 528 | children = ( 529 | 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */, 530 | 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.a */, 531 | ); 532 | name = Products; 533 | sourceTree = ""; 534 | }; 535 | 78C398B11ACF4ADC00677621 /* Products */ = { 536 | isa = PBXGroup; 537 | children = ( 538 | 78C398B91ACF4ADC00677621 /* libRCTLinking.a */, 539 | 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */, 540 | ); 541 | name = Products; 542 | sourceTree = ""; 543 | }; 544 | 832341AE1AAA6A7D00B99B32 /* Libraries */ = { 545 | isa = PBXGroup; 546 | children = ( 547 | 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */, 548 | 146833FF1AC3E56700842450 /* React.xcodeproj */, 549 | 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */, 550 | ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */, 551 | 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */, 552 | 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */, 553 | 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */, 554 | 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */, 555 | 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */, 556 | 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */, 557 | 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */, 558 | 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */, 559 | ); 560 | name = Libraries; 561 | sourceTree = ""; 562 | }; 563 | 832341B11AAA6A8300B99B32 /* Products */ = { 564 | isa = PBXGroup; 565 | children = ( 566 | 832341B51AAA6A8300B99B32 /* libRCTText.a */, 567 | 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */, 568 | ); 569 | name = Products; 570 | sourceTree = ""; 571 | }; 572 | 83CBB9F61A601CBA00E9B192 = { 573 | isa = PBXGroup; 574 | children = ( 575 | 13B07FAE1A68108700A75B9A /* example */, 576 | 832341AE1AAA6A7D00B99B32 /* Libraries */, 577 | 00E356EF1AD99517003FC87E /* exampleTests */, 578 | 83CBBA001A601CBA00E9B192 /* Products */, 579 | 2D16E6871FA4F8E400B85C8A /* Frameworks */, 580 | ); 581 | indentWidth = 2; 582 | sourceTree = ""; 583 | tabWidth = 2; 584 | usesTabs = 0; 585 | }; 586 | 83CBBA001A601CBA00E9B192 /* Products */ = { 587 | isa = PBXGroup; 588 | children = ( 589 | 13B07F961A680F5B00A75B9A /* example.app */, 590 | 00E356EE1AD99517003FC87E /* exampleTests.xctest */, 591 | 2D02E47B1E0B4A5D006451C7 /* example-tvOS.app */, 592 | 2D02E4901E0B4A5D006451C7 /* example-tvOSTests.xctest */, 593 | ); 594 | name = Products; 595 | sourceTree = ""; 596 | }; 597 | ADBDB9201DFEBF0600ED6528 /* Products */ = { 598 | isa = PBXGroup; 599 | children = ( 600 | ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */, 601 | 2D16E6721FA4F8DC00B85C8A /* libRCTBlob-tvOS.a */, 602 | ); 603 | name = Products; 604 | sourceTree = ""; 605 | }; 606 | /* End PBXGroup section */ 607 | 608 | /* Begin PBXNativeTarget section */ 609 | 00E356ED1AD99517003FC87E /* exampleTests */ = { 610 | isa = PBXNativeTarget; 611 | buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "exampleTests" */; 612 | buildPhases = ( 613 | 00E356EA1AD99517003FC87E /* Sources */, 614 | 00E356EB1AD99517003FC87E /* Frameworks */, 615 | 00E356EC1AD99517003FC87E /* Resources */, 616 | ); 617 | buildRules = ( 618 | ); 619 | dependencies = ( 620 | 00E356F51AD99517003FC87E /* PBXTargetDependency */, 621 | ); 622 | name = exampleTests; 623 | productName = exampleTests; 624 | productReference = 00E356EE1AD99517003FC87E /* exampleTests.xctest */; 625 | productType = "com.apple.product-type.bundle.unit-test"; 626 | }; 627 | 13B07F861A680F5B00A75B9A /* example */ = { 628 | isa = PBXNativeTarget; 629 | buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "example" */; 630 | buildPhases = ( 631 | 13B07F871A680F5B00A75B9A /* Sources */, 632 | 13B07F8C1A680F5B00A75B9A /* Frameworks */, 633 | 13B07F8E1A680F5B00A75B9A /* Resources */, 634 | 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, 635 | ); 636 | buildRules = ( 637 | ); 638 | dependencies = ( 639 | ); 640 | name = example; 641 | productName = "Hello World"; 642 | productReference = 13B07F961A680F5B00A75B9A /* example.app */; 643 | productType = "com.apple.product-type.application"; 644 | }; 645 | 2D02E47A1E0B4A5D006451C7 /* example-tvOS */ = { 646 | isa = PBXNativeTarget; 647 | buildConfigurationList = 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "example-tvOS" */; 648 | buildPhases = ( 649 | 2D02E4771E0B4A5D006451C7 /* Sources */, 650 | 2D02E4781E0B4A5D006451C7 /* Frameworks */, 651 | 2D02E4791E0B4A5D006451C7 /* Resources */, 652 | 2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */, 653 | ); 654 | buildRules = ( 655 | ); 656 | dependencies = ( 657 | ); 658 | name = "example-tvOS"; 659 | productName = "example-tvOS"; 660 | productReference = 2D02E47B1E0B4A5D006451C7 /* example-tvOS.app */; 661 | productType = "com.apple.product-type.application"; 662 | }; 663 | 2D02E48F1E0B4A5D006451C7 /* example-tvOSTests */ = { 664 | isa = PBXNativeTarget; 665 | buildConfigurationList = 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "example-tvOSTests" */; 666 | buildPhases = ( 667 | 2D02E48C1E0B4A5D006451C7 /* Sources */, 668 | 2D02E48D1E0B4A5D006451C7 /* Frameworks */, 669 | 2D02E48E1E0B4A5D006451C7 /* Resources */, 670 | ); 671 | buildRules = ( 672 | ); 673 | dependencies = ( 674 | 2D02E4921E0B4A5D006451C7 /* PBXTargetDependency */, 675 | ); 676 | name = "example-tvOSTests"; 677 | productName = "example-tvOSTests"; 678 | productReference = 2D02E4901E0B4A5D006451C7 /* example-tvOSTests.xctest */; 679 | productType = "com.apple.product-type.bundle.unit-test"; 680 | }; 681 | /* End PBXNativeTarget section */ 682 | 683 | /* Begin PBXProject section */ 684 | 83CBB9F71A601CBA00E9B192 /* Project object */ = { 685 | isa = PBXProject; 686 | attributes = { 687 | LastUpgradeCheck = 0940; 688 | ORGANIZATIONNAME = Facebook; 689 | TargetAttributes = { 690 | 00E356ED1AD99517003FC87E = { 691 | CreatedOnToolsVersion = 6.2; 692 | DevelopmentTeam = NX29J8LXN7; 693 | TestTargetID = 13B07F861A680F5B00A75B9A; 694 | }; 695 | 13B07F861A680F5B00A75B9A = { 696 | DevelopmentTeam = NX29J8LXN7; 697 | }; 698 | 2D02E47A1E0B4A5D006451C7 = { 699 | CreatedOnToolsVersion = 8.2.1; 700 | ProvisioningStyle = Automatic; 701 | }; 702 | 2D02E48F1E0B4A5D006451C7 = { 703 | CreatedOnToolsVersion = 8.2.1; 704 | ProvisioningStyle = Automatic; 705 | TestTargetID = 2D02E47A1E0B4A5D006451C7; 706 | }; 707 | }; 708 | }; 709 | buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "example" */; 710 | compatibilityVersion = "Xcode 3.2"; 711 | developmentRegion = English; 712 | hasScannedForEncodings = 0; 713 | knownRegions = ( 714 | en, 715 | Base, 716 | ); 717 | mainGroup = 83CBB9F61A601CBA00E9B192; 718 | productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; 719 | projectDirPath = ""; 720 | projectReferences = ( 721 | { 722 | ProductGroup = 00C302A81ABCB8CE00DB3ED1 /* Products */; 723 | ProjectRef = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */; 724 | }, 725 | { 726 | ProductGroup = 5E91572E1DD0AC6500FF2AA8 /* Products */; 727 | ProjectRef = 5E91572D1DD0AC6500FF2AA8 /* RCTAnimation.xcodeproj */; 728 | }, 729 | { 730 | ProductGroup = ADBDB9201DFEBF0600ED6528 /* Products */; 731 | ProjectRef = ADBDB91F1DFEBF0600ED6528 /* RCTBlob.xcodeproj */; 732 | }, 733 | { 734 | ProductGroup = 00C302B61ABCB90400DB3ED1 /* Products */; 735 | ProjectRef = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */; 736 | }, 737 | { 738 | ProductGroup = 00C302BC1ABCB91800DB3ED1 /* Products */; 739 | ProjectRef = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; 740 | }, 741 | { 742 | ProductGroup = 78C398B11ACF4ADC00677621 /* Products */; 743 | ProjectRef = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; 744 | }, 745 | { 746 | ProductGroup = 00C302D41ABCB9D200DB3ED1 /* Products */; 747 | ProjectRef = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; 748 | }, 749 | { 750 | ProductGroup = 139105B71AF99BAD00B5F7CC /* Products */; 751 | ProjectRef = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; 752 | }, 753 | { 754 | ProductGroup = 832341B11AAA6A8300B99B32 /* Products */; 755 | ProjectRef = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; 756 | }, 757 | { 758 | ProductGroup = 00C302E01ABCB9EE00DB3ED1 /* Products */; 759 | ProjectRef = 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */; 760 | }, 761 | { 762 | ProductGroup = 139FDEE71B06529A00C62182 /* Products */; 763 | ProjectRef = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; 764 | }, 765 | { 766 | ProductGroup = 146834001AC3E56700842450 /* Products */; 767 | ProjectRef = 146833FF1AC3E56700842450 /* React.xcodeproj */; 768 | }, 769 | ); 770 | projectRoot = ""; 771 | targets = ( 772 | 13B07F861A680F5B00A75B9A /* example */, 773 | 00E356ED1AD99517003FC87E /* exampleTests */, 774 | 2D02E47A1E0B4A5D006451C7 /* example-tvOS */, 775 | 2D02E48F1E0B4A5D006451C7 /* example-tvOSTests */, 776 | ); 777 | }; 778 | /* End PBXProject section */ 779 | 780 | /* Begin PBXReferenceProxy section */ 781 | 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */ = { 782 | isa = PBXReferenceProxy; 783 | fileType = archive.ar; 784 | path = libRCTActionSheet.a; 785 | remoteRef = 00C302AB1ABCB8CE00DB3ED1 /* PBXContainerItemProxy */; 786 | sourceTree = BUILT_PRODUCTS_DIR; 787 | }; 788 | 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */ = { 789 | isa = PBXReferenceProxy; 790 | fileType = archive.ar; 791 | path = libRCTGeolocation.a; 792 | remoteRef = 00C302B91ABCB90400DB3ED1 /* PBXContainerItemProxy */; 793 | sourceTree = BUILT_PRODUCTS_DIR; 794 | }; 795 | 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */ = { 796 | isa = PBXReferenceProxy; 797 | fileType = archive.ar; 798 | path = libRCTImage.a; 799 | remoteRef = 00C302BF1ABCB91800DB3ED1 /* PBXContainerItemProxy */; 800 | sourceTree = BUILT_PRODUCTS_DIR; 801 | }; 802 | 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */ = { 803 | isa = PBXReferenceProxy; 804 | fileType = archive.ar; 805 | path = libRCTNetwork.a; 806 | remoteRef = 00C302DB1ABCB9D200DB3ED1 /* PBXContainerItemProxy */; 807 | sourceTree = BUILT_PRODUCTS_DIR; 808 | }; 809 | 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */ = { 810 | isa = PBXReferenceProxy; 811 | fileType = archive.ar; 812 | path = libRCTVibration.a; 813 | remoteRef = 00C302E31ABCB9EE00DB3ED1 /* PBXContainerItemProxy */; 814 | sourceTree = BUILT_PRODUCTS_DIR; 815 | }; 816 | 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */ = { 817 | isa = PBXReferenceProxy; 818 | fileType = archive.ar; 819 | path = libRCTSettings.a; 820 | remoteRef = 139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */; 821 | sourceTree = BUILT_PRODUCTS_DIR; 822 | }; 823 | 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */ = { 824 | isa = PBXReferenceProxy; 825 | fileType = archive.ar; 826 | path = libRCTWebSocket.a; 827 | remoteRef = 139FDEF31B06529B00C62182 /* PBXContainerItemProxy */; 828 | sourceTree = BUILT_PRODUCTS_DIR; 829 | }; 830 | 146834041AC3E56700842450 /* libReact.a */ = { 831 | isa = PBXReferenceProxy; 832 | fileType = archive.ar; 833 | path = libReact.a; 834 | remoteRef = 146834031AC3E56700842450 /* PBXContainerItemProxy */; 835 | sourceTree = BUILT_PRODUCTS_DIR; 836 | }; 837 | 2D16E6721FA4F8DC00B85C8A /* libRCTBlob-tvOS.a */ = { 838 | isa = PBXReferenceProxy; 839 | fileType = archive.ar; 840 | path = "libRCTBlob-tvOS.a"; 841 | remoteRef = 2D16E6711FA4F8DC00B85C8A /* PBXContainerItemProxy */; 842 | sourceTree = BUILT_PRODUCTS_DIR; 843 | }; 844 | 2D16E6841FA4F8DC00B85C8A /* libfishhook.a */ = { 845 | isa = PBXReferenceProxy; 846 | fileType = archive.ar; 847 | path = libfishhook.a; 848 | remoteRef = 2D16E6831FA4F8DC00B85C8A /* PBXContainerItemProxy */; 849 | sourceTree = BUILT_PRODUCTS_DIR; 850 | }; 851 | 2D16E6861FA4F8DC00B85C8A /* libfishhook-tvOS.a */ = { 852 | isa = PBXReferenceProxy; 853 | fileType = archive.ar; 854 | path = "libfishhook-tvOS.a"; 855 | remoteRef = 2D16E6851FA4F8DC00B85C8A /* PBXContainerItemProxy */; 856 | sourceTree = BUILT_PRODUCTS_DIR; 857 | }; 858 | 2DF0FFDF2056DD460020B375 /* libjsinspector.a */ = { 859 | isa = PBXReferenceProxy; 860 | fileType = archive.ar; 861 | path = libjsinspector.a; 862 | remoteRef = 2DF0FFDE2056DD460020B375 /* PBXContainerItemProxy */; 863 | sourceTree = BUILT_PRODUCTS_DIR; 864 | }; 865 | 2DF0FFE12056DD460020B375 /* libjsinspector-tvOS.a */ = { 866 | isa = PBXReferenceProxy; 867 | fileType = archive.ar; 868 | path = "libjsinspector-tvOS.a"; 869 | remoteRef = 2DF0FFE02056DD460020B375 /* PBXContainerItemProxy */; 870 | sourceTree = BUILT_PRODUCTS_DIR; 871 | }; 872 | 2DF0FFE32056DD460020B375 /* libthird-party.a */ = { 873 | isa = PBXReferenceProxy; 874 | fileType = archive.ar; 875 | path = "libthird-party.a"; 876 | remoteRef = 2DF0FFE22056DD460020B375 /* PBXContainerItemProxy */; 877 | sourceTree = BUILT_PRODUCTS_DIR; 878 | }; 879 | 2DF0FFE52056DD460020B375 /* libthird-party.a */ = { 880 | isa = PBXReferenceProxy; 881 | fileType = archive.ar; 882 | path = "libthird-party.a"; 883 | remoteRef = 2DF0FFE42056DD460020B375 /* PBXContainerItemProxy */; 884 | sourceTree = BUILT_PRODUCTS_DIR; 885 | }; 886 | 2DF0FFE72056DD460020B375 /* libdouble-conversion.a */ = { 887 | isa = PBXReferenceProxy; 888 | fileType = archive.ar; 889 | path = "libdouble-conversion.a"; 890 | remoteRef = 2DF0FFE62056DD460020B375 /* PBXContainerItemProxy */; 891 | sourceTree = BUILT_PRODUCTS_DIR; 892 | }; 893 | 2DF0FFE92056DD460020B375 /* libdouble-conversion.a */ = { 894 | isa = PBXReferenceProxy; 895 | fileType = archive.ar; 896 | path = "libdouble-conversion.a"; 897 | remoteRef = 2DF0FFE82056DD460020B375 /* PBXContainerItemProxy */; 898 | sourceTree = BUILT_PRODUCTS_DIR; 899 | }; 900 | 2DF0FFEB2056DD460020B375 /* libprivatedata.a */ = { 901 | isa = PBXReferenceProxy; 902 | fileType = archive.ar; 903 | path = libprivatedata.a; 904 | remoteRef = 2DF0FFEA2056DD460020B375 /* PBXContainerItemProxy */; 905 | sourceTree = BUILT_PRODUCTS_DIR; 906 | }; 907 | 2DF0FFED2056DD460020B375 /* libprivatedata-tvOS.a */ = { 908 | isa = PBXReferenceProxy; 909 | fileType = archive.ar; 910 | path = "libprivatedata-tvOS.a"; 911 | remoteRef = 2DF0FFEC2056DD460020B375 /* PBXContainerItemProxy */; 912 | sourceTree = BUILT_PRODUCTS_DIR; 913 | }; 914 | 3DAD3E841DF850E9000B6D8A /* libRCTImage-tvOS.a */ = { 915 | isa = PBXReferenceProxy; 916 | fileType = archive.ar; 917 | path = "libRCTImage-tvOS.a"; 918 | remoteRef = 3DAD3E831DF850E9000B6D8A /* PBXContainerItemProxy */; 919 | sourceTree = BUILT_PRODUCTS_DIR; 920 | }; 921 | 3DAD3E881DF850E9000B6D8A /* libRCTLinking-tvOS.a */ = { 922 | isa = PBXReferenceProxy; 923 | fileType = archive.ar; 924 | path = "libRCTLinking-tvOS.a"; 925 | remoteRef = 3DAD3E871DF850E9000B6D8A /* PBXContainerItemProxy */; 926 | sourceTree = BUILT_PRODUCTS_DIR; 927 | }; 928 | 3DAD3E8C1DF850E9000B6D8A /* libRCTNetwork-tvOS.a */ = { 929 | isa = PBXReferenceProxy; 930 | fileType = archive.ar; 931 | path = "libRCTNetwork-tvOS.a"; 932 | remoteRef = 3DAD3E8B1DF850E9000B6D8A /* PBXContainerItemProxy */; 933 | sourceTree = BUILT_PRODUCTS_DIR; 934 | }; 935 | 3DAD3E901DF850E9000B6D8A /* libRCTSettings-tvOS.a */ = { 936 | isa = PBXReferenceProxy; 937 | fileType = archive.ar; 938 | path = "libRCTSettings-tvOS.a"; 939 | remoteRef = 3DAD3E8F1DF850E9000B6D8A /* PBXContainerItemProxy */; 940 | sourceTree = BUILT_PRODUCTS_DIR; 941 | }; 942 | 3DAD3E941DF850E9000B6D8A /* libRCTText-tvOS.a */ = { 943 | isa = PBXReferenceProxy; 944 | fileType = archive.ar; 945 | path = "libRCTText-tvOS.a"; 946 | remoteRef = 3DAD3E931DF850E9000B6D8A /* PBXContainerItemProxy */; 947 | sourceTree = BUILT_PRODUCTS_DIR; 948 | }; 949 | 3DAD3E991DF850E9000B6D8A /* libRCTWebSocket-tvOS.a */ = { 950 | isa = PBXReferenceProxy; 951 | fileType = archive.ar; 952 | path = "libRCTWebSocket-tvOS.a"; 953 | remoteRef = 3DAD3E981DF850E9000B6D8A /* PBXContainerItemProxy */; 954 | sourceTree = BUILT_PRODUCTS_DIR; 955 | }; 956 | 3DAD3EA31DF850E9000B6D8A /* libReact.a */ = { 957 | isa = PBXReferenceProxy; 958 | fileType = archive.ar; 959 | path = libReact.a; 960 | remoteRef = 3DAD3EA21DF850E9000B6D8A /* PBXContainerItemProxy */; 961 | sourceTree = BUILT_PRODUCTS_DIR; 962 | }; 963 | 3DAD3EA51DF850E9000B6D8A /* libyoga.a */ = { 964 | isa = PBXReferenceProxy; 965 | fileType = archive.ar; 966 | path = libyoga.a; 967 | remoteRef = 3DAD3EA41DF850E9000B6D8A /* PBXContainerItemProxy */; 968 | sourceTree = BUILT_PRODUCTS_DIR; 969 | }; 970 | 3DAD3EA71DF850E9000B6D8A /* libyoga.a */ = { 971 | isa = PBXReferenceProxy; 972 | fileType = archive.ar; 973 | path = libyoga.a; 974 | remoteRef = 3DAD3EA61DF850E9000B6D8A /* PBXContainerItemProxy */; 975 | sourceTree = BUILT_PRODUCTS_DIR; 976 | }; 977 | 3DAD3EA91DF850E9000B6D8A /* libcxxreact.a */ = { 978 | isa = PBXReferenceProxy; 979 | fileType = archive.ar; 980 | path = libcxxreact.a; 981 | remoteRef = 3DAD3EA81DF850E9000B6D8A /* PBXContainerItemProxy */; 982 | sourceTree = BUILT_PRODUCTS_DIR; 983 | }; 984 | 3DAD3EAB1DF850E9000B6D8A /* libcxxreact.a */ = { 985 | isa = PBXReferenceProxy; 986 | fileType = archive.ar; 987 | path = libcxxreact.a; 988 | remoteRef = 3DAD3EAA1DF850E9000B6D8A /* PBXContainerItemProxy */; 989 | sourceTree = BUILT_PRODUCTS_DIR; 990 | }; 991 | 3DAD3EAD1DF850E9000B6D8A /* libjschelpers.a */ = { 992 | isa = PBXReferenceProxy; 993 | fileType = archive.ar; 994 | path = libjschelpers.a; 995 | remoteRef = 3DAD3EAC1DF850E9000B6D8A /* PBXContainerItemProxy */; 996 | sourceTree = BUILT_PRODUCTS_DIR; 997 | }; 998 | 3DAD3EAF1DF850E9000B6D8A /* libjschelpers.a */ = { 999 | isa = PBXReferenceProxy; 1000 | fileType = archive.ar; 1001 | path = libjschelpers.a; 1002 | remoteRef = 3DAD3EAE1DF850E9000B6D8A /* PBXContainerItemProxy */; 1003 | sourceTree = BUILT_PRODUCTS_DIR; 1004 | }; 1005 | 5E9157331DD0AC6500FF2AA8 /* libRCTAnimation.a */ = { 1006 | isa = PBXReferenceProxy; 1007 | fileType = archive.ar; 1008 | path = libRCTAnimation.a; 1009 | remoteRef = 5E9157321DD0AC6500FF2AA8 /* PBXContainerItemProxy */; 1010 | sourceTree = BUILT_PRODUCTS_DIR; 1011 | }; 1012 | 5E9157351DD0AC6500FF2AA8 /* libRCTAnimation.a */ = { 1013 | isa = PBXReferenceProxy; 1014 | fileType = archive.ar; 1015 | path = libRCTAnimation.a; 1016 | remoteRef = 5E9157341DD0AC6500FF2AA8 /* PBXContainerItemProxy */; 1017 | sourceTree = BUILT_PRODUCTS_DIR; 1018 | }; 1019 | 78C398B91ACF4ADC00677621 /* libRCTLinking.a */ = { 1020 | isa = PBXReferenceProxy; 1021 | fileType = archive.ar; 1022 | path = libRCTLinking.a; 1023 | remoteRef = 78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */; 1024 | sourceTree = BUILT_PRODUCTS_DIR; 1025 | }; 1026 | 832341B51AAA6A8300B99B32 /* libRCTText.a */ = { 1027 | isa = PBXReferenceProxy; 1028 | fileType = archive.ar; 1029 | path = libRCTText.a; 1030 | remoteRef = 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */; 1031 | sourceTree = BUILT_PRODUCTS_DIR; 1032 | }; 1033 | ADBDB9271DFEBF0700ED6528 /* libRCTBlob.a */ = { 1034 | isa = PBXReferenceProxy; 1035 | fileType = archive.ar; 1036 | path = libRCTBlob.a; 1037 | remoteRef = ADBDB9261DFEBF0700ED6528 /* PBXContainerItemProxy */; 1038 | sourceTree = BUILT_PRODUCTS_DIR; 1039 | }; 1040 | /* End PBXReferenceProxy section */ 1041 | 1042 | /* Begin PBXResourcesBuildPhase section */ 1043 | 00E356EC1AD99517003FC87E /* Resources */ = { 1044 | isa = PBXResourcesBuildPhase; 1045 | buildActionMask = 2147483647; 1046 | files = ( 1047 | ); 1048 | runOnlyForDeploymentPostprocessing = 0; 1049 | }; 1050 | 13B07F8E1A680F5B00A75B9A /* Resources */ = { 1051 | isa = PBXResourcesBuildPhase; 1052 | buildActionMask = 2147483647; 1053 | files = ( 1054 | 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, 1055 | 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */, 1056 | ); 1057 | runOnlyForDeploymentPostprocessing = 0; 1058 | }; 1059 | 2D02E4791E0B4A5D006451C7 /* Resources */ = { 1060 | isa = PBXResourcesBuildPhase; 1061 | buildActionMask = 2147483647; 1062 | files = ( 1063 | 2D02E4BD1E0B4A84006451C7 /* Images.xcassets in Resources */, 1064 | ); 1065 | runOnlyForDeploymentPostprocessing = 0; 1066 | }; 1067 | 2D02E48E1E0B4A5D006451C7 /* Resources */ = { 1068 | isa = PBXResourcesBuildPhase; 1069 | buildActionMask = 2147483647; 1070 | files = ( 1071 | ); 1072 | runOnlyForDeploymentPostprocessing = 0; 1073 | }; 1074 | /* End PBXResourcesBuildPhase section */ 1075 | 1076 | /* Begin PBXShellScriptBuildPhase section */ 1077 | 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */ = { 1078 | isa = PBXShellScriptBuildPhase; 1079 | buildActionMask = 2147483647; 1080 | files = ( 1081 | ); 1082 | inputPaths = ( 1083 | ); 1084 | name = "Bundle React Native code and images"; 1085 | outputPaths = ( 1086 | ); 1087 | runOnlyForDeploymentPostprocessing = 0; 1088 | shellPath = /bin/sh; 1089 | shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh"; 1090 | }; 1091 | 2D02E4CB1E0B4B27006451C7 /* Bundle React Native Code And Images */ = { 1092 | isa = PBXShellScriptBuildPhase; 1093 | buildActionMask = 2147483647; 1094 | files = ( 1095 | ); 1096 | inputPaths = ( 1097 | ); 1098 | name = "Bundle React Native Code And Images"; 1099 | outputPaths = ( 1100 | ); 1101 | runOnlyForDeploymentPostprocessing = 0; 1102 | shellPath = /bin/sh; 1103 | shellScript = "export NODE_BINARY=node\n../node_modules/react-native/scripts/react-native-xcode.sh"; 1104 | }; 1105 | /* End PBXShellScriptBuildPhase section */ 1106 | 1107 | /* Begin PBXSourcesBuildPhase section */ 1108 | 00E356EA1AD99517003FC87E /* Sources */ = { 1109 | isa = PBXSourcesBuildPhase; 1110 | buildActionMask = 2147483647; 1111 | files = ( 1112 | 00E356F31AD99517003FC87E /* exampleTests.m in Sources */, 1113 | ); 1114 | runOnlyForDeploymentPostprocessing = 0; 1115 | }; 1116 | 13B07F871A680F5B00A75B9A /* Sources */ = { 1117 | isa = PBXSourcesBuildPhase; 1118 | buildActionMask = 2147483647; 1119 | files = ( 1120 | 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */, 1121 | 13B07FC11A68108700A75B9A /* main.m in Sources */, 1122 | ); 1123 | runOnlyForDeploymentPostprocessing = 0; 1124 | }; 1125 | 2D02E4771E0B4A5D006451C7 /* Sources */ = { 1126 | isa = PBXSourcesBuildPhase; 1127 | buildActionMask = 2147483647; 1128 | files = ( 1129 | 2D02E4BF1E0B4AB3006451C7 /* main.m in Sources */, 1130 | 2D02E4BC1E0B4A80006451C7 /* AppDelegate.m in Sources */, 1131 | ); 1132 | runOnlyForDeploymentPostprocessing = 0; 1133 | }; 1134 | 2D02E48C1E0B4A5D006451C7 /* Sources */ = { 1135 | isa = PBXSourcesBuildPhase; 1136 | buildActionMask = 2147483647; 1137 | files = ( 1138 | 2DCD954D1E0B4F2C00145EB5 /* exampleTests.m in Sources */, 1139 | ); 1140 | runOnlyForDeploymentPostprocessing = 0; 1141 | }; 1142 | /* End PBXSourcesBuildPhase section */ 1143 | 1144 | /* Begin PBXTargetDependency section */ 1145 | 00E356F51AD99517003FC87E /* PBXTargetDependency */ = { 1146 | isa = PBXTargetDependency; 1147 | target = 13B07F861A680F5B00A75B9A /* example */; 1148 | targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */; 1149 | }; 1150 | 2D02E4921E0B4A5D006451C7 /* PBXTargetDependency */ = { 1151 | isa = PBXTargetDependency; 1152 | target = 2D02E47A1E0B4A5D006451C7 /* example-tvOS */; 1153 | targetProxy = 2D02E4911E0B4A5D006451C7 /* PBXContainerItemProxy */; 1154 | }; 1155 | /* End PBXTargetDependency section */ 1156 | 1157 | /* Begin PBXVariantGroup section */ 1158 | 13B07FB11A68108700A75B9A /* LaunchScreen.xib */ = { 1159 | isa = PBXVariantGroup; 1160 | children = ( 1161 | 13B07FB21A68108700A75B9A /* Base */, 1162 | ); 1163 | name = LaunchScreen.xib; 1164 | path = example; 1165 | sourceTree = ""; 1166 | }; 1167 | /* End PBXVariantGroup section */ 1168 | 1169 | /* Begin XCBuildConfiguration section */ 1170 | 00E356F61AD99517003FC87E /* Debug */ = { 1171 | isa = XCBuildConfiguration; 1172 | buildSettings = { 1173 | BUNDLE_LOADER = "$(TEST_HOST)"; 1174 | DEVELOPMENT_TEAM = NX29J8LXN7; 1175 | GCC_PREPROCESSOR_DEFINITIONS = ( 1176 | "DEBUG=1", 1177 | "$(inherited)", 1178 | ); 1179 | INFOPLIST_FILE = exampleTests/Info.plist; 1180 | IPHONEOS_DEPLOYMENT_TARGET = 9.0; 1181 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 1182 | OTHER_LDFLAGS = ( 1183 | "-ObjC", 1184 | "-lc++", 1185 | ); 1186 | PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; 1187 | PRODUCT_NAME = "$(TARGET_NAME)"; 1188 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example.app/example"; 1189 | }; 1190 | name = Debug; 1191 | }; 1192 | 00E356F71AD99517003FC87E /* Release */ = { 1193 | isa = XCBuildConfiguration; 1194 | buildSettings = { 1195 | BUNDLE_LOADER = "$(TEST_HOST)"; 1196 | COPY_PHASE_STRIP = NO; 1197 | DEVELOPMENT_TEAM = NX29J8LXN7; 1198 | INFOPLIST_FILE = exampleTests/Info.plist; 1199 | IPHONEOS_DEPLOYMENT_TARGET = 9.0; 1200 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 1201 | OTHER_LDFLAGS = ( 1202 | "-ObjC", 1203 | "-lc++", 1204 | ); 1205 | PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; 1206 | PRODUCT_NAME = "$(TARGET_NAME)"; 1207 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example.app/example"; 1208 | }; 1209 | name = Release; 1210 | }; 1211 | 13B07F941A680F5B00A75B9A /* Debug */ = { 1212 | isa = XCBuildConfiguration; 1213 | buildSettings = { 1214 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 1215 | CURRENT_PROJECT_VERSION = 1; 1216 | DEAD_CODE_STRIPPING = NO; 1217 | DEVELOPMENT_TEAM = NX29J8LXN7; 1218 | INFOPLIST_FILE = example/Info.plist; 1219 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 1220 | OTHER_LDFLAGS = ( 1221 | "$(inherited)", 1222 | "-ObjC", 1223 | "-lc++", 1224 | ); 1225 | PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; 1226 | PRODUCT_NAME = example; 1227 | VERSIONING_SYSTEM = "apple-generic"; 1228 | }; 1229 | name = Debug; 1230 | }; 1231 | 13B07F951A680F5B00A75B9A /* Release */ = { 1232 | isa = XCBuildConfiguration; 1233 | buildSettings = { 1234 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 1235 | CURRENT_PROJECT_VERSION = 1; 1236 | DEVELOPMENT_TEAM = NX29J8LXN7; 1237 | INFOPLIST_FILE = example/Info.plist; 1238 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 1239 | OTHER_LDFLAGS = ( 1240 | "$(inherited)", 1241 | "-ObjC", 1242 | "-lc++", 1243 | ); 1244 | PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"; 1245 | PRODUCT_NAME = example; 1246 | VERSIONING_SYSTEM = "apple-generic"; 1247 | }; 1248 | name = Release; 1249 | }; 1250 | 2D02E4971E0B4A5E006451C7 /* Debug */ = { 1251 | isa = XCBuildConfiguration; 1252 | buildSettings = { 1253 | ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; 1254 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; 1255 | CLANG_ANALYZER_NONNULL = YES; 1256 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 1257 | CLANG_WARN_INFINITE_RECURSION = YES; 1258 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 1259 | DEBUG_INFORMATION_FORMAT = dwarf; 1260 | ENABLE_TESTABILITY = YES; 1261 | GCC_NO_COMMON_BLOCKS = YES; 1262 | INFOPLIST_FILE = "example-tvOS/Info.plist"; 1263 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 1264 | OTHER_LDFLAGS = ( 1265 | "-ObjC", 1266 | "-lc++", 1267 | ); 1268 | PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.example-tvOS"; 1269 | PRODUCT_NAME = "$(TARGET_NAME)"; 1270 | SDKROOT = appletvos; 1271 | TARGETED_DEVICE_FAMILY = 3; 1272 | TVOS_DEPLOYMENT_TARGET = 9.2; 1273 | }; 1274 | name = Debug; 1275 | }; 1276 | 2D02E4981E0B4A5E006451C7 /* Release */ = { 1277 | isa = XCBuildConfiguration; 1278 | buildSettings = { 1279 | ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; 1280 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; 1281 | CLANG_ANALYZER_NONNULL = YES; 1282 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 1283 | CLANG_WARN_INFINITE_RECURSION = YES; 1284 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 1285 | COPY_PHASE_STRIP = NO; 1286 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 1287 | GCC_NO_COMMON_BLOCKS = YES; 1288 | INFOPLIST_FILE = "example-tvOS/Info.plist"; 1289 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 1290 | OTHER_LDFLAGS = ( 1291 | "-ObjC", 1292 | "-lc++", 1293 | ); 1294 | PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.example-tvOS"; 1295 | PRODUCT_NAME = "$(TARGET_NAME)"; 1296 | SDKROOT = appletvos; 1297 | TARGETED_DEVICE_FAMILY = 3; 1298 | TVOS_DEPLOYMENT_TARGET = 9.2; 1299 | }; 1300 | name = Release; 1301 | }; 1302 | 2D02E4991E0B4A5E006451C7 /* Debug */ = { 1303 | isa = XCBuildConfiguration; 1304 | buildSettings = { 1305 | BUNDLE_LOADER = "$(TEST_HOST)"; 1306 | CLANG_ANALYZER_NONNULL = YES; 1307 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 1308 | CLANG_WARN_INFINITE_RECURSION = YES; 1309 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 1310 | DEBUG_INFORMATION_FORMAT = dwarf; 1311 | ENABLE_TESTABILITY = YES; 1312 | GCC_NO_COMMON_BLOCKS = YES; 1313 | INFOPLIST_FILE = "example-tvOSTests/Info.plist"; 1314 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 1315 | OTHER_LDFLAGS = ( 1316 | "-ObjC", 1317 | "-lc++", 1318 | ); 1319 | PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.example-tvOSTests"; 1320 | PRODUCT_NAME = "$(TARGET_NAME)"; 1321 | SDKROOT = appletvos; 1322 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example-tvOS.app/example-tvOS"; 1323 | TVOS_DEPLOYMENT_TARGET = 10.1; 1324 | }; 1325 | name = Debug; 1326 | }; 1327 | 2D02E49A1E0B4A5E006451C7 /* Release */ = { 1328 | isa = XCBuildConfiguration; 1329 | buildSettings = { 1330 | BUNDLE_LOADER = "$(TEST_HOST)"; 1331 | CLANG_ANALYZER_NONNULL = YES; 1332 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; 1333 | CLANG_WARN_INFINITE_RECURSION = YES; 1334 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 1335 | COPY_PHASE_STRIP = NO; 1336 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 1337 | GCC_NO_COMMON_BLOCKS = YES; 1338 | INFOPLIST_FILE = "example-tvOSTests/Info.plist"; 1339 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 1340 | OTHER_LDFLAGS = ( 1341 | "-ObjC", 1342 | "-lc++", 1343 | ); 1344 | PRODUCT_BUNDLE_IDENTIFIER = "com.facebook.REACT.example-tvOSTests"; 1345 | PRODUCT_NAME = "$(TARGET_NAME)"; 1346 | SDKROOT = appletvos; 1347 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/example-tvOS.app/example-tvOS"; 1348 | TVOS_DEPLOYMENT_TARGET = 10.1; 1349 | }; 1350 | name = Release; 1351 | }; 1352 | 83CBBA201A601CBA00E9B192 /* Debug */ = { 1353 | isa = XCBuildConfiguration; 1354 | buildSettings = { 1355 | ALWAYS_SEARCH_USER_PATHS = NO; 1356 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 1357 | CLANG_CXX_LIBRARY = "libc++"; 1358 | CLANG_ENABLE_MODULES = YES; 1359 | CLANG_ENABLE_OBJC_ARC = YES; 1360 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 1361 | CLANG_WARN_BOOL_CONVERSION = YES; 1362 | CLANG_WARN_COMMA = YES; 1363 | CLANG_WARN_CONSTANT_CONVERSION = YES; 1364 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 1365 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 1366 | CLANG_WARN_EMPTY_BODY = YES; 1367 | CLANG_WARN_ENUM_CONVERSION = YES; 1368 | CLANG_WARN_INFINITE_RECURSION = YES; 1369 | CLANG_WARN_INT_CONVERSION = YES; 1370 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 1371 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 1372 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 1373 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 1374 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 1375 | CLANG_WARN_STRICT_PROTOTYPES = YES; 1376 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 1377 | CLANG_WARN_UNREACHABLE_CODE = YES; 1378 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 1379 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 1380 | COPY_PHASE_STRIP = NO; 1381 | ENABLE_STRICT_OBJC_MSGSEND = YES; 1382 | ENABLE_TESTABILITY = YES; 1383 | GCC_C_LANGUAGE_STANDARD = gnu99; 1384 | GCC_DYNAMIC_NO_PIC = NO; 1385 | GCC_NO_COMMON_BLOCKS = YES; 1386 | GCC_OPTIMIZATION_LEVEL = 0; 1387 | GCC_PREPROCESSOR_DEFINITIONS = ( 1388 | "DEBUG=1", 1389 | "$(inherited)", 1390 | ); 1391 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 1392 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 1393 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 1394 | GCC_WARN_UNDECLARED_SELECTOR = YES; 1395 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 1396 | GCC_WARN_UNUSED_FUNCTION = YES; 1397 | GCC_WARN_UNUSED_VARIABLE = YES; 1398 | IPHONEOS_DEPLOYMENT_TARGET = 9.0; 1399 | MTL_ENABLE_DEBUG_INFO = YES; 1400 | ONLY_ACTIVE_ARCH = YES; 1401 | SDKROOT = iphoneos; 1402 | }; 1403 | name = Debug; 1404 | }; 1405 | 83CBBA211A601CBA00E9B192 /* Release */ = { 1406 | isa = XCBuildConfiguration; 1407 | buildSettings = { 1408 | ALWAYS_SEARCH_USER_PATHS = NO; 1409 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 1410 | CLANG_CXX_LIBRARY = "libc++"; 1411 | CLANG_ENABLE_MODULES = YES; 1412 | CLANG_ENABLE_OBJC_ARC = YES; 1413 | CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; 1414 | CLANG_WARN_BOOL_CONVERSION = YES; 1415 | CLANG_WARN_COMMA = YES; 1416 | CLANG_WARN_CONSTANT_CONVERSION = YES; 1417 | CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; 1418 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 1419 | CLANG_WARN_EMPTY_BODY = YES; 1420 | CLANG_WARN_ENUM_CONVERSION = YES; 1421 | CLANG_WARN_INFINITE_RECURSION = YES; 1422 | CLANG_WARN_INT_CONVERSION = YES; 1423 | CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; 1424 | CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; 1425 | CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; 1426 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 1427 | CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; 1428 | CLANG_WARN_STRICT_PROTOTYPES = YES; 1429 | CLANG_WARN_SUSPICIOUS_MOVE = YES; 1430 | CLANG_WARN_UNREACHABLE_CODE = YES; 1431 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 1432 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 1433 | COPY_PHASE_STRIP = YES; 1434 | ENABLE_NS_ASSERTIONS = NO; 1435 | ENABLE_STRICT_OBJC_MSGSEND = YES; 1436 | GCC_C_LANGUAGE_STANDARD = gnu99; 1437 | GCC_NO_COMMON_BLOCKS = YES; 1438 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 1439 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 1440 | GCC_WARN_UNDECLARED_SELECTOR = YES; 1441 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 1442 | GCC_WARN_UNUSED_FUNCTION = YES; 1443 | GCC_WARN_UNUSED_VARIABLE = YES; 1444 | IPHONEOS_DEPLOYMENT_TARGET = 9.0; 1445 | MTL_ENABLE_DEBUG_INFO = NO; 1446 | SDKROOT = iphoneos; 1447 | VALIDATE_PRODUCT = YES; 1448 | }; 1449 | name = Release; 1450 | }; 1451 | /* End XCBuildConfiguration section */ 1452 | 1453 | /* Begin XCConfigurationList section */ 1454 | 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "exampleTests" */ = { 1455 | isa = XCConfigurationList; 1456 | buildConfigurations = ( 1457 | 00E356F61AD99517003FC87E /* Debug */, 1458 | 00E356F71AD99517003FC87E /* Release */, 1459 | ); 1460 | defaultConfigurationIsVisible = 0; 1461 | defaultConfigurationName = Release; 1462 | }; 1463 | 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "example" */ = { 1464 | isa = XCConfigurationList; 1465 | buildConfigurations = ( 1466 | 13B07F941A680F5B00A75B9A /* Debug */, 1467 | 13B07F951A680F5B00A75B9A /* Release */, 1468 | ); 1469 | defaultConfigurationIsVisible = 0; 1470 | defaultConfigurationName = Release; 1471 | }; 1472 | 2D02E4BA1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "example-tvOS" */ = { 1473 | isa = XCConfigurationList; 1474 | buildConfigurations = ( 1475 | 2D02E4971E0B4A5E006451C7 /* Debug */, 1476 | 2D02E4981E0B4A5E006451C7 /* Release */, 1477 | ); 1478 | defaultConfigurationIsVisible = 0; 1479 | defaultConfigurationName = Release; 1480 | }; 1481 | 2D02E4BB1E0B4A5E006451C7 /* Build configuration list for PBXNativeTarget "example-tvOSTests" */ = { 1482 | isa = XCConfigurationList; 1483 | buildConfigurations = ( 1484 | 2D02E4991E0B4A5E006451C7 /* Debug */, 1485 | 2D02E49A1E0B4A5E006451C7 /* Release */, 1486 | ); 1487 | defaultConfigurationIsVisible = 0; 1488 | defaultConfigurationName = Release; 1489 | }; 1490 | 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "example" */ = { 1491 | isa = XCConfigurationList; 1492 | buildConfigurations = ( 1493 | 83CBBA201A601CBA00E9B192 /* Debug */, 1494 | 83CBBA211A601CBA00E9B192 /* Release */, 1495 | ); 1496 | defaultConfigurationIsVisible = 0; 1497 | defaultConfigurationName = Release; 1498 | }; 1499 | /* End XCConfigurationList section */ 1500 | }; 1501 | rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; 1502 | } 1503 | -------------------------------------------------------------------------------- /example/ios/example.xcodeproj/xcshareddata/xcschemes/example-tvOS.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 29 | 35 | 36 | 37 | 43 | 49 | 50 | 51 | 52 | 53 | 58 | 59 | 61 | 67 | 68 | 69 | 70 | 71 | 77 | 78 | 79 | 80 | 81 | 82 | 92 | 94 | 100 | 101 | 102 | 103 | 104 | 105 | 111 | 113 | 119 | 120 | 121 | 122 | 124 | 125 | 128 | 129 | 130 | -------------------------------------------------------------------------------- /example/ios/example.xcodeproj/xcshareddata/xcschemes/example.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 29 | 35 | 36 | 37 | 43 | 49 | 50 | 51 | 52 | 53 | 58 | 59 | 61 | 67 | 68 | 69 | 70 | 71 | 77 | 78 | 79 | 80 | 81 | 82 | 92 | 94 | 100 | 101 | 102 | 103 | 104 | 105 | 111 | 113 | 119 | 120 | 121 | 122 | 124 | 125 | 128 | 129 | 130 | -------------------------------------------------------------------------------- /example/ios/example/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | #import 9 | 10 | @interface AppDelegate : UIResponder 11 | 12 | @property (nonatomic, strong) UIWindow *window; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /example/ios/example/AppDelegate.m: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | #import "AppDelegate.h" 9 | 10 | #import 11 | #import 12 | 13 | @implementation AppDelegate 14 | 15 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 16 | { 17 | NSURL *jsCodeLocation; 18 | 19 | jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil]; 20 | 21 | RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation 22 | moduleName:@"example" 23 | initialProperties:nil 24 | launchOptions:launchOptions]; 25 | rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1]; 26 | 27 | self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; 28 | UIViewController *rootViewController = [UIViewController new]; 29 | rootViewController.view = rootView; 30 | self.window.rootViewController = rootViewController; 31 | [self.window makeKeyAndVisible]; 32 | return YES; 33 | } 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /example/ios/example/Base.lproj/LaunchScreen.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 21 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /example/ios/example/Images.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | } 33 | ], 34 | "info" : { 35 | "version" : 1, 36 | "author" : "xcode" 37 | } 38 | } -------------------------------------------------------------------------------- /example/ios/example/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /example/ios/example/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | example 9 | CFBundleExecutable 10 | $(EXECUTABLE_NAME) 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1 25 | LSRequiresIPhoneOS 26 | 27 | NSLocationWhenInUseUsageDescription 28 | 29 | UILaunchStoryboardName 30 | LaunchScreen 31 | UIRequiredDeviceCapabilities 32 | 33 | armv7 34 | 35 | UISupportedInterfaceOrientations 36 | 37 | UIInterfaceOrientationPortrait 38 | UIInterfaceOrientationLandscapeLeft 39 | UIInterfaceOrientationLandscapeRight 40 | 41 | UIViewControllerBasedStatusBarAppearance 42 | 43 | NSLocationWhenInUseUsageDescription 44 | 45 | NSAppTransportSecurity 46 | 47 | 48 | NSAllowsArbitraryLoads 49 | 50 | NSExceptionDomains 51 | 52 | localhost 53 | 54 | NSExceptionAllowsInsecureHTTPLoads 55 | 56 | 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /example/ios/example/main.m: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | #import 9 | 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /example/ios/exampleTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /example/ios/exampleTests/exampleTests.m: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * 4 | * This source code is licensed under the MIT license found in the 5 | * LICENSE file in the root directory of this source tree. 6 | */ 7 | 8 | #import 9 | #import 10 | 11 | #import 12 | #import 13 | 14 | #define TIMEOUT_SECONDS 600 15 | #define TEXT_TO_LOOK_FOR @"Welcome to React Native!" 16 | 17 | @interface exampleTests : XCTestCase 18 | 19 | @end 20 | 21 | @implementation exampleTests 22 | 23 | - (BOOL)findSubviewInView:(UIView *)view matching:(BOOL(^)(UIView *view))test 24 | { 25 | if (test(view)) { 26 | return YES; 27 | } 28 | for (UIView *subview in [view subviews]) { 29 | if ([self findSubviewInView:subview matching:test]) { 30 | return YES; 31 | } 32 | } 33 | return NO; 34 | } 35 | 36 | - (void)testRendersWelcomeScreen 37 | { 38 | UIViewController *vc = [[[RCTSharedApplication() delegate] window] rootViewController]; 39 | NSDate *date = [NSDate dateWithTimeIntervalSinceNow:TIMEOUT_SECONDS]; 40 | BOOL foundElement = NO; 41 | 42 | __block NSString *redboxError = nil; 43 | RCTSetLogFunction(^(RCTLogLevel level, RCTLogSource source, NSString *fileName, NSNumber *lineNumber, NSString *message) { 44 | if (level >= RCTLogLevelError) { 45 | redboxError = message; 46 | } 47 | }); 48 | 49 | while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) { 50 | [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; 51 | [[NSRunLoop mainRunLoop] runMode:NSRunLoopCommonModes beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; 52 | 53 | foundElement = [self findSubviewInView:vc.view matching:^BOOL(UIView *view) { 54 | if ([view.accessibilityLabel isEqualToString:TEXT_TO_LOOK_FOR]) { 55 | return YES; 56 | } 57 | return NO; 58 | }]; 59 | } 60 | 61 | RCTSetLogFunction(RCTDefaultLogFunction); 62 | 63 | XCTAssertNil(redboxError, @"RedBox error: %@", redboxError); 64 | XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS); 65 | } 66 | 67 | 68 | @end 69 | -------------------------------------------------------------------------------- /example/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "example", 3 | "version": "0.0.1", 4 | "private": true, 5 | "scripts": { 6 | "start": "node node_modules/react-native/local-cli/cli.js start", 7 | "test": "jest", 8 | "sync": "rm -rf ./node_modules/react-native-rewards; sane '/usr/bin/rsync -v -a --exclude .git --exclude example --exclude __tests__ --exclude node_modules .. './node_modules/react-native-rewards/' . --watchman'" 9 | }, 10 | "dependencies": { 11 | "prop-types": "^15.6.2", 12 | "react": "16.6.1", 13 | "react-native": "0.57.5", 14 | "react-native-animatable": "^1.3.0", 15 | "react-native-pose": "^0.9.0" 16 | }, 17 | "devDependencies": { 18 | "babel-jest": "23.6.0", 19 | "jest": "23.6.0", 20 | "metro-react-native-babel-preset": "0.49.2", 21 | "react-test-renderer": "16.6.1" 22 | }, 23 | "jest": { 24 | "preset": "react-native" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | import RewardsComponent from './RewardsComponent'; 2 | 3 | export default RewardsComponent; 4 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-native-rewards", 3 | "version": "1.0.0", 4 | "lockfileVersion": 1 5 | } 6 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-native-rewards", 3 | "version": "1.0.0", 4 | "description": "This package lets you easily add microinteractions to your app and reward users with the rain of confettis or flying emoji in seconds.", 5 | "main": "index.js", 6 | "scripts": { 7 | 8 | }, 9 | "keywords": [ 10 | "android", 11 | "ios", 12 | "react-native", 13 | "react", 14 | "react-component", 15 | "confetti", 16 | "react-rewards", 17 | "react-native-rewards" 18 | ], 19 | "author": "Jan Romaniak", 20 | "repository": { 21 | "type": "git", 22 | "url": "https://github.com/johniak/react-native-rewards.git" 23 | }, 24 | "homepage": "https://github.com/johniak/react-native-rewards", 25 | "license": "MIT", 26 | "peerDependencies": { 27 | "react-native": "^0.41.2", 28 | "react-native-windows": "0.41.0-rc.1", 29 | "prop-types": "^15.6.2" 30 | }, 31 | "devDependencies": { 32 | "babel-eslint": "^8.2.1", 33 | "eslint": "^4.16.0", 34 | "eslint-config-airbnb": "^16.1.0", 35 | "eslint-plugin-import": "^2.8.0", 36 | "eslint-plugin-jsx-a11y": "^6.0.3", 37 | "eslint-plugin-mocha": "^5.0.0", 38 | "eslint-plugin-react": "^7.5.1" 39 | }, 40 | "dependencies": { 41 | "react-native-pose": "^0.9.0" 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@7.0.0-beta.44": 6 | version "7.0.0-beta.44" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.44.tgz#2a02643368de80916162be70865c97774f3adbd9" 8 | integrity sha512-cuAuTTIQ9RqcFRJ/Y8PvTh+paepNcaGxwQwjIDRWPXmzzyAeCO4KqS9ikMvq0MCbRk6GlYKwfzStrcP3/jSL8g== 9 | dependencies: 10 | "@babel/highlight" "7.0.0-beta.44" 11 | 12 | "@babel/generator@7.0.0-beta.44": 13 | version "7.0.0-beta.44" 14 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-beta.44.tgz#c7e67b9b5284afcf69b309b50d7d37f3e5033d42" 15 | integrity sha512-5xVb7hlhjGcdkKpMXgicAVgx8syK5VJz193k0i/0sLP6DzE6lRrU1K3B/rFefgdo9LPGMAOOOAWW4jycj07ShQ== 16 | dependencies: 17 | "@babel/types" "7.0.0-beta.44" 18 | jsesc "^2.5.1" 19 | lodash "^4.2.0" 20 | source-map "^0.5.0" 21 | trim-right "^1.0.1" 22 | 23 | "@babel/helper-function-name@7.0.0-beta.44": 24 | version "7.0.0-beta.44" 25 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.44.tgz#e18552aaae2231100a6e485e03854bc3532d44dd" 26 | integrity sha512-MHRG2qZMKMFaBavX0LWpfZ2e+hLloT++N7rfM3DYOMUOGCD8cVjqZpwiL8a0bOX3IYcQev1ruciT0gdFFRTxzg== 27 | dependencies: 28 | "@babel/helper-get-function-arity" "7.0.0-beta.44" 29 | "@babel/template" "7.0.0-beta.44" 30 | "@babel/types" "7.0.0-beta.44" 31 | 32 | "@babel/helper-get-function-arity@7.0.0-beta.44": 33 | version "7.0.0-beta.44" 34 | resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.44.tgz#d03ca6dd2b9f7b0b1e6b32c56c72836140db3a15" 35 | integrity sha512-w0YjWVwrM2HwP6/H3sEgrSQdkCaxppqFeJtAnB23pRiJB5E/O9Yp7JAAeWBl+gGEgmBFinnTyOv2RN7rcSmMiw== 36 | dependencies: 37 | "@babel/types" "7.0.0-beta.44" 38 | 39 | "@babel/helper-split-export-declaration@7.0.0-beta.44": 40 | version "7.0.0-beta.44" 41 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.44.tgz#c0b351735e0fbcb3822c8ad8db4e583b05ebd9dc" 42 | integrity sha512-aQ7QowtkgKKzPGf0j6u77kBMdUFVBKNHw2p/3HX/POt5/oz8ec5cs0GwlgM8Hz7ui5EwJnzyfRmkNF1Nx1N7aA== 43 | dependencies: 44 | "@babel/types" "7.0.0-beta.44" 45 | 46 | "@babel/highlight@7.0.0-beta.44": 47 | version "7.0.0-beta.44" 48 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.44.tgz#18c94ce543916a80553edcdcf681890b200747d5" 49 | integrity sha512-Il19yJvy7vMFm8AVAh6OZzaFoAd0hbkeMZiX3P5HGD+z7dyI7RzndHB0dg6Urh/VAFfHtpOIzDUSxmY6coyZWQ== 50 | dependencies: 51 | chalk "^2.0.0" 52 | esutils "^2.0.2" 53 | js-tokens "^3.0.0" 54 | 55 | "@babel/template@7.0.0-beta.44": 56 | version "7.0.0-beta.44" 57 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.44.tgz#f8832f4fdcee5d59bf515e595fc5106c529b394f" 58 | integrity sha512-w750Sloq0UNifLx1rUqwfbnC6uSUk0mfwwgGRfdLiaUzfAOiH0tHJE6ILQIUi3KYkjiCDTskoIsnfqZvWLBDng== 59 | dependencies: 60 | "@babel/code-frame" "7.0.0-beta.44" 61 | "@babel/types" "7.0.0-beta.44" 62 | babylon "7.0.0-beta.44" 63 | lodash "^4.2.0" 64 | 65 | "@babel/traverse@7.0.0-beta.44": 66 | version "7.0.0-beta.44" 67 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.44.tgz#a970a2c45477ad18017e2e465a0606feee0d2966" 68 | integrity sha512-UHuDz8ukQkJCDASKHf+oDt3FVUzFd+QYfuBIsiNu/4+/ix6pP/C+uQZJ6K1oEfbCMv/IKWbgDEh7fcsnIE5AtA== 69 | dependencies: 70 | "@babel/code-frame" "7.0.0-beta.44" 71 | "@babel/generator" "7.0.0-beta.44" 72 | "@babel/helper-function-name" "7.0.0-beta.44" 73 | "@babel/helper-split-export-declaration" "7.0.0-beta.44" 74 | "@babel/types" "7.0.0-beta.44" 75 | babylon "7.0.0-beta.44" 76 | debug "^3.1.0" 77 | globals "^11.1.0" 78 | invariant "^2.2.0" 79 | lodash "^4.2.0" 80 | 81 | "@babel/types@7.0.0-beta.44": 82 | version "7.0.0-beta.44" 83 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.44.tgz#6b1b164591f77dec0a0342aca995f2d046b3a757" 84 | integrity sha512-5eTV4WRmqbaFM3v9gHAIljEQJU4Ssc6fxL61JN+Oe2ga/BwyjzjamwkCVVAQjHGuAX8i0BWo42dshL8eO5KfLQ== 85 | dependencies: 86 | esutils "^2.0.2" 87 | lodash "^4.2.0" 88 | to-fast-properties "^2.0.0" 89 | 90 | "@popmotion/easing@^1.0.1": 91 | version "1.0.1" 92 | resolved "https://registry.yarnpkg.com/@popmotion/easing/-/easing-1.0.1.tgz#48336aea29542113df10aeb81b4fd10f0b95f937" 93 | integrity sha512-NbIEz9mZAem0F0sjg2v57LbU9Y2Xc50QEX434jYrwEQzXJuJipyUV48Qz4hjHqbB/8xiUj0JMQfRvP8K9nUbxg== 94 | 95 | "@types/invariant@^2.2.29": 96 | version "2.2.29" 97 | resolved "https://registry.yarnpkg.com/@types/invariant/-/invariant-2.2.29.tgz#aa845204cd0a289f65d47e0de63a6a815e30cc66" 98 | integrity sha512-lRVw09gOvgviOfeUrKc/pmTiRZ7g7oDOU6OAutyuSHpm1/o2RaBQvRhgK8QEdu+FFuw/wnWb29A/iuxv9i8OpQ== 99 | 100 | "@types/node@^10.0.5": 101 | version "10.12.10" 102 | resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.10.tgz#4fa76e6598b7de3f0cb6ec3abacc4f59e5b3a2ce" 103 | integrity sha512-8xZEYckCbUVgK8Eg7lf5Iy4COKJ5uXlnIOnePN0WUwSQggy9tolM+tDJf7wMOnT/JT/W9xDYIaYggt3mRV2O5w== 104 | 105 | acorn-jsx@^3.0.0: 106 | version "3.0.1" 107 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" 108 | integrity sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s= 109 | dependencies: 110 | acorn "^3.0.4" 111 | 112 | acorn@^3.0.4: 113 | version "3.3.0" 114 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" 115 | integrity sha1-ReN/s56No/JbruP/U2niu18iAXo= 116 | 117 | acorn@^5.5.0: 118 | version "5.7.3" 119 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" 120 | integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== 121 | 122 | ajv-keywords@^2.1.0: 123 | version "2.1.1" 124 | resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" 125 | integrity sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I= 126 | 127 | ajv@^5.2.3, ajv@^5.3.0: 128 | version "5.5.2" 129 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" 130 | integrity sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU= 131 | dependencies: 132 | co "^4.6.0" 133 | fast-deep-equal "^1.0.0" 134 | fast-json-stable-stringify "^2.0.0" 135 | json-schema-traverse "^0.3.0" 136 | 137 | animated-pose@^1.0.0, animated-pose@^1.2.0: 138 | version "1.2.1" 139 | resolved "https://registry.yarnpkg.com/animated-pose/-/animated-pose-1.2.1.tgz#63ee9d2af7c6b1d74e136646312c8b88f346f2b7" 140 | integrity sha512-WIRPDuEnss19NUrc/t2aP+SV59Qv9csjyFTwgnShzruL+35YjLKDW0X01EVKeqpDwUO8lAg/JgT6lNXxjYI/aw== 141 | dependencies: 142 | "@popmotion/easing" "^1.0.1" 143 | hey-listen "^1.0.5" 144 | pose-core "^2.0.0" 145 | 146 | ansi-escapes@^3.0.0: 147 | version "3.1.0" 148 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" 149 | integrity sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw== 150 | 151 | ansi-regex@^2.0.0: 152 | version "2.1.1" 153 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 154 | integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= 155 | 156 | ansi-regex@^3.0.0: 157 | version "3.0.0" 158 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 159 | integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= 160 | 161 | ansi-styles@^2.2.1: 162 | version "2.2.1" 163 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" 164 | integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= 165 | 166 | ansi-styles@^3.2.1: 167 | version "3.2.1" 168 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 169 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 170 | dependencies: 171 | color-convert "^1.9.0" 172 | 173 | argparse@^1.0.7: 174 | version "1.0.10" 175 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 176 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 177 | dependencies: 178 | sprintf-js "~1.0.2" 179 | 180 | aria-query@^3.0.0: 181 | version "3.0.0" 182 | resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz#65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc" 183 | integrity sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w= 184 | dependencies: 185 | ast-types-flow "0.0.7" 186 | commander "^2.11.0" 187 | 188 | array-includes@^3.0.3: 189 | version "3.0.3" 190 | resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" 191 | integrity sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0= 192 | dependencies: 193 | define-properties "^1.1.2" 194 | es-abstract "^1.7.0" 195 | 196 | ast-types-flow@0.0.7, ast-types-flow@^0.0.7: 197 | version "0.0.7" 198 | resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" 199 | integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= 200 | 201 | axobject-query@^2.0.1: 202 | version "2.0.2" 203 | resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.2.tgz#ea187abe5b9002b377f925d8bf7d1c561adf38f9" 204 | integrity sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww== 205 | dependencies: 206 | ast-types-flow "0.0.7" 207 | 208 | babel-code-frame@^6.22.0: 209 | version "6.26.0" 210 | resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" 211 | integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= 212 | dependencies: 213 | chalk "^1.1.3" 214 | esutils "^2.0.2" 215 | js-tokens "^3.0.2" 216 | 217 | babel-eslint@^8.2.1: 218 | version "8.2.6" 219 | resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-8.2.6.tgz#6270d0c73205628067c0f7ae1693a9e797acefd9" 220 | integrity sha512-aCdHjhzcILdP8c9lej7hvXKvQieyRt20SF102SIGyY4cUIiw6UaAtK4j2o3dXX74jEmy0TJ0CEhv4fTIM3SzcA== 221 | dependencies: 222 | "@babel/code-frame" "7.0.0-beta.44" 223 | "@babel/traverse" "7.0.0-beta.44" 224 | "@babel/types" "7.0.0-beta.44" 225 | babylon "7.0.0-beta.44" 226 | eslint-scope "3.7.1" 227 | eslint-visitor-keys "^1.0.0" 228 | 229 | babylon@7.0.0-beta.44: 230 | version "7.0.0-beta.44" 231 | resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.44.tgz#89159e15e6e30c5096e22d738d8c0af8a0e8ca1d" 232 | integrity sha512-5Hlm13BJVAioCHpImtFqNOF2H3ieTOHd0fmFGMxOJ9jgeFqeAwsv3u5P5cR7CSeFrkgHsT19DgFJkHV0/Mcd8g== 233 | 234 | balanced-match@^1.0.0: 235 | version "1.0.0" 236 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 237 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 238 | 239 | brace-expansion@^1.1.7: 240 | version "1.1.11" 241 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 242 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 243 | dependencies: 244 | balanced-match "^1.0.0" 245 | concat-map "0.0.1" 246 | 247 | buffer-from@^1.0.0: 248 | version "1.1.1" 249 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 250 | integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== 251 | 252 | builtin-modules@^1.0.0: 253 | version "1.1.1" 254 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" 255 | integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= 256 | 257 | caller-path@^0.1.0: 258 | version "0.1.0" 259 | resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" 260 | integrity sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8= 261 | dependencies: 262 | callsites "^0.2.0" 263 | 264 | callsites@^0.2.0: 265 | version "0.2.0" 266 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" 267 | integrity sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo= 268 | 269 | chalk@^1.1.3: 270 | version "1.1.3" 271 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" 272 | integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= 273 | dependencies: 274 | ansi-styles "^2.2.1" 275 | escape-string-regexp "^1.0.2" 276 | has-ansi "^2.0.0" 277 | strip-ansi "^3.0.0" 278 | supports-color "^2.0.0" 279 | 280 | chalk@^2.0.0, chalk@^2.1.0: 281 | version "2.4.1" 282 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" 283 | integrity sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ== 284 | dependencies: 285 | ansi-styles "^3.2.1" 286 | escape-string-regexp "^1.0.5" 287 | supports-color "^5.3.0" 288 | 289 | chardet@^0.4.0: 290 | version "0.4.2" 291 | resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" 292 | integrity sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I= 293 | 294 | circular-json@^0.3.1: 295 | version "0.3.3" 296 | resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" 297 | integrity sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A== 298 | 299 | cli-cursor@^2.1.0: 300 | version "2.1.0" 301 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" 302 | integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= 303 | dependencies: 304 | restore-cursor "^2.0.0" 305 | 306 | cli-width@^2.0.0: 307 | version "2.2.0" 308 | resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" 309 | integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= 310 | 311 | co@^4.6.0: 312 | version "4.6.0" 313 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 314 | integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= 315 | 316 | color-convert@^1.9.0: 317 | version "1.9.3" 318 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 319 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 320 | dependencies: 321 | color-name "1.1.3" 322 | 323 | color-name@1.1.3: 324 | version "1.1.3" 325 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 326 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 327 | 328 | commander@^2.11.0: 329 | version "2.19.0" 330 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" 331 | integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== 332 | 333 | concat-map@0.0.1: 334 | version "0.0.1" 335 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 336 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 337 | 338 | concat-stream@^1.6.0: 339 | version "1.6.2" 340 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" 341 | integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== 342 | dependencies: 343 | buffer-from "^1.0.0" 344 | inherits "^2.0.3" 345 | readable-stream "^2.2.2" 346 | typedarray "^0.0.6" 347 | 348 | contains-path@^0.1.0: 349 | version "0.1.0" 350 | resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" 351 | integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= 352 | 353 | core-util-is@~1.0.0: 354 | version "1.0.2" 355 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 356 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 357 | 358 | cross-spawn@^5.1.0: 359 | version "5.1.0" 360 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" 361 | integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= 362 | dependencies: 363 | lru-cache "^4.0.1" 364 | shebang-command "^1.2.0" 365 | which "^1.2.9" 366 | 367 | damerau-levenshtein@^1.0.4: 368 | version "1.0.4" 369 | resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz#03191c432cb6eea168bb77f3a55ffdccb8978514" 370 | integrity sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ= 371 | 372 | debug@^2.6.8, debug@^2.6.9: 373 | version "2.6.9" 374 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 375 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 376 | dependencies: 377 | ms "2.0.0" 378 | 379 | debug@^3.1.0: 380 | version "3.2.6" 381 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" 382 | integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== 383 | dependencies: 384 | ms "^2.1.1" 385 | 386 | deep-is@~0.1.3: 387 | version "0.1.3" 388 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" 389 | integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= 390 | 391 | define-properties@^1.1.2: 392 | version "1.1.3" 393 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 394 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== 395 | dependencies: 396 | object-keys "^1.0.12" 397 | 398 | doctrine@1.5.0: 399 | version "1.5.0" 400 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" 401 | integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= 402 | dependencies: 403 | esutils "^2.0.2" 404 | isarray "^1.0.0" 405 | 406 | doctrine@^2.1.0: 407 | version "2.1.0" 408 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" 409 | integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== 410 | dependencies: 411 | esutils "^2.0.2" 412 | 413 | emoji-regex@^6.5.1: 414 | version "6.5.1" 415 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.5.1.tgz#9baea929b155565c11ea41c6626eaa65cef992c2" 416 | integrity sha512-PAHp6TxrCy7MGMFidro8uikr+zlJJKJ/Q6mm2ExZ7HwkyR9lSVFfE3kt36qcwa24BQL7y0G9axycGjK1A/0uNQ== 417 | 418 | error-ex@^1.2.0: 419 | version "1.3.2" 420 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 421 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 422 | dependencies: 423 | is-arrayish "^0.2.1" 424 | 425 | es-abstract@^1.7.0: 426 | version "1.12.0" 427 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165" 428 | integrity sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA== 429 | dependencies: 430 | es-to-primitive "^1.1.1" 431 | function-bind "^1.1.1" 432 | has "^1.0.1" 433 | is-callable "^1.1.3" 434 | is-regex "^1.0.4" 435 | 436 | es-to-primitive@^1.1.1: 437 | version "1.2.0" 438 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" 439 | integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== 440 | dependencies: 441 | is-callable "^1.1.4" 442 | is-date-object "^1.0.1" 443 | is-symbol "^1.0.2" 444 | 445 | escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: 446 | version "1.0.5" 447 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 448 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 449 | 450 | eslint-config-airbnb-base@^12.1.0: 451 | version "12.1.0" 452 | resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-12.1.0.tgz#386441e54a12ccd957b0a92564a4bafebd747944" 453 | integrity sha512-/vjm0Px5ZCpmJqnjIzcFb9TKZrKWz0gnuG/7Gfkt0Db1ELJR51xkZth+t14rYdqWgX836XbuxtArbIHlVhbLBA== 454 | dependencies: 455 | eslint-restricted-globals "^0.1.1" 456 | 457 | eslint-config-airbnb@^16.1.0: 458 | version "16.1.0" 459 | resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-16.1.0.tgz#2546bfb02cc9fe92284bf1723ccf2e87bc45ca46" 460 | integrity sha512-zLyOhVWhzB/jwbz7IPSbkUuj7X2ox4PHXTcZkEmDqTvd0baJmJyuxlFPDlZOE/Y5bC+HQRaEkT3FoHo9wIdRiw== 461 | dependencies: 462 | eslint-config-airbnb-base "^12.1.0" 463 | 464 | eslint-import-resolver-node@^0.3.1: 465 | version "0.3.2" 466 | resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a" 467 | integrity sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q== 468 | dependencies: 469 | debug "^2.6.9" 470 | resolve "^1.5.0" 471 | 472 | eslint-module-utils@^2.2.0: 473 | version "2.2.0" 474 | resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz#b270362cd88b1a48ad308976ce7fa54e98411746" 475 | integrity sha1-snA2LNiLGkitMIl2zn+lTphBF0Y= 476 | dependencies: 477 | debug "^2.6.8" 478 | pkg-dir "^1.0.0" 479 | 480 | eslint-plugin-import@^2.8.0: 481 | version "2.14.0" 482 | resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.14.0.tgz#6b17626d2e3e6ad52cfce8807a845d15e22111a8" 483 | integrity sha512-FpuRtniD/AY6sXByma2Wr0TXvXJ4nA/2/04VPlfpmUDPOpOY264x+ILiwnrk/k4RINgDAyFZByxqPUbSQ5YE7g== 484 | dependencies: 485 | contains-path "^0.1.0" 486 | debug "^2.6.8" 487 | doctrine "1.5.0" 488 | eslint-import-resolver-node "^0.3.1" 489 | eslint-module-utils "^2.2.0" 490 | has "^1.0.1" 491 | lodash "^4.17.4" 492 | minimatch "^3.0.3" 493 | read-pkg-up "^2.0.0" 494 | resolve "^1.6.0" 495 | 496 | eslint-plugin-jsx-a11y@^6.0.3: 497 | version "6.1.2" 498 | resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.1.2.tgz#69bca4890b36dcf0fe16dd2129d2d88b98f33f88" 499 | integrity sha512-7gSSmwb3A+fQwtw0arguwMdOdzmKUgnUcbSNlo+GjKLAQFuC2EZxWqG9XHRI8VscBJD5a8raz3RuxQNFW+XJbw== 500 | dependencies: 501 | aria-query "^3.0.0" 502 | array-includes "^3.0.3" 503 | ast-types-flow "^0.0.7" 504 | axobject-query "^2.0.1" 505 | damerau-levenshtein "^1.0.4" 506 | emoji-regex "^6.5.1" 507 | has "^1.0.3" 508 | jsx-ast-utils "^2.0.1" 509 | 510 | eslint-plugin-mocha@^5.0.0: 511 | version "5.2.0" 512 | resolved "https://registry.yarnpkg.com/eslint-plugin-mocha/-/eslint-plugin-mocha-5.2.0.tgz#d8786d9fff8cb8b5f6e4b61e40395d6568a5c4e2" 513 | integrity sha512-4VTX/qIoxUFRnXLNm6bEhEJyfGnGagmQzV4TWXKzkZgIYyP2FSubEdCjEFTyS/dGwSVRWCWGX7jO7BK8R0kppg== 514 | dependencies: 515 | ramda "^0.25.0" 516 | 517 | eslint-plugin-react@^7.5.1: 518 | version "7.11.1" 519 | resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.11.1.tgz#c01a7af6f17519457d6116aa94fc6d2ccad5443c" 520 | integrity sha512-cVVyMadRyW7qsIUh3FHp3u6QHNhOgVrLQYdQEB1bPWBsgbNCHdFAeNMquBMCcZJu59eNthX053L70l7gRt4SCw== 521 | dependencies: 522 | array-includes "^3.0.3" 523 | doctrine "^2.1.0" 524 | has "^1.0.3" 525 | jsx-ast-utils "^2.0.1" 526 | prop-types "^15.6.2" 527 | 528 | eslint-restricted-globals@^0.1.1: 529 | version "0.1.1" 530 | resolved "https://registry.yarnpkg.com/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz#35f0d5cbc64c2e3ed62e93b4b1a7af05ba7ed4d7" 531 | integrity sha1-NfDVy8ZMLj7WLpO0saevBbp+1Nc= 532 | 533 | eslint-scope@3.7.1: 534 | version "3.7.1" 535 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" 536 | integrity sha1-PWPD7f2gLgbgGkUq2IyqzHzctug= 537 | dependencies: 538 | esrecurse "^4.1.0" 539 | estraverse "^4.1.1" 540 | 541 | eslint-scope@^3.7.1: 542 | version "3.7.3" 543 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.3.tgz#bb507200d3d17f60247636160b4826284b108535" 544 | integrity sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA== 545 | dependencies: 546 | esrecurse "^4.1.0" 547 | estraverse "^4.1.1" 548 | 549 | eslint-visitor-keys@^1.0.0: 550 | version "1.0.0" 551 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" 552 | integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== 553 | 554 | eslint@^4.16.0: 555 | version "4.19.1" 556 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.19.1.tgz#32d1d653e1d90408854bfb296f076ec7e186a300" 557 | integrity sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ== 558 | dependencies: 559 | ajv "^5.3.0" 560 | babel-code-frame "^6.22.0" 561 | chalk "^2.1.0" 562 | concat-stream "^1.6.0" 563 | cross-spawn "^5.1.0" 564 | debug "^3.1.0" 565 | doctrine "^2.1.0" 566 | eslint-scope "^3.7.1" 567 | eslint-visitor-keys "^1.0.0" 568 | espree "^3.5.4" 569 | esquery "^1.0.0" 570 | esutils "^2.0.2" 571 | file-entry-cache "^2.0.0" 572 | functional-red-black-tree "^1.0.1" 573 | glob "^7.1.2" 574 | globals "^11.0.1" 575 | ignore "^3.3.3" 576 | imurmurhash "^0.1.4" 577 | inquirer "^3.0.6" 578 | is-resolvable "^1.0.0" 579 | js-yaml "^3.9.1" 580 | json-stable-stringify-without-jsonify "^1.0.1" 581 | levn "^0.3.0" 582 | lodash "^4.17.4" 583 | minimatch "^3.0.2" 584 | mkdirp "^0.5.1" 585 | natural-compare "^1.4.0" 586 | optionator "^0.8.2" 587 | path-is-inside "^1.0.2" 588 | pluralize "^7.0.0" 589 | progress "^2.0.0" 590 | regexpp "^1.0.1" 591 | require-uncached "^1.0.3" 592 | semver "^5.3.0" 593 | strip-ansi "^4.0.0" 594 | strip-json-comments "~2.0.1" 595 | table "4.0.2" 596 | text-table "~0.2.0" 597 | 598 | espree@^3.5.4: 599 | version "3.5.4" 600 | resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7" 601 | integrity sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A== 602 | dependencies: 603 | acorn "^5.5.0" 604 | acorn-jsx "^3.0.0" 605 | 606 | esprima@^4.0.0: 607 | version "4.0.1" 608 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 609 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 610 | 611 | esquery@^1.0.0: 612 | version "1.0.1" 613 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" 614 | integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== 615 | dependencies: 616 | estraverse "^4.0.0" 617 | 618 | esrecurse@^4.1.0: 619 | version "4.2.1" 620 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" 621 | integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== 622 | dependencies: 623 | estraverse "^4.1.0" 624 | 625 | estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: 626 | version "4.2.0" 627 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" 628 | integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= 629 | 630 | esutils@^2.0.2: 631 | version "2.0.2" 632 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 633 | integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= 634 | 635 | external-editor@^2.0.4: 636 | version "2.2.0" 637 | resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" 638 | integrity sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A== 639 | dependencies: 640 | chardet "^0.4.0" 641 | iconv-lite "^0.4.17" 642 | tmp "^0.0.33" 643 | 644 | fast-deep-equal@^1.0.0: 645 | version "1.1.0" 646 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" 647 | integrity sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ= 648 | 649 | fast-json-stable-stringify@^2.0.0: 650 | version "2.0.0" 651 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" 652 | integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= 653 | 654 | fast-levenshtein@~2.0.4: 655 | version "2.0.6" 656 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 657 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 658 | 659 | figures@^2.0.0: 660 | version "2.0.0" 661 | resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" 662 | integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= 663 | dependencies: 664 | escape-string-regexp "^1.0.5" 665 | 666 | file-entry-cache@^2.0.0: 667 | version "2.0.0" 668 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" 669 | integrity sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E= 670 | dependencies: 671 | flat-cache "^1.2.1" 672 | object-assign "^4.0.1" 673 | 674 | find-up@^1.0.0: 675 | version "1.1.2" 676 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" 677 | integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= 678 | dependencies: 679 | path-exists "^2.0.0" 680 | pinkie-promise "^2.0.0" 681 | 682 | find-up@^2.0.0: 683 | version "2.1.0" 684 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" 685 | integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= 686 | dependencies: 687 | locate-path "^2.0.0" 688 | 689 | flat-cache@^1.2.1: 690 | version "1.3.4" 691 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.4.tgz#2c2ef77525cc2929007dfffa1dd314aa9c9dee6f" 692 | integrity sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg== 693 | dependencies: 694 | circular-json "^0.3.1" 695 | graceful-fs "^4.1.2" 696 | rimraf "~2.6.2" 697 | write "^0.2.1" 698 | 699 | fs.realpath@^1.0.0: 700 | version "1.0.0" 701 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 702 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 703 | 704 | function-bind@^1.1.1: 705 | version "1.1.1" 706 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 707 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 708 | 709 | functional-red-black-tree@^1.0.1: 710 | version "1.0.1" 711 | resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" 712 | integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= 713 | 714 | glob@^7.0.5, glob@^7.1.2: 715 | version "7.1.3" 716 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" 717 | integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== 718 | dependencies: 719 | fs.realpath "^1.0.0" 720 | inflight "^1.0.4" 721 | inherits "2" 722 | minimatch "^3.0.4" 723 | once "^1.3.0" 724 | path-is-absolute "^1.0.0" 725 | 726 | globals@^11.0.1, globals@^11.1.0: 727 | version "11.9.0" 728 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.9.0.tgz#bde236808e987f290768a93d065060d78e6ab249" 729 | integrity sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg== 730 | 731 | graceful-fs@^4.1.2: 732 | version "4.1.15" 733 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" 734 | integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== 735 | 736 | has-ansi@^2.0.0: 737 | version "2.0.0" 738 | resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" 739 | integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= 740 | dependencies: 741 | ansi-regex "^2.0.0" 742 | 743 | has-flag@^3.0.0: 744 | version "3.0.0" 745 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 746 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 747 | 748 | has-symbols@^1.0.0: 749 | version "1.0.0" 750 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" 751 | integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= 752 | 753 | has@^1.0.1, has@^1.0.3: 754 | version "1.0.3" 755 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 756 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 757 | dependencies: 758 | function-bind "^1.1.1" 759 | 760 | hey-listen@^1.0.5: 761 | version "1.0.5" 762 | resolved "https://registry.yarnpkg.com/hey-listen/-/hey-listen-1.0.5.tgz#6d0a3a2f60177f65bc4404d571a00025bf5dc20e" 763 | integrity sha512-O2iCNxBBGb4hOxL9tUdnoPwDYmZhQ29t5xKV74BVZNdvwCDXCpVYTJ4yoaibc1V0I8Yw3K3nwmvDpoyjnCqUaw== 764 | 765 | hosted-git-info@^2.1.4: 766 | version "2.7.1" 767 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" 768 | integrity sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w== 769 | 770 | iconv-lite@^0.4.17: 771 | version "0.4.24" 772 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 773 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 774 | dependencies: 775 | safer-buffer ">= 2.1.2 < 3" 776 | 777 | ignore@^3.3.3: 778 | version "3.3.10" 779 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" 780 | integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== 781 | 782 | imurmurhash@^0.1.4: 783 | version "0.1.4" 784 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 785 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 786 | 787 | inflight@^1.0.4: 788 | version "1.0.6" 789 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 790 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 791 | dependencies: 792 | once "^1.3.0" 793 | wrappy "1" 794 | 795 | inherits@2, inherits@^2.0.3, inherits@~2.0.3: 796 | version "2.0.3" 797 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 798 | integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= 799 | 800 | inquirer@^3.0.6: 801 | version "3.3.0" 802 | resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" 803 | integrity sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ== 804 | dependencies: 805 | ansi-escapes "^3.0.0" 806 | chalk "^2.0.0" 807 | cli-cursor "^2.1.0" 808 | cli-width "^2.0.0" 809 | external-editor "^2.0.4" 810 | figures "^2.0.0" 811 | lodash "^4.3.0" 812 | mute-stream "0.0.7" 813 | run-async "^2.2.0" 814 | rx-lite "^4.0.8" 815 | rx-lite-aggregates "^4.0.8" 816 | string-width "^2.1.0" 817 | strip-ansi "^4.0.0" 818 | through "^2.3.6" 819 | 820 | invariant@^2.2.0: 821 | version "2.2.4" 822 | resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" 823 | integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== 824 | dependencies: 825 | loose-envify "^1.0.0" 826 | 827 | is-arrayish@^0.2.1: 828 | version "0.2.1" 829 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 830 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= 831 | 832 | is-builtin-module@^1.0.0: 833 | version "1.0.0" 834 | resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" 835 | integrity sha1-VAVy0096wxGfj3bDDLwbHgN6/74= 836 | dependencies: 837 | builtin-modules "^1.0.0" 838 | 839 | is-callable@^1.1.3, is-callable@^1.1.4: 840 | version "1.1.4" 841 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" 842 | integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== 843 | 844 | is-date-object@^1.0.1: 845 | version "1.0.1" 846 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" 847 | integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= 848 | 849 | is-fullwidth-code-point@^2.0.0: 850 | version "2.0.0" 851 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 852 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= 853 | 854 | is-promise@^2.1.0: 855 | version "2.1.0" 856 | resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" 857 | integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= 858 | 859 | is-regex@^1.0.4: 860 | version "1.0.4" 861 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" 862 | integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= 863 | dependencies: 864 | has "^1.0.1" 865 | 866 | is-resolvable@^1.0.0: 867 | version "1.1.0" 868 | resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" 869 | integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== 870 | 871 | is-symbol@^1.0.2: 872 | version "1.0.2" 873 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" 874 | integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== 875 | dependencies: 876 | has-symbols "^1.0.0" 877 | 878 | isarray@^1.0.0, isarray@~1.0.0: 879 | version "1.0.0" 880 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 881 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 882 | 883 | isexe@^2.0.0: 884 | version "2.0.0" 885 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 886 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 887 | 888 | js-tokens@^3.0.0, js-tokens@^3.0.2: 889 | version "3.0.2" 890 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" 891 | integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= 892 | 893 | "js-tokens@^3.0.0 || ^4.0.0": 894 | version "4.0.0" 895 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 896 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 897 | 898 | js-yaml@^3.9.1: 899 | version "3.12.0" 900 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" 901 | integrity sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A== 902 | dependencies: 903 | argparse "^1.0.7" 904 | esprima "^4.0.0" 905 | 906 | jsesc@^2.5.1: 907 | version "2.5.2" 908 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 909 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 910 | 911 | json-schema-traverse@^0.3.0: 912 | version "0.3.1" 913 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" 914 | integrity sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A= 915 | 916 | json-stable-stringify-without-jsonify@^1.0.1: 917 | version "1.0.1" 918 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 919 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= 920 | 921 | jsx-ast-utils@^2.0.1: 922 | version "2.0.1" 923 | resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz#e801b1b39985e20fffc87b40e3748080e2dcac7f" 924 | integrity sha1-6AGxs5mF4g//yHtA43SAgOLcrH8= 925 | dependencies: 926 | array-includes "^3.0.3" 927 | 928 | levn@^0.3.0, levn@~0.3.0: 929 | version "0.3.0" 930 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" 931 | integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= 932 | dependencies: 933 | prelude-ls "~1.1.2" 934 | type-check "~0.3.2" 935 | 936 | load-json-file@^2.0.0: 937 | version "2.0.0" 938 | resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" 939 | integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= 940 | dependencies: 941 | graceful-fs "^4.1.2" 942 | parse-json "^2.2.0" 943 | pify "^2.0.0" 944 | strip-bom "^3.0.0" 945 | 946 | locate-path@^2.0.0: 947 | version "2.0.0" 948 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" 949 | integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= 950 | dependencies: 951 | p-locate "^2.0.0" 952 | path-exists "^3.0.0" 953 | 954 | lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0: 955 | version "4.17.11" 956 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" 957 | integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== 958 | 959 | loose-envify@^1.0.0, loose-envify@^1.3.1: 960 | version "1.4.0" 961 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 962 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 963 | dependencies: 964 | js-tokens "^3.0.0 || ^4.0.0" 965 | 966 | lru-cache@^4.0.1: 967 | version "4.1.4" 968 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.4.tgz#51cc46e8e6d9530771c857e24ccc720ecdbcc031" 969 | integrity sha512-EPstzZ23znHUVLKj+lcXO1KvZkrlw+ZirdwvOmnAnA/1PB4ggyXJ77LRkCqkff+ShQ+cqoxCxLQOh4cKITO5iA== 970 | dependencies: 971 | pseudomap "^1.0.2" 972 | yallist "^3.0.2" 973 | 974 | mimic-fn@^1.0.0: 975 | version "1.2.0" 976 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" 977 | integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== 978 | 979 | minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: 980 | version "3.0.4" 981 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 982 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 983 | dependencies: 984 | brace-expansion "^1.1.7" 985 | 986 | minimist@0.0.8: 987 | version "0.0.8" 988 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 989 | integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= 990 | 991 | mkdirp@^0.5.1: 992 | version "0.5.1" 993 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 994 | integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= 995 | dependencies: 996 | minimist "0.0.8" 997 | 998 | ms@2.0.0: 999 | version "2.0.0" 1000 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 1001 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 1002 | 1003 | ms@^2.1.1: 1004 | version "2.1.1" 1005 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" 1006 | integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== 1007 | 1008 | mute-stream@0.0.7: 1009 | version "0.0.7" 1010 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" 1011 | integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= 1012 | 1013 | natural-compare@^1.4.0: 1014 | version "1.4.0" 1015 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 1016 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= 1017 | 1018 | normalize-package-data@^2.3.2: 1019 | version "2.4.0" 1020 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" 1021 | integrity sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw== 1022 | dependencies: 1023 | hosted-git-info "^2.1.4" 1024 | is-builtin-module "^1.0.0" 1025 | semver "2 || 3 || 4 || 5" 1026 | validate-npm-package-license "^3.0.1" 1027 | 1028 | object-assign@^4.0.1, object-assign@^4.1.1: 1029 | version "4.1.1" 1030 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1031 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 1032 | 1033 | object-keys@^1.0.12: 1034 | version "1.0.12" 1035 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2" 1036 | integrity sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag== 1037 | 1038 | once@^1.3.0: 1039 | version "1.4.0" 1040 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1041 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 1042 | dependencies: 1043 | wrappy "1" 1044 | 1045 | onetime@^2.0.0: 1046 | version "2.0.1" 1047 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" 1048 | integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= 1049 | dependencies: 1050 | mimic-fn "^1.0.0" 1051 | 1052 | optionator@^0.8.2: 1053 | version "0.8.2" 1054 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" 1055 | integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= 1056 | dependencies: 1057 | deep-is "~0.1.3" 1058 | fast-levenshtein "~2.0.4" 1059 | levn "~0.3.0" 1060 | prelude-ls "~1.1.2" 1061 | type-check "~0.3.2" 1062 | wordwrap "~1.0.0" 1063 | 1064 | os-tmpdir@~1.0.2: 1065 | version "1.0.2" 1066 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 1067 | integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= 1068 | 1069 | p-limit@^1.1.0: 1070 | version "1.3.0" 1071 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" 1072 | integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== 1073 | dependencies: 1074 | p-try "^1.0.0" 1075 | 1076 | p-locate@^2.0.0: 1077 | version "2.0.0" 1078 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" 1079 | integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= 1080 | dependencies: 1081 | p-limit "^1.1.0" 1082 | 1083 | p-try@^1.0.0: 1084 | version "1.0.0" 1085 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" 1086 | integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= 1087 | 1088 | parse-json@^2.2.0: 1089 | version "2.2.0" 1090 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" 1091 | integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= 1092 | dependencies: 1093 | error-ex "^1.2.0" 1094 | 1095 | path-exists@^2.0.0: 1096 | version "2.1.0" 1097 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" 1098 | integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= 1099 | dependencies: 1100 | pinkie-promise "^2.0.0" 1101 | 1102 | path-exists@^3.0.0: 1103 | version "3.0.0" 1104 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 1105 | integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= 1106 | 1107 | path-is-absolute@^1.0.0: 1108 | version "1.0.1" 1109 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1110 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 1111 | 1112 | path-is-inside@^1.0.2: 1113 | version "1.0.2" 1114 | resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" 1115 | integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= 1116 | 1117 | path-parse@^1.0.5: 1118 | version "1.0.6" 1119 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" 1120 | integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== 1121 | 1122 | path-type@^2.0.0: 1123 | version "2.0.0" 1124 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" 1125 | integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= 1126 | dependencies: 1127 | pify "^2.0.0" 1128 | 1129 | pify@^2.0.0: 1130 | version "2.3.0" 1131 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 1132 | integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= 1133 | 1134 | pinkie-promise@^2.0.0: 1135 | version "2.0.1" 1136 | resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" 1137 | integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= 1138 | dependencies: 1139 | pinkie "^2.0.0" 1140 | 1141 | pinkie@^2.0.0: 1142 | version "2.0.4" 1143 | resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" 1144 | integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= 1145 | 1146 | pkg-dir@^1.0.0: 1147 | version "1.0.0" 1148 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" 1149 | integrity sha1-ektQio1bstYp1EcFb/TpyTFM89Q= 1150 | dependencies: 1151 | find-up "^1.0.0" 1152 | 1153 | pluralize@^7.0.0: 1154 | version "7.0.0" 1155 | resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" 1156 | integrity sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow== 1157 | 1158 | pose-core@^2.0.0: 1159 | version "2.0.0" 1160 | resolved "https://registry.yarnpkg.com/pose-core/-/pose-core-2.0.0.tgz#1a1497a18a25ed2556d92dd728e909e96df6d67e" 1161 | integrity sha512-RJcDqYADmuXKQ+uP59oh+EIeRhsuAkKLeVrT25ak57q8TXkEKh8pjL99AHNQLktLUI97erpdNnOp+McK3d/CUQ== 1162 | dependencies: 1163 | "@types/invariant" "^2.2.29" 1164 | "@types/node" "^10.0.5" 1165 | hey-listen "^1.0.5" 1166 | tslib "^1.9.1" 1167 | 1168 | prelude-ls@~1.1.2: 1169 | version "1.1.2" 1170 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" 1171 | integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= 1172 | 1173 | process-nextick-args@~2.0.0: 1174 | version "2.0.0" 1175 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" 1176 | integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw== 1177 | 1178 | progress@^2.0.0: 1179 | version "2.0.1" 1180 | resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.1.tgz#c9242169342b1c29d275889c95734621b1952e31" 1181 | integrity sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg== 1182 | 1183 | prop-types@^15.5.10, prop-types@^15.6.2: 1184 | version "15.6.2" 1185 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.2.tgz#05d5ca77b4453e985d60fc7ff8c859094a497102" 1186 | integrity sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ== 1187 | dependencies: 1188 | loose-envify "^1.3.1" 1189 | object-assign "^4.1.1" 1190 | 1191 | pseudomap@^1.0.2: 1192 | version "1.0.2" 1193 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 1194 | integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= 1195 | 1196 | ramda@^0.25.0: 1197 | version "0.25.0" 1198 | resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.25.0.tgz#8fdf68231cffa90bc2f9460390a0cb74a29b29a9" 1199 | integrity sha512-GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ== 1200 | 1201 | react-native-animatable@^1.3.0: 1202 | version "1.3.0" 1203 | resolved "https://registry.yarnpkg.com/react-native-animatable/-/react-native-animatable-1.3.0.tgz#b5c3940fc758cfd9b2fe54613a457c4b6962b46e" 1204 | integrity sha512-GGYEYvderfzPZcPnw7xov4nlRmi9d6oqcIzx0fGkUUsMshOQEtq5IEzFp3np0uTB9n8/gZIZcdbUPggVlVydMg== 1205 | dependencies: 1206 | prop-types "^15.5.10" 1207 | 1208 | react-native-pose@^0.9.0: 1209 | version "0.9.0" 1210 | resolved "https://registry.yarnpkg.com/react-native-pose/-/react-native-pose-0.9.0.tgz#890be7da8853c89e22ee078922375ab8a04590c4" 1211 | integrity sha512-zpWf/p44W7+oJD1+Ku9wb21DCtTSmuBfLut6GBi/L3Ik1kYrEgC91Yg211/jqnhpp5PaI+kqP/GvBqhPJgtKFQ== 1212 | dependencies: 1213 | animated-pose "^1.2.0" 1214 | react-pose-core "^0.5.0" 1215 | 1216 | react-pose-core@^0.5.0: 1217 | version "0.5.0" 1218 | resolved "https://registry.yarnpkg.com/react-pose-core/-/react-pose-core-0.5.0.tgz#1f362cae5eb6331f430cde75c662879017681da3" 1219 | integrity sha512-vzpeO0G47gDBxTQ2DZMKIbbz3BdEPT6dr3LoaxyZQWaPMBqYNY2hdi0cRLqqy5EWmvqorLY/vl/q3arNGBmUeg== 1220 | dependencies: 1221 | animated-pose "^1.0.0" 1222 | hey-listen "^1.0.5" 1223 | 1224 | read-pkg-up@^2.0.0: 1225 | version "2.0.0" 1226 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" 1227 | integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= 1228 | dependencies: 1229 | find-up "^2.0.0" 1230 | read-pkg "^2.0.0" 1231 | 1232 | read-pkg@^2.0.0: 1233 | version "2.0.0" 1234 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" 1235 | integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= 1236 | dependencies: 1237 | load-json-file "^2.0.0" 1238 | normalize-package-data "^2.3.2" 1239 | path-type "^2.0.0" 1240 | 1241 | readable-stream@^2.2.2: 1242 | version "2.3.6" 1243 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" 1244 | integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== 1245 | dependencies: 1246 | core-util-is "~1.0.0" 1247 | inherits "~2.0.3" 1248 | isarray "~1.0.0" 1249 | process-nextick-args "~2.0.0" 1250 | safe-buffer "~5.1.1" 1251 | string_decoder "~1.1.1" 1252 | util-deprecate "~1.0.1" 1253 | 1254 | regexpp@^1.0.1: 1255 | version "1.1.0" 1256 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-1.1.0.tgz#0e3516dd0b7904f413d2d4193dce4618c3a689ab" 1257 | integrity sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw== 1258 | 1259 | require-uncached@^1.0.3: 1260 | version "1.0.3" 1261 | resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" 1262 | integrity sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM= 1263 | dependencies: 1264 | caller-path "^0.1.0" 1265 | resolve-from "^1.0.0" 1266 | 1267 | resolve-from@^1.0.0: 1268 | version "1.0.1" 1269 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" 1270 | integrity sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY= 1271 | 1272 | resolve@^1.5.0, resolve@^1.6.0: 1273 | version "1.8.1" 1274 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" 1275 | integrity sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA== 1276 | dependencies: 1277 | path-parse "^1.0.5" 1278 | 1279 | restore-cursor@^2.0.0: 1280 | version "2.0.0" 1281 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" 1282 | integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= 1283 | dependencies: 1284 | onetime "^2.0.0" 1285 | signal-exit "^3.0.2" 1286 | 1287 | rimraf@~2.6.2: 1288 | version "2.6.2" 1289 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" 1290 | integrity sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w== 1291 | dependencies: 1292 | glob "^7.0.5" 1293 | 1294 | run-async@^2.2.0: 1295 | version "2.3.0" 1296 | resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" 1297 | integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA= 1298 | dependencies: 1299 | is-promise "^2.1.0" 1300 | 1301 | rx-lite-aggregates@^4.0.8: 1302 | version "4.0.8" 1303 | resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" 1304 | integrity sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74= 1305 | dependencies: 1306 | rx-lite "*" 1307 | 1308 | rx-lite@*, rx-lite@^4.0.8: 1309 | version "4.0.8" 1310 | resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" 1311 | integrity sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ= 1312 | 1313 | safe-buffer@~5.1.0, safe-buffer@~5.1.1: 1314 | version "5.1.2" 1315 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 1316 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 1317 | 1318 | "safer-buffer@>= 2.1.2 < 3": 1319 | version "2.1.2" 1320 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 1321 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 1322 | 1323 | "semver@2 || 3 || 4 || 5", semver@^5.3.0: 1324 | version "5.6.0" 1325 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" 1326 | integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== 1327 | 1328 | shebang-command@^1.2.0: 1329 | version "1.2.0" 1330 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 1331 | integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= 1332 | dependencies: 1333 | shebang-regex "^1.0.0" 1334 | 1335 | shebang-regex@^1.0.0: 1336 | version "1.0.0" 1337 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 1338 | integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= 1339 | 1340 | signal-exit@^3.0.2: 1341 | version "3.0.2" 1342 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 1343 | integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= 1344 | 1345 | slice-ansi@1.0.0: 1346 | version "1.0.0" 1347 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" 1348 | integrity sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg== 1349 | dependencies: 1350 | is-fullwidth-code-point "^2.0.0" 1351 | 1352 | source-map@^0.5.0: 1353 | version "0.5.7" 1354 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 1355 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= 1356 | 1357 | spdx-correct@^3.0.0: 1358 | version "3.0.2" 1359 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.2.tgz#19bb409e91b47b1ad54159243f7312a858db3c2e" 1360 | integrity sha512-q9hedtzyXHr5S0A1vEPoK/7l8NpfkFYTq6iCY+Pno2ZbdZR6WexZFtqeVGkGxW3TEJMN914Z55EnAGMmenlIQQ== 1361 | dependencies: 1362 | spdx-expression-parse "^3.0.0" 1363 | spdx-license-ids "^3.0.0" 1364 | 1365 | spdx-exceptions@^2.1.0: 1366 | version "2.2.0" 1367 | resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" 1368 | integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== 1369 | 1370 | spdx-expression-parse@^3.0.0: 1371 | version "3.0.0" 1372 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" 1373 | integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== 1374 | dependencies: 1375 | spdx-exceptions "^2.1.0" 1376 | spdx-license-ids "^3.0.0" 1377 | 1378 | spdx-license-ids@^3.0.0: 1379 | version "3.0.2" 1380 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.2.tgz#a59efc09784c2a5bada13cfeaf5c75dd214044d2" 1381 | integrity sha512-qky9CVt0lVIECkEsYbNILVnPvycuEBkXoMFLRWsREkomQLevYhtRKC+R91a5TOAQ3bCMjikRwhyaRqj1VYatYg== 1382 | 1383 | sprintf-js@~1.0.2: 1384 | version "1.0.3" 1385 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 1386 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 1387 | 1388 | string-width@^2.1.0, string-width@^2.1.1: 1389 | version "2.1.1" 1390 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 1391 | integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== 1392 | dependencies: 1393 | is-fullwidth-code-point "^2.0.0" 1394 | strip-ansi "^4.0.0" 1395 | 1396 | string_decoder@~1.1.1: 1397 | version "1.1.1" 1398 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 1399 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 1400 | dependencies: 1401 | safe-buffer "~5.1.0" 1402 | 1403 | strip-ansi@^3.0.0: 1404 | version "3.0.1" 1405 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 1406 | integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= 1407 | dependencies: 1408 | ansi-regex "^2.0.0" 1409 | 1410 | strip-ansi@^4.0.0: 1411 | version "4.0.0" 1412 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 1413 | integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= 1414 | dependencies: 1415 | ansi-regex "^3.0.0" 1416 | 1417 | strip-bom@^3.0.0: 1418 | version "3.0.0" 1419 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 1420 | integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= 1421 | 1422 | strip-json-comments@~2.0.1: 1423 | version "2.0.1" 1424 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 1425 | integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= 1426 | 1427 | supports-color@^2.0.0: 1428 | version "2.0.0" 1429 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" 1430 | integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= 1431 | 1432 | supports-color@^5.3.0: 1433 | version "5.5.0" 1434 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1435 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1436 | dependencies: 1437 | has-flag "^3.0.0" 1438 | 1439 | table@4.0.2: 1440 | version "4.0.2" 1441 | resolved "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36" 1442 | integrity sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA== 1443 | dependencies: 1444 | ajv "^5.2.3" 1445 | ajv-keywords "^2.1.0" 1446 | chalk "^2.1.0" 1447 | lodash "^4.17.4" 1448 | slice-ansi "1.0.0" 1449 | string-width "^2.1.1" 1450 | 1451 | text-table@~0.2.0: 1452 | version "0.2.0" 1453 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 1454 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= 1455 | 1456 | through@^2.3.6: 1457 | version "2.3.8" 1458 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 1459 | integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= 1460 | 1461 | tmp@^0.0.33: 1462 | version "0.0.33" 1463 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" 1464 | integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== 1465 | dependencies: 1466 | os-tmpdir "~1.0.2" 1467 | 1468 | to-fast-properties@^2.0.0: 1469 | version "2.0.0" 1470 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 1471 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= 1472 | 1473 | trim-right@^1.0.1: 1474 | version "1.0.1" 1475 | resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" 1476 | integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= 1477 | 1478 | tslib@^1.9.1: 1479 | version "1.9.3" 1480 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" 1481 | integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== 1482 | 1483 | type-check@~0.3.2: 1484 | version "0.3.2" 1485 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" 1486 | integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= 1487 | dependencies: 1488 | prelude-ls "~1.1.2" 1489 | 1490 | typedarray@^0.0.6: 1491 | version "0.0.6" 1492 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" 1493 | integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= 1494 | 1495 | util-deprecate@~1.0.1: 1496 | version "1.0.2" 1497 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 1498 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 1499 | 1500 | validate-npm-package-license@^3.0.1: 1501 | version "3.0.4" 1502 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" 1503 | integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== 1504 | dependencies: 1505 | spdx-correct "^3.0.0" 1506 | spdx-expression-parse "^3.0.0" 1507 | 1508 | which@^1.2.9: 1509 | version "1.3.1" 1510 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 1511 | integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== 1512 | dependencies: 1513 | isexe "^2.0.0" 1514 | 1515 | wordwrap@~1.0.0: 1516 | version "1.0.0" 1517 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" 1518 | integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= 1519 | 1520 | wrappy@1: 1521 | version "1.0.2" 1522 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1523 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 1524 | 1525 | write@^0.2.1: 1526 | version "0.2.1" 1527 | resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" 1528 | integrity sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c= 1529 | dependencies: 1530 | mkdirp "^0.5.1" 1531 | 1532 | yallist@^3.0.2: 1533 | version "3.0.2" 1534 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9" 1535 | integrity sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k= 1536 | --------------------------------------------------------------------------------