diff --git a/packages/happo-example-react-native-project/.happo.js b/packages/happo-example-react-native-project/.happo.js index c662320..62cc668 100644 --- a/packages/happo-example-react-native-project/.happo.js +++ b/packages/happo-example-react-native-project/.happo.js @@ -14,5 +14,8 @@ module.exports = { platformVersion: '6.0', deviceName: 'Android Emulator', }), + new ReactNativeTarget({ + platform: 'windows', + }), ], }; diff --git a/packages/happo-example-react-native-project/happo.js b/packages/happo-example-react-native-project/happo.js deleted file mode 100644 index 02fabd5..0000000 --- a/packages/happo-example-react-native-project/happo.js +++ /dev/null @@ -1,33 +0,0 @@ -import StoryManager from 'happo-target-react-native/client'; - -import React from 'react'; -import { View, Text } from 'react-native'; - -StoryManager.make('some example', () => ( - - Hello World! - -)); - - -StoryManager.make('some red example', () => ( - - Hello World! - -)); diff --git a/packages/happo-example-react-native-project/package.json b/packages/happo-example-react-native-project/package.json index bb96da4..4386c91 100644 --- a/packages/happo-example-react-native-project/package.json +++ b/packages/happo-example-react-native-project/package.json @@ -17,6 +17,6 @@ "happo-viewer": "../happo-viewer", "happo-core": "../happo-core", "happo-target-react-native": "../happo-target-react-native", - "happo-uploader-s3": "../happo-target-react-native" + "happo-uploader-s3": "../happo-uploader-s3" } } diff --git a/packages/happo-target-react-native/package.json b/packages/happo-target-react-native/package.json index ddf0229..2703e02 100644 --- a/packages/happo-target-react-native/package.json +++ b/packages/happo-target-react-native/package.json @@ -9,13 +9,16 @@ "scripts": { "build:runner:ios": "./scripts/build-runner-ios.sh", "build:runner:android": "./scripts/build-runner-android.sh", + "build:runner:windows": "./scripts/build-runner-windows.sh", "build:server": "../../node_modules/.bin/babel src -d lib --ignore __tests__", "build": "npm run build:runner:ios && npm run build:runner:android && npm run build:server", "watch": "npm run build:server -- --watch" }, "devDependencies": { "react-native": "^0.40.0", - "react-native-view-shot": "^1.5.1" + "react-native-view-shot": "^1.5.1", + "react-native-windows": "Microsoft/react-native-windows", + "rnpm-plugin-windows": "^0.2.4" }, "peerDependencies": { "react-native": "*", diff --git a/packages/happo-target-react-native/runner/windows/.gitignore b/packages/happo-target-react-native/runner/windows/.gitignore new file mode 100644 index 0000000..33d3fde --- /dev/null +++ b/packages/happo-target-react-native/runner/windows/.gitignore @@ -0,0 +1,89 @@ +*AppPackages* +*BundleArtifacts* +*ReactAssets* + +#OS junk files +[Tt]humbs.db +*.DS_Store + +#Visual Studio files +*.[Oo]bj +*.user +*.aps +*.pch +*.vspscc +*.vssscc +*_i.c +*_p.c +*.ncb +*.suo +*.tlb +*.tlh +*.bak +*.[Cc]ache +*.ilk +*.log +*.lib +*.sbr +*.sdf +*.opensdf +*.opendb +*.unsuccessfulbuild +ipch/ +[Oo]bj/ +[Bb]in +[Dd]ebug*/ +[Rr]elease*/ +Ankh.NoLoad + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +#MonoDevelop +*.pidb +*.userprefs + +#Tooling +_ReSharper*/ +*.resharper +[Tt]est[Rr]esult* +*.sass-cache + +#Project files +[Bb]uild/ + +#Subversion files +.svn + +# Office Temp Files +~$* + +# vim Temp Files +*~ + +#NuGet +packages/ +*.nupkg + +#ncrunch +*ncrunch* +*crunch*.local.xml + +# visual studio database projects +*.dbmdl + +#Test files +*.testsettings + +#Other files +*.DotSettings +.vs/ +*project.lock.json diff --git a/packages/happo-target-react-native/runner/windows/HappoRunner.sln b/packages/happo-target-react-native/runner/windows/HappoRunner.sln new file mode 100644 index 0000000..be4bb39 --- /dev/null +++ b/packages/happo-target-react-native/runner/windows/HappoRunner.sln @@ -0,0 +1,256 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HappoRunner", "HappoRunner\HappoRunner.csproj", "{B489B4A3-F630-489F-850F-277FE3F3C949}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReactNative", "..\..\node_modules\react-native-windows\ReactWindows\ReactNative\ReactNative.csproj", "{C7673AD5-E3AA-468C-A5FD-FA38154E205C}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ChakraBridge", "..\..\node_modules\react-native-windows\ReactWindows\ChakraBridge\ChakraBridge.vcxproj", "{4B72C796-16D5-4E3A-81C0-3E36F531E578}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReactNative.Net46", "..\..\node_modules\react-native-windows\ReactWindows\ReactNative.Net46\ReactNative.Net46.csproj", "{22CBFF9C-FE36-43E8-A246-266C7635E662}" +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "ReactNative.Shared", "..\..\node_modules\react-native-windows\ReactWindows\ReactNative.Shared\ReactNative.Shared.shproj", "{EEA8B852-4D07-48E1-8294-A21AB5909FE5}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RNViewShot", "..\..\node_modules\react-native-view-shot\windows\RNViewShot\RNViewShot.csproj", "{391A35D0-FEBA-11E6-9171-BD5177E581B7}" +EndProject +Global + GlobalSection(SharedMSBuildProjectFiles) = preSolution + ..\..\node_modules\react-native-windows\ReactWindows\ReactNative.Shared\ReactNative.Shared.projitems*{22cbff9c-fe36-43e8-a246-266c7635e662}*SharedItemsImports = 4 + ..\..\node_modules\react-native-windows\ReactWindows\ReactNative.Shared\ReactNative.Shared.projitems*{c7673ad5-e3aa-468c-a5fd-fa38154e205c}*SharedItemsImports = 4 + ..\..\node_modules\react-native-windows\ReactWindows\ReactNative.Shared\ReactNative.Shared.projitems*{eea8b852-4d07-48e1-8294-a21ab5909fe5}*SharedItemsImports = 13 + EndGlobalSection + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|ARM = Debug|ARM + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + DebugBundle|Any CPU = DebugBundle|Any CPU + DebugBundle|ARM = DebugBundle|ARM + DebugBundle|x64 = DebugBundle|x64 + DebugBundle|x86 = DebugBundle|x86 + Development|Any CPU = Development|Any CPU + Development|ARM = Development|ARM + Development|x64 = Development|x64 + Development|x86 = Development|x86 + Release|Any CPU = Release|Any CPU + Release|ARM = Release|ARM + Release|x64 = Release|x64 + Release|x86 = Release|x86 + ReleaseBundle|Any CPU = ReleaseBundle|Any CPU + ReleaseBundle|ARM = ReleaseBundle|ARM + ReleaseBundle|x64 = ReleaseBundle|x64 + ReleaseBundle|x86 = ReleaseBundle|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {B489B4A3-F630-489F-850F-277FE3F3C949}.Debug|Any CPU.ActiveCfg = Debug|x86 + {B489B4A3-F630-489F-850F-277FE3F3C949}.Debug|ARM.ActiveCfg = Debug|ARM + {B489B4A3-F630-489F-850F-277FE3F3C949}.Debug|ARM.Build.0 = Debug|ARM + {B489B4A3-F630-489F-850F-277FE3F3C949}.Debug|ARM.Deploy.0 = Debug|ARM + {B489B4A3-F630-489F-850F-277FE3F3C949}.Debug|x64.ActiveCfg = Debug|x64 + {B489B4A3-F630-489F-850F-277FE3F3C949}.Debug|x64.Build.0 = Debug|x64 + {B489B4A3-F630-489F-850F-277FE3F3C949}.Debug|x64.Deploy.0 = Debug|x64 + {B489B4A3-F630-489F-850F-277FE3F3C949}.Debug|x86.ActiveCfg = Debug|x86 + {B489B4A3-F630-489F-850F-277FE3F3C949}.Debug|x86.Build.0 = Debug|x86 + {B489B4A3-F630-489F-850F-277FE3F3C949}.Debug|x86.Deploy.0 = Debug|x86 + {B489B4A3-F630-489F-850F-277FE3F3C949}.DebugBundle|Any CPU.ActiveCfg = DebugBundle|x86 + {B489B4A3-F630-489F-850F-277FE3F3C949}.DebugBundle|ARM.ActiveCfg = DebugBundle|ARM + {B489B4A3-F630-489F-850F-277FE3F3C949}.DebugBundle|ARM.Build.0 = DebugBundle|ARM + {B489B4A3-F630-489F-850F-277FE3F3C949}.DebugBundle|ARM.Deploy.0 = DebugBundle|ARM + {B489B4A3-F630-489F-850F-277FE3F3C949}.DebugBundle|x64.ActiveCfg = DebugBundle|x64 + {B489B4A3-F630-489F-850F-277FE3F3C949}.DebugBundle|x64.Build.0 = DebugBundle|x64 + {B489B4A3-F630-489F-850F-277FE3F3C949}.DebugBundle|x64.Deploy.0 = DebugBundle|x64 + {B489B4A3-F630-489F-850F-277FE3F3C949}.DebugBundle|x86.ActiveCfg = DebugBundle|x86 + {B489B4A3-F630-489F-850F-277FE3F3C949}.DebugBundle|x86.Build.0 = DebugBundle|x86 + {B489B4A3-F630-489F-850F-277FE3F3C949}.DebugBundle|x86.Deploy.0 = DebugBundle|x86 + {B489B4A3-F630-489F-850F-277FE3F3C949}.Development|Any CPU.ActiveCfg = ReleaseBundle|x86 + {B489B4A3-F630-489F-850F-277FE3F3C949}.Development|Any CPU.Build.0 = ReleaseBundle|x86 + {B489B4A3-F630-489F-850F-277FE3F3C949}.Development|Any CPU.Deploy.0 = ReleaseBundle|x86 + {B489B4A3-F630-489F-850F-277FE3F3C949}.Development|ARM.ActiveCfg = DebugBundle|ARM + {B489B4A3-F630-489F-850F-277FE3F3C949}.Development|ARM.Build.0 = DebugBundle|ARM + {B489B4A3-F630-489F-850F-277FE3F3C949}.Development|ARM.Deploy.0 = DebugBundle|ARM + {B489B4A3-F630-489F-850F-277FE3F3C949}.Development|x64.ActiveCfg = DebugBundle|x64 + {B489B4A3-F630-489F-850F-277FE3F3C949}.Development|x64.Build.0 = DebugBundle|x64 + {B489B4A3-F630-489F-850F-277FE3F3C949}.Development|x64.Deploy.0 = DebugBundle|x64 + {B489B4A3-F630-489F-850F-277FE3F3C949}.Development|x86.ActiveCfg = DebugBundle|x86 + {B489B4A3-F630-489F-850F-277FE3F3C949}.Development|x86.Build.0 = DebugBundle|x86 + {B489B4A3-F630-489F-850F-277FE3F3C949}.Development|x86.Deploy.0 = DebugBundle|x86 + {B489B4A3-F630-489F-850F-277FE3F3C949}.Release|Any CPU.ActiveCfg = Release|x86 + {B489B4A3-F630-489F-850F-277FE3F3C949}.Release|ARM.ActiveCfg = Release|ARM + {B489B4A3-F630-489F-850F-277FE3F3C949}.Release|ARM.Build.0 = Release|ARM + {B489B4A3-F630-489F-850F-277FE3F3C949}.Release|ARM.Deploy.0 = Release|ARM + {B489B4A3-F630-489F-850F-277FE3F3C949}.Release|x64.ActiveCfg = Release|x64 + {B489B4A3-F630-489F-850F-277FE3F3C949}.Release|x64.Build.0 = Release|x64 + {B489B4A3-F630-489F-850F-277FE3F3C949}.Release|x64.Deploy.0 = Release|x64 + {B489B4A3-F630-489F-850F-277FE3F3C949}.Release|x86.ActiveCfg = Release|x86 + {B489B4A3-F630-489F-850F-277FE3F3C949}.Release|x86.Build.0 = Release|x86 + {B489B4A3-F630-489F-850F-277FE3F3C949}.Release|x86.Deploy.0 = Release|x86 + {B489B4A3-F630-489F-850F-277FE3F3C949}.ReleaseBundle|Any CPU.ActiveCfg = ReleaseBundle|x86 + {B489B4A3-F630-489F-850F-277FE3F3C949}.ReleaseBundle|ARM.ActiveCfg = ReleaseBundle|ARM + {B489B4A3-F630-489F-850F-277FE3F3C949}.ReleaseBundle|ARM.Build.0 = ReleaseBundle|ARM + {B489B4A3-F630-489F-850F-277FE3F3C949}.ReleaseBundle|ARM.Deploy.0 = ReleaseBundle|ARM + {B489B4A3-F630-489F-850F-277FE3F3C949}.ReleaseBundle|x64.ActiveCfg = ReleaseBundle|x64 + {B489B4A3-F630-489F-850F-277FE3F3C949}.ReleaseBundle|x64.Build.0 = ReleaseBundle|x64 + {B489B4A3-F630-489F-850F-277FE3F3C949}.ReleaseBundle|x64.Deploy.0 = ReleaseBundle|x64 + {B489B4A3-F630-489F-850F-277FE3F3C949}.ReleaseBundle|x86.ActiveCfg = ReleaseBundle|x86 + {B489B4A3-F630-489F-850F-277FE3F3C949}.ReleaseBundle|x86.Build.0 = ReleaseBundle|x86 + {B489B4A3-F630-489F-850F-277FE3F3C949}.ReleaseBundle|x86.Deploy.0 = ReleaseBundle|x86 + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Debug|Any CPU.ActiveCfg = Debug|x86 + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Debug|ARM.ActiveCfg = Debug|ARM + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Debug|ARM.Build.0 = Debug|ARM + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Debug|x64.ActiveCfg = Debug|x64 + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Debug|x64.Build.0 = Debug|x64 + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Debug|x86.ActiveCfg = Debug|x86 + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Debug|x86.Build.0 = Debug|x86 + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.DebugBundle|Any CPU.ActiveCfg = Release|x64 + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.DebugBundle|Any CPU.Build.0 = Release|x64 + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.DebugBundle|ARM.ActiveCfg = Debug|ARM + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.DebugBundle|ARM.Build.0 = Debug|ARM + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.DebugBundle|x64.ActiveCfg = Debug|x64 + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.DebugBundle|x64.Build.0 = Debug|x64 + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.DebugBundle|x86.ActiveCfg = Debug|x86 + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.DebugBundle|x86.Build.0 = Debug|x86 + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Development|Any CPU.ActiveCfg = Release|x64 + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Development|Any CPU.Build.0 = Release|x64 + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Development|ARM.ActiveCfg = Debug|ARM + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Development|ARM.Build.0 = Debug|ARM + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Development|x64.ActiveCfg = Debug|x64 + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Development|x64.Build.0 = Debug|x64 + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Development|x86.ActiveCfg = Debug|x86 + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Development|x86.Build.0 = Debug|x86 + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Release|Any CPU.ActiveCfg = Release|x86 + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Release|ARM.ActiveCfg = Release|ARM + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Release|ARM.Build.0 = Release|ARM + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Release|x64.ActiveCfg = Release|x64 + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Release|x64.Build.0 = Release|x64 + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Release|x86.ActiveCfg = Release|x86 + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.Release|x86.Build.0 = Release|x86 + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.ReleaseBundle|Any CPU.ActiveCfg = Release|x64 + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.ReleaseBundle|Any CPU.Build.0 = Release|x64 + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.ReleaseBundle|ARM.ActiveCfg = Release|ARM + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.ReleaseBundle|ARM.Build.0 = Release|ARM + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.ReleaseBundle|x64.ActiveCfg = Release|x64 + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.ReleaseBundle|x64.Build.0 = Release|x64 + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.ReleaseBundle|x86.ActiveCfg = Release|x86 + {C7673AD5-E3AA-468C-A5FD-FA38154E205C}.ReleaseBundle|x86.Build.0 = Release|x86 + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.Debug|ARM.ActiveCfg = Debug|ARM + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.Debug|ARM.Build.0 = Debug|ARM + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.Debug|x64.ActiveCfg = Debug|x64 + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.Debug|x64.Build.0 = Debug|x64 + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.Debug|x86.ActiveCfg = Debug|Win32 + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.Debug|x86.Build.0 = Debug|Win32 + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.DebugBundle|Any CPU.ActiveCfg = Release|x64 + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.DebugBundle|Any CPU.Build.0 = Release|x64 + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.DebugBundle|ARM.ActiveCfg = Debug|ARM + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.DebugBundle|ARM.Build.0 = Debug|ARM + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.DebugBundle|x64.ActiveCfg = Debug|x64 + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.DebugBundle|x64.Build.0 = Debug|x64 + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.DebugBundle|x86.ActiveCfg = Debug|Win32 + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.DebugBundle|x86.Build.0 = Debug|Win32 + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.Development|Any CPU.ActiveCfg = Release|x64 + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.Development|Any CPU.Build.0 = Release|x64 + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.Development|ARM.ActiveCfg = Debug|ARM + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.Development|ARM.Build.0 = Debug|ARM + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.Development|x64.ActiveCfg = Debug|x64 + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.Development|x64.Build.0 = Debug|x64 + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.Development|x86.ActiveCfg = Debug|Win32 + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.Development|x86.Build.0 = Debug|Win32 + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.Release|Any CPU.ActiveCfg = Release|Win32 + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.Release|ARM.ActiveCfg = Release|ARM + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.Release|ARM.Build.0 = Release|ARM + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.Release|x64.ActiveCfg = Release|x64 + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.Release|x64.Build.0 = Release|x64 + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.Release|x86.ActiveCfg = Release|Win32 + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.Release|x86.Build.0 = Release|Win32 + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.ReleaseBundle|Any CPU.ActiveCfg = Release|x64 + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.ReleaseBundle|Any CPU.Build.0 = Release|x64 + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.ReleaseBundle|ARM.ActiveCfg = Release|ARM + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.ReleaseBundle|ARM.Build.0 = Release|ARM + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.ReleaseBundle|x64.ActiveCfg = Release|x64 + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.ReleaseBundle|x64.Build.0 = Release|x64 + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.ReleaseBundle|x86.ActiveCfg = Release|Win32 + {4B72C796-16D5-4E3A-81C0-3E36F531E578}.ReleaseBundle|x86.Build.0 = Release|Win32 + {22CBFF9C-FE36-43E8-A246-266C7635E662}.Debug|Any CPU.ActiveCfg = Debug|x86 + {22CBFF9C-FE36-43E8-A246-266C7635E662}.Debug|ARM.ActiveCfg = Debug|ARM + {22CBFF9C-FE36-43E8-A246-266C7635E662}.Debug|ARM.Build.0 = Debug|ARM + {22CBFF9C-FE36-43E8-A246-266C7635E662}.Debug|x64.ActiveCfg = Debug|x64 + {22CBFF9C-FE36-43E8-A246-266C7635E662}.Debug|x64.Build.0 = Debug|x64 + {22CBFF9C-FE36-43E8-A246-266C7635E662}.Debug|x86.ActiveCfg = Debug|x86 + {22CBFF9C-FE36-43E8-A246-266C7635E662}.Debug|x86.Build.0 = Debug|x86 + {22CBFF9C-FE36-43E8-A246-266C7635E662}.DebugBundle|Any CPU.ActiveCfg = Release|ARM + {22CBFF9C-FE36-43E8-A246-266C7635E662}.DebugBundle|Any CPU.Build.0 = Release|ARM + {22CBFF9C-FE36-43E8-A246-266C7635E662}.DebugBundle|ARM.ActiveCfg = Debug|ARM + {22CBFF9C-FE36-43E8-A246-266C7635E662}.DebugBundle|ARM.Build.0 = Debug|ARM + {22CBFF9C-FE36-43E8-A246-266C7635E662}.DebugBundle|x64.ActiveCfg = Debug|x64 + {22CBFF9C-FE36-43E8-A246-266C7635E662}.DebugBundle|x64.Build.0 = Debug|x64 + {22CBFF9C-FE36-43E8-A246-266C7635E662}.DebugBundle|x86.ActiveCfg = Debug|x86 + {22CBFF9C-FE36-43E8-A246-266C7635E662}.DebugBundle|x86.Build.0 = Debug|x86 + {22CBFF9C-FE36-43E8-A246-266C7635E662}.Development|Any CPU.ActiveCfg = Release|ARM + {22CBFF9C-FE36-43E8-A246-266C7635E662}.Development|Any CPU.Build.0 = Release|ARM + {22CBFF9C-FE36-43E8-A246-266C7635E662}.Development|ARM.ActiveCfg = Debug|ARM + {22CBFF9C-FE36-43E8-A246-266C7635E662}.Development|ARM.Build.0 = Debug|ARM + {22CBFF9C-FE36-43E8-A246-266C7635E662}.Development|x64.ActiveCfg = Debug|x64 + {22CBFF9C-FE36-43E8-A246-266C7635E662}.Development|x64.Build.0 = Debug|x64 + {22CBFF9C-FE36-43E8-A246-266C7635E662}.Development|x86.ActiveCfg = Debug|x86 + {22CBFF9C-FE36-43E8-A246-266C7635E662}.Development|x86.Build.0 = Debug|x86 + {22CBFF9C-FE36-43E8-A246-266C7635E662}.Release|Any CPU.ActiveCfg = Release|x86 + {22CBFF9C-FE36-43E8-A246-266C7635E662}.Release|ARM.ActiveCfg = Release|ARM + {22CBFF9C-FE36-43E8-A246-266C7635E662}.Release|ARM.Build.0 = Release|ARM + {22CBFF9C-FE36-43E8-A246-266C7635E662}.Release|x64.ActiveCfg = Release|x64 + {22CBFF9C-FE36-43E8-A246-266C7635E662}.Release|x64.Build.0 = Release|x64 + {22CBFF9C-FE36-43E8-A246-266C7635E662}.Release|x86.ActiveCfg = Release|x86 + {22CBFF9C-FE36-43E8-A246-266C7635E662}.Release|x86.Build.0 = Release|x86 + {22CBFF9C-FE36-43E8-A246-266C7635E662}.ReleaseBundle|Any CPU.ActiveCfg = Release|ARM + {22CBFF9C-FE36-43E8-A246-266C7635E662}.ReleaseBundle|Any CPU.Build.0 = Release|ARM + {22CBFF9C-FE36-43E8-A246-266C7635E662}.ReleaseBundle|ARM.ActiveCfg = Release|ARM + {22CBFF9C-FE36-43E8-A246-266C7635E662}.ReleaseBundle|ARM.Build.0 = Release|ARM + {22CBFF9C-FE36-43E8-A246-266C7635E662}.ReleaseBundle|x64.ActiveCfg = Release|x64 + {22CBFF9C-FE36-43E8-A246-266C7635E662}.ReleaseBundle|x64.Build.0 = Release|x64 + {22CBFF9C-FE36-43E8-A246-266C7635E662}.ReleaseBundle|x86.ActiveCfg = Release|x86 + {22CBFF9C-FE36-43E8-A246-266C7635E662}.ReleaseBundle|x86.Build.0 = Release|x86 + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.Debug|ARM.ActiveCfg = Debug|ARM + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.Debug|ARM.Build.0 = Debug|ARM + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.Debug|x64.ActiveCfg = Debug|x64 + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.Debug|x64.Build.0 = Debug|x64 + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.Debug|x86.ActiveCfg = Debug|x86 + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.Debug|x86.Build.0 = Debug|x86 + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.DebugBundle|Any CPU.ActiveCfg = Debug|Any CPU + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.DebugBundle|Any CPU.Build.0 = Debug|Any CPU + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.DebugBundle|ARM.ActiveCfg = Debug|ARM + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.DebugBundle|ARM.Build.0 = Debug|ARM + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.DebugBundle|x64.ActiveCfg = Debug|x64 + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.DebugBundle|x64.Build.0 = Debug|x64 + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.DebugBundle|x86.ActiveCfg = Debug|x86 + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.DebugBundle|x86.Build.0 = Debug|x86 + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.Development|Any CPU.ActiveCfg = Development|Any CPU + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.Development|Any CPU.Build.0 = Development|Any CPU + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.Development|ARM.ActiveCfg = Development|ARM + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.Development|ARM.Build.0 = Development|ARM + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.Development|x64.ActiveCfg = Development|x64 + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.Development|x64.Build.0 = Development|x64 + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.Development|x86.ActiveCfg = Development|x86 + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.Development|x86.Build.0 = Development|x86 + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.Release|Any CPU.Build.0 = Release|Any CPU + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.Release|ARM.ActiveCfg = Release|ARM + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.Release|ARM.Build.0 = Release|ARM + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.Release|x64.ActiveCfg = Release|x64 + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.Release|x64.Build.0 = Release|x64 + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.Release|x86.ActiveCfg = Release|x86 + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.Release|x86.Build.0 = Release|x86 + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.ReleaseBundle|Any CPU.ActiveCfg = Release|Any CPU + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.ReleaseBundle|Any CPU.Build.0 = Release|Any CPU + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.ReleaseBundle|ARM.ActiveCfg = Release|ARM + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.ReleaseBundle|ARM.Build.0 = Release|ARM + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.ReleaseBundle|x64.ActiveCfg = Release|x64 + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.ReleaseBundle|x64.Build.0 = Release|x64 + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.ReleaseBundle|x86.ActiveCfg = Release|x86 + {391A35D0-FEBA-11E6-9171-BD5177E581B7}.ReleaseBundle|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/packages/happo-target-react-native/runner/windows/HappoRunner/App.xaml b/packages/happo-target-react-native/runner/windows/HappoRunner/App.xaml new file mode 100644 index 0000000..f22d2d6 --- /dev/null +++ b/packages/happo-target-react-native/runner/windows/HappoRunner/App.xaml @@ -0,0 +1,8 @@ + + + diff --git a/packages/happo-target-react-native/runner/windows/HappoRunner/App.xaml.cs b/packages/happo-target-react-native/runner/windows/HappoRunner/App.xaml.cs new file mode 100644 index 0000000..68b279f --- /dev/null +++ b/packages/happo-target-react-native/runner/windows/HappoRunner/App.xaml.cs @@ -0,0 +1,147 @@ +using ReactNative; +using ReactNative.Modules.Launch; +using System; +using Windows.ApplicationModel; +using Windows.ApplicationModel.Activation; +using Windows.UI.Core; +using Windows.UI.Xaml; +using Windows.UI.Xaml.Controls; +using Windows.UI.Xaml.Navigation; + +namespace HappoRunner +{ + /// + /// Provides application-specific behavior to supplement the default Application class. + /// + sealed partial class App : Application + { + private readonly ReactPage _reactPage; + + /// + /// Initializes the singleton application object. This is the first line of authored code + /// executed, and as such is the logical equivalent of main() or WinMain(). + /// + public App() + { + this.InitializeComponent(); + this.Suspending += OnSuspending; + this.Resuming += OnResuming; + + _reactPage = new MainPage(); + } + + /// + /// Invoked when the application is launched normally by the end user. Other entry points + /// will be used such as when the application is launched to open a specific file. + /// + /// Details about the launch request and process. + protected override void OnLaunched(LaunchActivatedEventArgs e) + { + base.OnLaunched(e); + OnCreate(e.Arguments); + } + + /// + /// Invoked when the application is activated. + /// + /// The activated event arguments. + protected override void OnActivated(IActivatedEventArgs args) + { + base.OnActivated(args); + + switch (args.Kind) + { + case ActivationKind.Protocol: + case ActivationKind.ProtocolForResults: + var protocolArgs = (IProtocolActivatedEventArgs)args; + LauncherModule.SetActivatedUrl(protocolArgs.Uri.AbsoluteUri); + break; + } + + if (args.PreviousExecutionState != ApplicationExecutionState.Running && + args.PreviousExecutionState != ApplicationExecutionState.Suspended) + { + OnCreate(null); + } + } + + /// + /// Called whenever the app is opened to initia + /// + /// + private void OnCreate(string arguments) + { + _reactPage.OnResume(Exit); + +#if DEBUG + if (System.Diagnostics.Debugger.IsAttached) + { + this.DebugSettings.EnableFrameRateCounter = true; + } + + SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = + AppViewBackButtonVisibility.Visible; +#endif + + Frame rootFrame = Window.Current.Content as Frame; + + // Do not repeat app initialization when the Window already has content, + // just ensure that the window is active + if (rootFrame == null) + { + _reactPage.OnCreate(arguments); + + // Create a Frame to act as the navigation context and navigate to the first page + rootFrame = new Frame(); + + rootFrame.NavigationFailed += OnNavigationFailed; + + // Place the frame in the current Window + Window.Current.Content = rootFrame; + } + + if (rootFrame.Content == null) + { + // When the navigation stack isn't restored navigate to the first page, + // configuring the new page by passing required information as a navigation + // parameter + rootFrame.Content = _reactPage; + } + + // Ensure the current window is active + Window.Current.Activate(); + } + + /// + /// Invoked when Navigation to a certain page fails + /// + /// The Frame which failed navigation + /// Details about the navigation failure + private void OnNavigationFailed(object sender, NavigationFailedEventArgs e) + { + throw new Exception("Failed to load Page " + e.SourcePageType.FullName); + } + + /// + /// Invoked when application execution is being suspended. Application state is saved + /// without knowing whether the application will be terminated or resumed with the contents + /// of memory still intact. + /// + /// The source of the suspend request. + /// Details about the suspend request. + private void OnSuspending(object sender, SuspendingEventArgs e) + { + _reactPage.OnSuspend(); + } + + /// + /// Invoked when application execution is being resumed. + /// + /// The source of the resume request. + /// Details about the resume request. + private void OnResuming(object sender, object e) + { + _reactPage.OnResume(Exit); + } + } +} diff --git a/packages/happo-target-react-native/runner/windows/HappoRunner/Assets/LockScreenLogo.scale-200.png b/packages/happo-target-react-native/runner/windows/HappoRunner/Assets/LockScreenLogo.scale-200.png new file mode 100644 index 0000000..735f57a Binary files /dev/null and b/packages/happo-target-react-native/runner/windows/HappoRunner/Assets/LockScreenLogo.scale-200.png differ diff --git a/packages/happo-target-react-native/runner/windows/HappoRunner/Assets/SplashScreen.scale-200.png b/packages/happo-target-react-native/runner/windows/HappoRunner/Assets/SplashScreen.scale-200.png new file mode 100644 index 0000000..023e7f1 Binary files /dev/null and b/packages/happo-target-react-native/runner/windows/HappoRunner/Assets/SplashScreen.scale-200.png differ diff --git a/packages/happo-target-react-native/runner/windows/HappoRunner/Assets/Square150x150Logo.scale-200.png b/packages/happo-target-react-native/runner/windows/HappoRunner/Assets/Square150x150Logo.scale-200.png new file mode 100644 index 0000000..af49fec Binary files /dev/null and b/packages/happo-target-react-native/runner/windows/HappoRunner/Assets/Square150x150Logo.scale-200.png differ diff --git a/packages/happo-target-react-native/runner/windows/HappoRunner/Assets/Square44x44Logo.scale-200.png b/packages/happo-target-react-native/runner/windows/HappoRunner/Assets/Square44x44Logo.scale-200.png new file mode 100644 index 0000000..ce342a2 Binary files /dev/null and b/packages/happo-target-react-native/runner/windows/HappoRunner/Assets/Square44x44Logo.scale-200.png differ diff --git a/packages/happo-target-react-native/runner/windows/HappoRunner/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/packages/happo-target-react-native/runner/windows/HappoRunner/Assets/Square44x44Logo.targetsize-24_altform-unplated.png new file mode 100644 index 0000000..f6c02ce Binary files /dev/null and b/packages/happo-target-react-native/runner/windows/HappoRunner/Assets/Square44x44Logo.targetsize-24_altform-unplated.png differ diff --git a/packages/happo-target-react-native/runner/windows/HappoRunner/Assets/StoreLogo.png b/packages/happo-target-react-native/runner/windows/HappoRunner/Assets/StoreLogo.png new file mode 100644 index 0000000..7385b56 Binary files /dev/null and b/packages/happo-target-react-native/runner/windows/HappoRunner/Assets/StoreLogo.png differ diff --git a/packages/happo-target-react-native/runner/windows/HappoRunner/Assets/Wide310x150Logo.scale-200.png b/packages/happo-target-react-native/runner/windows/HappoRunner/Assets/Wide310x150Logo.scale-200.png new file mode 100644 index 0000000..288995b Binary files /dev/null and b/packages/happo-target-react-native/runner/windows/HappoRunner/Assets/Wide310x150Logo.scale-200.png differ diff --git a/packages/happo-target-react-native/runner/windows/HappoRunner/HappoRunner.csproj b/packages/happo-target-react-native/runner/windows/HappoRunner/HappoRunner.csproj new file mode 100644 index 0000000..2c10d2c --- /dev/null +++ b/packages/happo-target-react-native/runner/windows/HappoRunner/HappoRunner.csproj @@ -0,0 +1,234 @@ + + + + + Debug + x86 + {B489B4A3-F630-489F-850F-277FE3F3C949} + AppContainerExe + Properties + HappoRunner + HappoRunner + en-US + UAP + 10.0.10586.0 + 10.0.10240.0 + 14 + 512 + {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + HappoRunner_TemporaryKey.pfx + + + true + bin\x86\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + x86 + false + prompt + true + + + true + bin\x86\DebugBundle\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP;CODE_ANALYSIS;BUNDLE + ;2008 + true + full + x86 + false + prompt + MinimumRecommendedRules.ruleset + true + + + bin\x86\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + x86 + false + prompt + true + true + + + bin\x86\ReleaseBundle\ + TRACE;NETFX_CORE;WINDOWS_UWP;CODE_ANALYSIS;BUNDLE + true + ;2008 + true + pdbonly + x86 + false + prompt + MinimumRecommendedRules.ruleset + true + true + + + true + bin\ARM\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + ARM + false + prompt + true + + + true + bin\ARM\DebugBundle\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP;CODE_ANALYSIS;BUNDLE + ;2008 + true + full + ARM + false + prompt + MinimumRecommendedRules.ruleset + true + + + bin\ARM\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + ARM + false + prompt + true + true + + + bin\ARM\ReleaseBundle\ + TRACE;NETFX_CORE;WINDOWS_UWP;CODE_ANALYSIS;BUNDLE + true + ;2008 + true + pdbonly + ARM + false + prompt + MinimumRecommendedRules.ruleset + true + true + + + true + bin\x64\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + x64 + false + prompt + true + + + true + bin\x64\DebugBundle\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP;CODE_ANALYSIS;BUNDLE + ;2008 + true + full + x64 + false + prompt + MinimumRecommendedRules.ruleset + true + + + bin\x64\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + x64 + false + prompt + true + true + + + bin\x64\ReleaseBundle\ + TRACE;NETFX_CORE;WINDOWS_UWP;CODE_ANALYSIS;BUNDLE + true + ;2008 + true + pdbonly + x64 + false + prompt + MinimumRecommendedRules.ruleset + true + true + + + + + + + + App.xaml + + + + + + + Designer + + + + + + + + + + + + + + + + MSBuild:Compile + Designer + + + + + PreserveNewest + + + + + {391a35d0-feba-11e6-9171-bd5177e581b7} + RNViewShot + + + {4b72c796-16d5-4e3a-81c0-3e36f531e578} + ChakraBridge + + + {c7673ad5-e3aa-468c-a5fd-fa38154e205c} + ReactNative + + + + 14.0 + + + + \ No newline at end of file diff --git a/packages/happo-target-react-native/runner/windows/HappoRunner/HappoRunner.nuget.targets b/packages/happo-target-react-native/runner/windows/HappoRunner/HappoRunner.nuget.targets new file mode 100644 index 0000000..efa89e9 --- /dev/null +++ b/packages/happo-target-react-native/runner/windows/HappoRunner/HappoRunner.nuget.targets @@ -0,0 +1,9 @@ + + + + $(UserProfile)\.nuget\packages\ + + + + + \ No newline at end of file diff --git a/packages/happo-target-react-native/runner/windows/HappoRunner/HappoRunner_TemporaryKey.pfx b/packages/happo-target-react-native/runner/windows/HappoRunner/HappoRunner_TemporaryKey.pfx new file mode 100644 index 0000000..08328fc Binary files /dev/null and b/packages/happo-target-react-native/runner/windows/HappoRunner/HappoRunner_TemporaryKey.pfx differ diff --git a/packages/happo-target-react-native/runner/windows/HappoRunner/MainPage.cs b/packages/happo-target-react-native/runner/windows/HappoRunner/MainPage.cs new file mode 100644 index 0000000..101484b --- /dev/null +++ b/packages/happo-target-react-native/runner/windows/HappoRunner/MainPage.cs @@ -0,0 +1,54 @@ +using ReactNative; +using ReactNative.Modules.Core; +using ReactNative.Shell; +using RNViewShot; +using System.Collections.Generic; + +namespace HappoRunner +{ + class MainPage : ReactPage + { + public override string MainComponentName + { + get + { + return "HappoRunner"; + } + } + +#if BUNDLE + public override string JavaScriptBundleFile + { + get + { + return "ms-appx:///ReactAssets/index.windows.bundle"; + } + } +#endif + + public override List Packages + { + get + { + return new List + { + new MainReactPackage(), + new RNViewShotPackage(), + }; + } + } + + public override bool UseDeveloperSupport + { + get + { +#if !BUNDLE || DEBUG + return true; +#else + return false; +#endif + } + } + } + +} diff --git a/packages/happo-target-react-native/runner/windows/HappoRunner/Package.appxmanifest b/packages/happo-target-react-native/runner/windows/HappoRunner/Package.appxmanifest new file mode 100644 index 0000000..52456e3 --- /dev/null +++ b/packages/happo-target-react-native/runner/windows/HappoRunner/Package.appxmanifest @@ -0,0 +1,49 @@ + + + + + + + + + + HappoRunner + React Native for UWP + Assets\StoreLogo.png + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/happo-target-react-native/runner/windows/HappoRunner/Properties/AssemblyInfo.cs b/packages/happo-target-react-native/runner/windows/HappoRunner/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..3aa997c --- /dev/null +++ b/packages/happo-target-react-native/runner/windows/HappoRunner/Properties/AssemblyInfo.cs @@ -0,0 +1,29 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("HappoRunner")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("HappoRunner")] +[assembly: AssemblyCopyright("Copyright © 2016")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: ComVisible(false)] \ No newline at end of file diff --git a/packages/happo-target-react-native/runner/windows/HappoRunner/Properties/Default.rd.xml b/packages/happo-target-react-native/runner/windows/HappoRunner/Properties/Default.rd.xml new file mode 100644 index 0000000..73762cf --- /dev/null +++ b/packages/happo-target-react-native/runner/windows/HappoRunner/Properties/Default.rd.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/happo-target-react-native/runner/windows/HappoRunner/project.json b/packages/happo-target-react-native/runner/windows/HappoRunner/project.json new file mode 100644 index 0000000..2344dd3 --- /dev/null +++ b/packages/happo-target-react-native/runner/windows/HappoRunner/project.json @@ -0,0 +1,17 @@ +{ + "dependencies": { + "Facebook.Yoga": "1.0.2-pre", + "Microsoft.NETCore.UniversalWindowsPlatform": "5.2.2" + }, + "frameworks": { + "uap10.0": {} + }, + "runtimes": { + "win10-arm": {}, + "win10-arm-aot": {}, + "win10-x86": {}, + "win10-x86-aot": {}, + "win10-x64": {}, + "win10-x64-aot": {} + } +} diff --git a/packages/happo-target-react-native/scripts/build-runner-windows.sh b/packages/happo-target-react-native/scripts/build-runner-windows.sh new file mode 100644 index 0000000..c1f4b8b --- /dev/null +++ b/packages/happo-target-react-native/scripts/build-runner-windows.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +echo "Building HappoRunner.exe" +node ./node_modules/react-native/local-cli/cli.js run-windows --root ./runner + +echo "Building HappoRunner.exe (done)" diff --git a/packages/happo-target-react-native/src/defaultOptions.js b/packages/happo-target-react-native/src/defaultOptions.js index cefe4b6..09c0522 100644 --- a/packages/happo-target-react-native/src/defaultOptions.js +++ b/packages/happo-target-react-native/src/defaultOptions.js @@ -24,7 +24,17 @@ const androidAppPath = path.join( 'app-debug.apk', ); -// `${process.cwd()}/../android/airbnb/build/outputs/apk/app-debug.apk`; +const windowsPath = path.join( + __dirname, // path of this file + '..', // root of this module + 'runner', + 'windows', + 'HappoRunner', + 'bin', + 'x86', + 'Debug', + 'HappoRunner.exe' +) function fail(message) { /* eslint-disable no-console */ @@ -33,7 +43,6 @@ function fail(message) { process.exit(1); } - function validatePassedOptions(options) { if (typeof options.platform !== 'string') { fail(`Expected \`platform\` to be string. Found ${typeof options.platform} instead.`); @@ -42,9 +51,10 @@ function validatePassedOptions(options) { switch (options.platform.toLowerCase()) { case 'ios': case 'android': + case 'windows': break; default: - fail(`Expected \`platform\` to be one of ['ios', 'android']. Found '${options.platform}'.`); + fail(`Expected \`platform\` to be one of ['ios', 'android', 'windows']. Found '${options.platform}'.`); return false; } return true; @@ -61,6 +71,10 @@ const platformDefaults = { platformName: 'Android', deviceOrientation: 'portrait', }, + windows: { + runnerAppPath: windowsPath, + platformName: 'Windows' + } }; // non-overridable capabilities @@ -72,6 +86,9 @@ const platformCapabilities = { appPackage: 'com.happorunner', appActivity: '.MainActivity', }, + windows: { + // TODO: Add capabilities + }, }; module.exports = passedOptions => validatePassedOptions(passedOptions) && ({ diff --git a/packages/happo-target-react-native/src/initializeDriver.js b/packages/happo-target-react-native/src/initializeDriver.js index c924877..cf3d489 100644 --- a/packages/happo-target-react-native/src/initializeDriver.js +++ b/packages/happo-target-react-native/src/initializeDriver.js @@ -96,5 +96,9 @@ const startDriver = ({ module.exports = function initializeDriver(options) { console.log('[DRIVER]: starting it up'); - return startAppium(options).then(() => startDriver(options)); + if (options.platform === 'windows') { + return startDriver(options); + } else { + return startAppium(options).then(() => startDriver(options)); + } }; diff --git a/packages/happo-target-react-native/src/native/StoryManager.js b/packages/happo-target-react-native/src/native/StoryManager.js index 479d8f6..752416a 100644 --- a/packages/happo-target-react-native/src/native/StoryManager.js +++ b/packages/happo-target-react-native/src/native/StoryManager.js @@ -14,8 +14,9 @@ const clear = () => { stories = []; map = {}; }; let config = { host: Platform.select({ - ios: 'localhost', // ios simulators are same machine android: '10.0.3.2', // genymotion VMs + ios: 'localhost', // ios simulators are same machine + windows: 'localhost', }), port: 5000, };