├── AwesomeProject ├── .flowconfig ├── .gitignore ├── .npmignore ├── AwesomeProject.xcodeproj │ ├── project.pbxproj │ └── xcshareddata │ │ └── xcschemes │ │ └── AwesomeProject.xcscheme ├── AwesomeProject.xcworkspace │ └── contents.xcworkspacedata ├── AwesomeProjectTests │ ├── AwesomeProjectTests.m │ └── Info.plist ├── ClojureScript │ └── awesome-project │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── doc │ │ └── intro.md │ │ ├── project.clj │ │ ├── script │ │ └── repl │ │ ├── src │ │ ├── awesome_project │ │ │ └── core.cljs │ │ └── cljsjs │ │ │ └── react.cljs │ │ └── test │ │ └── awesome_project │ │ └── core_test.clj ├── Podfile ├── Podfile.lock ├── iOS │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Base.lproj │ │ └── LaunchScreen.xib │ ├── Images.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── Info.plist │ ├── main.jsbundle │ └── main.m ├── index.ios.js ├── npm-shrinkwrap.json └── package.json ├── LICENSE └── README.md /AwesomeProject/.flowconfig: -------------------------------------------------------------------------------- 1 | [ignore] 2 | 3 | # We fork some components by platform. 4 | .*/*.web.js 5 | .*/*.android.js 6 | 7 | # Some modules have their own node_modules with overlap 8 | .*/node_modules/node-haste/.* 9 | 10 | # Ignore react-tools where there are overlaps, but don't ignore anything that 11 | # react-native relies on 12 | .*/node_modules/react-tools/src/vendor/core/ExecutionEnvironment.js 13 | .*/node_modules/react-tools/src/browser/eventPlugins/ResponderEventPlugin.js 14 | .*/node_modules/react-tools/src/browser/ui/React.js 15 | .*/node_modules/react-tools/src/core/ReactInstanceHandles.js 16 | .*/node_modules/react-tools/src/event/EventPropagators.js 17 | 18 | # Ignore commoner tests 19 | .*/node_modules/commoner/test/.* 20 | 21 | # See https://github.com/facebook/flow/issues/442 22 | .*/react-tools/node_modules/commoner/lib/reader.js 23 | 24 | # Ignore jest 25 | .*/react-native/node_modules/jest-cli/.* 26 | 27 | [include] 28 | 29 | [libs] 30 | node_modules/react-native/Libraries/react-native/react-native-interface.js 31 | 32 | [options] 33 | module.system=haste 34 | 35 | [version] 36 | 0.12.0 37 | -------------------------------------------------------------------------------- /AwesomeProject/.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 | # node.js 26 | # 27 | node_modules/ 28 | npm-debug.log 29 | 30 | # CocoaPods 31 | # 32 | Pods/ 33 | -------------------------------------------------------------------------------- /AwesomeProject/.npmignore: -------------------------------------------------------------------------------- 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 | 24 | # node.js 25 | # 26 | node_modules/ 27 | npm-debug.log 28 | -------------------------------------------------------------------------------- /AwesomeProject/AwesomeProject.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 008F07F31AC5B25A0029DE68 /* main.jsbundle in Resources */ = {isa = PBXBuildFile; fileRef = 008F07F21AC5B25A0029DE68 /* main.jsbundle */; }; 11 | 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */; }; 12 | 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */; }; 13 | 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */; }; 14 | 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */; }; 15 | 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */; }; 16 | 00E356F31AD99517003FC87E /* AwesomeProjectTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 00E356F21AD99517003FC87E /* AwesomeProjectTests.m */; }; 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 | 146834051AC3E58100842450 /* libReact.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 146834041AC3E56700842450 /* libReact.a */; }; 25 | 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 832341B51AAA6A8300B99B32 /* libRCTText.a */; }; 26 | D0719716293923D6D755968C /* libPods.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C0358BCBC31469552088B3A5 /* libPods.a */; }; 27 | ED9567761B5D8C42002FA0C1 /* out in Resources */ = {isa = PBXBuildFile; fileRef = ED9567751B5D8C41002FA0C1 /* out */; }; 28 | /* End PBXBuildFile section */ 29 | 30 | /* Begin PBXContainerItemProxy section */ 31 | 00C302AB1ABCB8CE00DB3ED1 /* PBXContainerItemProxy */ = { 32 | isa = PBXContainerItemProxy; 33 | containerPortal = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */; 34 | proxyType = 2; 35 | remoteGlobalIDString = 134814201AA4EA6300B7C361; 36 | remoteInfo = RCTActionSheet; 37 | }; 38 | 00C302B91ABCB90400DB3ED1 /* PBXContainerItemProxy */ = { 39 | isa = PBXContainerItemProxy; 40 | containerPortal = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */; 41 | proxyType = 2; 42 | remoteGlobalIDString = 134814201AA4EA6300B7C361; 43 | remoteInfo = RCTGeolocation; 44 | }; 45 | 00C302BF1ABCB91800DB3ED1 /* PBXContainerItemProxy */ = { 46 | isa = PBXContainerItemProxy; 47 | containerPortal = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; 48 | proxyType = 2; 49 | remoteGlobalIDString = 58B5115D1A9E6B3D00147676; 50 | remoteInfo = RCTImage; 51 | }; 52 | 00C302DB1ABCB9D200DB3ED1 /* PBXContainerItemProxy */ = { 53 | isa = PBXContainerItemProxy; 54 | containerPortal = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; 55 | proxyType = 2; 56 | remoteGlobalIDString = 58B511DB1A9E6C8500147676; 57 | remoteInfo = RCTNetwork; 58 | }; 59 | 00C302E31ABCB9EE00DB3ED1 /* PBXContainerItemProxy */ = { 60 | isa = PBXContainerItemProxy; 61 | containerPortal = 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */; 62 | proxyType = 2; 63 | remoteGlobalIDString = 832C81801AAF6DEF007FA2F7; 64 | remoteInfo = RCTVibration; 65 | }; 66 | 00E356F41AD99517003FC87E /* PBXContainerItemProxy */ = { 67 | isa = PBXContainerItemProxy; 68 | containerPortal = 83CBB9F71A601CBA00E9B192 /* Project object */; 69 | proxyType = 1; 70 | remoteGlobalIDString = 13B07F861A680F5B00A75B9A; 71 | remoteInfo = AwesomeProject; 72 | }; 73 | 139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */ = { 74 | isa = PBXContainerItemProxy; 75 | containerPortal = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; 76 | proxyType = 2; 77 | remoteGlobalIDString = 134814201AA4EA6300B7C361; 78 | remoteInfo = RCTSettings; 79 | }; 80 | 139FDEF31B06529B00C62182 /* PBXContainerItemProxy */ = { 81 | isa = PBXContainerItemProxy; 82 | containerPortal = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; 83 | proxyType = 2; 84 | remoteGlobalIDString = 3C86DF461ADF2C930047B81A; 85 | remoteInfo = RCTWebSocket; 86 | }; 87 | 146834031AC3E56700842450 /* PBXContainerItemProxy */ = { 88 | isa = PBXContainerItemProxy; 89 | containerPortal = 146833FF1AC3E56700842450 /* React.xcodeproj */; 90 | proxyType = 2; 91 | remoteGlobalIDString = 83CBBA2E1A601D0E00E9B192; 92 | remoteInfo = React; 93 | }; 94 | 78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */ = { 95 | isa = PBXContainerItemProxy; 96 | containerPortal = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; 97 | proxyType = 2; 98 | remoteGlobalIDString = 134814201AA4EA6300B7C361; 99 | remoteInfo = RCTLinking; 100 | }; 101 | 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */ = { 102 | isa = PBXContainerItemProxy; 103 | containerPortal = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; 104 | proxyType = 2; 105 | remoteGlobalIDString = 58B5119B1A9E6C1200147676; 106 | remoteInfo = RCTText; 107 | }; 108 | /* End PBXContainerItemProxy section */ 109 | 110 | /* Begin PBXFileReference section */ 111 | 008F07F21AC5B25A0029DE68 /* main.jsbundle */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = main.jsbundle; path = iOS/main.jsbundle; sourceTree = ""; }; 112 | 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTActionSheet.xcodeproj; path = "node_modules/react-native/Libraries/ActionSheetIOS/RCTActionSheet.xcodeproj"; sourceTree = ""; }; 113 | 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTGeolocation.xcodeproj; path = "node_modules/react-native/Libraries/Geolocation/RCTGeolocation.xcodeproj"; sourceTree = ""; }; 114 | 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTImage.xcodeproj; path = "node_modules/react-native/Libraries/Image/RCTImage.xcodeproj"; sourceTree = ""; }; 115 | 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTNetwork.xcodeproj; path = "node_modules/react-native/Libraries/Network/RCTNetwork.xcodeproj"; sourceTree = ""; }; 116 | 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTVibration.xcodeproj; path = "node_modules/react-native/Libraries/Vibration/RCTVibration.xcodeproj"; sourceTree = ""; }; 117 | 00E356EE1AD99517003FC87E /* AwesomeProjectTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AwesomeProjectTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 118 | 00E356F11AD99517003FC87E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 119 | 00E356F21AD99517003FC87E /* AwesomeProjectTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AwesomeProjectTests.m; sourceTree = ""; }; 120 | 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTSettings.xcodeproj; path = "node_modules/react-native/Libraries/Settings/RCTSettings.xcodeproj"; sourceTree = ""; }; 121 | 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTWebSocket.xcodeproj; path = "node_modules/react-native/Libraries/WebSocket/RCTWebSocket.xcodeproj"; sourceTree = ""; }; 122 | 13B07F961A680F5B00A75B9A /* AwesomeProject.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AwesomeProject.app; sourceTree = BUILT_PRODUCTS_DIR; }; 123 | 13B07FAF1A68108700A75B9A /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = iOS/AppDelegate.h; sourceTree = ""; }; 124 | 13B07FB01A68108700A75B9A /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AppDelegate.m; path = iOS/AppDelegate.m; sourceTree = ""; }; 125 | 13B07FB21A68108700A75B9A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; 126 | 13B07FB51A68108700A75B9A /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = iOS/Images.xcassets; sourceTree = ""; }; 127 | 13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = iOS/Info.plist; sourceTree = ""; }; 128 | 13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = iOS/main.m; sourceTree = ""; }; 129 | 146833FF1AC3E56700842450 /* React.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = React.xcodeproj; path = "node_modules/react-native/React/React.xcodeproj"; sourceTree = ""; }; 130 | 51DDD917F52222548A4E788D /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.release.xcconfig; path = "Pods/Target Support Files/Pods/Pods.release.xcconfig"; sourceTree = ""; }; 131 | 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTLinking.xcodeproj; path = "node_modules/react-native/Libraries/LinkingIOS/RCTLinking.xcodeproj"; sourceTree = ""; }; 132 | 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RCTText.xcodeproj; path = "node_modules/react-native/Libraries/Text/RCTText.xcodeproj"; sourceTree = ""; }; 133 | C0358BCBC31469552088B3A5 /* libPods.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libPods.a; sourceTree = BUILT_PRODUCTS_DIR; }; 134 | C3A0FC8B629AE1DAEE6A33BD /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.debug.xcconfig; path = "Pods/Target Support Files/Pods/Pods.debug.xcconfig"; sourceTree = ""; }; 135 | ED9567751B5D8C41002FA0C1 /* out */ = {isa = PBXFileReference; lastKnownFileType = folder; name = out; path = "ClojureScript/awesome-project/target/out"; sourceTree = ""; }; 136 | /* End PBXFileReference section */ 137 | 138 | /* Begin PBXFrameworksBuildPhase section */ 139 | 00E356EB1AD99517003FC87E /* Frameworks */ = { 140 | isa = PBXFrameworksBuildPhase; 141 | buildActionMask = 2147483647; 142 | files = ( 143 | ); 144 | runOnlyForDeploymentPostprocessing = 0; 145 | }; 146 | 13B07F8C1A680F5B00A75B9A /* Frameworks */ = { 147 | isa = PBXFrameworksBuildPhase; 148 | buildActionMask = 2147483647; 149 | files = ( 150 | 146834051AC3E58100842450 /* libReact.a in Frameworks */, 151 | 00C302E51ABCBA2D00DB3ED1 /* libRCTActionSheet.a in Frameworks */, 152 | 00C302E71ABCBA2D00DB3ED1 /* libRCTGeolocation.a in Frameworks */, 153 | 00C302E81ABCBA2D00DB3ED1 /* libRCTImage.a in Frameworks */, 154 | 133E29F31AD74F7200F7D852 /* libRCTLinking.a in Frameworks */, 155 | 00C302E91ABCBA2D00DB3ED1 /* libRCTNetwork.a in Frameworks */, 156 | 139105C61AF99C1200B5F7CC /* libRCTSettings.a in Frameworks */, 157 | 832341BD1AAA6AB300B99B32 /* libRCTText.a in Frameworks */, 158 | 00C302EA1ABCBA2D00DB3ED1 /* libRCTVibration.a in Frameworks */, 159 | 139FDEF61B0652A700C62182 /* libRCTWebSocket.a in Frameworks */, 160 | D0719716293923D6D755968C /* libPods.a in Frameworks */, 161 | ); 162 | runOnlyForDeploymentPostprocessing = 0; 163 | }; 164 | /* End PBXFrameworksBuildPhase section */ 165 | 166 | /* Begin PBXGroup section */ 167 | 00C302A81ABCB8CE00DB3ED1 /* Products */ = { 168 | isa = PBXGroup; 169 | children = ( 170 | 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */, 171 | ); 172 | name = Products; 173 | sourceTree = ""; 174 | }; 175 | 00C302B61ABCB90400DB3ED1 /* Products */ = { 176 | isa = PBXGroup; 177 | children = ( 178 | 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */, 179 | ); 180 | name = Products; 181 | sourceTree = ""; 182 | }; 183 | 00C302BC1ABCB91800DB3ED1 /* Products */ = { 184 | isa = PBXGroup; 185 | children = ( 186 | 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */, 187 | ); 188 | name = Products; 189 | sourceTree = ""; 190 | }; 191 | 00C302D41ABCB9D200DB3ED1 /* Products */ = { 192 | isa = PBXGroup; 193 | children = ( 194 | 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */, 195 | ); 196 | name = Products; 197 | sourceTree = ""; 198 | }; 199 | 00C302E01ABCB9EE00DB3ED1 /* Products */ = { 200 | isa = PBXGroup; 201 | children = ( 202 | 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */, 203 | ); 204 | name = Products; 205 | sourceTree = ""; 206 | }; 207 | 00E356EF1AD99517003FC87E /* AwesomeProjectTests */ = { 208 | isa = PBXGroup; 209 | children = ( 210 | 00E356F21AD99517003FC87E /* AwesomeProjectTests.m */, 211 | 00E356F01AD99517003FC87E /* Supporting Files */, 212 | ); 213 | path = AwesomeProjectTests; 214 | sourceTree = ""; 215 | }; 216 | 00E356F01AD99517003FC87E /* Supporting Files */ = { 217 | isa = PBXGroup; 218 | children = ( 219 | 00E356F11AD99517003FC87E /* Info.plist */, 220 | ); 221 | name = "Supporting Files"; 222 | sourceTree = ""; 223 | }; 224 | 139105B71AF99BAD00B5F7CC /* Products */ = { 225 | isa = PBXGroup; 226 | children = ( 227 | 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */, 228 | ); 229 | name = Products; 230 | sourceTree = ""; 231 | }; 232 | 139FDEE71B06529A00C62182 /* Products */ = { 233 | isa = PBXGroup; 234 | children = ( 235 | 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */, 236 | ); 237 | name = Products; 238 | sourceTree = ""; 239 | }; 240 | 13B07FAE1A68108700A75B9A /* AwesomeProject */ = { 241 | isa = PBXGroup; 242 | children = ( 243 | ED9567751B5D8C41002FA0C1 /* out */, 244 | 008F07F21AC5B25A0029DE68 /* main.jsbundle */, 245 | 13B07FAF1A68108700A75B9A /* AppDelegate.h */, 246 | 13B07FB01A68108700A75B9A /* AppDelegate.m */, 247 | 13B07FB51A68108700A75B9A /* Images.xcassets */, 248 | 13B07FB61A68108700A75B9A /* Info.plist */, 249 | 13B07FB11A68108700A75B9A /* LaunchScreen.xib */, 250 | 13B07FB71A68108700A75B9A /* main.m */, 251 | ); 252 | name = AwesomeProject; 253 | sourceTree = ""; 254 | }; 255 | 146834001AC3E56700842450 /* Products */ = { 256 | isa = PBXGroup; 257 | children = ( 258 | 146834041AC3E56700842450 /* libReact.a */, 259 | ); 260 | name = Products; 261 | sourceTree = ""; 262 | }; 263 | 5D640982F38C69F79C52F761 /* Pods */ = { 264 | isa = PBXGroup; 265 | children = ( 266 | C3A0FC8B629AE1DAEE6A33BD /* Pods.debug.xcconfig */, 267 | 51DDD917F52222548A4E788D /* Pods.release.xcconfig */, 268 | ); 269 | name = Pods; 270 | sourceTree = ""; 271 | }; 272 | 78C398B11ACF4ADC00677621 /* Products */ = { 273 | isa = PBXGroup; 274 | children = ( 275 | 78C398B91ACF4ADC00677621 /* libRCTLinking.a */, 276 | ); 277 | name = Products; 278 | sourceTree = ""; 279 | }; 280 | 832341AE1AAA6A7D00B99B32 /* Libraries */ = { 281 | isa = PBXGroup; 282 | children = ( 283 | 146833FF1AC3E56700842450 /* React.xcodeproj */, 284 | 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */, 285 | 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */, 286 | 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */, 287 | 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */, 288 | 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */, 289 | 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */, 290 | 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */, 291 | 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */, 292 | 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */, 293 | ); 294 | name = Libraries; 295 | sourceTree = ""; 296 | }; 297 | 832341B11AAA6A8300B99B32 /* Products */ = { 298 | isa = PBXGroup; 299 | children = ( 300 | 832341B51AAA6A8300B99B32 /* libRCTText.a */, 301 | ); 302 | name = Products; 303 | sourceTree = ""; 304 | }; 305 | 83CBB9F61A601CBA00E9B192 = { 306 | isa = PBXGroup; 307 | children = ( 308 | 13B07FAE1A68108700A75B9A /* AwesomeProject */, 309 | 832341AE1AAA6A7D00B99B32 /* Libraries */, 310 | 00E356EF1AD99517003FC87E /* AwesomeProjectTests */, 311 | 83CBBA001A601CBA00E9B192 /* Products */, 312 | 5D640982F38C69F79C52F761 /* Pods */, 313 | E74CAF82CC6FA2FFC91D865F /* Frameworks */, 314 | ); 315 | indentWidth = 2; 316 | sourceTree = ""; 317 | tabWidth = 2; 318 | }; 319 | 83CBBA001A601CBA00E9B192 /* Products */ = { 320 | isa = PBXGroup; 321 | children = ( 322 | 13B07F961A680F5B00A75B9A /* AwesomeProject.app */, 323 | 00E356EE1AD99517003FC87E /* AwesomeProjectTests.xctest */, 324 | ); 325 | name = Products; 326 | sourceTree = ""; 327 | }; 328 | E74CAF82CC6FA2FFC91D865F /* Frameworks */ = { 329 | isa = PBXGroup; 330 | children = ( 331 | C0358BCBC31469552088B3A5 /* libPods.a */, 332 | ); 333 | name = Frameworks; 334 | sourceTree = ""; 335 | }; 336 | /* End PBXGroup section */ 337 | 338 | /* Begin PBXNativeTarget section */ 339 | 00E356ED1AD99517003FC87E /* AwesomeProjectTests */ = { 340 | isa = PBXNativeTarget; 341 | buildConfigurationList = 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "AwesomeProjectTests" */; 342 | buildPhases = ( 343 | 00E356EA1AD99517003FC87E /* Sources */, 344 | 00E356EB1AD99517003FC87E /* Frameworks */, 345 | 00E356EC1AD99517003FC87E /* Resources */, 346 | ); 347 | buildRules = ( 348 | ); 349 | dependencies = ( 350 | 00E356F51AD99517003FC87E /* PBXTargetDependency */, 351 | ); 352 | name = AwesomeProjectTests; 353 | productName = AwesomeProjectTests; 354 | productReference = 00E356EE1AD99517003FC87E /* AwesomeProjectTests.xctest */; 355 | productType = "com.apple.product-type.bundle.unit-test"; 356 | }; 357 | 13B07F861A680F5B00A75B9A /* AwesomeProject */ = { 358 | isa = PBXNativeTarget; 359 | buildConfigurationList = 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "AwesomeProject" */; 360 | buildPhases = ( 361 | F2ADCE19E4756CE85028F85A /* Check Pods Manifest.lock */, 362 | 13B07F871A680F5B00A75B9A /* Sources */, 363 | 13B07F8C1A680F5B00A75B9A /* Frameworks */, 364 | 13B07F8E1A680F5B00A75B9A /* Resources */, 365 | 87C436DC57ACD558D76F16DF /* Copy Pods Resources */, 366 | ); 367 | buildRules = ( 368 | ); 369 | dependencies = ( 370 | ); 371 | name = AwesomeProject; 372 | productName = "Hello World"; 373 | productReference = 13B07F961A680F5B00A75B9A /* AwesomeProject.app */; 374 | productType = "com.apple.product-type.application"; 375 | }; 376 | /* End PBXNativeTarget section */ 377 | 378 | /* Begin PBXProject section */ 379 | 83CBB9F71A601CBA00E9B192 /* Project object */ = { 380 | isa = PBXProject; 381 | attributes = { 382 | LastUpgradeCheck = 0610; 383 | ORGANIZATIONNAME = Facebook; 384 | TargetAttributes = { 385 | 00E356ED1AD99517003FC87E = { 386 | CreatedOnToolsVersion = 6.2; 387 | TestTargetID = 13B07F861A680F5B00A75B9A; 388 | }; 389 | }; 390 | }; 391 | buildConfigurationList = 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "AwesomeProject" */; 392 | compatibilityVersion = "Xcode 3.2"; 393 | developmentRegion = English; 394 | hasScannedForEncodings = 0; 395 | knownRegions = ( 396 | en, 397 | Base, 398 | ); 399 | mainGroup = 83CBB9F61A601CBA00E9B192; 400 | productRefGroup = 83CBBA001A601CBA00E9B192 /* Products */; 401 | projectDirPath = ""; 402 | projectReferences = ( 403 | { 404 | ProductGroup = 00C302A81ABCB8CE00DB3ED1 /* Products */; 405 | ProjectRef = 00C302A71ABCB8CE00DB3ED1 /* RCTActionSheet.xcodeproj */; 406 | }, 407 | { 408 | ProductGroup = 00C302B61ABCB90400DB3ED1 /* Products */; 409 | ProjectRef = 00C302B51ABCB90400DB3ED1 /* RCTGeolocation.xcodeproj */; 410 | }, 411 | { 412 | ProductGroup = 00C302BC1ABCB91800DB3ED1 /* Products */; 413 | ProjectRef = 00C302BB1ABCB91800DB3ED1 /* RCTImage.xcodeproj */; 414 | }, 415 | { 416 | ProductGroup = 78C398B11ACF4ADC00677621 /* Products */; 417 | ProjectRef = 78C398B01ACF4ADC00677621 /* RCTLinking.xcodeproj */; 418 | }, 419 | { 420 | ProductGroup = 00C302D41ABCB9D200DB3ED1 /* Products */; 421 | ProjectRef = 00C302D31ABCB9D200DB3ED1 /* RCTNetwork.xcodeproj */; 422 | }, 423 | { 424 | ProductGroup = 139105B71AF99BAD00B5F7CC /* Products */; 425 | ProjectRef = 139105B61AF99BAD00B5F7CC /* RCTSettings.xcodeproj */; 426 | }, 427 | { 428 | ProductGroup = 832341B11AAA6A8300B99B32 /* Products */; 429 | ProjectRef = 832341B01AAA6A8300B99B32 /* RCTText.xcodeproj */; 430 | }, 431 | { 432 | ProductGroup = 00C302E01ABCB9EE00DB3ED1 /* Products */; 433 | ProjectRef = 00C302DF1ABCB9EE00DB3ED1 /* RCTVibration.xcodeproj */; 434 | }, 435 | { 436 | ProductGroup = 139FDEE71B06529A00C62182 /* Products */; 437 | ProjectRef = 139FDEE61B06529A00C62182 /* RCTWebSocket.xcodeproj */; 438 | }, 439 | { 440 | ProductGroup = 146834001AC3E56700842450 /* Products */; 441 | ProjectRef = 146833FF1AC3E56700842450 /* React.xcodeproj */; 442 | }, 443 | ); 444 | projectRoot = ""; 445 | targets = ( 446 | 13B07F861A680F5B00A75B9A /* AwesomeProject */, 447 | 00E356ED1AD99517003FC87E /* AwesomeProjectTests */, 448 | ); 449 | }; 450 | /* End PBXProject section */ 451 | 452 | /* Begin PBXReferenceProxy section */ 453 | 00C302AC1ABCB8CE00DB3ED1 /* libRCTActionSheet.a */ = { 454 | isa = PBXReferenceProxy; 455 | fileType = archive.ar; 456 | path = libRCTActionSheet.a; 457 | remoteRef = 00C302AB1ABCB8CE00DB3ED1 /* PBXContainerItemProxy */; 458 | sourceTree = BUILT_PRODUCTS_DIR; 459 | }; 460 | 00C302BA1ABCB90400DB3ED1 /* libRCTGeolocation.a */ = { 461 | isa = PBXReferenceProxy; 462 | fileType = archive.ar; 463 | path = libRCTGeolocation.a; 464 | remoteRef = 00C302B91ABCB90400DB3ED1 /* PBXContainerItemProxy */; 465 | sourceTree = BUILT_PRODUCTS_DIR; 466 | }; 467 | 00C302C01ABCB91800DB3ED1 /* libRCTImage.a */ = { 468 | isa = PBXReferenceProxy; 469 | fileType = archive.ar; 470 | path = libRCTImage.a; 471 | remoteRef = 00C302BF1ABCB91800DB3ED1 /* PBXContainerItemProxy */; 472 | sourceTree = BUILT_PRODUCTS_DIR; 473 | }; 474 | 00C302DC1ABCB9D200DB3ED1 /* libRCTNetwork.a */ = { 475 | isa = PBXReferenceProxy; 476 | fileType = archive.ar; 477 | path = libRCTNetwork.a; 478 | remoteRef = 00C302DB1ABCB9D200DB3ED1 /* PBXContainerItemProxy */; 479 | sourceTree = BUILT_PRODUCTS_DIR; 480 | }; 481 | 00C302E41ABCB9EE00DB3ED1 /* libRCTVibration.a */ = { 482 | isa = PBXReferenceProxy; 483 | fileType = archive.ar; 484 | path = libRCTVibration.a; 485 | remoteRef = 00C302E31ABCB9EE00DB3ED1 /* PBXContainerItemProxy */; 486 | sourceTree = BUILT_PRODUCTS_DIR; 487 | }; 488 | 139105C11AF99BAD00B5F7CC /* libRCTSettings.a */ = { 489 | isa = PBXReferenceProxy; 490 | fileType = archive.ar; 491 | path = libRCTSettings.a; 492 | remoteRef = 139105C01AF99BAD00B5F7CC /* PBXContainerItemProxy */; 493 | sourceTree = BUILT_PRODUCTS_DIR; 494 | }; 495 | 139FDEF41B06529B00C62182 /* libRCTWebSocket.a */ = { 496 | isa = PBXReferenceProxy; 497 | fileType = archive.ar; 498 | path = libRCTWebSocket.a; 499 | remoteRef = 139FDEF31B06529B00C62182 /* PBXContainerItemProxy */; 500 | sourceTree = BUILT_PRODUCTS_DIR; 501 | }; 502 | 146834041AC3E56700842450 /* libReact.a */ = { 503 | isa = PBXReferenceProxy; 504 | fileType = archive.ar; 505 | path = libReact.a; 506 | remoteRef = 146834031AC3E56700842450 /* PBXContainerItemProxy */; 507 | sourceTree = BUILT_PRODUCTS_DIR; 508 | }; 509 | 78C398B91ACF4ADC00677621 /* libRCTLinking.a */ = { 510 | isa = PBXReferenceProxy; 511 | fileType = archive.ar; 512 | path = libRCTLinking.a; 513 | remoteRef = 78C398B81ACF4ADC00677621 /* PBXContainerItemProxy */; 514 | sourceTree = BUILT_PRODUCTS_DIR; 515 | }; 516 | 832341B51AAA6A8300B99B32 /* libRCTText.a */ = { 517 | isa = PBXReferenceProxy; 518 | fileType = archive.ar; 519 | path = libRCTText.a; 520 | remoteRef = 832341B41AAA6A8300B99B32 /* PBXContainerItemProxy */; 521 | sourceTree = BUILT_PRODUCTS_DIR; 522 | }; 523 | /* End PBXReferenceProxy section */ 524 | 525 | /* Begin PBXResourcesBuildPhase section */ 526 | 00E356EC1AD99517003FC87E /* Resources */ = { 527 | isa = PBXResourcesBuildPhase; 528 | buildActionMask = 2147483647; 529 | files = ( 530 | ); 531 | runOnlyForDeploymentPostprocessing = 0; 532 | }; 533 | 13B07F8E1A680F5B00A75B9A /* Resources */ = { 534 | isa = PBXResourcesBuildPhase; 535 | buildActionMask = 2147483647; 536 | files = ( 537 | 008F07F31AC5B25A0029DE68 /* main.jsbundle in Resources */, 538 | 13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */, 539 | 13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */, 540 | ED9567761B5D8C42002FA0C1 /* out in Resources */, 541 | ); 542 | runOnlyForDeploymentPostprocessing = 0; 543 | }; 544 | /* End PBXResourcesBuildPhase section */ 545 | 546 | /* Begin PBXShellScriptBuildPhase section */ 547 | 87C436DC57ACD558D76F16DF /* Copy Pods Resources */ = { 548 | isa = PBXShellScriptBuildPhase; 549 | buildActionMask = 2147483647; 550 | files = ( 551 | ); 552 | inputPaths = ( 553 | ); 554 | name = "Copy Pods Resources"; 555 | outputPaths = ( 556 | ); 557 | runOnlyForDeploymentPostprocessing = 0; 558 | shellPath = /bin/sh; 559 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-resources.sh\"\n"; 560 | showEnvVarsInLog = 0; 561 | }; 562 | F2ADCE19E4756CE85028F85A /* Check Pods Manifest.lock */ = { 563 | isa = PBXShellScriptBuildPhase; 564 | buildActionMask = 2147483647; 565 | files = ( 566 | ); 567 | inputPaths = ( 568 | ); 569 | name = "Check Pods Manifest.lock"; 570 | outputPaths = ( 571 | ); 572 | runOnlyForDeploymentPostprocessing = 0; 573 | shellPath = /bin/sh; 574 | shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; 575 | showEnvVarsInLog = 0; 576 | }; 577 | /* End PBXShellScriptBuildPhase section */ 578 | 579 | /* Begin PBXSourcesBuildPhase section */ 580 | 00E356EA1AD99517003FC87E /* Sources */ = { 581 | isa = PBXSourcesBuildPhase; 582 | buildActionMask = 2147483647; 583 | files = ( 584 | 00E356F31AD99517003FC87E /* AwesomeProjectTests.m in Sources */, 585 | ); 586 | runOnlyForDeploymentPostprocessing = 0; 587 | }; 588 | 13B07F871A680F5B00A75B9A /* Sources */ = { 589 | isa = PBXSourcesBuildPhase; 590 | buildActionMask = 2147483647; 591 | files = ( 592 | 13B07FBC1A68108700A75B9A /* AppDelegate.m in Sources */, 593 | 13B07FC11A68108700A75B9A /* main.m in Sources */, 594 | ); 595 | runOnlyForDeploymentPostprocessing = 0; 596 | }; 597 | /* End PBXSourcesBuildPhase section */ 598 | 599 | /* Begin PBXTargetDependency section */ 600 | 00E356F51AD99517003FC87E /* PBXTargetDependency */ = { 601 | isa = PBXTargetDependency; 602 | target = 13B07F861A680F5B00A75B9A /* AwesomeProject */; 603 | targetProxy = 00E356F41AD99517003FC87E /* PBXContainerItemProxy */; 604 | }; 605 | /* End PBXTargetDependency section */ 606 | 607 | /* Begin PBXVariantGroup section */ 608 | 13B07FB11A68108700A75B9A /* LaunchScreen.xib */ = { 609 | isa = PBXVariantGroup; 610 | children = ( 611 | 13B07FB21A68108700A75B9A /* Base */, 612 | ); 613 | name = LaunchScreen.xib; 614 | path = iOS; 615 | sourceTree = ""; 616 | }; 617 | /* End PBXVariantGroup section */ 618 | 619 | /* Begin XCBuildConfiguration section */ 620 | 00E356F61AD99517003FC87E /* Debug */ = { 621 | isa = XCBuildConfiguration; 622 | buildSettings = { 623 | BUNDLE_LOADER = "$(TEST_HOST)"; 624 | FRAMEWORK_SEARCH_PATHS = ( 625 | "$(SDKROOT)/Developer/Library/Frameworks", 626 | "$(inherited)", 627 | ); 628 | GCC_PREPROCESSOR_DEFINITIONS = ( 629 | "DEBUG=1", 630 | "$(inherited)", 631 | ); 632 | INFOPLIST_FILE = AwesomeProjectTests/Info.plist; 633 | IPHONEOS_DEPLOYMENT_TARGET = 8.2; 634 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 635 | PRODUCT_NAME = "$(TARGET_NAME)"; 636 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AwesomeProject.app/AwesomeProject"; 637 | }; 638 | name = Debug; 639 | }; 640 | 00E356F71AD99517003FC87E /* Release */ = { 641 | isa = XCBuildConfiguration; 642 | buildSettings = { 643 | BUNDLE_LOADER = "$(TEST_HOST)"; 644 | COPY_PHASE_STRIP = NO; 645 | FRAMEWORK_SEARCH_PATHS = ( 646 | "$(SDKROOT)/Developer/Library/Frameworks", 647 | "$(inherited)", 648 | ); 649 | INFOPLIST_FILE = AwesomeProjectTests/Info.plist; 650 | IPHONEOS_DEPLOYMENT_TARGET = 8.2; 651 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; 652 | PRODUCT_NAME = "$(TARGET_NAME)"; 653 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AwesomeProject.app/AwesomeProject"; 654 | }; 655 | name = Release; 656 | }; 657 | 13B07F941A680F5B00A75B9A /* Debug */ = { 658 | isa = XCBuildConfiguration; 659 | baseConfigurationReference = C3A0FC8B629AE1DAEE6A33BD /* Pods.debug.xcconfig */; 660 | buildSettings = { 661 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 662 | HEADER_SEARCH_PATHS = ( 663 | "$(inherited)", 664 | /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, 665 | "$(SRCROOT)/node_modules/react-native/React/**", 666 | ); 667 | INFOPLIST_FILE = iOS/Info.plist; 668 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 669 | OTHER_LDFLAGS = "${inherited}"; 670 | PRODUCT_NAME = AwesomeProject; 671 | }; 672 | name = Debug; 673 | }; 674 | 13B07F951A680F5B00A75B9A /* Release */ = { 675 | isa = XCBuildConfiguration; 676 | baseConfigurationReference = 51DDD917F52222548A4E788D /* Pods.release.xcconfig */; 677 | buildSettings = { 678 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 679 | HEADER_SEARCH_PATHS = ( 680 | "$(inherited)", 681 | /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, 682 | "$(SRCROOT)/node_modules/react-native/React/**", 683 | ); 684 | INFOPLIST_FILE = iOS/Info.plist; 685 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; 686 | OTHER_LDFLAGS = "${inherited}"; 687 | PRODUCT_NAME = AwesomeProject; 688 | }; 689 | name = Release; 690 | }; 691 | 83CBBA201A601CBA00E9B192 /* Debug */ = { 692 | isa = XCBuildConfiguration; 693 | buildSettings = { 694 | ALWAYS_SEARCH_USER_PATHS = NO; 695 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 696 | CLANG_CXX_LIBRARY = "libc++"; 697 | CLANG_ENABLE_MODULES = YES; 698 | CLANG_ENABLE_OBJC_ARC = YES; 699 | CLANG_WARN_BOOL_CONVERSION = YES; 700 | CLANG_WARN_CONSTANT_CONVERSION = YES; 701 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 702 | CLANG_WARN_EMPTY_BODY = YES; 703 | CLANG_WARN_ENUM_CONVERSION = YES; 704 | CLANG_WARN_INT_CONVERSION = YES; 705 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 706 | CLANG_WARN_UNREACHABLE_CODE = YES; 707 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 708 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 709 | COPY_PHASE_STRIP = NO; 710 | ENABLE_STRICT_OBJC_MSGSEND = YES; 711 | GCC_C_LANGUAGE_STANDARD = gnu99; 712 | GCC_DYNAMIC_NO_PIC = NO; 713 | GCC_OPTIMIZATION_LEVEL = 0; 714 | GCC_PREPROCESSOR_DEFINITIONS = ( 715 | "DEBUG=1", 716 | "$(inherited)", 717 | ); 718 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 719 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 720 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 721 | GCC_WARN_UNDECLARED_SELECTOR = YES; 722 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 723 | GCC_WARN_UNUSED_FUNCTION = YES; 724 | GCC_WARN_UNUSED_VARIABLE = YES; 725 | HEADER_SEARCH_PATHS = ( 726 | "$(inherited)", 727 | /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, 728 | "$(SRCROOT)/node_modules/react-native/React/**", 729 | ); 730 | IPHONEOS_DEPLOYMENT_TARGET = 7.0; 731 | MTL_ENABLE_DEBUG_INFO = YES; 732 | ONLY_ACTIVE_ARCH = YES; 733 | SDKROOT = iphoneos; 734 | }; 735 | name = Debug; 736 | }; 737 | 83CBBA211A601CBA00E9B192 /* Release */ = { 738 | isa = XCBuildConfiguration; 739 | buildSettings = { 740 | ALWAYS_SEARCH_USER_PATHS = NO; 741 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; 742 | CLANG_CXX_LIBRARY = "libc++"; 743 | CLANG_ENABLE_MODULES = YES; 744 | CLANG_ENABLE_OBJC_ARC = YES; 745 | CLANG_WARN_BOOL_CONVERSION = YES; 746 | CLANG_WARN_CONSTANT_CONVERSION = YES; 747 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 748 | CLANG_WARN_EMPTY_BODY = YES; 749 | CLANG_WARN_ENUM_CONVERSION = YES; 750 | CLANG_WARN_INT_CONVERSION = YES; 751 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; 752 | CLANG_WARN_UNREACHABLE_CODE = YES; 753 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; 754 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; 755 | COPY_PHASE_STRIP = YES; 756 | ENABLE_NS_ASSERTIONS = NO; 757 | ENABLE_STRICT_OBJC_MSGSEND = YES; 758 | GCC_C_LANGUAGE_STANDARD = gnu99; 759 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 760 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; 761 | GCC_WARN_UNDECLARED_SELECTOR = YES; 762 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; 763 | GCC_WARN_UNUSED_FUNCTION = YES; 764 | GCC_WARN_UNUSED_VARIABLE = YES; 765 | HEADER_SEARCH_PATHS = ( 766 | "$(inherited)", 767 | /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include, 768 | "$(SRCROOT)/node_modules/react-native/React/**", 769 | ); 770 | IPHONEOS_DEPLOYMENT_TARGET = 7.0; 771 | MTL_ENABLE_DEBUG_INFO = NO; 772 | SDKROOT = iphoneos; 773 | VALIDATE_PRODUCT = YES; 774 | }; 775 | name = Release; 776 | }; 777 | /* End XCBuildConfiguration section */ 778 | 779 | /* Begin XCConfigurationList section */ 780 | 00E357021AD99517003FC87E /* Build configuration list for PBXNativeTarget "AwesomeProjectTests" */ = { 781 | isa = XCConfigurationList; 782 | buildConfigurations = ( 783 | 00E356F61AD99517003FC87E /* Debug */, 784 | 00E356F71AD99517003FC87E /* Release */, 785 | ); 786 | defaultConfigurationIsVisible = 0; 787 | defaultConfigurationName = Release; 788 | }; 789 | 13B07F931A680F5B00A75B9A /* Build configuration list for PBXNativeTarget "AwesomeProject" */ = { 790 | isa = XCConfigurationList; 791 | buildConfigurations = ( 792 | 13B07F941A680F5B00A75B9A /* Debug */, 793 | 13B07F951A680F5B00A75B9A /* Release */, 794 | ); 795 | defaultConfigurationIsVisible = 0; 796 | defaultConfigurationName = Release; 797 | }; 798 | 83CBB9FA1A601CBA00E9B192 /* Build configuration list for PBXProject "AwesomeProject" */ = { 799 | isa = XCConfigurationList; 800 | buildConfigurations = ( 801 | 83CBBA201A601CBA00E9B192 /* Debug */, 802 | 83CBBA211A601CBA00E9B192 /* Release */, 803 | ); 804 | defaultConfigurationIsVisible = 0; 805 | defaultConfigurationName = Release; 806 | }; 807 | /* End XCConfigurationList section */ 808 | }; 809 | rootObject = 83CBB9F71A601CBA00E9B192 /* Project object */; 810 | } 811 | -------------------------------------------------------------------------------- /AwesomeProject/AwesomeProject.xcodeproj/xcshareddata/xcschemes/AwesomeProject.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 29 | 35 | 36 | 37 | 38 | 39 | 44 | 45 | 47 | 53 | 54 | 55 | 56 | 57 | 63 | 64 | 65 | 66 | 75 | 77 | 83 | 84 | 85 | 86 | 87 | 88 | 94 | 96 | 102 | 103 | 104 | 105 | 107 | 108 | 111 | 112 | 113 | -------------------------------------------------------------------------------- /AwesomeProject/AwesomeProject.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /AwesomeProject/AwesomeProjectTests/AwesomeProjectTests.m: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | #import 12 | 13 | #import "RCTAssert.h" 14 | #import "RCTRedBox.h" 15 | #import "RCTRootView.h" 16 | 17 | #define TIMEOUT_SECONDS 240 18 | #define TEXT_TO_LOOK_FOR @"Welcome to React Native!" 19 | 20 | @interface AwesomeProjectTests : XCTestCase 21 | 22 | @end 23 | 24 | @implementation AwesomeProjectTests 25 | 26 | 27 | - (BOOL)findSubviewInView:(UIView *)view matching:(BOOL(^)(UIView *view))test 28 | { 29 | if (test(view)) { 30 | return YES; 31 | } 32 | for (UIView *subview in [view subviews]) { 33 | if ([self findSubviewInView:subview matching:test]) { 34 | return YES; 35 | } 36 | } 37 | return NO; 38 | } 39 | 40 | - (void)testRendersWelcomeScreen { 41 | UIViewController *vc = [[[[UIApplication sharedApplication] delegate] window] rootViewController]; 42 | NSDate *date = [NSDate dateWithTimeIntervalSinceNow:TIMEOUT_SECONDS]; 43 | BOOL foundElement = NO; 44 | NSString *redboxError = nil; 45 | 46 | while ([date timeIntervalSinceNow] > 0 && !foundElement && !redboxError) { 47 | [[NSRunLoop mainRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; 48 | [[NSRunLoop mainRunLoop] runMode:NSRunLoopCommonModes beforeDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; 49 | 50 | redboxError = [[RCTRedBox sharedInstance] currentErrorMessage]; 51 | 52 | foundElement = [self findSubviewInView:vc.view matching:^BOOL(UIView *view) { 53 | if ([view.accessibilityLabel isEqualToString:TEXT_TO_LOOK_FOR]) { 54 | return YES; 55 | } 56 | return NO; 57 | }]; 58 | } 59 | 60 | XCTAssertNil(redboxError, @"RedBox error: %@", redboxError); 61 | XCTAssertTrue(foundElement, @"Couldn't find element with text '%@' in %d seconds", TEXT_TO_LOOK_FOR, TIMEOUT_SECONDS); 62 | } 63 | 64 | 65 | @end 66 | -------------------------------------------------------------------------------- /AwesomeProject/AwesomeProjectTests/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 | -------------------------------------------------------------------------------- /AwesomeProject/ClojureScript/awesome-project/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /classes 3 | /checkouts 4 | pom.xml 5 | pom.xml.asc 6 | *.jar 7 | *.class 8 | /.lein-* 9 | /.nrepl-port 10 | .hgignore 11 | .hg/ 12 | -------------------------------------------------------------------------------- /AwesomeProject/ClojureScript/awesome-project/LICENSE: -------------------------------------------------------------------------------- 1 | THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC 2 | LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM 3 | CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. 4 | 5 | 1. DEFINITIONS 6 | 7 | "Contribution" means: 8 | 9 | a) in the case of the initial Contributor, the initial code and 10 | documentation distributed under this Agreement, and 11 | 12 | b) in the case of each subsequent Contributor: 13 | 14 | i) changes to the Program, and 15 | 16 | ii) additions to the Program; 17 | 18 | where such changes and/or additions to the Program originate from and are 19 | distributed by that particular Contributor. A Contribution 'originates' from 20 | a Contributor if it was added to the Program by such Contributor itself or 21 | anyone acting on such Contributor's behalf. Contributions do not include 22 | additions to the Program which: (i) are separate modules of software 23 | distributed in conjunction with the Program under their own license 24 | agreement, and (ii) are not derivative works of the Program. 25 | 26 | "Contributor" means any person or entity that distributes the Program. 27 | 28 | "Licensed Patents" mean patent claims licensable by a Contributor which are 29 | necessarily infringed by the use or sale of its Contribution alone or when 30 | combined with the Program. 31 | 32 | "Program" means the Contributions distributed in accordance with this 33 | Agreement. 34 | 35 | "Recipient" means anyone who receives the Program under this Agreement, 36 | including all Contributors. 37 | 38 | 2. GRANT OF RIGHTS 39 | 40 | a) Subject to the terms of this Agreement, each Contributor hereby grants 41 | Recipient a non-exclusive, worldwide, royalty-free copyright license to 42 | reproduce, prepare derivative works of, publicly display, publicly perform, 43 | distribute and sublicense the Contribution of such Contributor, if any, and 44 | such derivative works, in source code and object code form. 45 | 46 | b) Subject to the terms of this Agreement, each Contributor hereby grants 47 | Recipient a non-exclusive, worldwide, royalty-free patent license under 48 | Licensed Patents to make, use, sell, offer to sell, import and otherwise 49 | transfer the Contribution of such Contributor, if any, in source code and 50 | object code form. This patent license shall apply to the combination of the 51 | Contribution and the Program if, at the time the Contribution is added by the 52 | Contributor, such addition of the Contribution causes such combination to be 53 | covered by the Licensed Patents. The patent license shall not apply to any 54 | other combinations which include the Contribution. No hardware per se is 55 | licensed hereunder. 56 | 57 | c) Recipient understands that although each Contributor grants the licenses 58 | to its Contributions set forth herein, no assurances are provided by any 59 | Contributor that the Program does not infringe the patent or other 60 | intellectual property rights of any other entity. Each Contributor disclaims 61 | any liability to Recipient for claims brought by any other entity based on 62 | infringement of intellectual property rights or otherwise. As a condition to 63 | exercising the rights and licenses granted hereunder, each Recipient hereby 64 | assumes sole responsibility to secure any other intellectual property rights 65 | needed, if any. For example, if a third party patent license is required to 66 | allow Recipient to distribute the Program, it is Recipient's responsibility 67 | to acquire that license before distributing the Program. 68 | 69 | d) Each Contributor represents that to its knowledge it has sufficient 70 | copyright rights in its Contribution, if any, to grant the copyright license 71 | set forth in this Agreement. 72 | 73 | 3. REQUIREMENTS 74 | 75 | A Contributor may choose to distribute the Program in object code form under 76 | its own license agreement, provided that: 77 | 78 | a) it complies with the terms and conditions of this Agreement; and 79 | 80 | b) its license agreement: 81 | 82 | i) effectively disclaims on behalf of all Contributors all warranties and 83 | conditions, express and implied, including warranties or conditions of title 84 | and non-infringement, and implied warranties or conditions of merchantability 85 | and fitness for a particular purpose; 86 | 87 | ii) effectively excludes on behalf of all Contributors all liability for 88 | damages, including direct, indirect, special, incidental and consequential 89 | damages, such as lost profits; 90 | 91 | iii) states that any provisions which differ from this Agreement are offered 92 | by that Contributor alone and not by any other party; and 93 | 94 | iv) states that source code for the Program is available from such 95 | Contributor, and informs licensees how to obtain it in a reasonable manner on 96 | or through a medium customarily used for software exchange. 97 | 98 | When the Program is made available in source code form: 99 | 100 | a) it must be made available under this Agreement; and 101 | 102 | b) a copy of this Agreement must be included with each copy of the Program. 103 | 104 | Contributors may not remove or alter any copyright notices contained within 105 | the Program. 106 | 107 | Each Contributor must identify itself as the originator of its Contribution, 108 | if any, in a manner that reasonably allows subsequent Recipients to identify 109 | the originator of the Contribution. 110 | 111 | 4. COMMERCIAL DISTRIBUTION 112 | 113 | Commercial distributors of software may accept certain responsibilities with 114 | respect to end users, business partners and the like. While this license is 115 | intended to facilitate the commercial use of the Program, the Contributor who 116 | includes the Program in a commercial product offering should do so in a 117 | manner which does not create potential liability for other Contributors. 118 | Therefore, if a Contributor includes the Program in a commercial product 119 | offering, such Contributor ("Commercial Contributor") hereby agrees to defend 120 | and indemnify every other Contributor ("Indemnified Contributor") against any 121 | losses, damages and costs (collectively "Losses") arising from claims, 122 | lawsuits and other legal actions brought by a third party against the 123 | Indemnified Contributor to the extent caused by the acts or omissions of such 124 | Commercial Contributor in connection with its distribution of the Program in 125 | a commercial product offering. The obligations in this section do not apply 126 | to any claims or Losses relating to any actual or alleged intellectual 127 | property infringement. In order to qualify, an Indemnified Contributor must: 128 | a) promptly notify the Commercial Contributor in writing of such claim, and 129 | b) allow the Commercial Contributor tocontrol, and cooperate with the 130 | Commercial Contributor in, the defense and any related settlement 131 | negotiations. The Indemnified Contributor may participate in any such claim 132 | at its own expense. 133 | 134 | For example, a Contributor might include the Program in a commercial product 135 | offering, Product X. That Contributor is then a Commercial Contributor. If 136 | that Commercial Contributor then makes performance claims, or offers 137 | warranties related to Product X, those performance claims and warranties are 138 | such Commercial Contributor's responsibility alone. Under this section, the 139 | Commercial Contributor would have to defend claims against the other 140 | Contributors related to those performance claims and warranties, and if a 141 | court requires any other Contributor to pay any damages as a result, the 142 | Commercial Contributor must pay those damages. 143 | 144 | 5. NO WARRANTY 145 | 146 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON 147 | AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER 148 | EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR 149 | CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A 150 | PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the 151 | appropriateness of using and distributing the Program and assumes all risks 152 | associated with its exercise of rights under this Agreement , including but 153 | not limited to the risks and costs of program errors, compliance with 154 | applicable laws, damage to or loss of data, programs or equipment, and 155 | unavailability or interruption of operations. 156 | 157 | 6. DISCLAIMER OF LIABILITY 158 | 159 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY 160 | CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, 161 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION 162 | LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 163 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 164 | ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE 165 | EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY 166 | OF SUCH DAMAGES. 167 | 168 | 7. GENERAL 169 | 170 | If any provision of this Agreement is invalid or unenforceable under 171 | applicable law, it shall not affect the validity or enforceability of the 172 | remainder of the terms of this Agreement, and without further action by the 173 | parties hereto, such provision shall be reformed to the minimum extent 174 | necessary to make such provision valid and enforceable. 175 | 176 | If Recipient institutes patent litigation against any entity (including a 177 | cross-claim or counterclaim in a lawsuit) alleging that the Program itself 178 | (excluding combinations of the Program with other software or hardware) 179 | infringes such Recipient's patent(s), then such Recipient's rights granted 180 | under Section 2(b) shall terminate as of the date such litigation is filed. 181 | 182 | All Recipient's rights under this Agreement shall terminate if it fails to 183 | comply with any of the material terms or conditions of this Agreement and 184 | does not cure such failure in a reasonable period of time after becoming 185 | aware of such noncompliance. If all Recipient's rights under this Agreement 186 | terminate, Recipient agrees to cease use and distribution of the Program as 187 | soon as reasonably practicable. However, Recipient's obligations under this 188 | Agreement and any licenses granted by Recipient relating to the Program shall 189 | continue and survive. 190 | 191 | Everyone is permitted to copy and distribute copies of this Agreement, but in 192 | order to avoid inconsistency the Agreement is copyrighted and may only be 193 | modified in the following manner. The Agreement Steward reserves the right to 194 | publish new versions (including revisions) of this Agreement from time to 195 | time. No one other than the Agreement Steward has the right to modify this 196 | Agreement. The Eclipse Foundation is the initial Agreement Steward. The 197 | Eclipse Foundation may assign the responsibility to serve as the Agreement 198 | Steward to a suitable separate entity. Each new version of the Agreement will 199 | be given a distinguishing version number. The Program (including 200 | Contributions) may always be distributed subject to the version of the 201 | Agreement under which it was received. In addition, after a new version of 202 | the Agreement is published, Contributor may elect to distribute the Program 203 | (including its Contributions) under the new version. Except as expressly 204 | stated in Sections 2(a) and 2(b) above, Recipient receives no rights or 205 | licenses to the intellectual property of any Contributor under this 206 | Agreement, whether expressly, by implication, estoppel or otherwise. All 207 | rights in the Program not expressly granted under this Agreement are 208 | reserved. 209 | 210 | This Agreement is governed by the laws of the State of New York and the 211 | intellectual property laws of the United States of America. No party to this 212 | Agreement will bring a legal action under this Agreement more than one year 213 | after the cause of action arose. Each party waives its rights to a jury trial 214 | in any resulting litigation. 215 | -------------------------------------------------------------------------------- /AwesomeProject/ClojureScript/awesome-project/README.md: -------------------------------------------------------------------------------- 1 | # awesome-project 2 | 3 | A Clojure library designed to ... well, that part is up to you. 4 | 5 | ## Usage 6 | 7 | FIXME 8 | 9 | ## License 10 | 11 | Copyright © 2015 FIXME 12 | 13 | Distributed under the Eclipse Public License either version 1.0 or (at 14 | your option) any later version. 15 | -------------------------------------------------------------------------------- /AwesomeProject/ClojureScript/awesome-project/doc/intro.md: -------------------------------------------------------------------------------- 1 | # Introduction to awesome-project 2 | 3 | TODO: write [great documentation](http://jacobian.org/writing/what-to-write/) 4 | -------------------------------------------------------------------------------- /AwesomeProject/ClojureScript/awesome-project/project.clj: -------------------------------------------------------------------------------- 1 | (defproject awesome-project "0.1.0-SNAPSHOT" 2 | :description "FIXME: write description" 3 | :url "http://example.com/FIXME" 4 | :license {:name "Eclipse Public License" 5 | :url "http://www.eclipse.org/legal/epl-v10.html"} 6 | :dependencies [[org.clojure/clojure "1.7.0"] 7 | [org.clojure/clojurescript "0.0-3308"] 8 | [reagent "0.5.0" :exclusions [cljsjs/react]] 9 | [org.omcljs/ambly "0.6.0"]] 10 | :plugins [[lein-cljsbuild "1.0.6"]] 11 | :cljsbuild {:builds {:dev {:source-paths ["src"] 12 | :compiler {:output-to "target/out/main.js" 13 | :output-dir "target/out" 14 | :optimizations :none}}}}) 15 | -------------------------------------------------------------------------------- /AwesomeProject/ClojureScript/awesome-project/script/repl: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | type lein >/dev/null 2>&1 || { echo >&2 "I require lein but it's not installed. Aborting."; exit 1; } 4 | 5 | if hash rlwrap 2>/dev/null; then 6 | COMMAND="rlwrap lein" 7 | else 8 | COMMAND="lein" 9 | fi 10 | 11 | $COMMAND trampoline run -m clojure.main -e \ 12 | "(require '[cljs.repl :as repl]) 13 | (require '[ambly.core :as ambly]) 14 | (let [repl-env (ambly.core/repl-env)] 15 | (cljs.repl/repl repl-env 16 | :watch \"src\" 17 | :watch-fn 18 | (fn [] 19 | (cljs.repl/load-file repl-env 20 | \"src/awesome_project/core.cljs\")) 21 | :analyze-path \"src\"))" 22 | -------------------------------------------------------------------------------- /AwesomeProject/ClojureScript/awesome-project/src/awesome_project/core.cljs: -------------------------------------------------------------------------------- 1 | (ns awesome-project.core 2 | (:require [reagent.core :as r :refer [atom]] 3 | [reagent.impl.component :as ru])) 4 | 5 | (set! js/React (js/require "react-native/Libraries/react-native/react-native")) 6 | 7 | (def text (r/adapt-react-class (.-Text js/React))) 8 | (def view (r/adapt-react-class (.-View js/React))) 9 | (def image (r/adapt-react-class (.-Image js/React))) 10 | (def touchable-highlight (r/adapt-react-class (.-TouchableHighlight js/React))) 11 | (def navigator (r/adapt-react-class (.-NavigatorIOS js/React))) 12 | (def scroll (r/adapt-react-class (.-ScrollView js/React))) 13 | (def input (r/adapt-react-class (.-TextInput js/React))) 14 | (def switch (r/adapt-react-class (.-SwitchIOS js/React))) 15 | (def list-view (r/adapt-react-class (.-ListView js/React))) 16 | (def slider (r/adapt-react-class (.-SliderIOS js/React))) 17 | (def tabs (r/adapt-react-class (.-TabBarIOS js/React))) 18 | (def tabs-item (r/adapt-react-class (.-TabBarIOS.Item js/React))) 19 | 20 | (defn alert[title content] 21 | (.alert (.-AlertIOS js/React) title content)) 22 | 23 | (defn create-style[s] 24 | (let [s1 (reduce #(assoc %1 (%2 0) (ru/camelify-map-keys (%2 1))) {} s)] 25 | (js->clj (.create (.-StyleSheet js/React) (clj->js s1))))) 26 | 27 | (enable-console-print!) 28 | 29 | (def styles (create-style 30 | {:fullscreen {:position "absolute" 31 | :top 0 32 | :left 0 33 | :bottom 0 34 | :right 0} 35 | :green {:color "#00ff00"} 36 | :viewbg {:padding 10 37 | :background-color "#ffffff"} 38 | :input {:height 35 39 | :border-color "gray" 40 | :border-width 1 41 | :padding-left 10 42 | :border-radius 5 43 | :margin 10}})) 44 | 45 | (def global-state (r/atom 0)) 46 | 47 | (declare page-comp) 48 | (declare row-comp) 49 | 50 | (def ds (React.ListView.DataSource. #js{:rowHasChanged (fn[a b] false)})) 51 | 52 | (defn list-view-source [v] 53 | (let [res #js[]] 54 | (doseq [item v] 55 | (.push res (r/atom item))) 56 | (r/atom (js->clj res)))) 57 | 58 | (def rows (list-view-source (clj->js (range 100)))) 59 | 60 | (def current-tab (r/atom "tab1")) 61 | 62 | (defn page[{nav :navigator}] 63 | [tabs 64 | [tabs-item {:title "tab1" :on-press #(reset! current-tab "tab1") :selected (= "tab1" @current-tab)} 65 | [scroll {:always-bounce-vertical true 66 | :bounces true 67 | :style (styles "fullscreen")} 68 | [view {:style [(styles "viewbg") {:flexDirection "column"}]} 69 | [text @global-state] 70 | [text {:style (styles "green")} "native"] 71 | [input {:style (styles "input") 72 | :value @global-state 73 | :on-change-text #(reset! global-state %)}] 74 | [slider {:style {:width 200} 75 | :on-value-change #(reset! global-state %)}] 76 | [image {:source {:uri "https://assets-cdn.github.com/images/modules/microsoft_callout/corner.png"} 77 | :style {:width 306 :height 104}}] 78 | 79 | [list-view {:dataSource (.cloneWithRows ds (clj->js @rows)) 80 | :render-row (fn[row] 81 | (js/React.createElement row-comp #js{:row row})) 82 | :style {:left 0 :right 0 :height 250 :border-width 1 :border-color "#000"}}] 83 | 84 | [switch {:on-value-change #(.push nav #js{:title "new" :component page-comp})}] 85 | [text {:on-press #(swap! (get @rows 99) inc)} "click update list"] 86 | [text {:on-press #(swap! rows conj (r/atom 100))} "click add list"]]]] 87 | [tabs-item {:title "tab2" :selected (= "tab2" @current-tab) :on-press #(reset! current-tab "tab2")} 88 | [text {:style {:top 100}} "tab2"]] 89 | [tabs-item {:title "tab3" :selected (= "tab3" @current-tab) :on-press #(reset! current-tab "tab3")} 90 | [text {:style {:top 100}} "tab3"]]]) 91 | 92 | (def page-comp (r/reactify-component page)) 93 | (def row-comp (r/reactify-component (fn[props] 94 | (let [row (props :row)] 95 | (print props) 96 | [touchable-highlight {:style {:border-top-width 1 :border-color "#000"} :on-press #(alert "list" (str @row))} 97 | [text @row]])))) 98 | 99 | 100 | (defn root[] 101 | [navigator {:initial-route {:title "App4" :component page-comp} :style (styles "fullscreen")}]) 102 | 103 | (r/render [root] 1) 104 | 105 | (defn ^:export init [] 106 | ((fn render [] 107 | (.requestAnimationFrame js/window render)))) 108 | -------------------------------------------------------------------------------- /AwesomeProject/ClojureScript/awesome-project/src/cljsjs/react.cljs: -------------------------------------------------------------------------------- 1 | (ns cljsjs.react) 2 | -------------------------------------------------------------------------------- /AwesomeProject/ClojureScript/awesome-project/test/awesome_project/core_test.clj: -------------------------------------------------------------------------------- 1 | (ns awesome-project.core-test 2 | (:require [clojure.test :refer :all] 3 | [awesome-project.core :refer :all])) 4 | 5 | (deftest a-test 6 | (testing "FIXME, I fail." 7 | (is (= 0 1)))) 8 | -------------------------------------------------------------------------------- /AwesomeProject/Podfile: -------------------------------------------------------------------------------- 1 | source 'https://github.com/CocoaPods/Specs.git' 2 | platform :ios, '8.0' 3 | 4 | pod "Ambly", "~> 0.6.0" 5 | pod "Bentho", "~> 0.4.0" 6 | -------------------------------------------------------------------------------- /AwesomeProject/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Ambly (0.6.0): 3 | - GCDWebServer/WebDAV (~> 3.2.2) 4 | - Bentho (0.4.0) 5 | - GCDWebServer/Core (3.2.5) 6 | - GCDWebServer/WebDAV (3.2.5): 7 | - GCDWebServer/Core 8 | 9 | DEPENDENCIES: 10 | - Ambly (~> 0.6.0) 11 | - Bentho (~> 0.4.0) 12 | 13 | SPEC CHECKSUMS: 14 | Ambly: cf953b8208d534a999704f8a009897132c37a46f 15 | Bentho: 53e6e6d9c516061eee3b21b0149a956c3af37a4b 16 | GCDWebServer: d0e1b23785e3dfd6c87601323d0f7cae059aab18 17 | 18 | COCOAPODS: 0.35.0 19 | -------------------------------------------------------------------------------- /AwesomeProject/iOS/AppDelegate.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | @interface AppDelegate : UIResponder 13 | 14 | @property (nonatomic, strong) UIWindow *window; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /AwesomeProject/iOS/AppDelegate.m: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "AppDelegate.h" 11 | 12 | #import "RCTRootView.h" 13 | #import "RCTEventDispatcher.h" 14 | #import "ABYServer.h" 15 | #import "ABYContextManager.h" 16 | #import "BTHContextExecutor.h" 17 | 18 | @interface AppDelegate() 19 | 20 | @property (strong, nonatomic) ABYServer* replServer; 21 | @property (strong, nonatomic) ABYContextManager* contextManager; 22 | @property (strong, nonatomic) NSURL* compilerOutputDirectory; 23 | 24 | @end 25 | 26 | @implementation AppDelegate 27 | 28 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 29 | { 30 | NSURL *jsCodeLocation; 31 | 32 | /** 33 | * Loading JavaScript code - uncomment the one you want. 34 | * 35 | * OPTION 1 36 | * Load from development server. Start the server from the repository root: 37 | * 38 | * $ npm start 39 | * 40 | * To run on device, change `localhost` to the IP address of your computer 41 | * (you can get this by typing `ifconfig` into the terminal and selecting the 42 | * `inet` value under `en0:`) and make sure your computer and iOS device are 43 | * on the same Wi-Fi network. 44 | */ 45 | 46 | jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle"]; 47 | 48 | /** 49 | * OPTION 2 50 | * Load from pre-bundled file on disk. To re-generate the static bundle 51 | * from the root of your project directory, run 52 | * 53 | * $ react-native bundle --minify 54 | * 55 | * see http://facebook.github.io/react-native/docs/runningondevice.html 56 | */ 57 | 58 | // jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; 59 | 60 | // Set up the ClojureScript compiler output directory 61 | self.compilerOutputDirectory = [[self privateDocumentsDirectory] URLByAppendingPathComponent:@"cljs-out"]; 62 | 63 | // Set up our context 64 | self.contextManager = [[ABYContextManager alloc] initWithContext:JSGlobalContextCreate(NULL) 65 | compilerOutputDirectory:self.compilerOutputDirectory]; 66 | 67 | // Inject our context into the BTHContextExecutor 68 | [BTHContextExecutor setContext:self.contextManager.context]; 69 | 70 | // Set React Native to intstantiate our BTHContextExecutor, doing this by slipping the executorClass 71 | // assignement between alloc and initWithBundleURL:moduleProvider:launchOptions: 72 | RCTBridge *bridge = [RCTBridge alloc]; 73 | bridge.executorClass = [BTHContextExecutor class]; 74 | bridge = [bridge initWithBundleURL:jsCodeLocation 75 | moduleProvider:nil 76 | launchOptions:launchOptions]; 77 | 78 | // Set up a root view using the bridge defined above 79 | RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge 80 | moduleName:@"AwesomeProject"]; 81 | 82 | // Set up to be notified when the React Native UI is up 83 | [[NSNotificationCenter defaultCenter] addObserver:self 84 | selector:@selector(contentDidAppear) 85 | name:RCTContentDidAppearNotification 86 | object:rootView]; 87 | 88 | self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; 89 | UIViewController *rootViewController = [[UIViewController alloc] init]; 90 | rootViewController.view = rootView; 91 | self.window.rootViewController = rootViewController; 92 | [self.window makeKeyAndVisible]; 93 | return YES; 94 | } 95 | 96 | - (NSURL *)privateDocumentsDirectory 97 | { 98 | NSURL *libraryDirectory = [[[NSFileManager defaultManager] URLsForDirectory:NSLibraryDirectory inDomains:NSUserDomainMask] lastObject]; 99 | 100 | return [libraryDirectory URLByAppendingPathComponent:@"Private Documents"]; 101 | } 102 | 103 | - (void)createDirectoriesUpTo:(NSURL*)directory 104 | { 105 | if (![[NSFileManager defaultManager] fileExistsAtPath:[directory path]]) { 106 | NSError *error = nil; 107 | 108 | if (![[NSFileManager defaultManager] createDirectoryAtPath:[directory path] 109 | withIntermediateDirectories:YES 110 | attributes:nil 111 | error:&error]) { 112 | NSLog(@"Can't create directory %@ [%@]", [directory path], error); 113 | abort(); 114 | } 115 | } 116 | } 117 | 118 | -(void)requireAppNamespaces:(JSContext*)context 119 | { 120 | [context evaluateScript:[NSString stringWithFormat:@"goog.require('%@');", [self munge:@"awesome-project.core"]]]; 121 | } 122 | 123 | - (JSValue*)getValue:(NSString*)name inNamespace:(NSString*)namespace fromContext:(JSContext*)context 124 | { 125 | JSValue* namespaceValue = nil; 126 | for (NSString* namespaceElement in [namespace componentsSeparatedByString: @"."]) { 127 | if (namespaceValue) { 128 | namespaceValue = namespaceValue[[self munge:namespaceElement]]; 129 | } else { 130 | namespaceValue = context[[self munge:namespaceElement]]; 131 | } 132 | } 133 | 134 | return namespaceValue[[self munge:name]]; 135 | } 136 | 137 | - (NSString*)munge:(NSString*)s 138 | { 139 | return [[[s stringByReplacingOccurrencesOfString:@"-" withString:@"_"] 140 | stringByReplacingOccurrencesOfString:@"!" withString:@"_BANG_"] 141 | stringByReplacingOccurrencesOfString:@"?" withString:@"_QMARK_"]; 142 | } 143 | 144 | - (void)contentDidAppear 145 | { 146 | // Ensure private documents directory exists 147 | [self createDirectoriesUpTo:[self privateDocumentsDirectory]]; 148 | 149 | // Copy resources from bundle "out" to compilerOutputDirectory 150 | 151 | NSFileManager* fileManager = [NSFileManager defaultManager]; 152 | fileManager.delegate = self; 153 | 154 | // First blow away old compiler output directory 155 | [fileManager removeItemAtPath:self.compilerOutputDirectory.path error:nil]; 156 | 157 | // Copy files from bundle to compiler output driectory 158 | NSString *outPath = [[NSBundle mainBundle] pathForResource:@"out" ofType:nil]; 159 | [fileManager copyItemAtPath:outPath toPath:self.compilerOutputDirectory.path error:nil]; 160 | 161 | [self.contextManager setUpAmblyImportScript]; 162 | 163 | NSString* mainJsFilePath = [[self.compilerOutputDirectory URLByAppendingPathComponent:@"main" isDirectory:NO] URLByAppendingPathExtension:@"js"].path; 164 | 165 | NSURL* googDirectory = [self.compilerOutputDirectory URLByAppendingPathComponent:@"goog"]; 166 | 167 | [self.contextManager bootstrapWithDepsFilePath:mainJsFilePath 168 | googBasePath:[[googDirectory URLByAppendingPathComponent:@"base" isDirectory:NO] URLByAppendingPathExtension:@"js"].path]; 169 | 170 | JSContext* context = [JSContext contextWithJSGlobalContextRef:self.contextManager.context]; 171 | [self requireAppNamespaces:context]; 172 | 173 | JSValue* initFn = [self getValue:@"init" inNamespace:@"awesome-project.core" fromContext:context]; 174 | NSAssert(!initFn.isUndefined, @"Could not find the app init function"); 175 | [initFn callWithArguments:@[]]; 176 | 177 | // Send a nonsense UI event to cause React Native to load our Om UI 178 | RCTRootView* rootView = (RCTRootView*)self.window.rootViewController.view; 179 | [rootView.bridge.modules[@"RCTEventDispatcher"] sendInputEventWithName:@"" body:@{@"target": @1}]; 180 | 181 | // Now that React Native has been initialized, fire up our REPL server 182 | self.replServer = [[ABYServer alloc] initWithContext:self.contextManager.context 183 | compilerOutputDirectory:self.compilerOutputDirectory]; 184 | [self.replServer startListening]; 185 | } 186 | 187 | @end 188 | -------------------------------------------------------------------------------- /AwesomeProject/iOS/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 | -------------------------------------------------------------------------------- /AwesomeProject/iOS/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 | } -------------------------------------------------------------------------------- /AwesomeProject/iOS/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 | NSAllowsArbitraryLoads 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /AwesomeProject/iOS/main.jsbundle: -------------------------------------------------------------------------------- 1 | // Offline JS 2 | // To re-generate the offline bundle, run this from the root of your project: 3 | // 4 | // $ react-native bundle --minify 5 | // 6 | // See http://facebook.github.io/react-native/docs/runningondevice.html for more details. 7 | 8 | throw new Error('Offline JS file is empty. See iOS/main.jsbundle for instructions'); 9 | -------------------------------------------------------------------------------- /AwesomeProject/iOS/main.m: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2015-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import 11 | 12 | #import "AppDelegate.h" 13 | 14 | int main(int argc, char * argv[]) { 15 | @autoreleasepool { 16 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /AwesomeProject/index.ios.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Sample React Native App 3 | * https://github.com/facebook/react-native 4 | */ 5 | 'use strict'; 6 | 7 | var React = require('react-native'); 8 | var { 9 | AppRegistry, 10 | StyleSheet, 11 | Text, 12 | View, 13 | } = React; 14 | 15 | var AwesomeProject = React.createClass({ 16 | render: function() { 17 | return ( 18 | 19 | ); 20 | } 21 | }); 22 | 23 | var styles = StyleSheet.create({ 24 | container: { 25 | flex: 1, 26 | justifyContent: 'center', 27 | alignItems: 'center', 28 | backgroundColor: '#F5FCFF', 29 | }, 30 | welcome: { 31 | fontSize: 20, 32 | textAlign: 'center', 33 | margin: 10, 34 | }, 35 | instructions: { 36 | textAlign: 'center', 37 | color: '#333333', 38 | marginBottom: 5, 39 | }, 40 | }); 41 | 42 | AppRegistry.registerComponent('AwesomeProject', () => AwesomeProject); 43 | -------------------------------------------------------------------------------- /AwesomeProject/npm-shrinkwrap.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "AwesomeProject", 3 | "version": "0.0.1", 4 | "dependencies": { 5 | "react-native": { 6 | "version": "0.6.0", 7 | "from": "react-native@>=0.6.0 <0.7.0", 8 | "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.6.0.tgz", 9 | "dependencies": { 10 | "absolute-path": { 11 | "version": "0.0.0", 12 | "from": "absolute-path@0.0.0", 13 | "resolved": "https://registry.npmjs.org/absolute-path/-/absolute-path-0.0.0.tgz" 14 | }, 15 | "babel": { 16 | "version": "5.4.3", 17 | "from": "babel@5.4.3", 18 | "resolved": "https://registry.npmjs.org/babel/-/babel-5.4.3.tgz", 19 | "dependencies": { 20 | "babel-core": { 21 | "version": "5.7.4", 22 | "from": "babel-core@>=5.4.3 <6.0.0", 23 | "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-5.7.4.tgz", 24 | "dependencies": { 25 | "babel-plugin-constant-folding": { 26 | "version": "1.0.1", 27 | "from": "babel-plugin-constant-folding@>=1.0.1 <2.0.0", 28 | "resolved": "https://registry.npmjs.org/babel-plugin-constant-folding/-/babel-plugin-constant-folding-1.0.1.tgz" 29 | }, 30 | "babel-plugin-dead-code-elimination": { 31 | "version": "1.0.2", 32 | "from": "babel-plugin-dead-code-elimination@>=1.0.2 <2.0.0", 33 | "resolved": "https://registry.npmjs.org/babel-plugin-dead-code-elimination/-/babel-plugin-dead-code-elimination-1.0.2.tgz" 34 | }, 35 | "babel-plugin-eval": { 36 | "version": "1.0.1", 37 | "from": "babel-plugin-eval@>=1.0.1 <2.0.0", 38 | "resolved": "https://registry.npmjs.org/babel-plugin-eval/-/babel-plugin-eval-1.0.1.tgz" 39 | }, 40 | "babel-plugin-inline-environment-variables": { 41 | "version": "1.0.1", 42 | "from": "babel-plugin-inline-environment-variables@>=1.0.1 <2.0.0", 43 | "resolved": "https://registry.npmjs.org/babel-plugin-inline-environment-variables/-/babel-plugin-inline-environment-variables-1.0.1.tgz" 44 | }, 45 | "babel-plugin-jscript": { 46 | "version": "1.0.1", 47 | "from": "babel-plugin-jscript@>=1.0.1 <2.0.0", 48 | "resolved": "https://registry.npmjs.org/babel-plugin-jscript/-/babel-plugin-jscript-1.0.1.tgz" 49 | }, 50 | "babel-plugin-member-expression-literals": { 51 | "version": "1.0.1", 52 | "from": "babel-plugin-member-expression-literals@>=1.0.1 <2.0.0", 53 | "resolved": "https://registry.npmjs.org/babel-plugin-member-expression-literals/-/babel-plugin-member-expression-literals-1.0.1.tgz" 54 | }, 55 | "babel-plugin-property-literals": { 56 | "version": "1.0.1", 57 | "from": "babel-plugin-property-literals@>=1.0.1 <2.0.0", 58 | "resolved": "https://registry.npmjs.org/babel-plugin-property-literals/-/babel-plugin-property-literals-1.0.1.tgz" 59 | }, 60 | "babel-plugin-proto-to-assign": { 61 | "version": "1.0.3", 62 | "from": "babel-plugin-proto-to-assign@>=1.0.3 <2.0.0", 63 | "resolved": "https://registry.npmjs.org/babel-plugin-proto-to-assign/-/babel-plugin-proto-to-assign-1.0.3.tgz" 64 | }, 65 | "babel-plugin-react-constant-elements": { 66 | "version": "1.0.3", 67 | "from": "babel-plugin-react-constant-elements@>=1.0.3 <2.0.0", 68 | "resolved": "https://registry.npmjs.org/babel-plugin-react-constant-elements/-/babel-plugin-react-constant-elements-1.0.3.tgz" 69 | }, 70 | "babel-plugin-react-display-name": { 71 | "version": "1.0.3", 72 | "from": "babel-plugin-react-display-name@>=1.0.3 <2.0.0", 73 | "resolved": "https://registry.npmjs.org/babel-plugin-react-display-name/-/babel-plugin-react-display-name-1.0.3.tgz" 74 | }, 75 | "babel-plugin-remove-console": { 76 | "version": "1.0.1", 77 | "from": "babel-plugin-remove-console@>=1.0.1 <2.0.0", 78 | "resolved": "https://registry.npmjs.org/babel-plugin-remove-console/-/babel-plugin-remove-console-1.0.1.tgz" 79 | }, 80 | "babel-plugin-remove-debugger": { 81 | "version": "1.0.1", 82 | "from": "babel-plugin-remove-debugger@>=1.0.1 <2.0.0", 83 | "resolved": "https://registry.npmjs.org/babel-plugin-remove-debugger/-/babel-plugin-remove-debugger-1.0.1.tgz" 84 | }, 85 | "babel-plugin-runtime": { 86 | "version": "1.0.7", 87 | "from": "babel-plugin-runtime@>=1.0.7 <2.0.0", 88 | "resolved": "https://registry.npmjs.org/babel-plugin-runtime/-/babel-plugin-runtime-1.0.7.tgz" 89 | }, 90 | "babel-plugin-undeclared-variables-check": { 91 | "version": "1.0.2", 92 | "from": "babel-plugin-undeclared-variables-check@>=1.0.2 <2.0.0", 93 | "resolved": "https://registry.npmjs.org/babel-plugin-undeclared-variables-check/-/babel-plugin-undeclared-variables-check-1.0.2.tgz", 94 | "dependencies": { 95 | "leven": { 96 | "version": "1.0.2", 97 | "from": "leven@>=1.0.2 <2.0.0", 98 | "resolved": "https://registry.npmjs.org/leven/-/leven-1.0.2.tgz" 99 | } 100 | } 101 | }, 102 | "babel-plugin-undefined-to-void": { 103 | "version": "1.1.6", 104 | "from": "babel-plugin-undefined-to-void@>=1.1.6 <2.0.0", 105 | "resolved": "https://registry.npmjs.org/babel-plugin-undefined-to-void/-/babel-plugin-undefined-to-void-1.1.6.tgz" 106 | }, 107 | "babylon": { 108 | "version": "5.7.2", 109 | "from": "babylon@>=5.7.2 <6.0.0", 110 | "resolved": "https://registry.npmjs.org/babylon/-/babylon-5.7.2.tgz" 111 | }, 112 | "core-js": { 113 | "version": "0.9.18", 114 | "from": "core-js@>=0.9.0 <0.10.0", 115 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-0.9.18.tgz" 116 | }, 117 | "detect-indent": { 118 | "version": "3.0.1", 119 | "from": "detect-indent@>=3.0.0 <4.0.0", 120 | "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-3.0.1.tgz", 121 | "dependencies": { 122 | "get-stdin": { 123 | "version": "4.0.1", 124 | "from": "get-stdin@>=4.0.1 <5.0.0", 125 | "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz" 126 | }, 127 | "minimist": { 128 | "version": "1.1.1", 129 | "from": "minimist@>=1.1.0 <2.0.0", 130 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.1.1.tgz" 131 | } 132 | } 133 | }, 134 | "estraverse": { 135 | "version": "4.1.0", 136 | "from": "estraverse@>=4.0.0 <5.0.0", 137 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.1.0.tgz" 138 | }, 139 | "esutils": { 140 | "version": "2.0.2", 141 | "from": "esutils@>=2.0.0 <3.0.0", 142 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz" 143 | }, 144 | "globals": { 145 | "version": "6.4.1", 146 | "from": "globals@>=6.4.0 <7.0.0", 147 | "resolved": "https://registry.npmjs.org/globals/-/globals-6.4.1.tgz" 148 | }, 149 | "home-or-tmp": { 150 | "version": "1.0.0", 151 | "from": "home-or-tmp@>=1.0.0 <2.0.0", 152 | "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-1.0.0.tgz", 153 | "dependencies": { 154 | "os-tmpdir": { 155 | "version": "1.0.1", 156 | "from": "os-tmpdir@>=1.0.1 <2.0.0", 157 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz" 158 | }, 159 | "user-home": { 160 | "version": "1.1.1", 161 | "from": "user-home@>=1.1.1 <2.0.0", 162 | "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz" 163 | } 164 | } 165 | }, 166 | "is-integer": { 167 | "version": "1.0.4", 168 | "from": "is-integer@>=1.0.4 <2.0.0", 169 | "resolved": "https://registry.npmjs.org/is-integer/-/is-integer-1.0.4.tgz", 170 | "dependencies": { 171 | "is-finite": { 172 | "version": "1.0.1", 173 | "from": "is-finite@>=1.0.0 <2.0.0", 174 | "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.1.tgz", 175 | "dependencies": { 176 | "number-is-nan": { 177 | "version": "1.0.0", 178 | "from": "number-is-nan@>=1.0.0 <2.0.0", 179 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz" 180 | } 181 | } 182 | }, 183 | "is-nan": { 184 | "version": "1.1.0", 185 | "from": "is-nan@>=1.0.1 <2.0.0", 186 | "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.1.0.tgz", 187 | "dependencies": { 188 | "define-properties": { 189 | "version": "1.1.0", 190 | "from": "define-properties@>=1.0.2 <2.0.0", 191 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.0.tgz", 192 | "dependencies": { 193 | "foreach": { 194 | "version": "2.0.5", 195 | "from": "foreach@>=2.0.5 <3.0.0", 196 | "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz" 197 | }, 198 | "object-keys": { 199 | "version": "1.0.7", 200 | "from": "object-keys@>=1.0.4 <2.0.0", 201 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.7.tgz" 202 | } 203 | } 204 | } 205 | } 206 | } 207 | } 208 | }, 209 | "js-tokens": { 210 | "version": "1.0.1", 211 | "from": "js-tokens@1.0.1", 212 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.1.tgz" 213 | }, 214 | "line-numbers": { 215 | "version": "0.2.0", 216 | "from": "line-numbers@0.2.0", 217 | "resolved": "https://registry.npmjs.org/line-numbers/-/line-numbers-0.2.0.tgz", 218 | "dependencies": { 219 | "left-pad": { 220 | "version": "0.0.3", 221 | "from": "left-pad@0.0.3", 222 | "resolved": "https://registry.npmjs.org/left-pad/-/left-pad-0.0.3.tgz" 223 | } 224 | } 225 | }, 226 | "minimatch": { 227 | "version": "2.0.9", 228 | "from": "minimatch@>=2.0.3 <3.0.0", 229 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.9.tgz", 230 | "dependencies": { 231 | "brace-expansion": { 232 | "version": "1.1.0", 233 | "from": "brace-expansion@>=1.0.0 <2.0.0", 234 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.0.tgz", 235 | "dependencies": { 236 | "balanced-match": { 237 | "version": "0.2.0", 238 | "from": "balanced-match@>=0.2.0 <0.3.0", 239 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz" 240 | }, 241 | "concat-map": { 242 | "version": "0.0.1", 243 | "from": "concat-map@0.0.1", 244 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" 245 | } 246 | } 247 | } 248 | } 249 | }, 250 | "path-exists": { 251 | "version": "1.0.0", 252 | "from": "path-exists@>=1.0.0 <2.0.0", 253 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-1.0.0.tgz" 254 | }, 255 | "private": { 256 | "version": "0.1.6", 257 | "from": "private@>=0.1.6 <0.2.0", 258 | "resolved": "https://registry.npmjs.org/private/-/private-0.1.6.tgz" 259 | }, 260 | "regenerator": { 261 | "version": "0.8.34", 262 | "from": "regenerator@0.8.34", 263 | "resolved": "https://registry.npmjs.org/regenerator/-/regenerator-0.8.34.tgz", 264 | "dependencies": { 265 | "commoner": { 266 | "version": "0.10.3", 267 | "from": "commoner@>=0.10.0 <0.11.0", 268 | "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.3.tgz", 269 | "dependencies": { 270 | "q": { 271 | "version": "1.1.2", 272 | "from": "q@>=1.1.2 <1.2.0", 273 | "resolved": "https://registry.npmjs.org/q/-/q-1.1.2.tgz" 274 | }, 275 | "commander": { 276 | "version": "2.5.1", 277 | "from": "commander@>=2.5.0 <2.6.0", 278 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.5.1.tgz" 279 | }, 280 | "glob": { 281 | "version": "4.2.2", 282 | "from": "glob@>=4.2.1 <4.3.0", 283 | "resolved": "https://registry.npmjs.org/glob/-/glob-4.2.2.tgz", 284 | "dependencies": { 285 | "inflight": { 286 | "version": "1.0.4", 287 | "from": "inflight@>=1.0.4 <2.0.0", 288 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz", 289 | "dependencies": { 290 | "wrappy": { 291 | "version": "1.0.1", 292 | "from": "wrappy@>=1.0.0 <2.0.0", 293 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz" 294 | } 295 | } 296 | }, 297 | "inherits": { 298 | "version": "2.0.1", 299 | "from": "inherits@>=2.0.0 <3.0.0", 300 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" 301 | }, 302 | "minimatch": { 303 | "version": "1.0.0", 304 | "from": "minimatch@>=1.0.0 <2.0.0", 305 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz", 306 | "dependencies": { 307 | "lru-cache": { 308 | "version": "2.6.5", 309 | "from": "lru-cache@>=2.0.0 <3.0.0", 310 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.5.tgz" 311 | }, 312 | "sigmund": { 313 | "version": "1.0.1", 314 | "from": "sigmund@>=1.0.0 <1.1.0", 315 | "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz" 316 | } 317 | } 318 | }, 319 | "once": { 320 | "version": "1.3.2", 321 | "from": "once@>=1.3.0 <2.0.0", 322 | "resolved": "https://registry.npmjs.org/once/-/once-1.3.2.tgz", 323 | "dependencies": { 324 | "wrappy": { 325 | "version": "1.0.1", 326 | "from": "wrappy@>=1.0.0 <2.0.0", 327 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz" 328 | } 329 | } 330 | } 331 | } 332 | }, 333 | "mkdirp": { 334 | "version": "0.5.1", 335 | "from": "mkdirp@>=0.5.0 <0.6.0", 336 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 337 | "dependencies": { 338 | "minimist": { 339 | "version": "0.0.8", 340 | "from": "minimist@0.0.8", 341 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" 342 | } 343 | } 344 | }, 345 | "install": { 346 | "version": "0.1.8", 347 | "from": "install@>=0.1.7 <0.2.0", 348 | "resolved": "https://registry.npmjs.org/install/-/install-0.1.8.tgz" 349 | }, 350 | "iconv-lite": { 351 | "version": "0.4.11", 352 | "from": "iconv-lite@>=0.4.5 <0.5.0", 353 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.11.tgz" 354 | } 355 | } 356 | }, 357 | "defs": { 358 | "version": "1.1.0", 359 | "from": "defs@>=1.1.0 <1.2.0", 360 | "resolved": "https://registry.npmjs.org/defs/-/defs-1.1.0.tgz", 361 | "dependencies": { 362 | "alter": { 363 | "version": "0.2.0", 364 | "from": "alter@>=0.2.0 <0.3.0", 365 | "resolved": "https://registry.npmjs.org/alter/-/alter-0.2.0.tgz", 366 | "dependencies": { 367 | "stable": { 368 | "version": "0.1.5", 369 | "from": "stable@>=0.1.3 <0.2.0", 370 | "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.5.tgz" 371 | } 372 | } 373 | }, 374 | "ast-traverse": { 375 | "version": "0.1.1", 376 | "from": "ast-traverse@>=0.1.1 <0.2.0", 377 | "resolved": "https://registry.npmjs.org/ast-traverse/-/ast-traverse-0.1.1.tgz" 378 | }, 379 | "breakable": { 380 | "version": "1.0.0", 381 | "from": "breakable@>=1.0.0 <1.1.0", 382 | "resolved": "https://registry.npmjs.org/breakable/-/breakable-1.0.0.tgz" 383 | }, 384 | "esprima-fb": { 385 | "version": "8001.1001.0-dev-harmony-fb", 386 | "from": "esprima-fb@>=8001.1001.0-dev-harmony-fb <8001.1002.0", 387 | "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-8001.1001.0-dev-harmony-fb.tgz" 388 | }, 389 | "simple-fmt": { 390 | "version": "0.1.0", 391 | "from": "simple-fmt@>=0.1.0 <0.2.0", 392 | "resolved": "https://registry.npmjs.org/simple-fmt/-/simple-fmt-0.1.0.tgz" 393 | }, 394 | "simple-is": { 395 | "version": "0.2.0", 396 | "from": "simple-is@>=0.2.0 <0.3.0", 397 | "resolved": "https://registry.npmjs.org/simple-is/-/simple-is-0.2.0.tgz" 398 | }, 399 | "stringmap": { 400 | "version": "0.2.2", 401 | "from": "stringmap@>=0.2.2 <0.3.0", 402 | "resolved": "https://registry.npmjs.org/stringmap/-/stringmap-0.2.2.tgz" 403 | }, 404 | "stringset": { 405 | "version": "0.2.1", 406 | "from": "stringset@>=0.2.1 <0.3.0", 407 | "resolved": "https://registry.npmjs.org/stringset/-/stringset-0.2.1.tgz" 408 | }, 409 | "tryor": { 410 | "version": "0.1.2", 411 | "from": "tryor@>=0.1.2 <0.2.0", 412 | "resolved": "https://registry.npmjs.org/tryor/-/tryor-0.1.2.tgz" 413 | } 414 | } 415 | }, 416 | "esprima-fb": { 417 | "version": "13001.1.0-dev-harmony-fb", 418 | "from": "esprima-fb@>=13001.1.0-dev-harmony-fb <13001.2.0", 419 | "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-13001.1.0-dev-harmony-fb.tgz" 420 | }, 421 | "recast": { 422 | "version": "0.10.18", 423 | "from": "recast@0.10.18", 424 | "resolved": "https://registry.npmjs.org/recast/-/recast-0.10.18.tgz", 425 | "dependencies": { 426 | "esprima-fb": { 427 | "version": "14001.1.0-dev-harmony-fb", 428 | "from": "esprima-fb@>=14001.1.0-dev-harmony-fb <14001.2.0", 429 | "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-14001.1.0-dev-harmony-fb.tgz" 430 | }, 431 | "ast-types": { 432 | "version": "0.8.2", 433 | "from": "ast-types@0.8.2", 434 | "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.8.2.tgz" 435 | } 436 | } 437 | }, 438 | "through": { 439 | "version": "2.3.8", 440 | "from": "through@>=2.3.6 <2.4.0", 441 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz" 442 | } 443 | } 444 | }, 445 | "regexpu": { 446 | "version": "1.2.0", 447 | "from": "regexpu@>=1.1.2 <2.0.0", 448 | "resolved": "https://registry.npmjs.org/regexpu/-/regexpu-1.2.0.tgz", 449 | "dependencies": { 450 | "recast": { 451 | "version": "0.10.21", 452 | "from": "recast@>=0.10.6 <0.11.0", 453 | "resolved": "https://registry.npmjs.org/recast/-/recast-0.10.21.tgz", 454 | "dependencies": { 455 | "esprima-fb": { 456 | "version": "15001.1.0-dev-harmony-fb", 457 | "from": "esprima-fb@>=15001.1.0-dev-harmony-fb <15001.2.0", 458 | "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1.0-dev-harmony-fb.tgz" 459 | }, 460 | "ast-types": { 461 | "version": "0.8.3", 462 | "from": "ast-types@0.8.3", 463 | "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.8.3.tgz" 464 | } 465 | } 466 | }, 467 | "regenerate": { 468 | "version": "1.2.1", 469 | "from": "regenerate@>=1.2.1 <2.0.0", 470 | "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.2.1.tgz" 471 | }, 472 | "regjsgen": { 473 | "version": "0.2.0", 474 | "from": "regjsgen@>=0.2.0 <0.3.0", 475 | "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz" 476 | }, 477 | "regjsparser": { 478 | "version": "0.1.4", 479 | "from": "regjsparser@>=0.1.4 <0.2.0", 480 | "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.4.tgz", 481 | "dependencies": { 482 | "jsesc": { 483 | "version": "0.5.0", 484 | "from": "jsesc@>=0.5.0 <0.6.0", 485 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" 486 | } 487 | } 488 | } 489 | } 490 | }, 491 | "repeating": { 492 | "version": "1.1.3", 493 | "from": "repeating@>=1.1.2 <2.0.0", 494 | "resolved": "https://registry.npmjs.org/repeating/-/repeating-1.1.3.tgz", 495 | "dependencies": { 496 | "is-finite": { 497 | "version": "1.0.1", 498 | "from": "is-finite@>=1.0.0 <2.0.0", 499 | "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.1.tgz", 500 | "dependencies": { 501 | "number-is-nan": { 502 | "version": "1.0.0", 503 | "from": "number-is-nan@>=1.0.0 <2.0.0", 504 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz" 505 | } 506 | } 507 | } 508 | } 509 | }, 510 | "resolve": { 511 | "version": "1.1.6", 512 | "from": "resolve@>=1.1.6 <2.0.0", 513 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.6.tgz" 514 | }, 515 | "shebang-regex": { 516 | "version": "1.0.0", 517 | "from": "shebang-regex@>=1.0.0 <2.0.0", 518 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" 519 | }, 520 | "source-map-support": { 521 | "version": "0.2.10", 522 | "from": "source-map-support@>=0.2.10 <0.3.0", 523 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.2.10.tgz", 524 | "dependencies": { 525 | "source-map": { 526 | "version": "0.1.32", 527 | "from": "source-map@0.1.32", 528 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz", 529 | "dependencies": { 530 | "amdefine": { 531 | "version": "1.0.0", 532 | "from": "amdefine@>=0.0.4", 533 | "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz" 534 | } 535 | } 536 | } 537 | } 538 | }, 539 | "strip-json-comments": { 540 | "version": "1.0.2", 541 | "from": "strip-json-comments@>=1.0.2 <2.0.0", 542 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.2.tgz" 543 | }, 544 | "to-fast-properties": { 545 | "version": "1.0.1", 546 | "from": "to-fast-properties@>=1.0.0 <2.0.0", 547 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.1.tgz" 548 | }, 549 | "trim-right": { 550 | "version": "1.0.1", 551 | "from": "trim-right@>=1.0.0 <2.0.0", 552 | "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz" 553 | } 554 | } 555 | }, 556 | "chokidar": { 557 | "version": "1.0.5", 558 | "from": "chokidar@>=1.0.0 <2.0.0", 559 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.0.5.tgz", 560 | "dependencies": { 561 | "anymatch": { 562 | "version": "1.3.0", 563 | "from": "anymatch@>=1.1.0 <2.0.0", 564 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz", 565 | "dependencies": { 566 | "micromatch": { 567 | "version": "2.1.6", 568 | "from": "micromatch@>=2.1.5 <3.0.0", 569 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.1.6.tgz", 570 | "dependencies": { 571 | "arr-diff": { 572 | "version": "1.0.1", 573 | "from": "arr-diff@>=1.0.1 <2.0.0", 574 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.0.1.tgz", 575 | "dependencies": { 576 | "array-slice": { 577 | "version": "0.2.3", 578 | "from": "array-slice@>=0.2.2 <0.3.0", 579 | "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz" 580 | } 581 | } 582 | }, 583 | "braces": { 584 | "version": "1.8.0", 585 | "from": "braces@>=1.8.0 <2.0.0", 586 | "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.0.tgz", 587 | "dependencies": { 588 | "expand-range": { 589 | "version": "1.8.1", 590 | "from": "expand-range@>=1.8.1 <2.0.0", 591 | "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.1.tgz", 592 | "dependencies": { 593 | "fill-range": { 594 | "version": "2.2.2", 595 | "from": "fill-range@>=2.1.0 <3.0.0", 596 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.2.tgz", 597 | "dependencies": { 598 | "is-number": { 599 | "version": "1.1.2", 600 | "from": "is-number@>=1.1.2 <2.0.0", 601 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-1.1.2.tgz" 602 | }, 603 | "isobject": { 604 | "version": "1.0.2", 605 | "from": "isobject@>=1.0.0 <2.0.0", 606 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-1.0.2.tgz" 607 | }, 608 | "randomatic": { 609 | "version": "1.1.0", 610 | "from": "randomatic@>=1.1.0 <2.0.0", 611 | "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.0.tgz" 612 | }, 613 | "repeat-string": { 614 | "version": "1.5.2", 615 | "from": "repeat-string@>=1.5.2 <2.0.0", 616 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.5.2.tgz" 617 | } 618 | } 619 | } 620 | } 621 | }, 622 | "preserve": { 623 | "version": "0.2.0", 624 | "from": "preserve@>=0.2.0 <0.3.0", 625 | "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz" 626 | }, 627 | "repeat-element": { 628 | "version": "1.1.2", 629 | "from": "repeat-element@>=1.1.0 <2.0.0", 630 | "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz" 631 | } 632 | } 633 | }, 634 | "expand-brackets": { 635 | "version": "0.1.1", 636 | "from": "expand-brackets@>=0.1.1 <0.2.0", 637 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.1.tgz" 638 | }, 639 | "filename-regex": { 640 | "version": "2.0.0", 641 | "from": "filename-regex@>=2.0.0 <3.0.0", 642 | "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.0.tgz" 643 | }, 644 | "kind-of": { 645 | "version": "1.1.0", 646 | "from": "kind-of@>=1.1.0 <2.0.0", 647 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz" 648 | }, 649 | "object.omit": { 650 | "version": "0.2.1", 651 | "from": "object.omit@>=0.2.1 <0.3.0", 652 | "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-0.2.1.tgz", 653 | "dependencies": { 654 | "for-own": { 655 | "version": "0.1.3", 656 | "from": "for-own@>=0.1.1 <0.2.0", 657 | "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.3.tgz", 658 | "dependencies": { 659 | "for-in": { 660 | "version": "0.1.4", 661 | "from": "for-in@>=0.1.4 <0.2.0", 662 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.4.tgz" 663 | } 664 | } 665 | }, 666 | "isobject": { 667 | "version": "0.2.0", 668 | "from": "isobject@>=0.2.0 <0.3.0", 669 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-0.2.0.tgz" 670 | } 671 | } 672 | }, 673 | "parse-glob": { 674 | "version": "3.0.2", 675 | "from": "parse-glob@>=3.0.0 <4.0.0", 676 | "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.2.tgz", 677 | "dependencies": { 678 | "glob-base": { 679 | "version": "0.2.0", 680 | "from": "glob-base@>=0.2.0 <0.3.0", 681 | "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.2.0.tgz" 682 | }, 683 | "is-dotfile": { 684 | "version": "1.0.1", 685 | "from": "is-dotfile@>=1.0.0 <2.0.0", 686 | "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.1.tgz" 687 | }, 688 | "is-extglob": { 689 | "version": "1.0.0", 690 | "from": "is-extglob@>=1.0.0 <2.0.0", 691 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz" 692 | } 693 | } 694 | }, 695 | "regex-cache": { 696 | "version": "0.4.2", 697 | "from": "regex-cache@>=0.4.0 <0.5.0", 698 | "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.2.tgz", 699 | "dependencies": { 700 | "is-equal-shallow": { 701 | "version": "0.1.3", 702 | "from": "is-equal-shallow@>=0.1.1 <0.2.0", 703 | "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz" 704 | }, 705 | "is-primitive": { 706 | "version": "2.0.0", 707 | "from": "is-primitive@>=2.0.0 <3.0.0", 708 | "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz" 709 | } 710 | } 711 | } 712 | } 713 | } 714 | } 715 | }, 716 | "arrify": { 717 | "version": "1.0.0", 718 | "from": "arrify@>=1.0.0 <2.0.0", 719 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.0.tgz" 720 | }, 721 | "async-each": { 722 | "version": "0.1.6", 723 | "from": "async-each@>=0.1.5 <0.2.0", 724 | "resolved": "https://registry.npmjs.org/async-each/-/async-each-0.1.6.tgz" 725 | }, 726 | "glob-parent": { 727 | "version": "1.2.0", 728 | "from": "glob-parent@>=1.0.0 <2.0.0", 729 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-1.2.0.tgz" 730 | }, 731 | "is-binary-path": { 732 | "version": "1.0.1", 733 | "from": "is-binary-path@>=1.0.0 <2.0.0", 734 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", 735 | "dependencies": { 736 | "binary-extensions": { 737 | "version": "1.3.1", 738 | "from": "binary-extensions@>=1.0.0 <2.0.0", 739 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.3.1.tgz" 740 | } 741 | } 742 | }, 743 | "is-glob": { 744 | "version": "1.1.3", 745 | "from": "is-glob@>=1.1.3 <2.0.0", 746 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-1.1.3.tgz" 747 | }, 748 | "readdirp": { 749 | "version": "1.3.0", 750 | "from": "readdirp@>=1.3.0 <2.0.0", 751 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-1.3.0.tgz", 752 | "dependencies": { 753 | "graceful-fs": { 754 | "version": "2.0.3", 755 | "from": "graceful-fs@>=2.0.0 <2.1.0", 756 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz" 757 | }, 758 | "minimatch": { 759 | "version": "0.2.14", 760 | "from": "minimatch@>=0.2.12 <0.3.0", 761 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", 762 | "dependencies": { 763 | "lru-cache": { 764 | "version": "2.6.5", 765 | "from": "lru-cache@>=2.0.0 <3.0.0", 766 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.5.tgz" 767 | }, 768 | "sigmund": { 769 | "version": "1.0.1", 770 | "from": "sigmund@>=1.0.0 <1.1.0", 771 | "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz" 772 | } 773 | } 774 | }, 775 | "readable-stream": { 776 | "version": "1.0.33", 777 | "from": "readable-stream@>=1.0.26-2 <1.1.0", 778 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz", 779 | "dependencies": { 780 | "core-util-is": { 781 | "version": "1.0.1", 782 | "from": "core-util-is@>=1.0.0 <1.1.0", 783 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz" 784 | }, 785 | "isarray": { 786 | "version": "0.0.1", 787 | "from": "isarray@0.0.1", 788 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" 789 | }, 790 | "string_decoder": { 791 | "version": "0.10.31", 792 | "from": "string_decoder@>=0.10.0 <0.11.0", 793 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" 794 | }, 795 | "inherits": { 796 | "version": "2.0.1", 797 | "from": "inherits@>=2.0.1 <2.1.0", 798 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" 799 | } 800 | } 801 | } 802 | } 803 | } 804 | } 805 | }, 806 | "commander": { 807 | "version": "2.8.1", 808 | "from": "commander@>=2.6.0 <3.0.0", 809 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", 810 | "dependencies": { 811 | "graceful-readlink": { 812 | "version": "1.0.1", 813 | "from": "graceful-readlink@>=1.0.0", 814 | "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" 815 | } 816 | } 817 | }, 818 | "convert-source-map": { 819 | "version": "1.1.1", 820 | "from": "convert-source-map@>=1.1.0 <2.0.0", 821 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.1.tgz" 822 | }, 823 | "fs-readdir-recursive": { 824 | "version": "0.1.2", 825 | "from": "fs-readdir-recursive@>=0.1.0 <0.2.0", 826 | "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-0.1.2.tgz" 827 | }, 828 | "glob": { 829 | "version": "5.0.14", 830 | "from": "glob@>=5.0.5 <6.0.0", 831 | "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.14.tgz", 832 | "dependencies": { 833 | "inflight": { 834 | "version": "1.0.4", 835 | "from": "inflight@>=1.0.4 <2.0.0", 836 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz", 837 | "dependencies": { 838 | "wrappy": { 839 | "version": "1.0.1", 840 | "from": "wrappy@>=1.0.0 <2.0.0", 841 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz" 842 | } 843 | } 844 | }, 845 | "inherits": { 846 | "version": "2.0.1", 847 | "from": "inherits@>=2.0.0 <3.0.0", 848 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" 849 | }, 850 | "minimatch": { 851 | "version": "2.0.9", 852 | "from": "minimatch@>=2.0.1 <3.0.0", 853 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.9.tgz", 854 | "dependencies": { 855 | "brace-expansion": { 856 | "version": "1.1.0", 857 | "from": "brace-expansion@>=1.0.0 <2.0.0", 858 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.0.tgz", 859 | "dependencies": { 860 | "balanced-match": { 861 | "version": "0.2.0", 862 | "from": "balanced-match@>=0.2.0 <0.3.0", 863 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz" 864 | }, 865 | "concat-map": { 866 | "version": "0.0.1", 867 | "from": "concat-map@0.0.1", 868 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" 869 | } 870 | } 871 | } 872 | } 873 | }, 874 | "once": { 875 | "version": "1.3.2", 876 | "from": "once@>=1.3.0 <2.0.0", 877 | "resolved": "https://registry.npmjs.org/once/-/once-1.3.2.tgz", 878 | "dependencies": { 879 | "wrappy": { 880 | "version": "1.0.1", 881 | "from": "wrappy@>=1.0.0 <2.0.0", 882 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz" 883 | } 884 | } 885 | } 886 | } 887 | }, 888 | "lodash": { 889 | "version": "3.10.0", 890 | "from": "lodash@>=3.2.0 <4.0.0", 891 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.0.tgz" 892 | }, 893 | "output-file-sync": { 894 | "version": "1.1.1", 895 | "from": "output-file-sync@>=1.1.0 <2.0.0", 896 | "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.1.tgz", 897 | "dependencies": { 898 | "mkdirp": { 899 | "version": "0.5.1", 900 | "from": "mkdirp@>=0.5.1 <0.6.0", 901 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 902 | "dependencies": { 903 | "minimist": { 904 | "version": "0.0.8", 905 | "from": "minimist@0.0.8", 906 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" 907 | } 908 | } 909 | }, 910 | "xtend": { 911 | "version": "4.0.0", 912 | "from": "xtend@>=4.0.0 <5.0.0", 913 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.0.tgz" 914 | } 915 | } 916 | }, 917 | "path-is-absolute": { 918 | "version": "1.0.0", 919 | "from": "path-is-absolute@>=1.0.0 <2.0.0", 920 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz" 921 | }, 922 | "source-map": { 923 | "version": "0.4.4", 924 | "from": "source-map@>=0.4.0 <0.5.0", 925 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", 926 | "dependencies": { 927 | "amdefine": { 928 | "version": "1.0.0", 929 | "from": "amdefine@>=0.0.4", 930 | "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz" 931 | } 932 | } 933 | }, 934 | "slash": { 935 | "version": "1.0.0", 936 | "from": "slash@>=1.0.0 <2.0.0", 937 | "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz" 938 | } 939 | } 940 | }, 941 | "bluebird": { 942 | "version": "2.9.34", 943 | "from": "bluebird@>=2.9.21 <3.0.0", 944 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.9.34.tgz" 945 | }, 946 | "chalk": { 947 | "version": "1.1.0", 948 | "from": "chalk@>=1.0.0 <2.0.0", 949 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.0.tgz", 950 | "dependencies": { 951 | "ansi-styles": { 952 | "version": "2.1.0", 953 | "from": "ansi-styles@>=2.1.0 <3.0.0", 954 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.1.0.tgz" 955 | }, 956 | "escape-string-regexp": { 957 | "version": "1.0.3", 958 | "from": "escape-string-regexp@>=1.0.2 <2.0.0", 959 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz" 960 | }, 961 | "has-ansi": { 962 | "version": "2.0.0", 963 | "from": "has-ansi@>=2.0.0 <3.0.0", 964 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", 965 | "dependencies": { 966 | "ansi-regex": { 967 | "version": "2.0.0", 968 | "from": "ansi-regex@>=2.0.0 <3.0.0", 969 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" 970 | } 971 | } 972 | }, 973 | "strip-ansi": { 974 | "version": "3.0.0", 975 | "from": "strip-ansi@>=3.0.0 <4.0.0", 976 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.0.tgz", 977 | "dependencies": { 978 | "ansi-regex": { 979 | "version": "2.0.0", 980 | "from": "ansi-regex@>=2.0.0 <3.0.0", 981 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" 982 | } 983 | } 984 | }, 985 | "supports-color": { 986 | "version": "2.0.0", 987 | "from": "supports-color@>=2.0.0 <3.0.0", 988 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" 989 | } 990 | } 991 | }, 992 | "connect": { 993 | "version": "2.8.3", 994 | "from": "connect@2.8.3", 995 | "resolved": "https://registry.npmjs.org/connect/-/connect-2.8.3.tgz", 996 | "dependencies": { 997 | "qs": { 998 | "version": "0.6.5", 999 | "from": "qs@0.6.5", 1000 | "resolved": "https://registry.npmjs.org/qs/-/qs-0.6.5.tgz" 1001 | }, 1002 | "formidable": { 1003 | "version": "1.0.14", 1004 | "from": "formidable@1.0.14", 1005 | "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz" 1006 | }, 1007 | "cookie-signature": { 1008 | "version": "1.0.1", 1009 | "from": "cookie-signature@1.0.1", 1010 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz" 1011 | }, 1012 | "buffer-crc32": { 1013 | "version": "0.2.1", 1014 | "from": "buffer-crc32@0.2.1", 1015 | "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz" 1016 | }, 1017 | "cookie": { 1018 | "version": "0.1.0", 1019 | "from": "cookie@0.1.0", 1020 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz" 1021 | }, 1022 | "send": { 1023 | "version": "0.1.2", 1024 | "from": "send@0.1.2", 1025 | "resolved": "https://registry.npmjs.org/send/-/send-0.1.2.tgz", 1026 | "dependencies": { 1027 | "mime": { 1028 | "version": "1.2.11", 1029 | "from": "mime@>=1.2.9 <1.3.0", 1030 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz" 1031 | }, 1032 | "range-parser": { 1033 | "version": "0.0.4", 1034 | "from": "range-parser@0.0.4", 1035 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz" 1036 | } 1037 | } 1038 | }, 1039 | "bytes": { 1040 | "version": "0.2.0", 1041 | "from": "bytes@0.2.0", 1042 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz" 1043 | }, 1044 | "fresh": { 1045 | "version": "0.1.0", 1046 | "from": "fresh@0.1.0", 1047 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz" 1048 | }, 1049 | "pause": { 1050 | "version": "0.0.1", 1051 | "from": "pause@0.0.1", 1052 | "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz" 1053 | }, 1054 | "uid2": { 1055 | "version": "0.0.2", 1056 | "from": "uid2@0.0.2", 1057 | "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.2.tgz" 1058 | }, 1059 | "methods": { 1060 | "version": "0.0.1", 1061 | "from": "methods@0.0.1", 1062 | "resolved": "https://registry.npmjs.org/methods/-/methods-0.0.1.tgz" 1063 | } 1064 | } 1065 | }, 1066 | "debug": { 1067 | "version": "2.1.3", 1068 | "from": "debug@>=2.1.0 <2.2.0", 1069 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.1.3.tgz", 1070 | "dependencies": { 1071 | "ms": { 1072 | "version": "0.7.0", 1073 | "from": "ms@0.7.0", 1074 | "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.0.tgz" 1075 | } 1076 | } 1077 | }, 1078 | "graceful-fs": { 1079 | "version": "3.0.8", 1080 | "from": "graceful-fs@>=3.0.6 <4.0.0", 1081 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.8.tgz" 1082 | }, 1083 | "image-size": { 1084 | "version": "0.3.5", 1085 | "from": "image-size@0.3.5", 1086 | "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.3.5.tgz" 1087 | }, 1088 | "joi": { 1089 | "version": "5.1.0", 1090 | "from": "joi@>=5.1.0 <5.2.0", 1091 | "resolved": "https://registry.npmjs.org/joi/-/joi-5.1.0.tgz", 1092 | "dependencies": { 1093 | "hoek": { 1094 | "version": "2.14.0", 1095 | "from": "hoek@>=2.2.0 <3.0.0", 1096 | "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.14.0.tgz" 1097 | }, 1098 | "topo": { 1099 | "version": "1.0.2", 1100 | "from": "topo@>=1.0.0 <2.0.0", 1101 | "resolved": "https://registry.npmjs.org/topo/-/topo-1.0.2.tgz" 1102 | }, 1103 | "isemail": { 1104 | "version": "1.1.1", 1105 | "from": "isemail@>=1.0.0 <2.0.0", 1106 | "resolved": "https://registry.npmjs.org/isemail/-/isemail-1.1.1.tgz" 1107 | }, 1108 | "moment": { 1109 | "version": "2.10.3", 1110 | "from": "moment@>=2.0.0 <3.0.0", 1111 | "resolved": "https://registry.npmjs.org/moment/-/moment-2.10.3.tgz" 1112 | } 1113 | } 1114 | }, 1115 | "jstransform": { 1116 | "version": "11.0.1", 1117 | "from": "jstransform@11.0.1", 1118 | "resolved": "https://registry.npmjs.org/jstransform/-/jstransform-11.0.1.tgz", 1119 | "dependencies": { 1120 | "base62": { 1121 | "version": "1.1.0", 1122 | "from": "base62@>=1.1.0 <2.0.0", 1123 | "resolved": "https://registry.npmjs.org/base62/-/base62-1.1.0.tgz" 1124 | }, 1125 | "commoner": { 1126 | "version": "0.10.3", 1127 | "from": "commoner@>=0.10.1 <0.11.0", 1128 | "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.3.tgz", 1129 | "dependencies": { 1130 | "q": { 1131 | "version": "1.1.2", 1132 | "from": "q@>=1.1.2 <1.2.0", 1133 | "resolved": "https://registry.npmjs.org/q/-/q-1.1.2.tgz" 1134 | }, 1135 | "recast": { 1136 | "version": "0.10.21", 1137 | "from": "recast@>=0.10.0 <0.11.0", 1138 | "resolved": "https://registry.npmjs.org/recast/-/recast-0.10.21.tgz", 1139 | "dependencies": { 1140 | "ast-types": { 1141 | "version": "0.8.3", 1142 | "from": "ast-types@0.8.3", 1143 | "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.8.3.tgz" 1144 | } 1145 | } 1146 | }, 1147 | "commander": { 1148 | "version": "2.5.1", 1149 | "from": "commander@>=2.5.0 <2.6.0", 1150 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.5.1.tgz" 1151 | }, 1152 | "glob": { 1153 | "version": "4.2.2", 1154 | "from": "glob@>=4.2.1 <4.3.0", 1155 | "resolved": "https://registry.npmjs.org/glob/-/glob-4.2.2.tgz", 1156 | "dependencies": { 1157 | "inflight": { 1158 | "version": "1.0.4", 1159 | "from": "inflight@>=1.0.4 <2.0.0", 1160 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz", 1161 | "dependencies": { 1162 | "wrappy": { 1163 | "version": "1.0.1", 1164 | "from": "wrappy@>=1.0.0 <2.0.0", 1165 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz" 1166 | } 1167 | } 1168 | }, 1169 | "inherits": { 1170 | "version": "2.0.1", 1171 | "from": "inherits@>=2.0.0 <3.0.0", 1172 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" 1173 | }, 1174 | "minimatch": { 1175 | "version": "1.0.0", 1176 | "from": "minimatch@>=1.0.0 <2.0.0", 1177 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz", 1178 | "dependencies": { 1179 | "lru-cache": { 1180 | "version": "2.6.5", 1181 | "from": "lru-cache@>=2.0.0 <3.0.0", 1182 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.5.tgz" 1183 | }, 1184 | "sigmund": { 1185 | "version": "1.0.1", 1186 | "from": "sigmund@>=1.0.0 <1.1.0", 1187 | "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz" 1188 | } 1189 | } 1190 | }, 1191 | "once": { 1192 | "version": "1.3.2", 1193 | "from": "once@>=1.3.0 <2.0.0", 1194 | "resolved": "https://registry.npmjs.org/once/-/once-1.3.2.tgz", 1195 | "dependencies": { 1196 | "wrappy": { 1197 | "version": "1.0.1", 1198 | "from": "wrappy@>=1.0.0 <2.0.0", 1199 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz" 1200 | } 1201 | } 1202 | } 1203 | } 1204 | }, 1205 | "mkdirp": { 1206 | "version": "0.5.1", 1207 | "from": "mkdirp@>=0.5.0 <0.6.0", 1208 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 1209 | "dependencies": { 1210 | "minimist": { 1211 | "version": "0.0.8", 1212 | "from": "minimist@0.0.8", 1213 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" 1214 | } 1215 | } 1216 | }, 1217 | "private": { 1218 | "version": "0.1.6", 1219 | "from": "private@>=0.1.6 <0.2.0", 1220 | "resolved": "https://registry.npmjs.org/private/-/private-0.1.6.tgz" 1221 | }, 1222 | "install": { 1223 | "version": "0.1.8", 1224 | "from": "install@>=0.1.7 <0.2.0", 1225 | "resolved": "https://registry.npmjs.org/install/-/install-0.1.8.tgz" 1226 | }, 1227 | "iconv-lite": { 1228 | "version": "0.4.11", 1229 | "from": "iconv-lite@>=0.4.5 <0.5.0", 1230 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.11.tgz" 1231 | } 1232 | } 1233 | }, 1234 | "esprima-fb": { 1235 | "version": "15001.1.0-dev-harmony-fb", 1236 | "from": "esprima-fb@>=15001.1.0-dev-harmony-fb <15002.0.0", 1237 | "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1.0-dev-harmony-fb.tgz" 1238 | }, 1239 | "object-assign": { 1240 | "version": "2.1.1", 1241 | "from": "object-assign@>=2.0.0 <3.0.0", 1242 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz" 1243 | }, 1244 | "source-map": { 1245 | "version": "0.4.4", 1246 | "from": "source-map@>=0.4.2 <0.5.0", 1247 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", 1248 | "dependencies": { 1249 | "amdefine": { 1250 | "version": "1.0.0", 1251 | "from": "amdefine@>=0.0.4", 1252 | "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz" 1253 | } 1254 | } 1255 | } 1256 | } 1257 | }, 1258 | "module-deps": { 1259 | "version": "3.5.6", 1260 | "from": "module-deps@3.5.6", 1261 | "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-3.5.6.tgz", 1262 | "dependencies": { 1263 | "JSONStream": { 1264 | "version": "0.7.4", 1265 | "from": "JSONStream@>=0.7.1 <0.8.0", 1266 | "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-0.7.4.tgz", 1267 | "dependencies": { 1268 | "jsonparse": { 1269 | "version": "0.0.5", 1270 | "from": "jsonparse@0.0.5", 1271 | "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz" 1272 | }, 1273 | "through": { 1274 | "version": "2.3.8", 1275 | "from": "through@>=2.2.7 <3.0.0", 1276 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz" 1277 | } 1278 | } 1279 | }, 1280 | "browser-resolve": { 1281 | "version": "1.9.0", 1282 | "from": "browser-resolve@>=1.3.1 <2.0.0", 1283 | "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.9.0.tgz", 1284 | "dependencies": { 1285 | "resolve": { 1286 | "version": "1.1.6", 1287 | "from": "resolve@1.1.6", 1288 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.6.tgz" 1289 | } 1290 | } 1291 | }, 1292 | "concat-stream": { 1293 | "version": "1.4.10", 1294 | "from": "concat-stream@>=1.4.5 <1.5.0", 1295 | "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.4.10.tgz", 1296 | "dependencies": { 1297 | "typedarray": { 1298 | "version": "0.0.6", 1299 | "from": "typedarray@>=0.0.5 <0.1.0", 1300 | "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" 1301 | } 1302 | } 1303 | }, 1304 | "detective": { 1305 | "version": "3.1.0", 1306 | "from": "detective@>=3.1.0 <4.0.0", 1307 | "resolved": "https://registry.npmjs.org/detective/-/detective-3.1.0.tgz", 1308 | "dependencies": { 1309 | "escodegen": { 1310 | "version": "1.1.0", 1311 | "from": "escodegen@>=1.1.0 <1.2.0", 1312 | "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.1.0.tgz", 1313 | "dependencies": { 1314 | "esprima": { 1315 | "version": "1.0.4", 1316 | "from": "esprima@>=1.0.4 <1.1.0", 1317 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz" 1318 | }, 1319 | "estraverse": { 1320 | "version": "1.5.1", 1321 | "from": "estraverse@>=1.5.0 <1.6.0", 1322 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz" 1323 | }, 1324 | "esutils": { 1325 | "version": "1.0.0", 1326 | "from": "esutils@>=1.0.0 <1.1.0", 1327 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz" 1328 | } 1329 | } 1330 | }, 1331 | "esprima-fb": { 1332 | "version": "3001.1.0-dev-harmony-fb", 1333 | "from": "esprima-fb@3001.1.0-dev-harmony-fb", 1334 | "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz" 1335 | } 1336 | } 1337 | }, 1338 | "duplexer2": { 1339 | "version": "0.0.2", 1340 | "from": "duplexer2@0.0.2", 1341 | "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz" 1342 | }, 1343 | "inherits": { 1344 | "version": "2.0.1", 1345 | "from": "inherits@>=2.0.1 <3.0.0", 1346 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" 1347 | }, 1348 | "minimist": { 1349 | "version": "0.2.0", 1350 | "from": "minimist@>=0.2.0 <0.3.0", 1351 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.2.0.tgz" 1352 | }, 1353 | "parents": { 1354 | "version": "1.0.1", 1355 | "from": "parents@>=1.0.0 <2.0.0", 1356 | "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", 1357 | "dependencies": { 1358 | "path-platform": { 1359 | "version": "0.11.15", 1360 | "from": "path-platform@>=0.11.15 <0.12.0", 1361 | "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz" 1362 | } 1363 | } 1364 | }, 1365 | "readable-stream": { 1366 | "version": "1.1.13", 1367 | "from": "readable-stream@>=1.0.27-1 <2.0.0", 1368 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz", 1369 | "dependencies": { 1370 | "core-util-is": { 1371 | "version": "1.0.1", 1372 | "from": "core-util-is@>=1.0.0 <1.1.0", 1373 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz" 1374 | }, 1375 | "isarray": { 1376 | "version": "0.0.1", 1377 | "from": "isarray@0.0.1", 1378 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" 1379 | }, 1380 | "string_decoder": { 1381 | "version": "0.10.31", 1382 | "from": "string_decoder@>=0.10.0 <0.11.0", 1383 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" 1384 | } 1385 | } 1386 | }, 1387 | "resolve": { 1388 | "version": "0.7.4", 1389 | "from": "resolve@>=0.7.2 <0.8.0", 1390 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.7.4.tgz" 1391 | }, 1392 | "shallow-copy": { 1393 | "version": "0.0.1", 1394 | "from": "shallow-copy@0.0.1", 1395 | "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz" 1396 | }, 1397 | "stream-combiner2": { 1398 | "version": "1.0.2", 1399 | "from": "stream-combiner2@>=1.0.0 <1.1.0", 1400 | "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.0.2.tgz", 1401 | "dependencies": { 1402 | "through2": { 1403 | "version": "0.5.1", 1404 | "from": "through2@>=0.5.1 <0.6.0", 1405 | "resolved": "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz", 1406 | "dependencies": { 1407 | "readable-stream": { 1408 | "version": "1.0.33", 1409 | "from": "readable-stream@>=1.0.17 <1.1.0", 1410 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz", 1411 | "dependencies": { 1412 | "core-util-is": { 1413 | "version": "1.0.1", 1414 | "from": "core-util-is@>=1.0.0 <1.1.0", 1415 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz" 1416 | }, 1417 | "isarray": { 1418 | "version": "0.0.1", 1419 | "from": "isarray@0.0.1", 1420 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" 1421 | }, 1422 | "string_decoder": { 1423 | "version": "0.10.31", 1424 | "from": "string_decoder@>=0.10.0 <0.11.0", 1425 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" 1426 | } 1427 | } 1428 | }, 1429 | "xtend": { 1430 | "version": "3.0.0", 1431 | "from": "xtend@>=3.0.0 <3.1.0", 1432 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz" 1433 | } 1434 | } 1435 | } 1436 | } 1437 | }, 1438 | "subarg": { 1439 | "version": "0.0.1", 1440 | "from": "subarg@0.0.1", 1441 | "resolved": "https://registry.npmjs.org/subarg/-/subarg-0.0.1.tgz", 1442 | "dependencies": { 1443 | "minimist": { 1444 | "version": "0.0.10", 1445 | "from": "minimist@>=0.0.7 <0.1.0", 1446 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz" 1447 | } 1448 | } 1449 | }, 1450 | "through2": { 1451 | "version": "0.4.2", 1452 | "from": "through2@>=0.4.1 <0.5.0", 1453 | "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", 1454 | "dependencies": { 1455 | "readable-stream": { 1456 | "version": "1.0.33", 1457 | "from": "readable-stream@>=1.0.17 <1.1.0", 1458 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.33.tgz", 1459 | "dependencies": { 1460 | "core-util-is": { 1461 | "version": "1.0.1", 1462 | "from": "core-util-is@>=1.0.0 <1.1.0", 1463 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz" 1464 | }, 1465 | "isarray": { 1466 | "version": "0.0.1", 1467 | "from": "isarray@0.0.1", 1468 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" 1469 | }, 1470 | "string_decoder": { 1471 | "version": "0.10.31", 1472 | "from": "string_decoder@>=0.10.0 <0.11.0", 1473 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" 1474 | } 1475 | } 1476 | }, 1477 | "xtend": { 1478 | "version": "2.1.2", 1479 | "from": "xtend@>=2.1.1 <2.2.0", 1480 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", 1481 | "dependencies": { 1482 | "object-keys": { 1483 | "version": "0.4.0", 1484 | "from": "object-keys@>=0.4.0 <0.5.0", 1485 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz" 1486 | } 1487 | } 1488 | } 1489 | } 1490 | } 1491 | } 1492 | }, 1493 | "optimist": { 1494 | "version": "0.6.1", 1495 | "from": "optimist@0.6.1", 1496 | "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", 1497 | "dependencies": { 1498 | "wordwrap": { 1499 | "version": "0.0.3", 1500 | "from": "wordwrap@>=0.0.2 <0.1.0", 1501 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz" 1502 | }, 1503 | "minimist": { 1504 | "version": "0.0.10", 1505 | "from": "minimist@>=0.0.1 <0.1.0", 1506 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz" 1507 | } 1508 | } 1509 | }, 1510 | "promise": { 1511 | "version": "7.0.3", 1512 | "from": "promise@>=7.0.0 <8.0.0", 1513 | "resolved": "https://registry.npmjs.org/promise/-/promise-7.0.3.tgz", 1514 | "dependencies": { 1515 | "asap": { 1516 | "version": "2.0.3", 1517 | "from": "asap@>=2.0.3 <2.1.0", 1518 | "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.3.tgz" 1519 | } 1520 | } 1521 | }, 1522 | "react-timer-mixin": { 1523 | "version": "0.13.2", 1524 | "from": "react-timer-mixin@>=0.13.1 <0.14.0", 1525 | "resolved": "https://registry.npmjs.org/react-timer-mixin/-/react-timer-mixin-0.13.2.tgz" 1526 | }, 1527 | "react-tools": { 1528 | "version": "0.13.2", 1529 | "from": "react-tools@0.13.2", 1530 | "resolved": "https://registry.npmjs.org/react-tools/-/react-tools-0.13.2.tgz", 1531 | "dependencies": { 1532 | "commoner": { 1533 | "version": "0.10.3", 1534 | "from": "commoner@>=0.10.0 <0.11.0", 1535 | "resolved": "https://registry.npmjs.org/commoner/-/commoner-0.10.3.tgz", 1536 | "dependencies": { 1537 | "q": { 1538 | "version": "1.1.2", 1539 | "from": "q@>=1.1.2 <1.2.0", 1540 | "resolved": "https://registry.npmjs.org/q/-/q-1.1.2.tgz" 1541 | }, 1542 | "recast": { 1543 | "version": "0.10.21", 1544 | "from": "recast@>=0.10.0 <0.11.0", 1545 | "resolved": "https://registry.npmjs.org/recast/-/recast-0.10.21.tgz", 1546 | "dependencies": { 1547 | "esprima-fb": { 1548 | "version": "15001.1.0-dev-harmony-fb", 1549 | "from": "esprima-fb@>=15001.1.0-dev-harmony-fb <15001.2.0", 1550 | "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1.0-dev-harmony-fb.tgz" 1551 | }, 1552 | "source-map": { 1553 | "version": "0.4.4", 1554 | "from": "source-map@>=0.4.1 <0.5.0", 1555 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", 1556 | "dependencies": { 1557 | "amdefine": { 1558 | "version": "1.0.0", 1559 | "from": "amdefine@>=0.0.4", 1560 | "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz" 1561 | } 1562 | } 1563 | }, 1564 | "ast-types": { 1565 | "version": "0.8.3", 1566 | "from": "ast-types@0.8.3", 1567 | "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.8.3.tgz" 1568 | } 1569 | } 1570 | }, 1571 | "commander": { 1572 | "version": "2.5.1", 1573 | "from": "commander@>=2.5.0 <2.6.0", 1574 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.5.1.tgz" 1575 | }, 1576 | "glob": { 1577 | "version": "4.2.2", 1578 | "from": "glob@>=4.2.1 <4.3.0", 1579 | "resolved": "https://registry.npmjs.org/glob/-/glob-4.2.2.tgz", 1580 | "dependencies": { 1581 | "inflight": { 1582 | "version": "1.0.4", 1583 | "from": "inflight@>=1.0.4 <2.0.0", 1584 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz", 1585 | "dependencies": { 1586 | "wrappy": { 1587 | "version": "1.0.1", 1588 | "from": "wrappy@>=1.0.0 <2.0.0", 1589 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz" 1590 | } 1591 | } 1592 | }, 1593 | "inherits": { 1594 | "version": "2.0.1", 1595 | "from": "inherits@>=2.0.0 <3.0.0", 1596 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" 1597 | }, 1598 | "minimatch": { 1599 | "version": "1.0.0", 1600 | "from": "minimatch@>=1.0.0 <2.0.0", 1601 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz", 1602 | "dependencies": { 1603 | "lru-cache": { 1604 | "version": "2.6.5", 1605 | "from": "lru-cache@>=2.0.0 <3.0.0", 1606 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.5.tgz" 1607 | }, 1608 | "sigmund": { 1609 | "version": "1.0.1", 1610 | "from": "sigmund@>=1.0.0 <1.1.0", 1611 | "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz" 1612 | } 1613 | } 1614 | }, 1615 | "once": { 1616 | "version": "1.3.2", 1617 | "from": "once@>=1.3.0 <2.0.0", 1618 | "resolved": "https://registry.npmjs.org/once/-/once-1.3.2.tgz", 1619 | "dependencies": { 1620 | "wrappy": { 1621 | "version": "1.0.1", 1622 | "from": "wrappy@>=1.0.0 <2.0.0", 1623 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz" 1624 | } 1625 | } 1626 | } 1627 | } 1628 | }, 1629 | "mkdirp": { 1630 | "version": "0.5.1", 1631 | "from": "mkdirp@>=0.5.0 <0.6.0", 1632 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 1633 | "dependencies": { 1634 | "minimist": { 1635 | "version": "0.0.8", 1636 | "from": "minimist@0.0.8", 1637 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" 1638 | } 1639 | } 1640 | }, 1641 | "private": { 1642 | "version": "0.1.6", 1643 | "from": "private@>=0.1.6 <0.2.0", 1644 | "resolved": "https://registry.npmjs.org/private/-/private-0.1.6.tgz" 1645 | }, 1646 | "install": { 1647 | "version": "0.1.8", 1648 | "from": "install@>=0.1.7 <0.2.0", 1649 | "resolved": "https://registry.npmjs.org/install/-/install-0.1.8.tgz" 1650 | }, 1651 | "iconv-lite": { 1652 | "version": "0.4.11", 1653 | "from": "iconv-lite@>=0.4.5 <0.5.0", 1654 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.11.tgz" 1655 | } 1656 | } 1657 | }, 1658 | "jstransform": { 1659 | "version": "10.1.0", 1660 | "from": "jstransform@>=10.1.0 <11.0.0", 1661 | "resolved": "https://registry.npmjs.org/jstransform/-/jstransform-10.1.0.tgz", 1662 | "dependencies": { 1663 | "base62": { 1664 | "version": "0.1.1", 1665 | "from": "base62@0.1.1", 1666 | "resolved": "https://registry.npmjs.org/base62/-/base62-0.1.1.tgz" 1667 | }, 1668 | "esprima-fb": { 1669 | "version": "13001.1001.0-dev-harmony-fb", 1670 | "from": "esprima-fb@13001.1001.0-dev-harmony-fb", 1671 | "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-13001.1001.0-dev-harmony-fb.tgz" 1672 | } 1673 | } 1674 | } 1675 | } 1676 | }, 1677 | "rebound": { 1678 | "version": "0.0.12", 1679 | "from": "rebound@>=0.0.12 <0.0.13", 1680 | "resolved": "https://registry.npmjs.org/rebound/-/rebound-0.0.12.tgz" 1681 | }, 1682 | "sane": { 1683 | "version": "1.1.2", 1684 | "from": "../../../../../var/folders/m0/161fm8fx069fk_fny08nrmkm0000gp/T/npm-75631-c66ea130/git-cache-0170f88df56c/a029f8b04ad0b568c09a8559e7dfd5408e2322d3", 1685 | "resolved": "git+https://github.com/tadeuzagallo/sane#a029f8b04ad0b568c09a8559e7dfd5408e2322d3", 1686 | "dependencies": { 1687 | "exec-sh": { 1688 | "version": "0.2.0", 1689 | "from": "exec-sh@>=0.2.0 <0.3.0", 1690 | "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.0.tgz", 1691 | "dependencies": { 1692 | "merge": { 1693 | "version": "1.2.0", 1694 | "from": "merge@>=1.1.3 <2.0.0", 1695 | "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.0.tgz" 1696 | } 1697 | } 1698 | }, 1699 | "fb-watchman": { 1700 | "version": "0.0.0", 1701 | "from": "fb-watchman@0.0.0", 1702 | "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-0.0.0.tgz", 1703 | "dependencies": { 1704 | "json-stream": { 1705 | "version": "0.2.2", 1706 | "from": "json-stream@0.2.2", 1707 | "resolved": "https://registry.npmjs.org/json-stream/-/json-stream-0.2.2.tgz" 1708 | }, 1709 | "nextback": { 1710 | "version": "0.1.0", 1711 | "from": "nextback@>=0.1.0 <0.2.0", 1712 | "resolved": "https://registry.npmjs.org/nextback/-/nextback-0.1.0.tgz" 1713 | } 1714 | } 1715 | }, 1716 | "minimatch": { 1717 | "version": "0.2.14", 1718 | "from": "minimatch@>=0.2.14 <0.3.0", 1719 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", 1720 | "dependencies": { 1721 | "lru-cache": { 1722 | "version": "2.6.5", 1723 | "from": "lru-cache@>=2.0.0 <3.0.0", 1724 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.5.tgz" 1725 | }, 1726 | "sigmund": { 1727 | "version": "1.0.1", 1728 | "from": "sigmund@>=1.0.0 <1.1.0", 1729 | "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz" 1730 | } 1731 | } 1732 | }, 1733 | "minimist": { 1734 | "version": "1.1.1", 1735 | "from": "minimist@>=1.1.1 <2.0.0", 1736 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.1.1.tgz" 1737 | }, 1738 | "walker": { 1739 | "version": "1.0.7", 1740 | "from": "walker@>=1.0.5 <1.1.0", 1741 | "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz", 1742 | "dependencies": { 1743 | "makeerror": { 1744 | "version": "1.0.11", 1745 | "from": "makeerror@>=1.0.0 <1.1.0", 1746 | "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz", 1747 | "dependencies": { 1748 | "tmpl": { 1749 | "version": "1.0.4", 1750 | "from": "tmpl@>=1.0.0 <1.1.0", 1751 | "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz" 1752 | } 1753 | } 1754 | } 1755 | } 1756 | }, 1757 | "watch": { 1758 | "version": "0.10.0", 1759 | "from": "watch@>=0.10.0 <0.11.0", 1760 | "resolved": "https://registry.npmjs.org/watch/-/watch-0.10.0.tgz" 1761 | } 1762 | } 1763 | }, 1764 | "source-map": { 1765 | "version": "0.1.31", 1766 | "from": "source-map@0.1.31", 1767 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.31.tgz", 1768 | "dependencies": { 1769 | "amdefine": { 1770 | "version": "1.0.0", 1771 | "from": "amdefine@>=0.0.4", 1772 | "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz" 1773 | } 1774 | } 1775 | }, 1776 | "stacktrace-parser": { 1777 | "version": "0.1.1", 1778 | "from": "../../../../../var/folders/m0/161fm8fx069fk_fny08nrmkm0000gp/T/npm-75631-c66ea130/git-cache-d216d64901ad/493c5e5638a79b4d5886171867a06275cc703b00", 1779 | "resolved": "git+https://github.com/frantic/stacktrace-parser#493c5e5638a79b4d5886171867a06275cc703b00" 1780 | }, 1781 | "uglify-js": { 1782 | "version": "2.4.23", 1783 | "from": "uglify-js@>=2.4.16 <2.5.0", 1784 | "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.23.tgz", 1785 | "dependencies": { 1786 | "async": { 1787 | "version": "0.2.10", 1788 | "from": "async@>=0.2.6 <0.3.0", 1789 | "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz" 1790 | }, 1791 | "source-map": { 1792 | "version": "0.1.34", 1793 | "from": "source-map@0.1.34", 1794 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz", 1795 | "dependencies": { 1796 | "amdefine": { 1797 | "version": "1.0.0", 1798 | "from": "amdefine@>=0.0.4", 1799 | "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz" 1800 | } 1801 | } 1802 | }, 1803 | "uglify-to-browserify": { 1804 | "version": "1.0.2", 1805 | "from": "uglify-to-browserify@>=1.0.0 <1.1.0", 1806 | "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz" 1807 | }, 1808 | "yargs": { 1809 | "version": "3.5.4", 1810 | "from": "yargs@>=3.5.4 <3.6.0", 1811 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.5.4.tgz", 1812 | "dependencies": { 1813 | "camelcase": { 1814 | "version": "1.1.0", 1815 | "from": "camelcase@>=1.0.2 <2.0.0", 1816 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.1.0.tgz" 1817 | }, 1818 | "decamelize": { 1819 | "version": "1.0.0", 1820 | "from": "decamelize@>=1.0.0 <2.0.0", 1821 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.0.0.tgz" 1822 | }, 1823 | "window-size": { 1824 | "version": "0.1.0", 1825 | "from": "window-size@0.1.0", 1826 | "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz" 1827 | }, 1828 | "wordwrap": { 1829 | "version": "0.0.2", 1830 | "from": "wordwrap@0.0.2", 1831 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" 1832 | } 1833 | } 1834 | } 1835 | } 1836 | }, 1837 | "underscore": { 1838 | "version": "1.7.0", 1839 | "from": "underscore@1.7.0", 1840 | "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz" 1841 | }, 1842 | "worker-farm": { 1843 | "version": "1.3.1", 1844 | "from": "worker-farm@>=1.3.1 <2.0.0", 1845 | "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.3.1.tgz", 1846 | "dependencies": { 1847 | "errno": { 1848 | "version": "0.1.3", 1849 | "from": "errno@>=0.1.1 <0.2.0-0", 1850 | "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.3.tgz", 1851 | "dependencies": { 1852 | "prr": { 1853 | "version": "0.0.0", 1854 | "from": "prr@>=0.0.0 <0.1.0", 1855 | "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz" 1856 | } 1857 | } 1858 | }, 1859 | "xtend": { 1860 | "version": "4.0.0", 1861 | "from": "xtend@>=4.0.0 <4.1.0-0", 1862 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.0.tgz" 1863 | } 1864 | } 1865 | }, 1866 | "ws": { 1867 | "version": "0.4.31", 1868 | "from": "ws@0.4.31", 1869 | "resolved": "https://registry.npmjs.org/ws/-/ws-0.4.31.tgz", 1870 | "dependencies": { 1871 | "commander": { 1872 | "version": "0.6.1", 1873 | "from": "commander@>=0.6.1 <0.7.0", 1874 | "resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz" 1875 | }, 1876 | "nan": { 1877 | "version": "0.3.2", 1878 | "from": "nan@>=0.3.0 <0.4.0", 1879 | "resolved": "https://registry.npmjs.org/nan/-/nan-0.3.2.tgz" 1880 | }, 1881 | "tinycolor": { 1882 | "version": "0.0.1", 1883 | "from": "tinycolor@>=0.0.0 <1.0.0", 1884 | "resolved": "https://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz" 1885 | }, 1886 | "options": { 1887 | "version": "0.0.6", 1888 | "from": "options@>=0.0.5", 1889 | "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz" 1890 | } 1891 | } 1892 | }, 1893 | "yargs": { 1894 | "version": "1.3.2", 1895 | "from": "yargs@1.3.2", 1896 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-1.3.2.tgz" 1897 | } 1898 | } 1899 | } 1900 | } 1901 | } 1902 | -------------------------------------------------------------------------------- /AwesomeProject/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "AwesomeProject", 3 | "version": "0.0.1", 4 | "private": true, 5 | "scripts": { 6 | "start": "node_modules/react-native/packager/packager.sh" 7 | }, 8 | "dependencies": { 9 | "react-native": "^0.6.0" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Eclipse Public License - v 1.0 2 | 3 | THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC 4 | LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM 5 | CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. 6 | 7 | 1. DEFINITIONS 8 | 9 | "Contribution" means: 10 | 11 | a) in the case of the initial Contributor, the initial code and documentation 12 | distributed under this Agreement, and 13 | b) in the case of each subsequent Contributor: 14 | i) changes to the Program, and 15 | ii) additions to the Program; 16 | 17 | where such changes and/or additions to the Program originate from and are 18 | distributed by that particular Contributor. A Contribution 'originates' 19 | from a Contributor if it was added to the Program by such Contributor 20 | itself or anyone acting on such Contributor's behalf. Contributions do not 21 | include additions to the Program which: (i) are separate modules of 22 | software distributed in conjunction with the Program under their own 23 | license agreement, and (ii) are not derivative works of the Program. 24 | 25 | "Contributor" means any person or entity that distributes the Program. 26 | 27 | "Licensed Patents" mean patent claims licensable by a Contributor which are 28 | necessarily infringed by the use or sale of its Contribution alone or when 29 | combined with the Program. 30 | 31 | "Program" means the Contributions distributed in accordance with this 32 | Agreement. 33 | 34 | "Recipient" means anyone who receives the Program under this Agreement, 35 | including all Contributors. 36 | 37 | 2. GRANT OF RIGHTS 38 | a) Subject to the terms of this Agreement, each Contributor hereby grants 39 | Recipient a non-exclusive, worldwide, royalty-free copyright license to 40 | reproduce, prepare derivative works of, publicly display, publicly 41 | perform, distribute and sublicense the Contribution of such Contributor, 42 | if any, and such derivative works, in source code and object code form. 43 | b) Subject to the terms of this Agreement, each Contributor hereby grants 44 | Recipient a non-exclusive, worldwide, royalty-free patent license under 45 | Licensed Patents to make, use, sell, offer to sell, import and otherwise 46 | transfer the Contribution of such Contributor, if any, in source code and 47 | object code form. This patent license shall apply to the combination of 48 | the Contribution and the Program if, at the time the Contribution is 49 | added by the Contributor, such addition of the Contribution causes such 50 | combination to be covered by the Licensed Patents. The patent license 51 | shall not apply to any other combinations which include the Contribution. 52 | No hardware per se is licensed hereunder. 53 | c) Recipient understands that although each Contributor grants the licenses 54 | to its Contributions set forth herein, no assurances are provided by any 55 | Contributor that the Program does not infringe the patent or other 56 | intellectual property rights of any other entity. Each Contributor 57 | disclaims any liability to Recipient for claims brought by any other 58 | entity based on infringement of intellectual property rights or 59 | otherwise. As a condition to exercising the rights and licenses granted 60 | hereunder, each Recipient hereby assumes sole responsibility to secure 61 | any other intellectual property rights needed, if any. For example, if a 62 | third party patent license is required to allow Recipient to distribute 63 | the Program, it is Recipient's responsibility to acquire that license 64 | before distributing the Program. 65 | d) Each Contributor represents that to its knowledge it has sufficient 66 | copyright rights in its Contribution, if any, to grant the copyright 67 | license set forth in this Agreement. 68 | 69 | 3. REQUIREMENTS 70 | 71 | A Contributor may choose to distribute the Program in object code form under 72 | its own license agreement, provided that: 73 | 74 | a) it complies with the terms and conditions of this Agreement; and 75 | b) its license agreement: 76 | i) effectively disclaims on behalf of all Contributors all warranties 77 | and conditions, express and implied, including warranties or 78 | conditions of title and non-infringement, and implied warranties or 79 | conditions of merchantability and fitness for a particular purpose; 80 | ii) effectively excludes on behalf of all Contributors all liability for 81 | damages, including direct, indirect, special, incidental and 82 | consequential damages, such as lost profits; 83 | iii) states that any provisions which differ from this Agreement are 84 | offered by that Contributor alone and not by any other party; and 85 | iv) states that source code for the Program is available from such 86 | Contributor, and informs licensees how to obtain it in a reasonable 87 | manner on or through a medium customarily used for software exchange. 88 | 89 | When the Program is made available in source code form: 90 | 91 | a) it must be made available under this Agreement; and 92 | b) a copy of this Agreement must be included with each copy of the Program. 93 | Contributors may not remove or alter any copyright notices contained 94 | within the Program. 95 | 96 | Each Contributor must identify itself as the originator of its Contribution, 97 | if 98 | any, in a manner that reasonably allows subsequent Recipients to identify the 99 | originator of the Contribution. 100 | 101 | 4. COMMERCIAL DISTRIBUTION 102 | 103 | Commercial distributors of software may accept certain responsibilities with 104 | respect to end users, business partners and the like. While this license is 105 | intended to facilitate the commercial use of the Program, the Contributor who 106 | includes the Program in a commercial product offering should do so in a manner 107 | which does not create potential liability for other Contributors. Therefore, 108 | if a Contributor includes the Program in a commercial product offering, such 109 | Contributor ("Commercial Contributor") hereby agrees to defend and indemnify 110 | every other Contributor ("Indemnified Contributor") against any losses, 111 | damages and costs (collectively "Losses") arising from claims, lawsuits and 112 | other legal actions brought by a third party against the Indemnified 113 | Contributor to the extent caused by the acts or omissions of such Commercial 114 | Contributor in connection with its distribution of the Program in a commercial 115 | product offering. The obligations in this section do not apply to any claims 116 | or Losses relating to any actual or alleged intellectual property 117 | infringement. In order to qualify, an Indemnified Contributor must: 118 | a) promptly notify the Commercial Contributor in writing of such claim, and 119 | b) allow the Commercial Contributor to control, and cooperate with the 120 | Commercial Contributor in, the defense and any related settlement 121 | negotiations. The Indemnified Contributor may participate in any such claim at 122 | its own expense. 123 | 124 | For example, a Contributor might include the Program in a commercial product 125 | offering, Product X. That Contributor is then a Commercial Contributor. If 126 | that Commercial Contributor then makes performance claims, or offers 127 | warranties related to Product X, those performance claims and warranties are 128 | such Commercial Contributor's responsibility alone. Under this section, the 129 | Commercial Contributor would have to defend claims against the other 130 | Contributors related to those performance claims and warranties, and if a 131 | court requires any other Contributor to pay any damages as a result, the 132 | Commercial Contributor must pay those damages. 133 | 134 | 5. NO WARRANTY 135 | 136 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN 137 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR 138 | IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, 139 | NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each 140 | Recipient is solely responsible for determining the appropriateness of using 141 | and distributing the Program and assumes all risks associated with its 142 | exercise of rights under this Agreement , including but not limited to the 143 | risks and costs of program errors, compliance with applicable laws, damage to 144 | or loss of data, programs or equipment, and unavailability or interruption of 145 | operations. 146 | 147 | 6. DISCLAIMER OF LIABILITY 148 | 149 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY 150 | CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, 151 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION 152 | LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 153 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 154 | ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE 155 | EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY 156 | OF SUCH DAMAGES. 157 | 158 | 7. GENERAL 159 | 160 | If any provision of this Agreement is invalid or unenforceable under 161 | applicable law, it shall not affect the validity or enforceability of the 162 | remainder of the terms of this Agreement, and without further action by the 163 | parties hereto, such provision shall be reformed to the minimum extent 164 | necessary to make such provision valid and enforceable. 165 | 166 | If Recipient institutes patent litigation against any entity (including a 167 | cross-claim or counterclaim in a lawsuit) alleging that the Program itself 168 | (excluding combinations of the Program with other software or hardware) 169 | infringes such Recipient's patent(s), then such Recipient's rights granted 170 | under Section 2(b) shall terminate as of the date such litigation is filed. 171 | 172 | All Recipient's rights under this Agreement shall terminate if it fails to 173 | comply with any of the material terms or conditions of this Agreement and does 174 | not cure such failure in a reasonable period of time after becoming aware of 175 | such noncompliance. If all Recipient's rights under this Agreement terminate, 176 | Recipient agrees to cease use and distribution of the Program as soon as 177 | reasonably practicable. However, Recipient's obligations under this Agreement 178 | and any licenses granted by Recipient relating to the Program shall continue 179 | and survive. 180 | 181 | Everyone is permitted to copy and distribute copies of this Agreement, but in 182 | order to avoid inconsistency the Agreement is copyrighted and may only be 183 | modified in the following manner. The Agreement Steward reserves the right to 184 | publish new versions (including revisions) of this Agreement from time to 185 | time. No one other than the Agreement Steward has the right to modify this 186 | Agreement. The Eclipse Foundation is the initial Agreement Steward. The 187 | Eclipse Foundation may assign the responsibility to serve as the Agreement 188 | Steward to a suitable separate entity. Each new version of the Agreement will 189 | be given a distinguishing version number. The Program (including 190 | Contributions) may always be distributed subject to the version of the 191 | Agreement under which it was received. In addition, after a new version of the 192 | Agreement is published, Contributor may elect to distribute the Program 193 | (including its Contributions) under the new version. Except as expressly 194 | stated in Sections 2(a) and 2(b) above, Recipient receives no rights or 195 | licenses to the intellectual property of any Contributor under this Agreement, 196 | whether expressly, by implication, estoppel or otherwise. All rights in the 197 | Program not expressly granted under this Agreement are reserved. 198 | 199 | This Agreement is governed by the laws of the State of New York and the 200 | intellectual property laws of the United States of America. No party to this 201 | Agreement will bring a legal action under this Agreement more than one year 202 | after the cause of action arose. Each party waives its rights to a jury trial in 203 | any resulting litigation. 204 | 205 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # reagent-react-native 2 | 3 | Demo project for Reagent with React Native and Ambly. 4 | 5 | Blog post: http://blog.fikesfarm.com/posts/2015-07-20-reagent-react-native.html 6 | 7 | Demo of it working is [here](https://youtu.be/4txql-1VXJk). 8 | 9 | # Running 10 | 11 | 1. Clone this repo 12 | 2. `cd AwesomeProject` 13 | 2. `npm install` 14 | 3. `pod install` 15 | 4. `open AwesomeProject.xcworkspace` 16 | 5. `cd ClojureScript/awesome-project/` 17 | 6. `lein cljsbuild once dev` 18 | 7. In Xcode, run app in simulator or on device 19 | 8. `script/repl` and connect to device 20 | 9. Edit `src/awesome_project/core.cljs` and watch app change 21 | --------------------------------------------------------------------------------