From 645f7a99aa40f41cc3004464a27693154dc28b04 Mon Sep 17 00:00:00 2001 From: Bartosz Klonowski Date: Thu, 20 May 2021 14:44:19 +0200 Subject: [PATCH 01/14] Add Windows information to questions --- packages/create-react-native-library/src/index.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/create-react-native-library/src/index.ts b/packages/create-react-native-library/src/index.ts index 5e62a2ca2..38f75f9e1 100644 --- a/packages/create-react-native-library/src/index.ts +++ b/packages/create-react-native-library/src/index.ts @@ -256,13 +256,20 @@ async function create(argv: yargs.Arguments) { { title: 'Kotlin & Swift', value: 'kotlin-swift' }, { title: 'C++ for both iOS & Android', value: 'cpp' }, { title: 'JavaScript only', value: 'js' }, + { title: 'Windows with C++', value: 'windows-cpp' }, + { title: 'Windows with C#', value: 'windows-csharp' }, ], }, 'type': { type: (prev: string) => - ['java-objc', 'java-swift', 'kotlin-objc', 'kotlin-swift'].includes( - prev - ) + [ + 'java-objc', + 'java-swift', + 'kotlin-objc', + 'kotlin-swift', + 'windows-cpp', + 'windows-csharp', + ].includes(prev) ? 'select' : null, name: 'type', From 0a47833ca029cb5fdb3f2f8fb7dd1de5d2837370 Mon Sep 17 00:00:00 2001 From: Bartosz Klonowski Date: Fri, 21 May 2021 12:31:13 +0200 Subject: [PATCH 02/14] Handle Windows project types in options --- .../create-react-native-library/src/index.ts | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/packages/create-react-native-library/src/index.ts b/packages/create-react-native-library/src/index.ts index 38f75f9e1..5b916c95f 100644 --- a/packages/create-react-native-library/src/index.ts +++ b/packages/create-react-native-library/src/index.ts @@ -63,6 +63,26 @@ const SWIFT_FILES = (moduleType: ModuleType) => { } }; +// Windows Csharp +const WINDOWS_CSHARP_FILES = (moduleType: ModuleType) => { + switch (moduleType) { + case 'module': + return path.resolve(__dirname, '../templates/windows-csharp-library'); + case 'view': + return path.resolve(__dirname, '../templates/windows-csharp-view-library'); + } +}; + +// Windows Cpp +const WINDOWS_CPP_FILES = (moduleType: ModuleType) => { + switch (moduleType) { + case 'module': + return path.resolve(__dirname, '../templates/windows-cpp-library'); + case 'view': + return path.resolve(__dirname, '../templates/windows-cpp-view-library'); + } +}; + type ArgName = | 'slug' | 'description' @@ -89,6 +109,8 @@ type Answers = { | 'kotlin-objc' | 'kotlin-swift' | 'cpp' + | 'windows-cpp' + | 'windows-csharp' | 'js'; type?: 'module' | 'view'; example?: 'expo' | 'native'; @@ -363,6 +385,7 @@ async function create(argv: yargs.Arguments) { cpp: languages === 'cpp', kotlin: languages === 'kotlin-objc' || languages === 'kotlin-swift', swift: languages === 'java-swift' || languages === 'kotlin-swift', + windows: languages === 'windows-cpp' || languages == 'windows-csharp', module: languages !== 'js', moduleType: type, }, @@ -428,6 +451,11 @@ async function create(argv: yargs.Arguments) { await copyDir(CPP_FILES, folder); } + if (options.project.windows) { + const WINDOWS_FILES = languages === 'windows-csharp' ? WINDOWS_CSHARP_FILES : WINDOWS_CPP_FILES; + await copyDir(WINDOWS_FILES(type), folder); + } + if (options.project.swift) { await copyDir(SWIFT_FILES(type), folder); } else { From e418f48de7d7b03f3e695416945ada504097130b Mon Sep 17 00:00:00 2001 From: Bartosz Klonowski Date: Mon, 24 May 2021 16:30:30 +0200 Subject: [PATCH 03/14] Add RNW v0.64.3 to devDependencies --- .../create-react-native-library/templates/common/$package.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/create-react-native-library/templates/common/$package.json b/packages/create-react-native-library/templates/common/$package.json index f43bf4225..7f756c7ff 100644 --- a/packages/create-react-native-library/templates/common/$package.json +++ b/packages/create-react-native-library/templates/common/$package.json @@ -13,6 +13,7 @@ "android", "ios", "cpp", + "windows", "<%- project.podspec %>.podspec", "!lib/typescript/example", "!android/build", @@ -63,6 +64,7 @@ "prettier": "^2.0.5", "react": "16.13.1", "react-native": "0.63.4", + "react-native-windows": "0.63.4", "react-native-builder-bob": "^<%- bob.version %>", "release-it": "^14.2.2", "typescript": "^4.1.3" From caafe0bc2afa02f37fd18adffba044bf68591684 Mon Sep 17 00:00:00 2001 From: Bartosz Klonowski Date: Mon, 24 May 2021 16:30:46 +0200 Subject: [PATCH 04/14] Add C++ UI Component View project template This commit adds the C++ UI Component template with empty class IDL implementation which should act as a starting point for a developer. Full implementation of UI Component for RNW library can be found in the Microsoft's docs. --- .../windows/.gitignore | 92 +++++++ .../windows/{%- project.name %}.sln | 247 ++++++++++++++++++ .../windows/{%- project.name %}/Class.cpp | 15 ++ .../windows/{%- project.name %}/Class.h | 21 ++ .../windows/{%- project.name %}/Class.idl | 9 + .../{%- project.name %}/PropertySheet.props | 16 ++ .../{%- project.name %}/packages.config | 4 + .../windows/{%- project.name %}/pch.h | 1 + .../windows/{%- project.name %}/readme.txt | 23 ++ .../{%- project.name %}.def | 3 + .../{%- project.name %}.filters | 32 +++ .../{%- project.name %}.pfx | Bin 0 -> 2544 bytes .../{%- project.name %}.vcxproj | 203 ++++++++++++++ 13 files changed, 666 insertions(+) create mode 100644 packages/create-react-native-library/templates/windows-cpp-view-library/windows/.gitignore create mode 100644 packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}.sln create mode 100644 packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/Class.cpp create mode 100644 packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/Class.h create mode 100644 packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/Class.idl create mode 100644 packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/PropertySheet.props create mode 100644 packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/packages.config create mode 100644 packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/pch.h create mode 100644 packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/readme.txt create mode 100644 packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.def create mode 100644 packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.filters create mode 100644 packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.pfx create mode 100644 packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.vcxproj diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/.gitignore b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/.gitignore new file mode 100644 index 000000000..4ea0c7b5a --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/.gitignore @@ -0,0 +1,92 @@ +*AppPackages* +*BundleArtifacts* + +#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 + +#Files generated by the VS build +**/Generated Files/** + diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}.sln b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}.sln new file mode 100644 index 000000000..aa279f13e --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}.sln @@ -0,0 +1,247 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30711.63 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ReactNative", "ReactNative", "{A325E68E-DD2D-47CF-BA46-169C75C070C1}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "..\node_modules\react-native-windows\Common\Common.vcxproj", "{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Folly", "..\node_modules\react-native-windows\Folly\Folly.vcxproj", "{A990658C-CE31-4BCC-976F-0FC6B1AF693D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JSI.Universal", "..\node_modules\react-native-windows\JSI\Universal\JSI.Universal.vcxproj", "{A62D504A-16B8-41D2-9F19-E2E86019E5E4}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative", "..\node_modules\react-native-windows\Microsoft.ReactNative\Microsoft.ReactNative.vcxproj", "{F7D32BD0-2749-483E-9A0D-1635EF7E3136}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.ReactNative.Managed", "..\node_modules\react-native-windows\Microsoft.ReactNative.Managed\Microsoft.ReactNative.Managed.csproj", "{F2824844-CE15-4242-9420-308923CD76C3}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ReactNative.Managed.CodeGen", "..\node_modules\react-native-windows\Microsoft.ReactNative.Managed.CodeGen\Microsoft.ReactNative.Managed.CodeGen.csproj", "{8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReactCommon", "..\node_modules\react-native-windows\ReactCommon\ReactCommon.vcxproj", "{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Chakra", "..\node_modules\react-native-windows\Chakra\Chakra.vcxitems", "{C38970C0-5FBF-4D69-90D8-CBAC225AE895}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Include", "..\node_modules\react-native-windows\include\Include.vcxitems", "{EF074BA1-2D54-4D49-A28E-5E040B47CD2E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JSI.Shared", "..\node_modules\react-native-windows\JSI\Shared\JSI.Shared.vcxitems", "{0CC28589-39E4-4288-B162-97B959F8B843}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Cxx", "..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems", "{DA8B35B3-DA00-4B02-BDE6-6A397B3FD46B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Shared", "..\node_modules\react-native-windows\Shared\Shared.vcxitems", "{2049DBE9-8D13-42C9-AE4B-413AE38FFFD0}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mso", "..\node_modules\react-native-windows\Mso\Mso.vcxitems", "{84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "<%- project.name %>", "<%- project.name %>\<%- project.name %>.vcxproj", "{c5b2449b-b4f0-4348-8b65-59adc7de13b8}" +EndProject +Global + GlobalSection(SharedMSBuildProjectFiles) = preSolution + ..\node_modules\react-native-windows\JSI\Shared\JSI.Shared.vcxitems*{0cc28589-39e4-4288-b162-97b959f8b843}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\Shared\Shared.vcxitems*{2049dbe9-8d13-42c9-ae4b-413ae38fffd0}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\Mso\Mso.vcxitems*{84e05bfa-cbaf-4f0d-bfb6-4ce85742a57e}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\JSI\Shared\JSI.Shared.vcxitems*{a62d504a-16b8-41d2-9f19-e2e86019e5e4}*SharedItemsImports = 4 + ..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{c38970c0-5fbf-4d69-90d8-cbac225ae895}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{da8b35b3-da00-4b02-bde6-6a397b3fd46b}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\include\Include.vcxitems*{ef074ba1-2d54-4d49-a28e-5e040b47cd2e}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4 + ..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4 + ..\node_modules\react-native-windows\Mso\Mso.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4 + ..\node_modules\react-native-windows\Shared\Shared.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4 + EndGlobalSection + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM = Debug|ARM + Debug|ARM64 = Debug|ARM64 + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|ARM = Release|ARM + Release|ARM64 = Release|ARM64 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM.ActiveCfg = Debug|ARM + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM.Build.0 = Debug|ARM + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM.Deploy.0 = Debug|ARM + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM64.Build.0 = Debug|ARM64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x64.ActiveCfg = Debug|x64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x64.Build.0 = Debug|x64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x86.ActiveCfg = Debug|Win32 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x86.Build.0 = Debug|Win32 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x86.Deploy.0 = Debug|Win32 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM.ActiveCfg = Release|ARM + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM.Build.0 = Release|ARM + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM.Deploy.0 = Release|ARM + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM64.ActiveCfg = Release|ARM64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM64.Build.0 = Release|ARM64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x64.ActiveCfg = Release|x64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x64.Build.0 = Release|x64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x86.ActiveCfg = Release|Win32 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x86.Build.0 = Release|Win32 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x86.Deploy.0 = Release|Win32 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM.ActiveCfg = Debug|ARM + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM.Build.0 = Debug|ARM + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM.Deploy.0 = Debug|ARM + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM64.Build.0 = Debug|ARM64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x64.ActiveCfg = Debug|x64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x64.Build.0 = Debug|x64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x86.ActiveCfg = Debug|Win32 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x86.Build.0 = Debug|Win32 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x86.Deploy.0 = Debug|Win32 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM.ActiveCfg = Release|ARM + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM.Build.0 = Release|ARM + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM.Deploy.0 = Release|ARM + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM64.ActiveCfg = Release|ARM64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM64.Build.0 = Release|ARM64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x64.ActiveCfg = Release|x64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x64.Build.0 = Release|x64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x86.ActiveCfg = Release|Win32 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x86.Build.0 = Release|Win32 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x86.Deploy.0 = Release|Win32 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM.ActiveCfg = Debug|ARM + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM.Build.0 = Debug|ARM + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM.Deploy.0 = Debug|ARM + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM64.Build.0 = Debug|ARM64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x64.ActiveCfg = Debug|x64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x64.Build.0 = Debug|x64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x86.ActiveCfg = Debug|Win32 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x86.Build.0 = Debug|Win32 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x86.Deploy.0 = Debug|Win32 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM.ActiveCfg = Release|ARM + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM.Build.0 = Release|ARM + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM.Deploy.0 = Release|ARM + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM64.ActiveCfg = Release|ARM64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM64.Build.0 = Release|ARM64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x64.ActiveCfg = Release|x64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x64.Build.0 = Release|x64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x86.ActiveCfg = Release|Win32 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x86.Build.0 = Release|Win32 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x86.Deploy.0 = Release|Win32 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM.ActiveCfg = Debug|ARM + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM.Build.0 = Debug|ARM + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM.Deploy.0 = Debug|ARM + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM64.Build.0 = Debug|ARM64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x64.ActiveCfg = Debug|x64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x64.Build.0 = Debug|x64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x86.ActiveCfg = Debug|Win32 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x86.Build.0 = Debug|Win32 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x86.Deploy.0 = Debug|Win32 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM.ActiveCfg = Release|ARM + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM.Build.0 = Release|ARM + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM.Deploy.0 = Release|ARM + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM64.ActiveCfg = Release|ARM64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM64.Build.0 = Release|ARM64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x64.ActiveCfg = Release|x64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x64.Build.0 = Release|x64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x86.ActiveCfg = Release|Win32 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x86.Build.0 = Release|Win32 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x86.Deploy.0 = Release|Win32 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|ARM.ActiveCfg = Debug|ARM + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|ARM.Build.0 = Debug|ARM + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|ARM64.Build.0 = Debug|ARM64 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|x64.ActiveCfg = Debug|x64 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|x64.Build.0 = Debug|x64 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|x86.ActiveCfg = Debug|x86 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|x86.Build.0 = Debug|x86 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|ARM.ActiveCfg = Release|ARM + {F2824844-CE15-4242-9420-308923CD76C3}.Release|ARM.Build.0 = Release|ARM + {F2824844-CE15-4242-9420-308923CD76C3}.Release|ARM64.ActiveCfg = Release|ARM64 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|ARM64.Build.0 = Release|ARM64 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|x64.ActiveCfg = Release|x64 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|x64.Build.0 = Release|x64 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|x86.ActiveCfg = Release|x86 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|x86.Build.0 = Release|x86 + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Debug|ARM.ActiveCfg = Debug|ARM + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Debug|ARM.Build.0 = Debug|ARM + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Debug|ARM64.Build.0 = Debug|ARM64 + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Debug|x64.ActiveCfg = Debug|x64 + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Debug|x64.Build.0 = Debug|x64 + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Debug|x86.ActiveCfg = Debug|x86 + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Debug|x86.Build.0 = Debug|x86 + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Release|ARM.ActiveCfg = Release|ARM + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Release|ARM.Build.0 = Release|ARM + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Release|ARM64.ActiveCfg = Release|ARM64 + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Release|ARM64.Build.0 = Release|ARM64 + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Release|x64.ActiveCfg = Release|x64 + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Release|x64.Build.0 = Release|x64 + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Release|x86.ActiveCfg = Release|x86 + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Release|x86.Build.0 = Release|x86 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM.ActiveCfg = Debug|ARM + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM.Build.0 = Debug|ARM + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM.Deploy.0 = Debug|ARM + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM64.Build.0 = Debug|ARM64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x64.ActiveCfg = Debug|x64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x64.Build.0 = Debug|x64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x86.ActiveCfg = Debug|Win32 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x86.Build.0 = Debug|Win32 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x86.Deploy.0 = Debug|Win32 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM.ActiveCfg = Release|ARM + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM.Build.0 = Release|ARM + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM.Deploy.0 = Release|ARM + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM64.ActiveCfg = Release|ARM64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM64.Build.0 = Release|ARM64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x64.ActiveCfg = Release|x64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x64.Build.0 = Release|x64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x86.ActiveCfg = Release|Win32 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x86.Build.0 = Release|Win32 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x86.Deploy.0 = Release|Win32 + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|ARM.ActiveCfg = Debug|ARM + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|ARM.Build.0 = Debug|ARM + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|ARM64.Build.0 = Debug|ARM64 + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|x64.ActiveCfg = Debug|x64 + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|x64.Build.0 = Debug|x64 + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|x86.ActiveCfg = Debug|Win32 + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|x86.Build.0 = Debug|Win32 + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|ARM.ActiveCfg = Release|ARM + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|ARM.Build.0 = Release|ARM + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|ARM64.ActiveCfg = Release|ARM64 + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|ARM64.Build.0 = Release|ARM64 + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|x64.ActiveCfg = Release|x64 + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|x64.Build.0 = Release|x64 + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|x86.ActiveCfg = Release|Win32 + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|x86.Build.0 = Release|Win32 + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|ARM.ActiveCfg = Debug|ARM + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|ARM.Build.0 = Debug|ARM + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|ARM64.Build.0 = Debug|ARM64 + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|x64.ActiveCfg = Debug|x64 + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|x64.Build.0 = Debug|x64 + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|x86.ActiveCfg = Debug|Win32 + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|x86.Build.0 = Debug|Win32 + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|ARM.ActiveCfg = Release|ARM + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|ARM.Build.0 = Release|ARM + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|ARM64.ActiveCfg = Release|ARM64 + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|ARM64.Build.0 = Release|ARM64 + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|x64.ActiveCfg = Release|x64 + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|x64.Build.0 = Release|x64 + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|x86.ActiveCfg = Release|Win32 + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D} = {A325E68E-DD2D-47CF-BA46-169C75C070C1} + {A990658C-CE31-4BCC-976F-0FC6B1AF693D} = {A325E68E-DD2D-47CF-BA46-169C75C070C1} + {A62D504A-16B8-41D2-9F19-E2E86019E5E4} = {A325E68E-DD2D-47CF-BA46-169C75C070C1} + {F7D32BD0-2749-483E-9A0D-1635EF7E3136} = {A325E68E-DD2D-47CF-BA46-169C75C070C1} + {F2824844-CE15-4242-9420-308923CD76C3} = {A325E68E-DD2D-47CF-BA46-169C75C070C1} + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5} = {A325E68E-DD2D-47CF-BA46-169C75C070C1} + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD} = {A325E68E-DD2D-47CF-BA46-169C75C070C1} + {C38970C0-5FBF-4D69-90D8-CBAC225AE895} = {A325E68E-DD2D-47CF-BA46-169C75C070C1} + {EF074BA1-2D54-4D49-A28E-5E040B47CD2E} = {A325E68E-DD2D-47CF-BA46-169C75C070C1} + {0CC28589-39E4-4288-B162-97B959F8B843} = {A325E68E-DD2D-47CF-BA46-169C75C070C1} + {DA8B35B3-DA00-4B02-BDE6-6A397B3FD46B} = {A325E68E-DD2D-47CF-BA46-169C75C070C1} + {2049DBE9-8D13-42C9-AE4B-413AE38FFFD0} = {A325E68E-DD2D-47CF-BA46-169C75C070C1} + {84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E} = {A325E68E-DD2D-47CF-BA46-169C75C070C1} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {83F2DB10-6703-47B6-BE41-406D3AA52352} + EndGlobalSection +EndGlobal diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/Class.cpp b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/Class.cpp new file mode 100644 index 000000000..e1d041f68 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/Class.cpp @@ -0,0 +1,15 @@ +#include "Class.h" +#include "Class.g.cpp" + +namespace winrt::<%- project.name %>::implementation +{ + int32_t Class::MyProperty() + { + throw hresult_not_implemented(); + } + + void Class::MyProperty(int32_t /* value */) + { + throw hresult_not_implemented(); + } +} diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/Class.h b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/Class.h new file mode 100644 index 000000000..71ab535b0 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/Class.h @@ -0,0 +1,21 @@ +#pragma once + +#include "Class.g.h" + +namespace winrt::<%- project.name %>::implementation +{ + struct Class : ClassT + { + Class() = default; + + int32_t MyProperty(); + void MyProperty(int32_t value); + }; +} + +namespace winrt::<%- project.name %>::factory_implementation +{ + struct Class : ClassT + { + }; +} diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/Class.idl b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/Class.idl new file mode 100644 index 000000000..b40e8b7db --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/Class.idl @@ -0,0 +1,9 @@ +namespace <%- project.name %> +{ + [default_interface] + runtimeclass Class + { + Class(); + Int32 MyProperty; + } +} diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/PropertySheet.props b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/PropertySheet.props new file mode 100644 index 000000000..e34141b01 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/PropertySheet.props @@ -0,0 +1,16 @@ + + + + + + + + \ No newline at end of file diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/packages.config b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/packages.config new file mode 100644 index 000000000..4d226bc09 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/pch.h b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/pch.h new file mode 100644 index 000000000..73b4b8665 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/pch.h @@ -0,0 +1 @@ +#pragma once diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/readme.txt b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/readme.txt new file mode 100644 index 000000000..feebcec33 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/readme.txt @@ -0,0 +1,23 @@ +======================================================================== + C++/WinRT <%- project.name %> Project Overview +======================================================================== + +This project demonstrates how to get started authoring Windows Runtime +classes directly with standard C++, using the C++/WinRT SDK component +to generate implementation headers from interface (IDL) files. The +generated Windows Runtime component binary and WinMD files should then +be bundled with the Universal Windows Platform (UWP) app consuming them. + +Steps: +1. Create an interface (IDL) file to define your Windows Runtime class, + its default interface, and any other interfaces it implements. +2. Build the project once to generate module.g.cpp, module.h.cpp, and + implementation templates under the "Generated Files" folder, as + well as skeleton class definitions under "Generated Files\sources". +3. Use the skeleton class definitions for reference to implement your + Windows Runtime classes. + +======================================================================== +Learn more about C++/WinRT here: +http://aka.ms/cppwinrt/ +======================================================================== diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.def b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.def new file mode 100644 index 000000000..24e7c1235 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.def @@ -0,0 +1,3 @@ +EXPORTS +DllCanUnloadNow = WINRT_CanUnloadNow PRIVATE +DllGetActivationFactory = WINRT_GetActivationFactory PRIVATE diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.filters b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.filters new file mode 100644 index 000000000..278a13fbf --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.filters @@ -0,0 +1,32 @@ + + + + + accd3aa8-1ba0-4223-9bbe-0c431709210b + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tga;tiff;tif;png;wav;mfcribbon-ms + + + {926ab91d-31b4-48c3-b9a4-e681349f27f0} + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.pfx b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.pfx new file mode 100644 index 0000000000000000000000000000000000000000..b78898bf16cb63e3a6a6b4c390f31c9ee0f9c551 GIT binary patch literal 2544 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 EH$_W$NB{r; literal 0 HcmV?d00001 diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.vcxproj b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.vcxproj new file mode 100644 index 000000000..12a293ebc --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.vcxproj @@ -0,0 +1,203 @@ + + + + + true + true + true + true + {c5b2449b-b4f0-4348-8b65-59adc7de13b8} + <%- project.name %> + <%- project.name %> + en-US + 14.0 + true + Windows Store + 10.0 + 10.0.19041.0 + 10.0.17134.0 + + + + $([MSBuild]::GetDirectoryNameOfFileAbove($(SolutionDir), 'node_modules\react-native-windows\package.json'))\node_modules\react-native-windows\ + + + + Debug + ARM + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release + ARM + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + DynamicLibrary + v140 + v141 + v142 + Unicode + false + + + true + true + + + false + true + false + + + + + + + + + + + + + + + + + + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + + + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + + + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + + + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + + + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + + + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + + + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + + + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + + + + NotUsing + + + $(IntDir)pch.pch + Level4 + %(AdditionalOptions) /bigobj + + /DWINRT_NO_MAKE_DETECTION %(AdditionalOptions) + + + _WINRT_DLL;WIN32_LEAN_AND_MEAN;WINRT_LEAN_AND_MEAN;%(PreprocessorDefinitions) + $(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories) + + + Console + false + <%- project.name %>.def + + + + + _DEBUG;%(PreprocessorDefinitions) + + + + + NDEBUG;%(PreprocessorDefinitions) + + + true + true + + + + + + Class.idl + + + + + Class.idl + + + + + + + + + + + + + + false + + + + + + + + + This project references targets in your node_modules\react-native-windows folder that are missing. The missing file is {0}. + + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + \ No newline at end of file From f3eeaf5161a3523ebec8ce08bf32a0e6b230f6b3 Mon Sep 17 00:00:00 2001 From: Bartosz Klonowski Date: Tue, 25 May 2021 16:42:51 +0200 Subject: [PATCH 05/14] Add native module support for C++/WinRT --- .../windows-cpp-library/windows/.gitignore | 92 +++++++ .../windows/{%- project.name %}.sln | 247 ++++++++++++++++++ .../{%- project.name %}/PropertySheet.props | 16 ++ .../ReactPackageProvider.cpp | 17 ++ .../ReactPackageProvider.h | 13 + .../ReactPackageProvider.idl | 9 + .../{%- project.name %}/packages.config | 4 + .../windows/{%- project.name %}/pch.cpp | 1 + .../windows/{%- project.name %}/pch.h | 26 ++ .../windows/{%- project.name %}/readme.txt | 23 ++ .../{%- project.name %}.def | 3 + .../{%- project.name %}.filters | 31 +++ .../{%- project.name %}.pfx | Bin 0 -> 2544 bytes .../{%- project.name %}.vcxproj | 210 +++++++++++++++ .../{%- project.name %}_NativeModule.hpp | 23 ++ 15 files changed, 715 insertions(+) create mode 100644 packages/create-react-native-library/templates/windows-cpp-library/windows/.gitignore create mode 100644 packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}.sln create mode 100644 packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/PropertySheet.props create mode 100644 packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/ReactPackageProvider.cpp create mode 100644 packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/ReactPackageProvider.h create mode 100644 packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/ReactPackageProvider.idl create mode 100644 packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/packages.config create mode 100644 packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/pch.cpp create mode 100644 packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/pch.h create mode 100644 packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/readme.txt create mode 100644 packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.def create mode 100644 packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.filters create mode 100644 packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.pfx create mode 100644 packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.vcxproj create mode 100644 packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}_NativeModule.hpp diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/.gitignore b/packages/create-react-native-library/templates/windows-cpp-library/windows/.gitignore new file mode 100644 index 000000000..4ea0c7b5a --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-library/windows/.gitignore @@ -0,0 +1,92 @@ +*AppPackages* +*BundleArtifacts* + +#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 + +#Files generated by the VS build +**/Generated Files/** + diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}.sln b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}.sln new file mode 100644 index 000000000..aa279f13e --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}.sln @@ -0,0 +1,247 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30711.63 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ReactNative", "ReactNative", "{A325E68E-DD2D-47CF-BA46-169C75C070C1}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "..\node_modules\react-native-windows\Common\Common.vcxproj", "{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Folly", "..\node_modules\react-native-windows\Folly\Folly.vcxproj", "{A990658C-CE31-4BCC-976F-0FC6B1AF693D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JSI.Universal", "..\node_modules\react-native-windows\JSI\Universal\JSI.Universal.vcxproj", "{A62D504A-16B8-41D2-9F19-E2E86019E5E4}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative", "..\node_modules\react-native-windows\Microsoft.ReactNative\Microsoft.ReactNative.vcxproj", "{F7D32BD0-2749-483E-9A0D-1635EF7E3136}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.ReactNative.Managed", "..\node_modules\react-native-windows\Microsoft.ReactNative.Managed\Microsoft.ReactNative.Managed.csproj", "{F2824844-CE15-4242-9420-308923CD76C3}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ReactNative.Managed.CodeGen", "..\node_modules\react-native-windows\Microsoft.ReactNative.Managed.CodeGen\Microsoft.ReactNative.Managed.CodeGen.csproj", "{8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReactCommon", "..\node_modules\react-native-windows\ReactCommon\ReactCommon.vcxproj", "{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Chakra", "..\node_modules\react-native-windows\Chakra\Chakra.vcxitems", "{C38970C0-5FBF-4D69-90D8-CBAC225AE895}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Include", "..\node_modules\react-native-windows\include\Include.vcxitems", "{EF074BA1-2D54-4D49-A28E-5E040B47CD2E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JSI.Shared", "..\node_modules\react-native-windows\JSI\Shared\JSI.Shared.vcxitems", "{0CC28589-39E4-4288-B162-97B959F8B843}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Cxx", "..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems", "{DA8B35B3-DA00-4B02-BDE6-6A397B3FD46B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Shared", "..\node_modules\react-native-windows\Shared\Shared.vcxitems", "{2049DBE9-8D13-42C9-AE4B-413AE38FFFD0}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mso", "..\node_modules\react-native-windows\Mso\Mso.vcxitems", "{84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "<%- project.name %>", "<%- project.name %>\<%- project.name %>.vcxproj", "{c5b2449b-b4f0-4348-8b65-59adc7de13b8}" +EndProject +Global + GlobalSection(SharedMSBuildProjectFiles) = preSolution + ..\node_modules\react-native-windows\JSI\Shared\JSI.Shared.vcxitems*{0cc28589-39e4-4288-b162-97b959f8b843}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\Shared\Shared.vcxitems*{2049dbe9-8d13-42c9-ae4b-413ae38fffd0}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\Mso\Mso.vcxitems*{84e05bfa-cbaf-4f0d-bfb6-4ce85742a57e}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\JSI\Shared\JSI.Shared.vcxitems*{a62d504a-16b8-41d2-9f19-e2e86019e5e4}*SharedItemsImports = 4 + ..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{c38970c0-5fbf-4d69-90d8-cbac225ae895}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{da8b35b3-da00-4b02-bde6-6a397b3fd46b}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\include\Include.vcxitems*{ef074ba1-2d54-4d49-a28e-5e040b47cd2e}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4 + ..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4 + ..\node_modules\react-native-windows\Mso\Mso.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4 + ..\node_modules\react-native-windows\Shared\Shared.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4 + EndGlobalSection + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM = Debug|ARM + Debug|ARM64 = Debug|ARM64 + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|ARM = Release|ARM + Release|ARM64 = Release|ARM64 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM.ActiveCfg = Debug|ARM + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM.Build.0 = Debug|ARM + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM.Deploy.0 = Debug|ARM + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM64.Build.0 = Debug|ARM64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x64.ActiveCfg = Debug|x64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x64.Build.0 = Debug|x64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x86.ActiveCfg = Debug|Win32 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x86.Build.0 = Debug|Win32 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x86.Deploy.0 = Debug|Win32 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM.ActiveCfg = Release|ARM + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM.Build.0 = Release|ARM + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM.Deploy.0 = Release|ARM + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM64.ActiveCfg = Release|ARM64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM64.Build.0 = Release|ARM64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x64.ActiveCfg = Release|x64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x64.Build.0 = Release|x64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x86.ActiveCfg = Release|Win32 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x86.Build.0 = Release|Win32 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x86.Deploy.0 = Release|Win32 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM.ActiveCfg = Debug|ARM + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM.Build.0 = Debug|ARM + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM.Deploy.0 = Debug|ARM + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM64.Build.0 = Debug|ARM64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x64.ActiveCfg = Debug|x64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x64.Build.0 = Debug|x64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x86.ActiveCfg = Debug|Win32 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x86.Build.0 = Debug|Win32 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x86.Deploy.0 = Debug|Win32 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM.ActiveCfg = Release|ARM + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM.Build.0 = Release|ARM + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM.Deploy.0 = Release|ARM + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM64.ActiveCfg = Release|ARM64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM64.Build.0 = Release|ARM64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x64.ActiveCfg = Release|x64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x64.Build.0 = Release|x64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x86.ActiveCfg = Release|Win32 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x86.Build.0 = Release|Win32 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x86.Deploy.0 = Release|Win32 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM.ActiveCfg = Debug|ARM + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM.Build.0 = Debug|ARM + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM.Deploy.0 = Debug|ARM + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM64.Build.0 = Debug|ARM64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x64.ActiveCfg = Debug|x64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x64.Build.0 = Debug|x64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x86.ActiveCfg = Debug|Win32 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x86.Build.0 = Debug|Win32 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x86.Deploy.0 = Debug|Win32 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM.ActiveCfg = Release|ARM + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM.Build.0 = Release|ARM + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM.Deploy.0 = Release|ARM + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM64.ActiveCfg = Release|ARM64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM64.Build.0 = Release|ARM64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x64.ActiveCfg = Release|x64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x64.Build.0 = Release|x64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x86.ActiveCfg = Release|Win32 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x86.Build.0 = Release|Win32 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x86.Deploy.0 = Release|Win32 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM.ActiveCfg = Debug|ARM + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM.Build.0 = Debug|ARM + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM.Deploy.0 = Debug|ARM + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM64.Build.0 = Debug|ARM64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x64.ActiveCfg = Debug|x64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x64.Build.0 = Debug|x64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x86.ActiveCfg = Debug|Win32 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x86.Build.0 = Debug|Win32 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x86.Deploy.0 = Debug|Win32 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM.ActiveCfg = Release|ARM + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM.Build.0 = Release|ARM + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM.Deploy.0 = Release|ARM + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM64.ActiveCfg = Release|ARM64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM64.Build.0 = Release|ARM64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x64.ActiveCfg = Release|x64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x64.Build.0 = Release|x64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x86.ActiveCfg = Release|Win32 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x86.Build.0 = Release|Win32 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x86.Deploy.0 = Release|Win32 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|ARM.ActiveCfg = Debug|ARM + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|ARM.Build.0 = Debug|ARM + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|ARM64.Build.0 = Debug|ARM64 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|x64.ActiveCfg = Debug|x64 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|x64.Build.0 = Debug|x64 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|x86.ActiveCfg = Debug|x86 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|x86.Build.0 = Debug|x86 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|ARM.ActiveCfg = Release|ARM + {F2824844-CE15-4242-9420-308923CD76C3}.Release|ARM.Build.0 = Release|ARM + {F2824844-CE15-4242-9420-308923CD76C3}.Release|ARM64.ActiveCfg = Release|ARM64 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|ARM64.Build.0 = Release|ARM64 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|x64.ActiveCfg = Release|x64 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|x64.Build.0 = Release|x64 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|x86.ActiveCfg = Release|x86 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|x86.Build.0 = Release|x86 + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Debug|ARM.ActiveCfg = Debug|ARM + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Debug|ARM.Build.0 = Debug|ARM + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Debug|ARM64.Build.0 = Debug|ARM64 + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Debug|x64.ActiveCfg = Debug|x64 + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Debug|x64.Build.0 = Debug|x64 + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Debug|x86.ActiveCfg = Debug|x86 + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Debug|x86.Build.0 = Debug|x86 + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Release|ARM.ActiveCfg = Release|ARM + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Release|ARM.Build.0 = Release|ARM + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Release|ARM64.ActiveCfg = Release|ARM64 + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Release|ARM64.Build.0 = Release|ARM64 + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Release|x64.ActiveCfg = Release|x64 + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Release|x64.Build.0 = Release|x64 + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Release|x86.ActiveCfg = Release|x86 + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5}.Release|x86.Build.0 = Release|x86 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM.ActiveCfg = Debug|ARM + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM.Build.0 = Debug|ARM + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM.Deploy.0 = Debug|ARM + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM64.Build.0 = Debug|ARM64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x64.ActiveCfg = Debug|x64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x64.Build.0 = Debug|x64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x86.ActiveCfg = Debug|Win32 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x86.Build.0 = Debug|Win32 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x86.Deploy.0 = Debug|Win32 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM.ActiveCfg = Release|ARM + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM.Build.0 = Release|ARM + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM.Deploy.0 = Release|ARM + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM64.ActiveCfg = Release|ARM64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM64.Build.0 = Release|ARM64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x64.ActiveCfg = Release|x64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x64.Build.0 = Release|x64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x86.ActiveCfg = Release|Win32 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x86.Build.0 = Release|Win32 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x86.Deploy.0 = Release|Win32 + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|ARM.ActiveCfg = Debug|ARM + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|ARM.Build.0 = Debug|ARM + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|ARM64.Build.0 = Debug|ARM64 + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|x64.ActiveCfg = Debug|x64 + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|x64.Build.0 = Debug|x64 + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|x86.ActiveCfg = Debug|Win32 + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|x86.Build.0 = Debug|Win32 + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|ARM.ActiveCfg = Release|ARM + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|ARM.Build.0 = Release|ARM + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|ARM64.ActiveCfg = Release|ARM64 + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|ARM64.Build.0 = Release|ARM64 + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|x64.ActiveCfg = Release|x64 + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|x64.Build.0 = Release|x64 + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|x86.ActiveCfg = Release|Win32 + {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|x86.Build.0 = Release|Win32 + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|ARM.ActiveCfg = Debug|ARM + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|ARM.Build.0 = Debug|ARM + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|ARM64.Build.0 = Debug|ARM64 + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|x64.ActiveCfg = Debug|x64 + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|x64.Build.0 = Debug|x64 + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|x86.ActiveCfg = Debug|Win32 + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|x86.Build.0 = Debug|Win32 + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|ARM.ActiveCfg = Release|ARM + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|ARM.Build.0 = Release|ARM + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|ARM64.ActiveCfg = Release|ARM64 + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|ARM64.Build.0 = Release|ARM64 + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|x64.ActiveCfg = Release|x64 + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|x64.Build.0 = Release|x64 + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|x86.ActiveCfg = Release|Win32 + {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D} = {A325E68E-DD2D-47CF-BA46-169C75C070C1} + {A990658C-CE31-4BCC-976F-0FC6B1AF693D} = {A325E68E-DD2D-47CF-BA46-169C75C070C1} + {A62D504A-16B8-41D2-9F19-E2E86019E5E4} = {A325E68E-DD2D-47CF-BA46-169C75C070C1} + {F7D32BD0-2749-483E-9A0D-1635EF7E3136} = {A325E68E-DD2D-47CF-BA46-169C75C070C1} + {F2824844-CE15-4242-9420-308923CD76C3} = {A325E68E-DD2D-47CF-BA46-169C75C070C1} + {8B3AAE74-A78B-477F-952E-3C81C9ADB5D5} = {A325E68E-DD2D-47CF-BA46-169C75C070C1} + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD} = {A325E68E-DD2D-47CF-BA46-169C75C070C1} + {C38970C0-5FBF-4D69-90D8-CBAC225AE895} = {A325E68E-DD2D-47CF-BA46-169C75C070C1} + {EF074BA1-2D54-4D49-A28E-5E040B47CD2E} = {A325E68E-DD2D-47CF-BA46-169C75C070C1} + {0CC28589-39E4-4288-B162-97B959F8B843} = {A325E68E-DD2D-47CF-BA46-169C75C070C1} + {DA8B35B3-DA00-4B02-BDE6-6A397B3FD46B} = {A325E68E-DD2D-47CF-BA46-169C75C070C1} + {2049DBE9-8D13-42C9-AE4B-413AE38FFFD0} = {A325E68E-DD2D-47CF-BA46-169C75C070C1} + {84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E} = {A325E68E-DD2D-47CF-BA46-169C75C070C1} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {83F2DB10-6703-47B6-BE41-406D3AA52352} + EndGlobalSection +EndGlobal diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/PropertySheet.props b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/PropertySheet.props new file mode 100644 index 000000000..e34141b01 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/PropertySheet.props @@ -0,0 +1,16 @@ + + + + + + + + \ No newline at end of file diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/ReactPackageProvider.cpp b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/ReactPackageProvider.cpp new file mode 100644 index 000000000..05c4d8efa --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/ReactPackageProvider.cpp @@ -0,0 +1,17 @@ +#include "pch.h" +#include "ReactPackageProvider.h" +#include "NativeModules.h" + +#include "<%- project.name %>_NativeModule.hpp" + +using namespace winrt::Microsoft::ReactNative; + +namespace winrt::<%- project.name %>::implementation +{ + +void ReactPackageProvider::CreatePackage(IReactPackageBuilder const &packageBuilder) noexcept +{ + AddAttributedModules(packageBuilder); +} + +} // namespace winrt::<%- project.name %>::implementation diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/ReactPackageProvider.h b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/ReactPackageProvider.h new file mode 100644 index 000000000..788957f8e --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/ReactPackageProvider.h @@ -0,0 +1,13 @@ +#pragma once + +#include "winrt/Microsoft.ReactNative.h" + +namespace winrt::<%- project.name %>::implementation +{ + struct ReactPackageProvider : winrt::implements + { + public: // IReactPackageProvider + void CreatePackage(winrt::Microsoft::ReactNative::IReactPackageBuilder const &packageBuilder) noexcept; + }; +} // namespace winrt::<%- project.name %>::implementation + diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/ReactPackageProvider.idl b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/ReactPackageProvider.idl new file mode 100644 index 000000000..dd5db0f41 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/ReactPackageProvider.idl @@ -0,0 +1,9 @@ +namespace <%- project.name %> +{ + [webhosthidden] + [default_interface] + runtimeclass ReactPackageProvider : Microsoft.ReactNative.IReactPackageProvider + { + ReactPackageProvider(); + }; +} diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/packages.config b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/packages.config new file mode 100644 index 000000000..4d226bc09 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/pch.cpp b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/pch.cpp new file mode 100644 index 000000000..1d9f38c57 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/pch.cpp @@ -0,0 +1 @@ +#include "pch.h" diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/pch.h b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/pch.h new file mode 100644 index 000000000..13f3eecbe --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/pch.h @@ -0,0 +1,26 @@ +#pragma once + +#define NOMINMAX + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include +#include +#include +#include diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/readme.txt b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/readme.txt new file mode 100644 index 000000000..feebcec33 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/readme.txt @@ -0,0 +1,23 @@ +======================================================================== + C++/WinRT <%- project.name %> Project Overview +======================================================================== + +This project demonstrates how to get started authoring Windows Runtime +classes directly with standard C++, using the C++/WinRT SDK component +to generate implementation headers from interface (IDL) files. The +generated Windows Runtime component binary and WinMD files should then +be bundled with the Universal Windows Platform (UWP) app consuming them. + +Steps: +1. Create an interface (IDL) file to define your Windows Runtime class, + its default interface, and any other interfaces it implements. +2. Build the project once to generate module.g.cpp, module.h.cpp, and + implementation templates under the "Generated Files" folder, as + well as skeleton class definitions under "Generated Files\sources". +3. Use the skeleton class definitions for reference to implement your + Windows Runtime classes. + +======================================================================== +Learn more about C++/WinRT here: +http://aka.ms/cppwinrt/ +======================================================================== diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.def b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.def new file mode 100644 index 000000000..24e7c1235 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.def @@ -0,0 +1,3 @@ +EXPORTS +DllCanUnloadNow = WINRT_CanUnloadNow PRIVATE +DllGetActivationFactory = WINRT_GetActivationFactory PRIVATE diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.filters b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.filters new file mode 100644 index 000000000..a05e60a39 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.filters @@ -0,0 +1,31 @@ + + + + + accd3aa8-1ba0-4223-9bbe-0c431709210b + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tga;tiff;tif;png;wav;mfcribbon-ms + + + {926ab91d-31b4-48c3-b9a4-e681349f27f0} + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.pfx b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.pfx new file mode 100644 index 0000000000000000000000000000000000000000..b78898bf16cb63e3a6a6b4c390f31c9ee0f9c551 GIT binary patch literal 2544 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 EH$_W$NB{r; literal 0 HcmV?d00001 diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.vcxproj b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.vcxproj new file mode 100644 index 000000000..abebed94e --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.vcxproj @@ -0,0 +1,210 @@ + + + + + true + true + true + true + {c5b2449b-b4f0-4348-8b65-59adc7de13b8} + <%- project.name %> + <%- project.name %> + en-US + 14.0 + true + Windows Store + 10.0 + 10.0.19041.0 + 10.0.17134.0 + + + + $([MSBuild]::GetDirectoryNameOfFileAbove($(SolutionDir), 'node_modules\react-native-windows\package.json'))\node_modules\react-native-windows\ + + + + Debug + ARM + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release + ARM + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + DynamicLibrary + v140 + v141 + v142 + Unicode + false + + + true + true + + + false + true + false + + + + + + + + + + + + + + + + + + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + + + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + + + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + + + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + + + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + + + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + + + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + + + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + + + + Use + pch.h + $(IntDir)pch.pch + Level4 + %(AdditionalOptions) /bigobj + + /DWINRT_NO_MAKE_DETECTION %(AdditionalOptions) + + + _WINRT_DLL;WIN32_LEAN_AND_MEAN;WINRT_LEAN_AND_MEAN;%(PreprocessorDefinitions) + $(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories) + + + Console + false + <%- project.name %>.def + + + + + _DEBUG;%(PreprocessorDefinitions) + + + + + NDEBUG;%(PreprocessorDefinitions) + + + true + true + + + + + ReactPackageProvider.idl + Code + + + + + + + + ReactPackageProvider.idl + Code + + + Create + + + + + Designer + + + + + + + + + + false + + + + + + + + + This project references targets in your node_modules\react-native-windows folder that are missing. The missing file is {0}. + + + + + + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + + \ No newline at end of file diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}_NativeModule.hpp b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}_NativeModule.hpp new file mode 100644 index 000000000..af783d62a --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}_NativeModule.hpp @@ -0,0 +1,23 @@ +#pragma once + +#include "pch.h" +#include "NativeModules.h" + +namespace winrt::<%- project.name %>::implementation +{ + REACT_MODULE( <%- project.name %>_NativeModule ); + struct <%- project.name %>_NativeModule + { + REACT_INIT( Initialize ); + void Initialize( const winrt::Microsoft::ReactNative::ReactContext& reactContext ) noexcept + { + context = reactContext; + } + + + + private: + winrt::Microsoft::ReactNative::ReactContext context; + + }; +} From 2adae3c6b8ce50ba4be4b8de49d190428ea4f1e3 Mon Sep 17 00:00:00 2001 From: Bartosz Klonowski Date: Wed, 26 May 2021 02:15:34 +0200 Subject: [PATCH 06/14] Improve Cpp Native UI Component template The template for C++ Native UI component has been refactored: * ReactPackageProvider added so the RNW can automatically link the created FrameworkElement * View and ViewManager scaffolded for better starting point * Solution file fixed - more convenient approach to project architecture and structure * View IDL template does now derive from FrameworkElement This is done mostly for the compilation purposes, but this can also give a better understanding for the developers --- .../windows/{%- project.name %}.sln | 52 +++++-------- .../windows/{%- project.name %}/Class.cpp | 15 ---- .../windows/{%- project.name %}/Class.h | 21 ----- .../windows/{%- project.name %}/Class.idl | 9 --- .../ReactPackageProvider.cpp | 17 ++++ .../ReactPackageProvider.h | 20 +++++ .../ReactPackageProvider.idl | 9 +++ .../{%- project.name %}.vcxproj | 77 +++++++++++++------ .../{%- project.name %}View.cpp | 9 +++ .../{%- project.name %}View.h | 22 ++++++ .../{%- project.name %}View.idl | 8 ++ .../{%- project.name %}ViewManager.cpp | 23 ++++++ .../{%- project.name %}ViewManager.hpp | 23 ++++++ 13 files changed, 202 insertions(+), 103 deletions(-) delete mode 100644 packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/Class.cpp delete mode 100644 packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/Class.h delete mode 100644 packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/Class.idl create mode 100644 packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/ReactPackageProvider.cpp create mode 100644 packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/ReactPackageProvider.h create mode 100644 packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/ReactPackageProvider.idl create mode 100644 packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}View.cpp create mode 100644 packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}View.h create mode 100644 packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}View.idl create mode 100644 packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.cpp create mode 100644 packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.hpp diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}.sln b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}.sln index aa279f13e..6501cc9f7 100644 --- a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}.sln +++ b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}.sln @@ -3,6 +3,8 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16 VisualStudioVersion = 16.0.30711.63 MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "<%- project.name %>", "<%- project.name %>\<%- project.name %>.vcxproj", "{84A4A23F-DE1B-450F-A171-B3159F276112}" +EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ReactNative", "ReactNative", "{A325E68E-DD2D-47CF-BA46-169C75C070C1}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "..\node_modules\react-native-windows\Common\Common.vcxproj", "{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}" @@ -31,8 +33,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Share EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mso", "..\node_modules\react-native-windows\Mso\Mso.vcxitems", "{84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "<%- project.name %>", "<%- project.name %>\<%- project.name %>.vcxproj", "{c5b2449b-b4f0-4348-8b65-59adc7de13b8}" -EndProject Global GlobalSection(SharedMSBuildProjectFiles) = preSolution ..\node_modules\react-native-windows\JSI\Shared\JSI.Shared.vcxitems*{0cc28589-39e4-4288-b162-97b959f8b843}*SharedItemsImports = 9 @@ -58,6 +58,22 @@ Global Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {84A4A23F-DE1B-450F-A171-B3159F276112}.Debug|ARM.ActiveCfg = Debug|ARM + {84A4A23F-DE1B-450F-A171-B3159F276112}.Debug|ARM.Build.0 = Debug|ARM + {84A4A23F-DE1B-450F-A171-B3159F276112}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {84A4A23F-DE1B-450F-A171-B3159F276112}.Debug|ARM64.Build.0 = Debug|ARM64 + {84A4A23F-DE1B-450F-A171-B3159F276112}.Debug|x64.ActiveCfg = Debug|x64 + {84A4A23F-DE1B-450F-A171-B3159F276112}.Debug|x64.Build.0 = Debug|x64 + {84A4A23F-DE1B-450F-A171-B3159F276112}.Debug|x86.ActiveCfg = Debug|Win32 + {84A4A23F-DE1B-450F-A171-B3159F276112}.Debug|x86.Build.0 = Debug|Win32 + {84A4A23F-DE1B-450F-A171-B3159F276112}.Release|ARM.ActiveCfg = Release|ARM + {84A4A23F-DE1B-450F-A171-B3159F276112}.Release|ARM.Build.0 = Release|ARM + {84A4A23F-DE1B-450F-A171-B3159F276112}.Release|ARM64.ActiveCfg = Release|ARM64 + {84A4A23F-DE1B-450F-A171-B3159F276112}.Release|ARM64.Build.0 = Release|ARM64 + {84A4A23F-DE1B-450F-A171-B3159F276112}.Release|x64.ActiveCfg = Release|x64 + {84A4A23F-DE1B-450F-A171-B3159F276112}.Release|x64.Build.0 = Release|x64 + {84A4A23F-DE1B-450F-A171-B3159F276112}.Release|x86.ActiveCfg = Release|Win32 + {84A4A23F-DE1B-450F-A171-B3159F276112}.Release|x86.Build.0 = Release|Win32 {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM.ActiveCfg = Debug|ARM {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM.Build.0 = Debug|ARM {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM.Deploy.0 = Debug|ARM @@ -190,38 +206,6 @@ Global {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x86.ActiveCfg = Release|Win32 {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x86.Build.0 = Release|Win32 {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x86.Deploy.0 = Release|Win32 - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|ARM.ActiveCfg = Debug|ARM - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|ARM.Build.0 = Debug|ARM - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|ARM64.Build.0 = Debug|ARM64 - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|x64.ActiveCfg = Debug|x64 - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|x64.Build.0 = Debug|x64 - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|x86.ActiveCfg = Debug|Win32 - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|x86.Build.0 = Debug|Win32 - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|ARM.ActiveCfg = Release|ARM - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|ARM.Build.0 = Release|ARM - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|ARM64.ActiveCfg = Release|ARM64 - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|ARM64.Build.0 = Release|ARM64 - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|x64.ActiveCfg = Release|x64 - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|x64.Build.0 = Release|x64 - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|x86.ActiveCfg = Release|Win32 - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|x86.Build.0 = Release|Win32 - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|ARM.ActiveCfg = Debug|ARM - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|ARM.Build.0 = Debug|ARM - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|ARM64.Build.0 = Debug|ARM64 - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|x64.ActiveCfg = Debug|x64 - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|x64.Build.0 = Debug|x64 - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|x86.ActiveCfg = Debug|Win32 - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|x86.Build.0 = Debug|Win32 - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|ARM.ActiveCfg = Release|ARM - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|ARM.Build.0 = Release|ARM - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|ARM64.ActiveCfg = Release|ARM64 - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|ARM64.Build.0 = Release|ARM64 - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|x64.ActiveCfg = Release|x64 - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|x64.Build.0 = Release|x64 - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|x86.ActiveCfg = Release|Win32 - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/Class.cpp b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/Class.cpp deleted file mode 100644 index e1d041f68..000000000 --- a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/Class.cpp +++ /dev/null @@ -1,15 +0,0 @@ -#include "Class.h" -#include "Class.g.cpp" - -namespace winrt::<%- project.name %>::implementation -{ - int32_t Class::MyProperty() - { - throw hresult_not_implemented(); - } - - void Class::MyProperty(int32_t /* value */) - { - throw hresult_not_implemented(); - } -} diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/Class.h b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/Class.h deleted file mode 100644 index 71ab535b0..000000000 --- a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/Class.h +++ /dev/null @@ -1,21 +0,0 @@ -#pragma once - -#include "Class.g.h" - -namespace winrt::<%- project.name %>::implementation -{ - struct Class : ClassT - { - Class() = default; - - int32_t MyProperty(); - void MyProperty(int32_t value); - }; -} - -namespace winrt::<%- project.name %>::factory_implementation -{ - struct Class : ClassT - { - }; -} diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/Class.idl b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/Class.idl deleted file mode 100644 index b40e8b7db..000000000 --- a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/Class.idl +++ /dev/null @@ -1,9 +0,0 @@ -namespace <%- project.name %> -{ - [default_interface] - runtimeclass Class - { - Class(); - Int32 MyProperty; - } -} diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/ReactPackageProvider.cpp b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/ReactPackageProvider.cpp new file mode 100644 index 000000000..6d145cd57 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/ReactPackageProvider.cpp @@ -0,0 +1,17 @@ +#include "ReactPackageProvider.h" +#if __has_include("ReactPackageProvider.g.cpp") +#include "ReactPackageProvider.g.cpp" +#endif + +#include + +#include "<%- project.name %>ViewManager.hpp" + + +namespace winrt::<%- project.name %>::implementation +{ + void ReactPackageProvider::CreatePackage( const winrt::Microsoft::ReactNative::IReactPackageBuilder& packageBuilder ) noexcept + { + packageBuilder.AddViewManager( L"<%- project.name %>ViewManager", []() { return winrt::make<<%- project.name %>ViewManager>(); } ); + } +} diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/ReactPackageProvider.h b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/ReactPackageProvider.h new file mode 100644 index 000000000..062c156ef --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/ReactPackageProvider.h @@ -0,0 +1,20 @@ +#pragma once + +#include "ReactPackageProvider.g.h" + +namespace winrt::<%- project.name %>::implementation +{ + struct ReactPackageProvider : ReactPackageProviderT + { + ReactPackageProvider() = default; + + void CreatePackage( const winrt::Microsoft::ReactNative::IReactPackageBuilder& packageBuilder ) noexcept; + }; +} + +namespace winrt::<%- project.name %>::factory_implementation +{ + struct ReactPackageProvider : ReactPackageProviderT + { + }; +} diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/ReactPackageProvider.idl b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/ReactPackageProvider.idl new file mode 100644 index 000000000..dd5db0f41 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/ReactPackageProvider.idl @@ -0,0 +1,9 @@ +namespace <%- project.name %> +{ + [webhosthidden] + [default_interface] + runtimeclass ReactPackageProvider : Microsoft.ReactNative.IReactPackageProvider + { + ReactPackageProvider(); + }; +} diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.vcxproj b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.vcxproj index 12a293ebc..2b29a6fac 100644 --- a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.vcxproj +++ b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.vcxproj @@ -3,10 +3,10 @@ true - true + false true true - {c5b2449b-b4f0-4348-8b65-59adc7de13b8} + {84a4a23f-de1b-450f-a171-b3159f276112} <%- project.name %> <%- project.name %> en-US @@ -88,36 +88,36 @@ - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ @@ -144,6 +144,18 @@ _DEBUG;%(PreprocessorDefinitions) + + $(OutDir)$(ProjectName).winmd + + + $(OutDir)$(ProjectName).winmd + + + $(OutDir)$(ProjectName).winmd + + + $(OutDir)$(ProjectName).winmd + @@ -152,28 +164,45 @@ true true + $(OutDir)$(ProjectName).winmd + $(OutDir)$(ProjectName).winmd + $(OutDir)$(ProjectName).winmd + $(OutDir)$(ProjectName).winmd - - Class.idl + + ReactPackageProvider.idl + Code + + + <%- project.name %>View.idl + - - Class.idl + + ReactPackageProvider.idl + Code + + + <%- project.name %>View.idl + - + + Designer + + - + false diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}View.cpp b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}View.cpp new file mode 100644 index 000000000..cf6d445d0 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}View.cpp @@ -0,0 +1,9 @@ +#include "<%- project.name %>View.h" +#include "<%- project.name %>View.g.cpp" + +namespace winrt::<%- project.name %>::implementation +{ + <%- project.name %>View::<%- project.name %>View( const Microsoft::ReactNative::IReactContext& reactContext ) : reactContext{ reactContext } + { + } +} diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}View.h b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}View.h new file mode 100644 index 000000000..0fb32fe85 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}View.h @@ -0,0 +1,22 @@ +#pragma once + +#include "<%- project.name %>View.g.h" + +namespace winrt::<%- project.name %>::implementation +{ + struct <%- project.name %>View : <%- project.name %>ViewT<<%- project.name %>View> + { + <%- project.name %>View() = default; + <%- project.name %>View( const Microsoft::ReactNative::IReactContext& reactContext ); + + private: + winrt::Microsoft::ReactNative::IReactContext reactContext; + }; +} + +namespace winrt::<%- project.name %>::factory_implementation +{ + struct <%- project.name %>View : <%- project.name %>ViewT<<%- project.name %>View, implementation::<%- project.name %>View> + { + }; +} diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}View.idl b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}View.idl new file mode 100644 index 000000000..c9d652fcb --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}View.idl @@ -0,0 +1,8 @@ +namespace <%- project.name %> +{ + [default_interface] + runtimeclass <%- project.name %>View : Windows.UI.Xaml.FrameworkElement + { + <%- project.name %>View( Microsoft.ReactNative.IReactContext context ); + } +} diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.cpp b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.cpp new file mode 100644 index 000000000..c775685b6 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.cpp @@ -0,0 +1,23 @@ +#include "<%- project.name %>ViewManager.hpp" +#include "<%- project.name %>View.h" + +#include "NativeModules.h" +#include + +namespace winrt::<%- project.name %>::implementation +{ + <%- project.name %>ViewManager::<%- project.name %>ViewManager() + { + } + + // IViewManager + winrt::hstring <%- project.name %>ViewManager::Name() noexcept + { + return L"<%- project.name %>"; + } + + Windows::UI::Xaml::FrameworkElement <%- project.name %>ViewManager::CreateView() noexcept + { + return winrt::<%- project.name %>::<%- project.name %>View( reactContext ); + } +} diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.hpp b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.hpp new file mode 100644 index 000000000..10b5fa3aa --- /dev/null +++ b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.hpp @@ -0,0 +1,23 @@ +#pragma once + +#include +#include +#include + +namespace winrt::<%- project.name %>::implementation +{ + class <%- project.name %>ViewManager : public implements< + <%- project.name %>ViewManager, + Microsoft::ReactNative::IViewManager> + { + public: + <%- project.name %>ViewManager(); + + // IViewManager + hstring Name() noexcept; + Windows::UI::Xaml::FrameworkElement CreateView() noexcept; + + private: + winrt::Microsoft::ReactNative::IReactContext reactContext{ nullptr }; + }; +} From 69c6569672750f21a603fbb6defb195c7f5f7017 Mon Sep 17 00:00:00 2001 From: Bartosz Klonowski Date: Wed, 26 May 2021 02:55:08 +0200 Subject: [PATCH 07/14] Improve C++ native module template The native module template has been refactored: * PCH removed * Native Module header file formatting unified * Project architecture improved --- .../windows/{%- project.name %}.sln | 52 +++++--------- .../ReactPackageProvider.cpp | 20 +++--- .../ReactPackageProvider.h | 18 +++-- .../windows/{%- project.name %}/pch.cpp | 1 - .../windows/{%- project.name %}/pch.h | 25 ------- .../{%- project.name %}.filters | 7 +- .../{%- project.name %}.vcxproj | 70 +++++++++++-------- .../{%- project.name %}_NativeModule.hpp | 5 +- 8 files changed, 88 insertions(+), 110 deletions(-) delete mode 100644 packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/pch.cpp diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}.sln b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}.sln index aa279f13e..6501cc9f7 100644 --- a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}.sln +++ b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}.sln @@ -3,6 +3,8 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16 VisualStudioVersion = 16.0.30711.63 MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "<%- project.name %>", "<%- project.name %>\<%- project.name %>.vcxproj", "{84A4A23F-DE1B-450F-A171-B3159F276112}" +EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ReactNative", "ReactNative", "{A325E68E-DD2D-47CF-BA46-169C75C070C1}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "..\node_modules\react-native-windows\Common\Common.vcxproj", "{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}" @@ -31,8 +33,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Share EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mso", "..\node_modules\react-native-windows\Mso\Mso.vcxitems", "{84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "<%- project.name %>", "<%- project.name %>\<%- project.name %>.vcxproj", "{c5b2449b-b4f0-4348-8b65-59adc7de13b8}" -EndProject Global GlobalSection(SharedMSBuildProjectFiles) = preSolution ..\node_modules\react-native-windows\JSI\Shared\JSI.Shared.vcxitems*{0cc28589-39e4-4288-b162-97b959f8b843}*SharedItemsImports = 9 @@ -58,6 +58,22 @@ Global Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {84A4A23F-DE1B-450F-A171-B3159F276112}.Debug|ARM.ActiveCfg = Debug|ARM + {84A4A23F-DE1B-450F-A171-B3159F276112}.Debug|ARM.Build.0 = Debug|ARM + {84A4A23F-DE1B-450F-A171-B3159F276112}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {84A4A23F-DE1B-450F-A171-B3159F276112}.Debug|ARM64.Build.0 = Debug|ARM64 + {84A4A23F-DE1B-450F-A171-B3159F276112}.Debug|x64.ActiveCfg = Debug|x64 + {84A4A23F-DE1B-450F-A171-B3159F276112}.Debug|x64.Build.0 = Debug|x64 + {84A4A23F-DE1B-450F-A171-B3159F276112}.Debug|x86.ActiveCfg = Debug|Win32 + {84A4A23F-DE1B-450F-A171-B3159F276112}.Debug|x86.Build.0 = Debug|Win32 + {84A4A23F-DE1B-450F-A171-B3159F276112}.Release|ARM.ActiveCfg = Release|ARM + {84A4A23F-DE1B-450F-A171-B3159F276112}.Release|ARM.Build.0 = Release|ARM + {84A4A23F-DE1B-450F-A171-B3159F276112}.Release|ARM64.ActiveCfg = Release|ARM64 + {84A4A23F-DE1B-450F-A171-B3159F276112}.Release|ARM64.Build.0 = Release|ARM64 + {84A4A23F-DE1B-450F-A171-B3159F276112}.Release|x64.ActiveCfg = Release|x64 + {84A4A23F-DE1B-450F-A171-B3159F276112}.Release|x64.Build.0 = Release|x64 + {84A4A23F-DE1B-450F-A171-B3159F276112}.Release|x86.ActiveCfg = Release|Win32 + {84A4A23F-DE1B-450F-A171-B3159F276112}.Release|x86.Build.0 = Release|Win32 {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM.ActiveCfg = Debug|ARM {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM.Build.0 = Debug|ARM {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM.Deploy.0 = Debug|ARM @@ -190,38 +206,6 @@ Global {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x86.ActiveCfg = Release|Win32 {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x86.Build.0 = Release|Win32 {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x86.Deploy.0 = Release|Win32 - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|ARM.ActiveCfg = Debug|ARM - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|ARM.Build.0 = Debug|ARM - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|ARM64.Build.0 = Debug|ARM64 - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|x64.ActiveCfg = Debug|x64 - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|x64.Build.0 = Debug|x64 - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|x86.ActiveCfg = Debug|Win32 - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Debug|x86.Build.0 = Debug|Win32 - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|ARM.ActiveCfg = Release|ARM - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|ARM.Build.0 = Release|ARM - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|ARM64.ActiveCfg = Release|ARM64 - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|ARM64.Build.0 = Release|ARM64 - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|x64.ActiveCfg = Release|x64 - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|x64.Build.0 = Release|x64 - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|x86.ActiveCfg = Release|Win32 - {c5b2449b-b4f0-4348-8b65-59adc7de13b8}.Release|x86.Build.0 = Release|Win32 - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|ARM.ActiveCfg = Debug|ARM - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|ARM.Build.0 = Debug|ARM - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|ARM64.Build.0 = Debug|ARM64 - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|x64.ActiveCfg = Debug|x64 - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|x64.Build.0 = Debug|x64 - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|x86.ActiveCfg = Debug|Win32 - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Debug|x86.Build.0 = Debug|Win32 - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|ARM.ActiveCfg = Release|ARM - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|ARM.Build.0 = Release|ARM - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|ARM64.ActiveCfg = Release|ARM64 - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|ARM64.Build.0 = Release|ARM64 - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|x64.ActiveCfg = Release|x64 - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|x64.Build.0 = Release|x64 - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|x86.ActiveCfg = Release|Win32 - {F89ACCEB-A345-48DC-A3AA-14259E14ABD6}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/ReactPackageProvider.cpp b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/ReactPackageProvider.cpp index 05c4d8efa..26c3cc95a 100644 --- a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/ReactPackageProvider.cpp +++ b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/ReactPackageProvider.cpp @@ -1,17 +1,17 @@ -#include "pch.h" -#include "ReactPackageProvider.h" -#include "NativeModules.h" +#include "ReactPackageProvider.h" +#if __has_include("ReactPackageProvider.g.cpp") +#include "ReactPackageProvider.g.cpp" +#endif + +#include #include "<%- project.name %>_NativeModule.hpp" -using namespace winrt::Microsoft::ReactNative; namespace winrt::<%- project.name %>::implementation { - -void ReactPackageProvider::CreatePackage(IReactPackageBuilder const &packageBuilder) noexcept -{ - AddAttributedModules(packageBuilder); + void ReactPackageProvider::CreatePackage( const winrt::Microsoft::ReactNative::IReactPackageBuilder& packageBuilder ) noexcept + { + winrt::Microsoft::ReactNative::AddAttributedModules( packageBuilder ); + } } - -} // namespace winrt::<%- project.name %>::implementation diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/ReactPackageProvider.h b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/ReactPackageProvider.h index 788957f8e..e1ee0db38 100644 --- a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/ReactPackageProvider.h +++ b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/ReactPackageProvider.h @@ -1,13 +1,21 @@ -#pragma once +#pragma once +#include "ReactPackageProvider.g.h" #include "winrt/Microsoft.ReactNative.h" namespace winrt::<%- project.name %>::implementation { - struct ReactPackageProvider : winrt::implements + struct ReactPackageProvider : ReactPackageProviderT { - public: // IReactPackageProvider - void CreatePackage(winrt::Microsoft::ReactNative::IReactPackageBuilder const &packageBuilder) noexcept; + ReactPackageProvider() = default; + + void CreatePackage( const winrt::Microsoft::ReactNative::IReactPackageBuilder& packageBuilder ) noexcept; }; -} // namespace winrt::<%- project.name %>::implementation +} +namespace winrt::<%- project.name %>::factory_implementation +{ + struct ReactPackageProvider : ReactPackageProviderT + { + }; +} diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/pch.cpp b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/pch.cpp deleted file mode 100644 index 1d9f38c57..000000000 --- a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/pch.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "pch.h" diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/pch.h b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/pch.h index 13f3eecbe..73b4b8665 100644 --- a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/pch.h +++ b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/pch.h @@ -1,26 +1 @@ #pragma once - -#define NOMINMAX - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include -#include -#include diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.filters b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.filters index a05e60a39..278a13fbf 100644 --- a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.filters +++ b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.filters @@ -10,13 +10,14 @@ + - - - + + + diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.vcxproj b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.vcxproj index abebed94e..2f6df01f2 100644 --- a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.vcxproj +++ b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.vcxproj @@ -3,10 +3,10 @@ true - true + false true true - {c5b2449b-b4f0-4348-8b65-59adc7de13b8} + {84a4a23f-de1b-450f-a171-b3159f276112} <%- project.name %> <%- project.name %> en-US @@ -88,41 +88,42 @@ - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) - $(SolutionDir)Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform) + $(SolutionDir)..\Build\$(SolutionName)\$(ProjectName)\$(Configuration)-$(Platform)\Intermediate\ - Use - pch.h + NotUsing + + $(IntDir)pch.pch Level4 %(AdditionalOptions) /bigobj @@ -143,6 +144,18 @@ _DEBUG;%(PreprocessorDefinitions) + + $(OutDir)$(ProjectName).winmd + + + $(OutDir)$(ProjectName).winmd + + + $(OutDir)$(ProjectName).winmd + + + $(OutDir)$(ProjectName).winmd + @@ -151,25 +164,26 @@ true true + $(OutDir)$(ProjectName).winmd + $(OutDir)$(ProjectName).winmd + $(OutDir)$(ProjectName).winmd + $(OutDir)$(ProjectName).winmd - + + ReactPackageProvider.idl Code - - - + + - ReactPackageProvider.idl Code - - Create - + diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}_NativeModule.hpp b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}_NativeModule.hpp index af783d62a..add104cc1 100644 --- a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}_NativeModule.hpp +++ b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}_NativeModule.hpp @@ -1,7 +1,7 @@ #pragma once -#include "pch.h" #include "NativeModules.h" +#include "winrt/Microsoft.ReactNative.h" namespace winrt::<%- project.name %>::implementation { @@ -14,10 +14,7 @@ namespace winrt::<%- project.name %>::implementation context = reactContext; } - - private: winrt::Microsoft::ReactNative::ReactContext context; - }; } From e29da54e0484a2c0967fb349a07d60e3d5eafc05 Mon Sep 17 00:00:00 2001 From: Bartosz Klonowski Date: Wed, 26 May 2021 12:43:39 +0200 Subject: [PATCH 08/14] Add C# native module project template --- .../windows-csharp-library/windows/.gitignore | 92 ++++++++ .../windows/{%- project.name %}.sln | 222 ++++++++++++++++++ .../Properties/AssemblyInfo.cs | 29 +++ .../Properties/Default.rd.xml | 32 +++ .../ReactPackageProvider.cs | 17 ++ .../{%- project.name %}.csproj | 147 ++++++++++++ .../{%- project.name %}NativeModule.cs | 18 ++ 7 files changed, 557 insertions(+) create mode 100644 packages/create-react-native-library/templates/windows-csharp-library/windows/.gitignore create mode 100644 packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}.sln create mode 100644 packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/Properties/AssemblyInfo.cs create mode 100644 packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/Properties/Default.rd.xml create mode 100644 packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/ReactPackageProvider.cs create mode 100644 packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/{%- project.name %}.csproj create mode 100644 packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/{%- project.name %}NativeModule.cs diff --git a/packages/create-react-native-library/templates/windows-csharp-library/windows/.gitignore b/packages/create-react-native-library/templates/windows-csharp-library/windows/.gitignore new file mode 100644 index 000000000..4ea0c7b5a --- /dev/null +++ b/packages/create-react-native-library/templates/windows-csharp-library/windows/.gitignore @@ -0,0 +1,92 @@ +*AppPackages* +*BundleArtifacts* + +#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 + +#Files generated by the VS build +**/Generated Files/** + diff --git a/packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}.sln b/packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}.sln new file mode 100644 index 000000000..7943ba087 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}.sln @@ -0,0 +1,222 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.29215.179 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "<%- project.name %>", "<%- project.name %>\<%- project.name %>.csproj", "{5D361E8E-8900-4BA5-BF01-680C4D7E354A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Folly", "..\node_modules\react-native-windows\Folly\Folly.vcxproj", "{A990658C-CE31-4BCC-976F-0FC6B1AF693D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReactCommon", "..\node_modules\react-native-windows\ReactCommon\ReactCommon.vcxproj", "{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}" + ProjectSection(ProjectDependencies) = postProject + {A990658C-CE31-4BCC-976F-0FC6B1AF693D} = {A990658C-CE31-4BCC-976F-0FC6B1AF693D} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Chakra", "..\node_modules\react-native-windows\Chakra\Chakra.vcxitems", "{C38970C0-5FBF-4D69-90D8-CBAC225AE895}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative", "..\node_modules\react-native-windows\Microsoft.ReactNative\Microsoft.ReactNative.vcxproj", "{F7D32BD0-2749-483E-9A0D-1635EF7E3136}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JSI.Shared", "..\node_modules\react-native-windows\JSI\Shared\JSI.Shared.vcxitems", "{0CC28589-39E4-4288-B162-97B959F8B843}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JSI.Universal", "..\node_modules\react-native-windows\JSI\Universal\JSI.Universal.vcxproj", "{A62D504A-16B8-41D2-9F19-E2E86019E5E4}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Cxx", "..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems", "{DA8B35B3-DA00-4B02-BDE6-6A397B3FD46B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "..\node_modules\react-native-windows\Common\Common.vcxproj", "{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ReactNative", "ReactNative", "{5EA20F54-880A-49F3-99FA-4B3FE54E8AB1}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Shared", "..\node_modules\react-native-windows\Shared\Shared.vcxitems", "{2049DBE9-8D13-42C9-AE4B-413AE38FFFD0}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mso", "..\node_modules\react-native-windows\Mso\Mso.vcxitems", "{84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Include", "..\node_modules\react-native-windows\include\Include.vcxitems", "{EF074BA1-2D54-4D49-A28E-5E040B47CD2E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.ReactNative.Managed", "..\node_modules\react-native-windows\Microsoft.ReactNative.Managed\Microsoft.ReactNative.Managed.csproj", "{F2824844-CE15-4242-9420-308923CD76C3}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ReactNative.Managed.CodeGen", "..\node_modules\react-native-windows\Microsoft.ReactNative.Managed.CodeGen\Microsoft.ReactNative.Managed.CodeGen.csproj", "{ADED4FBE-887D-4271-AF24-F0823BCE7961}" +EndProject +Global + GlobalSection(SharedMSBuildProjectFiles) = preSolution + ..\node_modules\react-native-windows\JSI\Shared\JSI.Shared.vcxitems*{0cc28589-39e4-4288-b162-97b959f8b843}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\Shared\Shared.vcxitems*{2049dbe9-8d13-42c9-ae4b-413ae38fffd0}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\Mso\Mso.vcxitems*{84e05bfa-cbaf-4f0d-bfb6-4ce85742a57e}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\JSI\Shared\JSI.Shared.vcxitems*{a62d504a-16b8-41d2-9f19-e2e86019e5e4}*SharedItemsImports = 4 + ..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{c38970c0-5fbf-4d69-90d8-cbac225ae895}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{da8b35b3-da00-4b02-bde6-6a397b3fd46b}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\include\Include.vcxitems*{ef074ba1-2d54-4d49-a28e-5e040b47cd2e}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4 + ..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4 + ..\node_modules\react-native-windows\Mso\Mso.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4 + ..\node_modules\react-native-windows\Shared\Shared.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4 + EndGlobalSection + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM = Debug|ARM + Debug|ARM64 = Debug|ARM64 + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|ARM = Release|ARM + Release|ARM64 = Release|ARM64 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Debug|ARM.ActiveCfg = Debug|ARM + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Debug|ARM.Build.0 = Debug|ARM + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Debug|ARM.Deploy.0 = Debug|ARM + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Debug|ARM64.Build.0 = Debug|ARM64 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Debug|ARM64.Deploy.0 = Debug|ARM64 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Debug|x64.ActiveCfg = Debug|x64 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Debug|x64.Build.0 = Debug|x64 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Debug|x64.Deploy.0 = Debug|x64 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Debug|x86.ActiveCfg = Debug|x86 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Debug|x86.Build.0 = Debug|x86 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Debug|x86.Deploy.0 = Debug|x86 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Release|ARM.ActiveCfg = Release|ARM + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Release|ARM.Build.0 = Release|ARM + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Release|ARM.Deploy.0 = Release|ARM + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Release|ARM64.ActiveCfg = Release|ARM64 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Release|ARM64.Build.0 = Release|ARM64 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Release|ARM64.Deploy.0 = Release|ARM64 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Release|x64.ActiveCfg = Release|x64 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Release|x64.Build.0 = Release|x64 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Release|x64.Deploy.0 = Release|x64 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Release|x86.ActiveCfg = Release|x86 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Release|x86.Build.0 = Release|x86 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Release|x86.Deploy.0 = Release|x86 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM.ActiveCfg = Debug|ARM + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM.Build.0 = Debug|ARM + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM64.Build.0 = Debug|ARM64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x64.ActiveCfg = Debug|x64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x64.Build.0 = Debug|x64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x86.ActiveCfg = Debug|Win32 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x86.Build.0 = Debug|Win32 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM.ActiveCfg = Release|ARM + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM.Build.0 = Release|ARM + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM64.ActiveCfg = Release|ARM64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM64.Build.0 = Release|ARM64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x64.ActiveCfg = Release|x64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x64.Build.0 = Release|x64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x86.ActiveCfg = Release|Win32 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x86.Build.0 = Release|Win32 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM.ActiveCfg = Debug|ARM + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM.Build.0 = Debug|ARM + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM64.Build.0 = Debug|ARM64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x64.ActiveCfg = Debug|x64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x64.Build.0 = Debug|x64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x86.ActiveCfg = Debug|Win32 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x86.Build.0 = Debug|Win32 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM.ActiveCfg = Release|ARM + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM.Build.0 = Release|ARM + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM64.ActiveCfg = Release|ARM64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM64.Build.0 = Release|ARM64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x64.ActiveCfg = Release|x64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x64.Build.0 = Release|x64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x86.ActiveCfg = Release|Win32 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x86.Build.0 = Release|Win32 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM.ActiveCfg = Debug|ARM + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM.Build.0 = Debug|ARM + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM64.Build.0 = Debug|ARM64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x64.ActiveCfg = Debug|x64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x64.Build.0 = Debug|x64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x86.ActiveCfg = Debug|Win32 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x86.Build.0 = Debug|Win32 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM.ActiveCfg = Release|ARM + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM.Build.0 = Release|ARM + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM64.ActiveCfg = Release|ARM64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM64.Build.0 = Release|ARM64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x64.ActiveCfg = Release|x64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x64.Build.0 = Release|x64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x86.ActiveCfg = Release|Win32 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x86.Build.0 = Release|Win32 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM.ActiveCfg = Debug|ARM + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM.Build.0 = Debug|ARM + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM64.Build.0 = Debug|ARM64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x64.ActiveCfg = Debug|x64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x64.Build.0 = Debug|x64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x86.ActiveCfg = Debug|Win32 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x86.Build.0 = Debug|Win32 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM.ActiveCfg = Release|ARM + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM.Build.0 = Release|ARM + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM64.ActiveCfg = Release|ARM64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM64.Build.0 = Release|ARM64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x64.ActiveCfg = Release|x64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x64.Build.0 = Release|x64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x86.ActiveCfg = Release|Win32 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x86.Build.0 = Release|Win32 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM.ActiveCfg = Debug|ARM + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM.Build.0 = Debug|ARM + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM64.Build.0 = Debug|ARM64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x64.ActiveCfg = Debug|x64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x64.Build.0 = Debug|x64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x86.ActiveCfg = Debug|Win32 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x86.Build.0 = Debug|Win32 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM.ActiveCfg = Release|ARM + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM.Build.0 = Release|ARM + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM64.ActiveCfg = Release|ARM64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM64.Build.0 = Release|ARM64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x64.ActiveCfg = Release|x64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x64.Build.0 = Release|x64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x86.ActiveCfg = Release|Win32 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x86.Build.0 = Release|Win32 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|ARM.ActiveCfg = Debug|ARM + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|ARM.Build.0 = Debug|ARM + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|ARM64.Build.0 = Debug|ARM64 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|x64.ActiveCfg = Debug|x64 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|x64.Build.0 = Debug|x64 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|x86.ActiveCfg = Debug|x86 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|x86.Build.0 = Debug|x86 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|ARM.ActiveCfg = Release|ARM + {F2824844-CE15-4242-9420-308923CD76C3}.Release|ARM.Build.0 = Release|ARM + {F2824844-CE15-4242-9420-308923CD76C3}.Release|ARM64.ActiveCfg = Release|ARM64 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|ARM64.Build.0 = Release|ARM64 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|x64.ActiveCfg = Release|x64 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|x64.Build.0 = Release|x64 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|x86.ActiveCfg = Release|x86 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|x86.Build.0 = Release|x86 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Debug|ARM.ActiveCfg = Debug|ARM + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Debug|ARM.Build.0 = Debug|ARM + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Debug|ARM64.Build.0 = Debug|ARM64 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Debug|x64.ActiveCfg = Debug|x64 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Debug|x64.Build.0 = Debug|x64 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Debug|x86.ActiveCfg = Debug|x86 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Debug|x86.Build.0 = Debug|x86 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Release|ARM.ActiveCfg = Release|ARM + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Release|ARM.Build.0 = Release|ARM + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Release|ARM64.ActiveCfg = Release|ARM64 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Release|ARM64.Build.0 = Release|ARM64 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Release|x64.ActiveCfg = Release|x64 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Release|x64.Build.0 = Release|x64 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Release|x86.ActiveCfg = Release|x86 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {A990658C-CE31-4BCC-976F-0FC6B1AF693D} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {C38970C0-5FBF-4D69-90D8-CBAC225AE895} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {F7D32BD0-2749-483E-9A0D-1635EF7E3136} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {0CC28589-39E4-4288-B162-97B959F8B843} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {A62D504A-16B8-41D2-9F19-E2E86019E5E4} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {DA8B35B3-DA00-4B02-BDE6-6A397B3FD46B} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {2049DBE9-8D13-42C9-AE4B-413AE38FFFD0} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {EF074BA1-2D54-4D49-A28E-5E040B47CD2E} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {F2824844-CE15-4242-9420-308923CD76C3} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {ADED4FBE-887D-4271-AF24-F0823BCE7961} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {D43FAD39-F619-437D-BB40-04A3982ACB6A} + EndGlobalSection +EndGlobal diff --git a/packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/Properties/AssemblyInfo.cs b/packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..7e4ec9524 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/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("<%- project.name %>")] +[assembly: AssemblyDescription("<%- project.description %>")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("<%- project.name %>")] +[assembly: AssemblyCopyright("Copyright © 2021")] +[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/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/Properties/Default.rd.xml b/packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/Properties/Default.rd.xml new file mode 100644 index 000000000..2343867bd --- /dev/null +++ b/packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/Properties/Default.rd.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/ReactPackageProvider.cs b/packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/ReactPackageProvider.cs new file mode 100644 index 000000000..2240f9740 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/ReactPackageProvider.cs @@ -0,0 +1,17 @@ +using Microsoft.ReactNative; + +namespace <%- project.name %> +{ + public partial class ReactPackageProvider : IReactPackageProvider + { + public void CreatePackage( IReactPackageBuilder packageBuilder ) + { + CreatePackageImplementation( packageBuilder ); + } + + /// + /// This method is implemented by the C# code generator + /// + partial void CreatePackageImplementation( IReactPackageBuilder packageBuilder ); + } +} diff --git a/packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/{%- project.name %}.csproj b/packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/{%- project.name %}.csproj new file mode 100644 index 000000000..f57c1e4d3 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/{%- project.name %}.csproj @@ -0,0 +1,147 @@ + + + + + $([MSBuild]::GetDirectoryNameOfFileAbove($(SolutionDir), 'node_modules\react-native-windows\package.json'))\node_modules\react-native-windows\ + + + Debug + x86 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A} + winmdobj + Properties + <%- project.name %> + <%- project.name %> + en-US + UAP + 10.0.18362.0 + 10.0.16299.0 + 16.0 + 512 + {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + true + 7.3 + + + true + bin\x86\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + x86 + false + prompt + true + + + bin\x86\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + x86 + false + prompt + true + true + + + true + bin\ARM\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + ARM + false + prompt + true + + + bin\ARM\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + ARM + false + prompt + true + true + + + true + bin\ARM64\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + ARM64 + false + prompt + true + + + bin\ARM64\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + ARM64 + false + prompt + true + true + + + true + bin\x64\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + x64 + false + prompt + true + + + bin\x64\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + x64 + false + prompt + true + true + + + PackageReference + + + + + + + + + 6.2.9 + + + + 16.0 + + + + + + + + + + + This project references targets in your node_modules\react-native-windows folder that are missing. The missing file is {0}. + + + + + diff --git a/packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/{%- project.name %}NativeModule.cs b/packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/{%- project.name %}NativeModule.cs new file mode 100644 index 000000000..949e8558a --- /dev/null +++ b/packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/{%- project.name %}NativeModule.cs @@ -0,0 +1,18 @@ +using System; +using Microsoft.ReactNative.Managed; + +namespace <%- project.name %> +{ + [ReactModule("<%- project.name %>")] + internal sealed class <%- project.name %>NativeModule + { + [ReactInitializer] + public void Initialize( ReactContext reactContext ) + { + this.reactContext = reactContext; + } + + + private ReactContext reactContext; + } +} From 09e07fe0849689480c5d10377cfa66fcf9b0f516 Mon Sep 17 00:00:00 2001 From: Bartosz Klonowski Date: Wed, 26 May 2021 13:27:24 +0200 Subject: [PATCH 09/14] Add C# UI Component project template --- .../windows/.gitignore | 92 ++++++++ .../windows/{%- project.name %}.sln | 222 ++++++++++++++++++ .../Properties/AssemblyInfo.cs | 29 +++ .../Properties/Default.rd.xml | 32 +++ .../ReactPackageProvider.cs | 19 ++ .../{%- project.name %}.csproj | 148 ++++++++++++ .../{%- project.name %}View.cs | 12 + .../{%- project.name %}ViewManager.cs | 9 + 8 files changed, 563 insertions(+) create mode 100644 packages/create-react-native-library/templates/windows-csharp-view-library/windows/.gitignore create mode 100644 packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}.sln create mode 100644 packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/Properties/AssemblyInfo.cs create mode 100644 packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/Properties/Default.rd.xml create mode 100644 packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/ReactPackageProvider.cs create mode 100644 packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/{%- project.name %}.csproj create mode 100644 packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/{%- project.name %}View.cs create mode 100644 packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.cs diff --git a/packages/create-react-native-library/templates/windows-csharp-view-library/windows/.gitignore b/packages/create-react-native-library/templates/windows-csharp-view-library/windows/.gitignore new file mode 100644 index 000000000..4ea0c7b5a --- /dev/null +++ b/packages/create-react-native-library/templates/windows-csharp-view-library/windows/.gitignore @@ -0,0 +1,92 @@ +*AppPackages* +*BundleArtifacts* + +#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 + +#Files generated by the VS build +**/Generated Files/** + diff --git a/packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}.sln b/packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}.sln new file mode 100644 index 000000000..7943ba087 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}.sln @@ -0,0 +1,222 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.29215.179 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "<%- project.name %>", "<%- project.name %>\<%- project.name %>.csproj", "{5D361E8E-8900-4BA5-BF01-680C4D7E354A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Folly", "..\node_modules\react-native-windows\Folly\Folly.vcxproj", "{A990658C-CE31-4BCC-976F-0FC6B1AF693D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReactCommon", "..\node_modules\react-native-windows\ReactCommon\ReactCommon.vcxproj", "{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}" + ProjectSection(ProjectDependencies) = postProject + {A990658C-CE31-4BCC-976F-0FC6B1AF693D} = {A990658C-CE31-4BCC-976F-0FC6B1AF693D} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Chakra", "..\node_modules\react-native-windows\Chakra\Chakra.vcxitems", "{C38970C0-5FBF-4D69-90D8-CBAC225AE895}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative", "..\node_modules\react-native-windows\Microsoft.ReactNative\Microsoft.ReactNative.vcxproj", "{F7D32BD0-2749-483E-9A0D-1635EF7E3136}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JSI.Shared", "..\node_modules\react-native-windows\JSI\Shared\JSI.Shared.vcxitems", "{0CC28589-39E4-4288-B162-97B959F8B843}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JSI.Universal", "..\node_modules\react-native-windows\JSI\Universal\JSI.Universal.vcxproj", "{A62D504A-16B8-41D2-9F19-E2E86019E5E4}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Cxx", "..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems", "{DA8B35B3-DA00-4B02-BDE6-6A397B3FD46B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "..\node_modules\react-native-windows\Common\Common.vcxproj", "{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ReactNative", "ReactNative", "{5EA20F54-880A-49F3-99FA-4B3FE54E8AB1}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Shared", "..\node_modules\react-native-windows\Shared\Shared.vcxitems", "{2049DBE9-8D13-42C9-AE4B-413AE38FFFD0}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mso", "..\node_modules\react-native-windows\Mso\Mso.vcxitems", "{84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Include", "..\node_modules\react-native-windows\include\Include.vcxitems", "{EF074BA1-2D54-4D49-A28E-5E040B47CD2E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.ReactNative.Managed", "..\node_modules\react-native-windows\Microsoft.ReactNative.Managed\Microsoft.ReactNative.Managed.csproj", "{F2824844-CE15-4242-9420-308923CD76C3}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ReactNative.Managed.CodeGen", "..\node_modules\react-native-windows\Microsoft.ReactNative.Managed.CodeGen\Microsoft.ReactNative.Managed.CodeGen.csproj", "{ADED4FBE-887D-4271-AF24-F0823BCE7961}" +EndProject +Global + GlobalSection(SharedMSBuildProjectFiles) = preSolution + ..\node_modules\react-native-windows\JSI\Shared\JSI.Shared.vcxitems*{0cc28589-39e4-4288-b162-97b959f8b843}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\Shared\Shared.vcxitems*{2049dbe9-8d13-42c9-ae4b-413ae38fffd0}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\Mso\Mso.vcxitems*{84e05bfa-cbaf-4f0d-bfb6-4ce85742a57e}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\JSI\Shared\JSI.Shared.vcxitems*{a62d504a-16b8-41d2-9f19-e2e86019e5e4}*SharedItemsImports = 4 + ..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{c38970c0-5fbf-4d69-90d8-cbac225ae895}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{da8b35b3-da00-4b02-bde6-6a397b3fd46b}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\include\Include.vcxitems*{ef074ba1-2d54-4d49-a28e-5e040b47cd2e}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4 + ..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4 + ..\node_modules\react-native-windows\Mso\Mso.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4 + ..\node_modules\react-native-windows\Shared\Shared.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4 + EndGlobalSection + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM = Debug|ARM + Debug|ARM64 = Debug|ARM64 + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|ARM = Release|ARM + Release|ARM64 = Release|ARM64 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Debug|ARM.ActiveCfg = Debug|ARM + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Debug|ARM.Build.0 = Debug|ARM + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Debug|ARM.Deploy.0 = Debug|ARM + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Debug|ARM64.Build.0 = Debug|ARM64 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Debug|ARM64.Deploy.0 = Debug|ARM64 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Debug|x64.ActiveCfg = Debug|x64 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Debug|x64.Build.0 = Debug|x64 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Debug|x64.Deploy.0 = Debug|x64 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Debug|x86.ActiveCfg = Debug|x86 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Debug|x86.Build.0 = Debug|x86 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Debug|x86.Deploy.0 = Debug|x86 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Release|ARM.ActiveCfg = Release|ARM + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Release|ARM.Build.0 = Release|ARM + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Release|ARM.Deploy.0 = Release|ARM + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Release|ARM64.ActiveCfg = Release|ARM64 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Release|ARM64.Build.0 = Release|ARM64 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Release|ARM64.Deploy.0 = Release|ARM64 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Release|x64.ActiveCfg = Release|x64 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Release|x64.Build.0 = Release|x64 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Release|x64.Deploy.0 = Release|x64 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Release|x86.ActiveCfg = Release|x86 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Release|x86.Build.0 = Release|x86 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A}.Release|x86.Deploy.0 = Release|x86 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM.ActiveCfg = Debug|ARM + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM.Build.0 = Debug|ARM + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM64.Build.0 = Debug|ARM64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x64.ActiveCfg = Debug|x64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x64.Build.0 = Debug|x64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x86.ActiveCfg = Debug|Win32 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x86.Build.0 = Debug|Win32 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM.ActiveCfg = Release|ARM + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM.Build.0 = Release|ARM + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM64.ActiveCfg = Release|ARM64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM64.Build.0 = Release|ARM64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x64.ActiveCfg = Release|x64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x64.Build.0 = Release|x64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x86.ActiveCfg = Release|Win32 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x86.Build.0 = Release|Win32 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM.ActiveCfg = Debug|ARM + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM.Build.0 = Debug|ARM + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM64.Build.0 = Debug|ARM64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x64.ActiveCfg = Debug|x64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x64.Build.0 = Debug|x64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x86.ActiveCfg = Debug|Win32 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x86.Build.0 = Debug|Win32 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM.ActiveCfg = Release|ARM + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM.Build.0 = Release|ARM + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM64.ActiveCfg = Release|ARM64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM64.Build.0 = Release|ARM64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x64.ActiveCfg = Release|x64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x64.Build.0 = Release|x64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x86.ActiveCfg = Release|Win32 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x86.Build.0 = Release|Win32 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM.ActiveCfg = Debug|ARM + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM.Build.0 = Debug|ARM + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM64.Build.0 = Debug|ARM64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x64.ActiveCfg = Debug|x64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x64.Build.0 = Debug|x64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x86.ActiveCfg = Debug|Win32 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x86.Build.0 = Debug|Win32 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM.ActiveCfg = Release|ARM + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM.Build.0 = Release|ARM + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM64.ActiveCfg = Release|ARM64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM64.Build.0 = Release|ARM64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x64.ActiveCfg = Release|x64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x64.Build.0 = Release|x64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x86.ActiveCfg = Release|Win32 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x86.Build.0 = Release|Win32 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM.ActiveCfg = Debug|ARM + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM.Build.0 = Debug|ARM + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM64.Build.0 = Debug|ARM64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x64.ActiveCfg = Debug|x64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x64.Build.0 = Debug|x64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x86.ActiveCfg = Debug|Win32 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x86.Build.0 = Debug|Win32 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM.ActiveCfg = Release|ARM + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM.Build.0 = Release|ARM + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM64.ActiveCfg = Release|ARM64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM64.Build.0 = Release|ARM64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x64.ActiveCfg = Release|x64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x64.Build.0 = Release|x64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x86.ActiveCfg = Release|Win32 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x86.Build.0 = Release|Win32 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM.ActiveCfg = Debug|ARM + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM.Build.0 = Debug|ARM + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM64.Build.0 = Debug|ARM64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x64.ActiveCfg = Debug|x64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x64.Build.0 = Debug|x64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x86.ActiveCfg = Debug|Win32 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x86.Build.0 = Debug|Win32 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM.ActiveCfg = Release|ARM + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM.Build.0 = Release|ARM + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM64.ActiveCfg = Release|ARM64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM64.Build.0 = Release|ARM64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x64.ActiveCfg = Release|x64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x64.Build.0 = Release|x64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x86.ActiveCfg = Release|Win32 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x86.Build.0 = Release|Win32 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|ARM.ActiveCfg = Debug|ARM + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|ARM.Build.0 = Debug|ARM + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|ARM64.Build.0 = Debug|ARM64 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|x64.ActiveCfg = Debug|x64 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|x64.Build.0 = Debug|x64 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|x86.ActiveCfg = Debug|x86 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|x86.Build.0 = Debug|x86 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|ARM.ActiveCfg = Release|ARM + {F2824844-CE15-4242-9420-308923CD76C3}.Release|ARM.Build.0 = Release|ARM + {F2824844-CE15-4242-9420-308923CD76C3}.Release|ARM64.ActiveCfg = Release|ARM64 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|ARM64.Build.0 = Release|ARM64 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|x64.ActiveCfg = Release|x64 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|x64.Build.0 = Release|x64 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|x86.ActiveCfg = Release|x86 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|x86.Build.0 = Release|x86 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Debug|ARM.ActiveCfg = Debug|ARM + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Debug|ARM.Build.0 = Debug|ARM + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Debug|ARM64.Build.0 = Debug|ARM64 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Debug|x64.ActiveCfg = Debug|x64 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Debug|x64.Build.0 = Debug|x64 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Debug|x86.ActiveCfg = Debug|x86 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Debug|x86.Build.0 = Debug|x86 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Release|ARM.ActiveCfg = Release|ARM + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Release|ARM.Build.0 = Release|ARM + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Release|ARM64.ActiveCfg = Release|ARM64 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Release|ARM64.Build.0 = Release|ARM64 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Release|x64.ActiveCfg = Release|x64 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Release|x64.Build.0 = Release|x64 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Release|x86.ActiveCfg = Release|x86 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {A990658C-CE31-4BCC-976F-0FC6B1AF693D} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {C38970C0-5FBF-4D69-90D8-CBAC225AE895} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {F7D32BD0-2749-483E-9A0D-1635EF7E3136} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {0CC28589-39E4-4288-B162-97B959F8B843} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {A62D504A-16B8-41D2-9F19-E2E86019E5E4} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {DA8B35B3-DA00-4B02-BDE6-6A397B3FD46B} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {2049DBE9-8D13-42C9-AE4B-413AE38FFFD0} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {EF074BA1-2D54-4D49-A28E-5E040B47CD2E} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {F2824844-CE15-4242-9420-308923CD76C3} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {ADED4FBE-887D-4271-AF24-F0823BCE7961} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {D43FAD39-F619-437D-BB40-04A3982ACB6A} + EndGlobalSection +EndGlobal diff --git a/packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/Properties/AssemblyInfo.cs b/packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..7e4ec9524 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/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("<%- project.name %>")] +[assembly: AssemblyDescription("<%- project.description %>")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("<%- project.name %>")] +[assembly: AssemblyCopyright("Copyright © 2021")] +[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/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/Properties/Default.rd.xml b/packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/Properties/Default.rd.xml new file mode 100644 index 000000000..2343867bd --- /dev/null +++ b/packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/Properties/Default.rd.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/ReactPackageProvider.cs b/packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/ReactPackageProvider.cs new file mode 100644 index 000000000..e34401ab1 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/ReactPackageProvider.cs @@ -0,0 +1,19 @@ +using Microsoft.ReactNative; +using Microsoft.ReactNative.Managed; + +namespace <%- project.name %> +{ + public partial class ReactPackageProvider : IReactPackageProvider + { + public void CreatePackage( IReactPackageBuilder packageBuilder ) + { + packageBuilder.AddViewManagers(); + CreatePackageImplementation( packageBuilder ); + } + + /// + /// This method is implemented by the C# code generator + /// + partial void CreatePackageImplementation( IReactPackageBuilder packageBuilder ); + } +} diff --git a/packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/{%- project.name %}.csproj b/packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/{%- project.name %}.csproj new file mode 100644 index 000000000..72bc2f02f --- /dev/null +++ b/packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/{%- project.name %}.csproj @@ -0,0 +1,148 @@ + + + + + $([MSBuild]::GetDirectoryNameOfFileAbove($(SolutionDir), 'node_modules\react-native-windows\package.json'))\node_modules\react-native-windows\ + + + Debug + x86 + {5D361E8E-8900-4BA5-BF01-680C4D7E354A} + winmdobj + Properties + <%- project.name %> + <%- project.name %> + en-US + UAP + 10.0.18362.0 + 10.0.16299.0 + 16.0 + 512 + {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + true + 7.3 + + + true + bin\x86\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + x86 + false + prompt + true + + + bin\x86\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + x86 + false + prompt + true + true + + + true + bin\ARM\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + ARM + false + prompt + true + + + bin\ARM\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + ARM + false + prompt + true + true + + + true + bin\ARM64\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + ARM64 + false + prompt + true + + + bin\ARM64\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + ARM64 + false + prompt + true + true + + + true + bin\x64\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + x64 + false + prompt + true + + + bin\x64\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + x64 + false + prompt + true + true + + + PackageReference + + + + + + + + + + 6.2.9 + + + + 16.0 + + + + + + + + + + + This project references targets in your node_modules\react-native-windows folder that are missing. The missing file is {0}. + + + + + diff --git a/packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/{%- project.name %}View.cs b/packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/{%- project.name %}View.cs new file mode 100644 index 000000000..c1e17db79 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/{%- project.name %}View.cs @@ -0,0 +1,12 @@ +using Windows.UI.Xaml; +using Windows.UI.Xaml.Controls; + +namespace <%- project.name %> +{ + public sealed class <%- project.name %>View : FrameworkElement + { + public <%- project.name %>View() + { + } + } +} diff --git a/packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.cs b/packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.cs new file mode 100644 index 000000000..4cbf5fe92 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.cs @@ -0,0 +1,9 @@ +using Windows.UI.Xaml.Controls; +using Microsoft.ReactNative.Managed; + +namespace <%- project.name %> +{ + internal class <%- project.name %>ViewManager : AttributedViewManager<<%- project.name %>View>> + { + } +} From 676c97920c8c1fcd77f0beed0a94e2711d49d24b Mon Sep 17 00:00:00 2001 From: Bartosz Klonowski Date: Wed, 26 May 2021 14:00:35 +0200 Subject: [PATCH 10/14] Include Windows templates in README --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6f61822cd..97842870b 100644 --- a/README.md +++ b/README.md @@ -12,10 +12,11 @@ If you want to create your own React Native module, scaffolding the project can be a daunting task. `create-react-native-library` can scaffold a new project for you with the following things: - Simple example modules for Android and iOS which you can build upon +- Simple example modules for Windows using both C++/WinRT and C# - [Kotlin](https://kotlinlang.org/) configured for building the module on Android - C++ support for native modules on Android and iOS - [Expo](https://expo.io/) support for libraries without native code and web support -- Example React Native app to manually test your modules +- Example React Native app (including Windows) to manually test your modules - [ESLint](https://eslint.org/), [Prettier](https://prettier.io/), [TypeScript](https://www.typescriptlang.org/), [Husky](https://github.com/typicode/husky) and [Release It](https://github.com/release-it/release-it) pre-configured - `react-native-builder-bob` pre-configured to compile your files - [CircleCI](https://circleci.com/) pre-configured to run tests on the CI From 6dd395e259d2829042e2adb94c9bdcb84b00d5c9 Mon Sep 17 00:00:00 2001 From: Bartosz Klonowski Date: Wed, 26 May 2021 14:01:24 +0200 Subject: [PATCH 11/14] Add Windows solution to the example project The Windows configuration is based on the C# language - it's easy and simple to understand and has better support when it comes to the UWP documentation. The example is generated for the version 0.63.4 specified in the package.json --- .../templates/example/example/$package.json | 4 +- .../example/example/windows/.gitignore | 92 ++++++++ .../windows/{%- project.name %}Example.sln | 222 ++++++++++++++++++ .../{%- project.name %}Example/.gitignore | 1 + .../{%- project.name %}Example/App.xaml | 10 + .../{%- project.name %}Example/App.xaml.cs | 49 ++++ .../Assets/LockScreenLogo.scale-200.png | Bin 0 -> 1430 bytes .../Assets/SplashScreen.scale-200.png | Bin 0 -> 7700 bytes .../Assets/Square150x150Logo.scale-200.png | Bin 0 -> 2937 bytes .../Assets/Square44x44Logo.scale-200.png | Bin 0 -> 1647 bytes ...x44Logo.targetsize-24_altform-unplated.png | Bin 0 -> 1255 bytes .../Assets/StoreLogo.png | Bin 0 -> 1451 bytes .../Assets/Wide310x150Logo.scale-200.png | Bin 0 -> 3204 bytes .../AutolinkedNativeModules.g.cs | 13 + .../AutolinkedNativeModules.g.targets | 6 + .../{%- project.name %}Example/MainPage.xaml | 16 ++ .../MainPage.xaml.cs | 33 +++ .../Package.appxmanifest | 50 ++++ .../Properties/AssemblyInfo.cs | 29 +++ .../Properties/Default.rd.xml | 32 +++ .../ReactPackageProvider.cs | 17 ++ .../{%- project.name %}Example.csproj | 183 +++++++++++++++ ...%- project.name %}Example_TemporaryKey.pfx | Bin 0 -> 2630 bytes 23 files changed, 756 insertions(+), 1 deletion(-) create mode 100644 packages/create-react-native-library/templates/example/example/windows/.gitignore create mode 100644 packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example.sln create mode 100644 packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/.gitignore create mode 100644 packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/App.xaml create mode 100644 packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/App.xaml.cs create mode 100644 packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Assets/LockScreenLogo.scale-200.png create mode 100644 packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Assets/SplashScreen.scale-200.png create mode 100644 packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Assets/Square150x150Logo.scale-200.png create mode 100644 packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Assets/Square44x44Logo.scale-200.png create mode 100644 packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Assets/Square44x44Logo.targetsize-24_altform-unplated.png create mode 100644 packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Assets/StoreLogo.png create mode 100644 packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Assets/Wide310x150Logo.scale-200.png create mode 100644 packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/AutolinkedNativeModules.g.cs create mode 100644 packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/AutolinkedNativeModules.g.targets create mode 100644 packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/MainPage.xaml create mode 100644 packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/MainPage.xaml.cs create mode 100644 packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Package.appxmanifest create mode 100644 packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Properties/AssemblyInfo.cs create mode 100644 packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Properties/Default.rd.xml create mode 100644 packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/ReactPackageProvider.cs create mode 100644 packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/{%- project.name %}Example.csproj create mode 100644 packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/{%- project.name %}Example_TemporaryKey.pfx diff --git a/packages/create-react-native-library/templates/example/example/$package.json b/packages/create-react-native-library/templates/example/example/$package.json index f6702312e..f993f4749 100644 --- a/packages/create-react-native-library/templates/example/example/$package.json +++ b/packages/create-react-native-library/templates/example/example/$package.json @@ -6,11 +6,13 @@ "scripts": { "android": "react-native run-android", "ios": "react-native run-ios", + "windows": "react-native run-windows", "start": "react-native start" }, "dependencies": { "react": "16.13.1", - "react-native": "0.63.4" + "react-native": "0.63.4", + "react-native-windows": "0.63.4" }, "devDependencies": { "@babel/core": "^7.12.10", diff --git a/packages/create-react-native-library/templates/example/example/windows/.gitignore b/packages/create-react-native-library/templates/example/example/windows/.gitignore new file mode 100644 index 000000000..4ea0c7b5a --- /dev/null +++ b/packages/create-react-native-library/templates/example/example/windows/.gitignore @@ -0,0 +1,92 @@ +*AppPackages* +*BundleArtifacts* + +#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 + +#Files generated by the VS build +**/Generated Files/** + diff --git a/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example.sln b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example.sln new file mode 100644 index 000000000..1b167b124 --- /dev/null +++ b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example.sln @@ -0,0 +1,222 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.29215.179 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "<%- project.name %>Example", "<%- project.name %>Example\<%- project.name %>Example.csproj", "{6CAED4B7-10B2-40B9-8BC1-4DC9DBA225C3}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Folly", "..\node_modules\react-native-windows\Folly\Folly.vcxproj", "{A990658C-CE31-4BCC-976F-0FC6B1AF693D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReactCommon", "..\node_modules\react-native-windows\ReactCommon\ReactCommon.vcxproj", "{A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}" + ProjectSection(ProjectDependencies) = postProject + {A990658C-CE31-4BCC-976F-0FC6B1AF693D} = {A990658C-CE31-4BCC-976F-0FC6B1AF693D} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Chakra", "..\node_modules\react-native-windows\Chakra\Chakra.vcxitems", "{C38970C0-5FBF-4D69-90D8-CBAC225AE895}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative", "..\node_modules\react-native-windows\Microsoft.ReactNative\Microsoft.ReactNative.vcxproj", "{F7D32BD0-2749-483E-9A0D-1635EF7E3136}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JSI.Shared", "..\node_modules\react-native-windows\JSI\Shared\JSI.Shared.vcxitems", "{0CC28589-39E4-4288-B162-97B959F8B843}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JSI.Universal", "..\node_modules\react-native-windows\JSI\Universal\JSI.Universal.vcxproj", "{A62D504A-16B8-41D2-9F19-E2E86019E5E4}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Cxx", "..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems", "{DA8B35B3-DA00-4B02-BDE6-6A397B3FD46B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Common", "..\node_modules\react-native-windows\Common\Common.vcxproj", "{FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ReactNative", "ReactNative", "{5EA20F54-880A-49F3-99FA-4B3FE54E8AB1}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Microsoft.ReactNative.Shared", "..\node_modules\react-native-windows\Shared\Shared.vcxitems", "{2049DBE9-8D13-42C9-AE4B-413AE38FFFD0}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mso", "..\node_modules\react-native-windows\Mso\Mso.vcxitems", "{84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Include", "..\node_modules\react-native-windows\include\Include.vcxitems", "{EF074BA1-2D54-4D49-A28E-5E040B47CD2E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.ReactNative.Managed", "..\node_modules\react-native-windows\Microsoft.ReactNative.Managed\Microsoft.ReactNative.Managed.csproj", "{F2824844-CE15-4242-9420-308923CD76C3}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ReactNative.Managed.CodeGen", "..\node_modules\react-native-windows\Microsoft.ReactNative.Managed.CodeGen\Microsoft.ReactNative.Managed.CodeGen.csproj", "{ADED4FBE-887D-4271-AF24-F0823BCE7961}" +EndProject +Global + GlobalSection(SharedMSBuildProjectFiles) = preSolution + ..\node_modules\react-native-windows\JSI\Shared\JSI.Shared.vcxitems*{0cc28589-39e4-4288-b162-97b959f8b843}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\Shared\Shared.vcxitems*{2049dbe9-8d13-42c9-ae4b-413ae38fffd0}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\Mso\Mso.vcxitems*{84e05bfa-cbaf-4f0d-bfb6-4ce85742a57e}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\JSI\Shared\JSI.Shared.vcxitems*{a62d504a-16b8-41d2-9f19-e2e86019e5e4}*SharedItemsImports = 4 + ..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{c38970c0-5fbf-4d69-90d8-cbac225ae895}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{da8b35b3-da00-4b02-bde6-6a397b3fd46b}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\include\Include.vcxitems*{ef074ba1-2d54-4d49-a28e-5e040b47cd2e}*SharedItemsImports = 9 + ..\node_modules\react-native-windows\Chakra\Chakra.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4 + ..\node_modules\react-native-windows\Microsoft.ReactNative.Cxx\Microsoft.ReactNative.Cxx.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4 + ..\node_modules\react-native-windows\Mso\Mso.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4 + ..\node_modules\react-native-windows\Shared\Shared.vcxitems*{f7d32bd0-2749-483e-9a0d-1635ef7e3136}*SharedItemsImports = 4 + EndGlobalSection + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM = Debug|ARM + Debug|ARM64 = Debug|ARM64 + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|ARM = Release|ARM + Release|ARM64 = Release|ARM64 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {6CAED4B7-10B2-40B9-8BC1-4DC9DBA225C3}.Debug|ARM.ActiveCfg = Debug|ARM + {6CAED4B7-10B2-40B9-8BC1-4DC9DBA225C3}.Debug|ARM.Build.0 = Debug|ARM + {6CAED4B7-10B2-40B9-8BC1-4DC9DBA225C3}.Debug|ARM.Deploy.0 = Debug|ARM + {6CAED4B7-10B2-40B9-8BC1-4DC9DBA225C3}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {6CAED4B7-10B2-40B9-8BC1-4DC9DBA225C3}.Debug|ARM64.Build.0 = Debug|ARM64 + {6CAED4B7-10B2-40B9-8BC1-4DC9DBA225C3}.Debug|ARM64.Deploy.0 = Debug|ARM64 + {6CAED4B7-10B2-40B9-8BC1-4DC9DBA225C3}.Debug|x64.ActiveCfg = Debug|x64 + {6CAED4B7-10B2-40B9-8BC1-4DC9DBA225C3}.Debug|x64.Build.0 = Debug|x64 + {6CAED4B7-10B2-40B9-8BC1-4DC9DBA225C3}.Debug|x64.Deploy.0 = Debug|x64 + {6CAED4B7-10B2-40B9-8BC1-4DC9DBA225C3}.Debug|x86.ActiveCfg = Debug|x86 + {6CAED4B7-10B2-40B9-8BC1-4DC9DBA225C3}.Debug|x86.Build.0 = Debug|x86 + {6CAED4B7-10B2-40B9-8BC1-4DC9DBA225C3}.Debug|x86.Deploy.0 = Debug|x86 + {6CAED4B7-10B2-40B9-8BC1-4DC9DBA225C3}.Release|ARM.ActiveCfg = Release|ARM + {6CAED4B7-10B2-40B9-8BC1-4DC9DBA225C3}.Release|ARM.Build.0 = Release|ARM + {6CAED4B7-10B2-40B9-8BC1-4DC9DBA225C3}.Release|ARM.Deploy.0 = Release|ARM + {6CAED4B7-10B2-40B9-8BC1-4DC9DBA225C3}.Release|ARM64.ActiveCfg = Release|ARM64 + {6CAED4B7-10B2-40B9-8BC1-4DC9DBA225C3}.Release|ARM64.Build.0 = Release|ARM64 + {6CAED4B7-10B2-40B9-8BC1-4DC9DBA225C3}.Release|ARM64.Deploy.0 = Release|ARM64 + {6CAED4B7-10B2-40B9-8BC1-4DC9DBA225C3}.Release|x64.ActiveCfg = Release|x64 + {6CAED4B7-10B2-40B9-8BC1-4DC9DBA225C3}.Release|x64.Build.0 = Release|x64 + {6CAED4B7-10B2-40B9-8BC1-4DC9DBA225C3}.Release|x64.Deploy.0 = Release|x64 + {6CAED4B7-10B2-40B9-8BC1-4DC9DBA225C3}.Release|x86.ActiveCfg = Release|x86 + {6CAED4B7-10B2-40B9-8BC1-4DC9DBA225C3}.Release|x86.Build.0 = Release|x86 + {6CAED4B7-10B2-40B9-8BC1-4DC9DBA225C3}.Release|x86.Deploy.0 = Release|x86 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM.ActiveCfg = Debug|ARM + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM.Build.0 = Debug|ARM + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|ARM64.Build.0 = Debug|ARM64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x64.ActiveCfg = Debug|x64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x64.Build.0 = Debug|x64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x86.ActiveCfg = Debug|Win32 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Debug|x86.Build.0 = Debug|Win32 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM.ActiveCfg = Release|ARM + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM.Build.0 = Release|ARM + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM64.ActiveCfg = Release|ARM64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|ARM64.Build.0 = Release|ARM64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x64.ActiveCfg = Release|x64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x64.Build.0 = Release|x64 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x86.ActiveCfg = Release|Win32 + {A990658C-CE31-4BCC-976F-0FC6B1AF693D}.Release|x86.Build.0 = Release|Win32 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM.ActiveCfg = Debug|ARM + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM.Build.0 = Debug|ARM + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|ARM64.Build.0 = Debug|ARM64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x64.ActiveCfg = Debug|x64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x64.Build.0 = Debug|x64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x86.ActiveCfg = Debug|Win32 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Debug|x86.Build.0 = Debug|Win32 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM.ActiveCfg = Release|ARM + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM.Build.0 = Release|ARM + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM64.ActiveCfg = Release|ARM64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|ARM64.Build.0 = Release|ARM64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x64.ActiveCfg = Release|x64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x64.Build.0 = Release|x64 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x86.ActiveCfg = Release|Win32 + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD}.Release|x86.Build.0 = Release|Win32 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM.ActiveCfg = Debug|ARM + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM.Build.0 = Debug|ARM + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|ARM64.Build.0 = Debug|ARM64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x64.ActiveCfg = Debug|x64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x64.Build.0 = Debug|x64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x86.ActiveCfg = Debug|Win32 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Debug|x86.Build.0 = Debug|Win32 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM.ActiveCfg = Release|ARM + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM.Build.0 = Release|ARM + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM64.ActiveCfg = Release|ARM64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|ARM64.Build.0 = Release|ARM64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x64.ActiveCfg = Release|x64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x64.Build.0 = Release|x64 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x86.ActiveCfg = Release|Win32 + {F7D32BD0-2749-483E-9A0D-1635EF7E3136}.Release|x86.Build.0 = Release|Win32 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM.ActiveCfg = Debug|ARM + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM.Build.0 = Debug|ARM + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|ARM64.Build.0 = Debug|ARM64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x64.ActiveCfg = Debug|x64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x64.Build.0 = Debug|x64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x86.ActiveCfg = Debug|Win32 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Debug|x86.Build.0 = Debug|Win32 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM.ActiveCfg = Release|ARM + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM.Build.0 = Release|ARM + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM64.ActiveCfg = Release|ARM64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|ARM64.Build.0 = Release|ARM64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x64.ActiveCfg = Release|x64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x64.Build.0 = Release|x64 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x86.ActiveCfg = Release|Win32 + {A62D504A-16B8-41D2-9F19-E2E86019E5E4}.Release|x86.Build.0 = Release|Win32 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM.ActiveCfg = Debug|ARM + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM.Build.0 = Debug|ARM + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|ARM64.Build.0 = Debug|ARM64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x64.ActiveCfg = Debug|x64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x64.Build.0 = Debug|x64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x86.ActiveCfg = Debug|Win32 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Debug|x86.Build.0 = Debug|Win32 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM.ActiveCfg = Release|ARM + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM.Build.0 = Release|ARM + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM64.ActiveCfg = Release|ARM64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|ARM64.Build.0 = Release|ARM64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x64.ActiveCfg = Release|x64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x64.Build.0 = Release|x64 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x86.ActiveCfg = Release|Win32 + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D}.Release|x86.Build.0 = Release|Win32 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|ARM.ActiveCfg = Debug|ARM + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|ARM.Build.0 = Debug|ARM + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|ARM64.Build.0 = Debug|ARM64 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|x64.ActiveCfg = Debug|x64 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|x64.Build.0 = Debug|x64 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|x86.ActiveCfg = Debug|x86 + {F2824844-CE15-4242-9420-308923CD76C3}.Debug|x86.Build.0 = Debug|x86 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|ARM.ActiveCfg = Release|ARM + {F2824844-CE15-4242-9420-308923CD76C3}.Release|ARM.Build.0 = Release|ARM + {F2824844-CE15-4242-9420-308923CD76C3}.Release|ARM64.ActiveCfg = Release|ARM64 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|ARM64.Build.0 = Release|ARM64 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|x64.ActiveCfg = Release|x64 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|x64.Build.0 = Release|x64 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|x86.ActiveCfg = Release|x86 + {F2824844-CE15-4242-9420-308923CD76C3}.Release|x86.Build.0 = Release|x86 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Debug|ARM.ActiveCfg = Debug|ARM + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Debug|ARM.Build.0 = Debug|ARM + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Debug|ARM64.Build.0 = Debug|ARM64 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Debug|x64.ActiveCfg = Debug|x64 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Debug|x64.Build.0 = Debug|x64 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Debug|x86.ActiveCfg = Debug|x86 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Debug|x86.Build.0 = Debug|x86 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Release|ARM.ActiveCfg = Release|ARM + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Release|ARM.Build.0 = Release|ARM + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Release|ARM64.ActiveCfg = Release|ARM64 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Release|ARM64.Build.0 = Release|ARM64 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Release|x64.ActiveCfg = Release|x64 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Release|x64.Build.0 = Release|x64 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Release|x86.ActiveCfg = Release|x86 + {ADED4FBE-887D-4271-AF24-F0823BCE7961}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {A990658C-CE31-4BCC-976F-0FC6B1AF693D} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {A9D95A91-4DB7-4F72-BEB6-FE8A5C89BFBD} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {C38970C0-5FBF-4D69-90D8-CBAC225AE895} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {F7D32BD0-2749-483E-9A0D-1635EF7E3136} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {0CC28589-39E4-4288-B162-97B959F8B843} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {A62D504A-16B8-41D2-9F19-E2E86019E5E4} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {DA8B35B3-DA00-4B02-BDE6-6A397B3FD46B} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {FCA38F3C-7C73-4C47-BE4E-32F77FA8538D} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {2049DBE9-8D13-42C9-AE4B-413AE38FFFD0} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {84E05BFA-CBAF-4F0D-BFB6-4CE85742A57E} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {EF074BA1-2D54-4D49-A28E-5E040B47CD2E} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {F2824844-CE15-4242-9420-308923CD76C3} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + {ADED4FBE-887D-4271-AF24-F0823BCE7961} = {5EA20F54-880A-49F3-99FA-4B3FE54E8AB1} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {D43FAD39-F619-437D-BB40-04A3982ACB6A} + EndGlobalSection +EndGlobal diff --git a/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/.gitignore b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/.gitignore new file mode 100644 index 000000000..917243bd7 --- /dev/null +++ b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/.gitignore @@ -0,0 +1 @@ +/Bundle diff --git a/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/App.xaml b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/App.xaml new file mode 100644 index 000000000..93b3a4009 --- /dev/null +++ b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/App.xaml @@ -0,0 +1,10 @@ + + + + + diff --git a/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/App.xaml.cs b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/App.xaml.cs new file mode 100644 index 000000000..84642e413 --- /dev/null +++ b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/App.xaml.cs @@ -0,0 +1,49 @@ +using Microsoft.ReactNative; +using Windows.ApplicationModel.Activation; +using Windows.UI.Xaml; +using Windows.UI.Xaml.Controls; + +namespace <%- project.name %>Example +{ + sealed partial class App : ReactApplication + { + public App() + { +#if BUNDLE + JavaScriptBundleFile = "index.windows"; + InstanceSettings.UseWebDebugger = false; + InstanceSettings.UseFastRefresh = false; +#else + JavaScriptMainModuleName = "index"; + InstanceSettings.UseWebDebugger = true; + InstanceSettings.UseFastRefresh = true; +#endif + +#if DEBUG + InstanceSettings.UseDeveloperSupport = true; +#else + InstanceSettings.UseDeveloperSupport = false; +#endif + + Microsoft.ReactNative.Managed.AutolinkedNativeModules.RegisterAutolinkedNativeModulePackages(PackageProviders); // Includes any autolinked modules + + PackageProviders.Add(new Microsoft.ReactNative.Managed.ReactPackageProvider()); + PackageProviders.Add(new ReactPackageProvider()); + + InitializeComponent(); + } + + /// + /// 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); + var frame = Window.Current.Content as Frame; + frame.Navigate(typeof(MainPage)); + Window.Current.Activate(); + } + } +} diff --git a/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Assets/LockScreenLogo.scale-200.png b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Assets/LockScreenLogo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..735f57adb5dfc01886d137b4e493d7e97cf13af3 GIT binary patch literal 1430 zcmaJ>TTC2P7~aKltDttVHYH6u8Io4i*}3fO&d$gd*bA_<3j~&e7%8(eXJLfhS!M@! zKrliY>>6yT4+Kr95$!DoD(Qn-5TP|{V_KS`k~E6(LGS@#`v$hQo&^^BKsw3HIsZBT z_y6C2n`lK@apunKojRQ^(_P}Mgewt$(^BBKCTZ;*xa?J3wQ7~@S0lUvbcLeq1Bg4o zH-bvQi|wt~L7q$~a-gDFP!{&TQfc3fX*6=uHv* zT&1&U(-)L%Xp^djI2?~eBF2cxC@YOP$+9d?P&h?lPy-9M2UT9fg5jKm1t$m#iWE{M zIf%q9@;fyT?0UP>tcw-bLkz;s2LlKl2qeP0w zECS7Ate+Awk|KQ+DOk;fl}Xsy4o^CY=pwq%QAAKKl628_yNPsK>?A>%D8fQG6IgdJ ztnxttBz#NI_a@fk7SU`WtrpsfZsNs9^0(2a z@C3#YO3>k~w7?2hipBf{#b6`}Xw1hlG$yi?;1dDs7k~xDAw@jiI*+tc;t2Lflg&bM)0!Y;0_@=w%`LW^8DsYpS#-bLOklX9r?Ei}TScw|4DbpW%+7 zFgAI)f51s}{y-eWb|vrU-Ya!GuYKP)J7z#*V_k^Xo>4!1Yqj*m)x&0L^tg3GJbVAJ zJ-Pl$R=NAabouV=^z_t;^K*0AvFs!vYU>_<|I^#c?>>CR<(T?=%{;U=aI*SbZADLH z&(f2wz_Y0??Tf|g;?|1Znw6}6U43Q#qNRwv1vp9uFn1)V#*4p&%$mP9x&15^OaBiDS(XppT|z^>;B{PLVEbS3IFYV yGvCsSX*m literal 0 HcmV?d00001 diff --git a/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Assets/SplashScreen.scale-200.png b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Assets/SplashScreen.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..023e7f1feda78d5100569825acedfd213a0d84e9 GIT binary patch literal 7700 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 literal 0 HcmV?d00001 diff --git a/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Assets/Square150x150Logo.scale-200.png b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Assets/Square150x150Logo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..af49fec1a5484db1d52a7f9b5ec90a27c7030186 GIT binary patch literal 2937 zcma)84OCO-8BSud5)jwMLRVKgX(S?$n?Ld|vrsm<$CF7)&zTbyy1FE5bU`Q17MRv`9ue$;R(@8kR;#vJ*IM0>cJIAOte!d7oRgdH zd%ySjdB6L9=gX^A6)VzH7p2l@v~3zJAMw|DFy#^)F@@F*`mqUn=Il>l)8_+ab;nOW{%+iPx z+s{Eu|&pIs)Z7{La9~?xKfyl z#43?gjEL15d4WbOZo#SiP%>DB^+BcnJ=7dHEe;r#G=tuw|ka z%q@}##Uh7;tc%L_64m(kHtw74ty%BJMb)_1)#S0j`)F8_1jF7vScpsnH=0V19bO8y zR`0SjIdCUo&=>JwMQF8KHA<{ODHTiQh}0^@5QRmCA?gOH6_H3K^-_sNB^RrdNuK-R zOO*vOrKCVvDwgUck`kF(E7j{I#iiN;b*ZdCt4m@HPA`EuEqGGf4%!K<;(=I=&Vyrw z%TwcWtxa}8mCZ%Cyf&ActJ6_$ox5z6-D!0-dvnRx6t7y3d+h6QYpKWO;8OdnvERo7 zuEf>ih5`wqY)~o@OeVt-wM?Q!>QzdGRj!bz6fzYrfw$hZfAKzr2-M+D+R>}~oT574c;_3zquHcElqKIsryILt3g8n3jcMb+j?i?-L3FpZJ z2WRVBRdDPc+G5aaYg#5hpE+6nQ|(VSoxT3|biF;BUq#==-27Xi=gihDPYP$7?=9cP zYKE$jeQ|3~_L0VG-(F~2ZPyD0=k{J4Q~h(t__{-mz_w8{JDY9{`1ouzz!Vr5!ECdE z6U~O1k8c}24V7~zzXWTV-Pe4)y}wQJS&q%H5`Fo_f_JvIU489aCX$;P`u#!I-=^4ijC2{&9!O&h>mi?9oYD=GC#%)6{GzN6nQYw+Fal50!#x^asjBBR50i`+mho*ttoqV)ubM2KD9S~k7+FR4>{29?6 z{!l6kDdyTN0YJ9LgkPWeXm|gyi@zM3?0@{&pXT12w|78&W-q!RRF)&iLCEZVH<|fR zN0fr2^t8H(>L?>K#>^+jWROLral(Qy-xoBq1U7A&DV||wClb)Otd9?(gZ|8znMF}D zf<1haWz^s0qgecz;RFGt0C-B4g`jNGHsFU+;{<%t65v^sjk^h$lmWn#B0#_)9ij&d z-~lc`A)YYExi^7sBuPM^Y|wA2g*5?`K?#7tzELQYNxGo$UB$4J8RJp1k(8Jj+~hMT zlN~>M@KTTh^--8y3PK_NZ@AC!{PT=CziBzGd+wTJ^@icH!Bd}%)g8V)%K?|c&WTUk zy}qv1C%(fjRoZ4ozC3{O%@5?)XzH35zHns$pgU*Q?fj4v?fp1Qbm+j;3l;9jam9Da zXVcKjPlQ73x78QPu|Ffm6x?`~e3oD=gl=4kYK?={kD5j~QCXU)`HSdduNNENzA*2$ zOm3PzF!lN5e*06-f1Uot67wY#{o-S1!KZ7E=!~7ynnk9_iJR#kFoNbAOT#^2Gd17F zMmvU6>lndZQGd|ax9kUoXXO+$N?|j@6qpsF&_j7YXvwo_C{JpmLw5&#e6k>atv%es z5)7r*Wvv_JkUpT}M!_o!nVlEk1Zbl=a*2hQ*<|%*K1Glj^FcF`6kTzGQ3lz~2tCc@ z&x|tj;aH&1&9HwcJBcT`;{?a+pnej;M1HO(6Z{#J!cZA04hnFl;NXA+&`=7bjW_^o zfC40u3LMG?NdPtwGl>Tq6u}*QG)}-y;)lu-_>ee3kibW(69n0$0Zy!}9rQz%*v1iO zT9_H>99yIrSPYVy6^);rR}7Yo=J_T@hi+qhTZXnVWyf;JDYm5#eYLTxr*?kiNn!+Y zQ+LUkBafNJ#rH#C(?d5^;gw9o#%daEI{mA*LHPIHPU`#|H$hD zwm>0&+kahQ)E#%~k>&5@&#Vg82H?s%71=)(soi@174pi9--2{w{1$}Sz4zGn3Du&x bht0Iza^2ykEt4(epJ78uh5nDlX8(TxzDYwP literal 0 HcmV?d00001 diff --git a/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Assets/Square44x44Logo.scale-200.png b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Assets/Square44x44Logo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..ce342a2ec8a61291ba76c54604aea7e9d20af11b GIT binary patch literal 1647 zcmaJ?eM}Q)7(e+G1Q(|`V9JhTI2>MkceK4;p;PR&$Pi?ejk3YQ_3o`S&|W_dsOZ8# zWPTt69g`t$ab`0cj-Y0yiBSOqmd)tG7G(}M5aP0_%&9TijB#&)I{zSE^4@#z^FF`l z`8{8`o%wlL(UI|y2!cdsuVamHH~H86F!*-15em4)NqUpCQM5?aoC_eCf@lV4wvF2a zjDQn1JBL69f&@2M3rvzJcfE!eZ8FZUBlFlC5RD)it33{mF9#B82AiyQE%w)`vlwa> zv{<1sm&kSKK$&%2jSFn7$t&P%%6Ue>R=EAnG8N7fqynWG8L3p!4801a;8{+nliO(qd(jNJ_?+9W3#hLIDLoT6~3fx9=`CC-D}-AMrpEO7HK zt3$GicGPc?GmDjy7K2P@La;eu4!$zWCZ`ym{Z$b zu-O6RM&K4JT|BIZB`E-gxqG%FzanI#+2FFmqHqXG7yxWB=w55RGOM)$xMb(>kSNR z2w=1AZi%z=AmG~yea~XaXJR!v7vLn(RUnELfiB1|6D84ICOS}^Zo2AdN}<&*h}G_u z{xZ!(%>tLT3J3<5XhWy-tg+6)0nmUUENLW8TWA{R6bgVd3X;anYFZ^IRis*_P-C-r z;i>%1^eL3UI2-{w8nuFFcs0e~7J{O2k^~Ce%+Ly4U?|=!0LH=t6()xi<^I-rs+9sF z*q{E-CxZbGPeu#a;XJwE;9S1?#R&uns>^0G3p`hEUF*v`M?@h%T%J%RChmD|EVydq zmHWh*_=S%emRC*mhxaVLzT@>Z2SX0u9v*DIJ@WC^kLVdlGV6LpK$KIrlJqc zpJ921)+3JJdTx|<`G&kXpKkjGJv=76R`yYIQ{#c-`%+`#V(7}Q;&@6U8!Td1`d;?N z_9mnI#?AA}4J!r)LN4!E-@H5eXauuB7TOawS>Y|{-P?NNx-lq+z1W-+y(;39P&&LP zL{N80?&=C*qKmdA^moMZRuPcD!B<*mq$ch=0Cnlitw#txRWhb3%TQvPqjkC`F69G4b! ze7z9MZ#+;_#l?H37UqUhDFb^l&s2{oM$3I0o^Q!yx;;V)QmCMo)Tb_ui|mit8MS?U zm##6$sZZ1$@|s%?l@>4Z<*Q}sRBSKMhb4I{e5LdEhsHIHTe8Bod5c>6QtT>$XgUBz z6MK`kO$=jmt@FqggOhJ5j~e@ygRbG;<{Vu)*+nn9aQeo0;$#j;|MS=S$&L?BeV25z xs3B`@=#`5TF{^6(A1rvdY@|-RtQ|iS5{tyX+wH?;n8E)G$kykv-D^wh{{!TZT%7;_ literal 0 HcmV?d00001 diff --git a/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Assets/Square44x44Logo.targetsize-24_altform-unplated.png new file mode 100644 index 0000000000000000000000000000000000000000..f6c02ce97e0a802b85f6021e822c89f8bf57d5cd GIT binary patch literal 1255 zcmaJ>TWs4@7*5+{G#S+&C!qC#> zf>5N3P6jO*Cz>ug*(_DmW=)kea&m$gZ^+nyiF`;j%w@}y8)>p*SH}C`m?DXeieF2U zyQHecc_L%Gh!7GMt+hG06y;+|p4>m~}PjA}rKViGiEnn7G0ZO<>G|7q;2?NwGCM3s?eued6%hd$B+ z*kQJ{#~$S=DFE(%=E+UkmlEI*%3llUf~8Ja9YU1Vui0IbGBkW_gHB%Rd&!!ioX zs40O?i9I{};kle7GMvE7(rk`la=gTI)47=>%?q@^iL-nUo3}h4S}N-KHn8t5mVP8w z&bSErwp+37 zNJJ8?a|{r5Q3R0Z5s-LB1WHOwYC@7pCHWND#cL1cZ?{kJ368_*(UDWUDyb<}0y@o# zfMF016iMWPCb6obAxT$JlB6(2DrlXDTB&!0`!m??4F(qWMhjVZo?JXQmz`1*58Z=& zcDmB|S-E@j?BoFGix0flckqdS4jsPNzhfWyWIM98GxcLs89C(~dw%$_t;JjX-SD}E zfiGV;{8Q%8r}w9x>EEigW81>`kvnU@pK)4+xk9@+bNj9L!AAZ@SZ@q|)&BmY3+HZx zul~BeG4|}-;L%cHViQGQX?^zFfO0&#cHwel=d`lH9sJ-@Sl@n*(8J2>%Ac`IxyY?Q z{=GhWvC#gu-~Ia7*n{=+;qM?Ul_wy1+u7ho;=`>EwP^g~R@{unBds`!#@}tluZQpS zm)M~nYEifJWJGx?_6DcTy>#uh%>!H9=hb^(v`=m3F1{L>db=<5_tm+_&knAQ2EU$s Mu9UqpbNZeC0BbUo^Z)<= literal 0 HcmV?d00001 diff --git a/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Assets/StoreLogo.png b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Assets/StoreLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..7385b56c0e4d3c6b0efe3324aa1194157d837826 GIT binary patch literal 1451 zcmaJ>eN5D57_Z|bH;{0+1#mbl)eTU3{h)Wf7EZV?;HD@XL@{B`Ui%(2aMxQ~xdXSv z5nzWi(LW)U2=Vc-cY@s7nPt{i0hc6!7xN4NNHI#EQl>YNBy8l4%x9gr_W-j zEZMQmmTIy(>;lblRfh`dIyTgc9W5d!VP$L4(kKrN1c5G~(O_#xG zAJCNTstD^5SeXFB+&$h=ToJP2H>xr$iqPs-#O*;4(!Fjw25-!gEb*)mU}=)J;Iu>w zxK(5XoD0wrPSKQ~rbL^Cw6O_03*l*}i=ydbu7adJ6y;%@tjFeXIXT+ms30pmbOP%Q zX}S;+LBh8Tea~TSkHzvX6$rYb)+n&{kSbIqh|c7hmlxmwSiq5iVhU#iEQ<>a18|O^Sln-8t&+t`*{qBWo5M?wFM(JuimAOb5!K#D}XbslM@#1ZVz_;!9U zpfEpLAOz=0g@bd6Xj_ILi-x^!M}73h^o@}hM$1jflTs|Yuj9AL@A3<-?MV4!^4q`e z)fO@A;{9K^?W?DbnesnPr6kK>$zaKo&;FhFd(GYFCIU^T+OIMb%Tqo+P%oq(IdX7S zf6+HLO?7o0m+p>~Tp5UrXWh!UH!wZ5kv!E`_w)PTpI(#Iw{AS`gH4^b(bm^ZCq^FZ zY9DD7bH}rq9mg88+KgA$Zp!iWncuU2n1AuIa@=sWvUR-s`Qb{R*kk(SPU^`$6BXz8 zn#7yaFOIK%qGxyi`dYtm#&qqox0$h=pNi#u=M8zUG@bpiZ=3sT=1}Trr}39cC)H|v zbL?W)=&s4zrh)7>L(|cc%$1#!zfL?HjpeP%T+x_a+jZ16b^iKOHxFEX$7d|8${H-* zIrOJ5w&i$>*D>AKaIoYg`;{L@jM((Kt?$N$5OnuPqVvq**Nm}(f0wwOF%iX_Pba;V z;m@wxX&NcV3?<1+u?A{y_DIj7#m3Af1rCE)o`D&Y3}0%7E;iX1yMDiS)sh0wKi!36 zL!Wmq?P^Ku&rK~HJd97KkLTRl>ScGFYZNlYytWnhmuu|)L&ND8_PmkayQb{HOY640 bno1(wj@u8DCVuFR|31B*4ek@pZJqxCDDe1x literal 0 HcmV?d00001 diff --git a/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Assets/Wide310x150Logo.scale-200.png b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Assets/Wide310x150Logo.scale-200.png new file mode 100644 index 0000000000000000000000000000000000000000..288995b397fdbef1fb7e85afd71445d5de1952c5 GIT binary patch literal 3204 zcmbVPeQXow8NYmBd90>}0NP?GhXW~VaeThm=a0tV#EwJMI!)6M3}|c4_Bl3=Kd>G0 z(GHx1wl<7(tP?FsOQkTilSo*iIvF%uArExJ73~P zSv1xEy!U(Wd4A9D`FQV@W3@F^qJ@PEF$@z`Z!*BbFsS(^?B zyiAzJ+q})bkgiQHWqEb*jJD-coHYr1^iocg)l!Qa{Xqs-l~6J}p-|##ZHYofskQ3$ zI0;xzXyhazBeXhIsg5A=%ufo@f)1yy&ScKS0;HF^!r_2UE^lpZEom(+@duma3awTv zCrCL-%D_SvYWIcdHkmI}#50(fkUi)Qgx!80ju>g1za^}ff>JI8Z@^-iCiaCgg@TgF z+vtE?Q9{VQUX&MW9SYYmGcxA14%N2@7FwBTD4N<(2{nWgV8$e3?-F=L^&FrtWn~(U_Q~~^uYiyeY6-KoTnfh9AWz@ zIKje0)u!_Lw)E}G!#kEfwKVdNt(UAf9*f>tEL_(=xco-T%jTi@7YlC3hs2ik%Le0H ztj}RTeCF(5mwvi3_56>-yB?l;J>-1%!9~=fs|QcNG3J~a@JCu`4SB460s0ZO+##4fFUSGLcj_ja^fL4&BKALfb#$6$O?>P@qx2Agl^x0i&ugt zsy5Pyu=()`7HRMG3IB7F1@`_ z+-!J%#i6e^U$e#+C%Q>_qVRzWRsG^W_n+@OcX@vzI&z;mzHNb!GQ?LWA(wtpqHqTM z1OFw_{Zn?fD)p)`c`kOgv{de=v@suGRqY{N^U7gI1VF3*F=obwaXI6ob5__Yn zVTguS!%(NI09J8x#AO_aW!9W7k*UvB;IWDFC3srwftr{kHj%g)fvnAm;&h_dnl~

MY- zf+K}sCe8qU6Ujs`3ua{U0Of$R_gVQBuUA za0v=mu#vIOqiiAZOr&h*$WyOw&k-xr$;G4Ixa!#TJNr>95(h>l%)PUy4p+^SgR(uR zta%k*?ny-+nAr8spEk1fo{J4i!b^Fia`N{_F6@zidA2ZTTrjl#^5Z-2KfB@Cu}l9s z(*|Z2jc?p~vn2f)3y9i*7zJV1L{$?|&q)4oaT;uXi6>1GkRXVTOzAz(RHEmr=eFIi z`}<>-Q?K0GN8!IYxeP1XKXO+jsJbp~o^);Bc;%b7Flpe7;1`Ny@3r7ZR;?R)aJt8C ziNlEC<@3f_lIV4TwV}&e;D!Ee5_|e#g0LUh=5vmYWYm7&2h*M>QPKvGh9-)wfMMW3 z8J9b%1k7dzPzO0_NGQy92BZ^FR6R~6;^6?lqO;-QUP4BY%cG%3vEhbm#>4vIhPBh3 z-+pZGjh$x%Hp{?=FHsMp0&wNPlj00us{&`1ZOZTqs8%4X&xH=UDr*xyBW(Zp&Em94 zf)ZSfn#yg0N)>!1kWdkqJ^S*z0FF5|fj&qcE#Na|%OY0$uO>!&hP+1ywfD_WXk@4J(?MBftK7>$Nvqh@tDuarN%PrTLQ2Uzysx>UV=V zk^RrDSvdQ?0;=hY67EgII-f4`t=+i*yS=Y~!XlqIy_4x&%+OdfbKOFPXS2X5%4R{N z$SQMX^AK6(fA packageProviders) + { + } + } +} diff --git a/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/AutolinkedNativeModules.g.targets b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/AutolinkedNativeModules.g.targets new file mode 100644 index 000000000..85bc23756 --- /dev/null +++ b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/AutolinkedNativeModules.g.targets @@ -0,0 +1,6 @@ + + + + + + diff --git a/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/MainPage.xaml b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/MainPage.xaml new file mode 100644 index 000000000..f37f00696 --- /dev/null +++ b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/MainPage.xaml @@ -0,0 +1,16 @@ + + + diff --git a/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/MainPage.xaml.cs b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/MainPage.xaml.cs new file mode 100644 index 000000000..099ee74bb --- /dev/null +++ b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/MainPage.xaml.cs @@ -0,0 +1,33 @@ +using Microsoft.ReactNative; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices.WindowsRuntime; +using Windows.Foundation; +using Windows.Foundation.Collections; +using Windows.UI.Xaml; +using Windows.UI.Xaml.Controls; +using Windows.UI.Xaml.Controls.Primitives; +using Windows.UI.Xaml.Data; +using Windows.UI.Xaml.Input; +using Windows.UI.Xaml.Media; +using Windows.UI.Xaml.Navigation; + +// The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=234238 + +namespace <%- project.name %>Example +{ + ///

+ /// An empty page that can be used on its own or navigated to within a Frame. + /// + public sealed partial class MainPage : Page + { + public MainPage() + { + this.InitializeComponent(); + var app = Application.Current as App; + reactRootView.ReactNativeHost = app.Host; + } + } +} diff --git a/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Package.appxmanifest b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Package.appxmanifest new file mode 100644 index 000000000..da8318ae0 --- /dev/null +++ b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Package.appxmanifest @@ -0,0 +1,50 @@ + + + + + + + + + + <%- project.name %>Example + Bartosz Klonowski + Assets\StoreLogo.png + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Properties/AssemblyInfo.cs b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..eb6638065 --- /dev/null +++ b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/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("<%- project.name %>Example")] +[assembly: AssemblyDescription("<%- project.description %>")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("<%- project.name %>Example")] +[assembly: AssemblyCopyright("Copyright © 2021")] +[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/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Properties/Default.rd.xml b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Properties/Default.rd.xml new file mode 100644 index 000000000..2343867bd --- /dev/null +++ b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Properties/Default.rd.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/ReactPackageProvider.cs b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/ReactPackageProvider.cs new file mode 100644 index 000000000..d176ad600 --- /dev/null +++ b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/ReactPackageProvider.cs @@ -0,0 +1,17 @@ +using Microsoft.ReactNative; + +namespace <%- project.name %>Example +{ + public partial class ReactPackageProvider : IReactPackageProvider + { + public void CreatePackage(IReactPackageBuilder packageBuilder) + { + CreatePackageImplementation(packageBuilder); + } + + /// + /// This method is implemented by the C# code generator + /// + partial void CreatePackageImplementation(IReactPackageBuilder packageBuilder); + } +} diff --git a/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/{%- project.name %}Example.csproj b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/{%- project.name %}Example.csproj new file mode 100644 index 000000000..1fab933e8 --- /dev/null +++ b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/{%- project.name %}Example.csproj @@ -0,0 +1,183 @@ + + + + + $([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), 'node_modules\react-native-windows\package.json'))\node_modules\react-native-windows\ + + + Debug + x86 + {6CAED4B7-10B2-40B9-8BC1-4DC9DBA225C3} + AppContainerExe + Properties + <%- project.name %>Example + <%- project.name %>Example + en-US + UAP + 10.0.18362.0 + 10.0.16299.0 + 16.0 + 512 + {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + true + <%- project.name %>Example_TemporaryKey.pfx + E4C5D7C43DFECC3BD4F6B0D072D26CC8F35BCB5F + password + false + 7.3 + + + true + bin\x86\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + x86 + false + prompt + true + + + bin\x86\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + x86 + false + prompt + true + true + + + true + bin\ARM\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + ARM + false + prompt + true + + + bin\ARM\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + ARM + false + prompt + true + true + + + true + bin\ARM64\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + ARM64 + false + prompt + true + + + bin\ARM64\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + ARM64 + false + prompt + true + true + + + true + bin\x64\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + x64 + false + prompt + true + + + bin\x64\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + x64 + false + prompt + true + true + + + PackageReference + + + + App.xaml + + + MainPage.xaml + + + + + + + + Designer + + + + + + + + + + + + + + + + MSBuild:Compile + Designer + + + MSBuild:Compile + Designer + + + + + 6.2.9 + + + + 16.0 + + + + + + + + + + + This project references targets in your node_modules\react-native-windows folder. The missing file is {0}. + + + + + diff --git a/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/{%- project.name %}Example_TemporaryKey.pfx b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/{%- project.name %}Example_TemporaryKey.pfx new file mode 100644 index 0000000000000000000000000000000000000000..c46cab5143a910dbd2dc9557fc2943e056f9344b GIT binary patch literal 2630 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 literal 0 HcmV?d00001 From 85d0933e4240d6c6fdf51089e18ad6711123645d Mon Sep 17 00:00:00 2001 From: Bartosz Klonowski Date: Wed, 26 May 2021 15:12:32 +0200 Subject: [PATCH 12/14] Fix: prettier corrections --- packages/create-react-native-library/src/index.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/create-react-native-library/src/index.ts b/packages/create-react-native-library/src/index.ts index 5b916c95f..813d06880 100644 --- a/packages/create-react-native-library/src/index.ts +++ b/packages/create-react-native-library/src/index.ts @@ -69,7 +69,10 @@ const WINDOWS_CSHARP_FILES = (moduleType: ModuleType) => { case 'module': return path.resolve(__dirname, '../templates/windows-csharp-library'); case 'view': - return path.resolve(__dirname, '../templates/windows-csharp-view-library'); + return path.resolve( + __dirname, + '../templates/windows-csharp-view-library' + ); } }; @@ -385,7 +388,7 @@ async function create(argv: yargs.Arguments) { cpp: languages === 'cpp', kotlin: languages === 'kotlin-objc' || languages === 'kotlin-swift', swift: languages === 'java-swift' || languages === 'kotlin-swift', - windows: languages === 'windows-cpp' || languages == 'windows-csharp', + windows: languages === 'windows-cpp' || languages === 'windows-csharp', module: languages !== 'js', moduleType: type, }, @@ -452,7 +455,10 @@ async function create(argv: yargs.Arguments) { } if (options.project.windows) { - const WINDOWS_FILES = languages === 'windows-csharp' ? WINDOWS_CSHARP_FILES : WINDOWS_CPP_FILES; + const WINDOWS_FILES = + languages === 'windows-csharp' + ? WINDOWS_CSHARP_FILES + : WINDOWS_CPP_FILES; await copyDir(WINDOWS_FILES(type), folder); } From 0c26f33feaa6f5efbbd9bf2f6819d208cda11156 Mon Sep 17 00:00:00 2001 From: Bartosz Klonowski <70535775+BartoszKlonowski@users.noreply.github.com> Date: Wed, 30 Jun 2021 15:58:31 +0200 Subject: [PATCH 13/14] Fix: review remarks and comments This commit fixes and covers all review findings of @asklar from Microsoft: - windows-uwp instead of windows for all the template packages name - author.name used for Package.appxmanifes - ViewManager extended with ReactContext and NativeProperties - unnecessary readme.txt files removed --- .../create-react-native-library/src/index.ts | 24 ++++---- .../Package.appxmanifest | 4 +- .../windows/{%- project.name %}/readme.txt | 23 -------- .../windows/{%- project.name %}/readme.txt | 23 -------- .../{%- project.name %}ViewManager.cpp | 23 -------- .../{%- project.name %}ViewManager.hpp | 23 -------- .../windows/.gitignore | 0 .../windows/{%- project.name %}.sln | 0 .../{%- project.name %}/PropertySheet.props | 0 .../ReactPackageProvider.cpp | 0 .../ReactPackageProvider.h | 0 .../ReactPackageProvider.idl | 0 .../{%- project.name %}/packages.config | 0 .../windows/{%- project.name %}/pch.h | 0 .../{%- project.name %}.def | 0 .../{%- project.name %}.filters | 0 .../{%- project.name %}.pfx | Bin .../{%- project.name %}.vcxproj | 0 .../{%- project.name %}_NativeModule.hpp | 0 .../windows/.gitignore | 0 .../windows/{%- project.name %}.sln | 0 .../{%- project.name %}/PropertySheet.props | 0 .../ReactPackageProvider.cpp | 0 .../ReactPackageProvider.h | 0 .../ReactPackageProvider.idl | 0 .../{%- project.name %}/packages.config | 0 .../windows/{%- project.name %}/pch.h | 0 .../{%- project.name %}.def | 0 .../{%- project.name %}.filters | 0 .../{%- project.name %}.pfx | Bin .../{%- project.name %}.vcxproj | 0 .../{%- project.name %}View.cpp | 0 .../{%- project.name %}View.h | 0 .../{%- project.name %}View.idl | 0 .../{%- project.name %}ViewManager.cpp | 55 ++++++++++++++++++ .../{%- project.name %}ViewManager.hpp | 33 +++++++++++ .../windows/.gitignore | 0 .../windows/{%- project.name %}.sln | 0 .../Properties/AssemblyInfo.cs | 0 .../Properties/Default.rd.xml | 0 .../ReactPackageProvider.cs | 0 .../{%- project.name %}.csproj | 0 .../{%- project.name %}NativeModule.cs | 0 .../windows/.gitignore | 0 .../windows/{%- project.name %}.sln | 0 .../Properties/AssemblyInfo.cs | 0 .../Properties/Default.rd.xml | 0 .../ReactPackageProvider.cs | 0 .../{%- project.name %}.csproj | 0 .../{%- project.name %}View.cs | 0 .../{%- project.name %}ViewManager.cs | 0 51 files changed, 102 insertions(+), 106 deletions(-) delete mode 100644 packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/readme.txt delete mode 100644 packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/readme.txt delete mode 100644 packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.cpp delete mode 100644 packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.hpp rename packages/create-react-native-library/templates/{windows-cpp-library => windows-uwp-cpp-library}/windows/.gitignore (100%) rename packages/create-react-native-library/templates/{windows-cpp-library => windows-uwp-cpp-library}/windows/{%- project.name %}.sln (100%) rename packages/create-react-native-library/templates/{windows-cpp-library => windows-uwp-cpp-library}/windows/{%- project.name %}/PropertySheet.props (100%) rename packages/create-react-native-library/templates/{windows-cpp-library => windows-uwp-cpp-library}/windows/{%- project.name %}/ReactPackageProvider.cpp (100%) rename packages/create-react-native-library/templates/{windows-cpp-library => windows-uwp-cpp-library}/windows/{%- project.name %}/ReactPackageProvider.h (100%) rename packages/create-react-native-library/templates/{windows-cpp-library => windows-uwp-cpp-library}/windows/{%- project.name %}/ReactPackageProvider.idl (100%) rename packages/create-react-native-library/templates/{windows-cpp-library => windows-uwp-cpp-library}/windows/{%- project.name %}/packages.config (100%) rename packages/create-react-native-library/templates/{windows-cpp-library => windows-uwp-cpp-library}/windows/{%- project.name %}/pch.h (100%) rename packages/create-react-native-library/templates/{windows-cpp-library => windows-uwp-cpp-library}/windows/{%- project.name %}/{%- project.name %}.def (100%) rename packages/create-react-native-library/templates/{windows-cpp-library => windows-uwp-cpp-library}/windows/{%- project.name %}/{%- project.name %}.filters (100%) rename packages/create-react-native-library/templates/{windows-cpp-library => windows-uwp-cpp-library}/windows/{%- project.name %}/{%- project.name %}.pfx (100%) rename packages/create-react-native-library/templates/{windows-cpp-library => windows-uwp-cpp-library}/windows/{%- project.name %}/{%- project.name %}.vcxproj (100%) rename packages/create-react-native-library/templates/{windows-cpp-library => windows-uwp-cpp-library}/windows/{%- project.name %}/{%- project.name %}_NativeModule.hpp (100%) rename packages/create-react-native-library/templates/{windows-cpp-view-library => windows-uwp-cpp-view-library}/windows/.gitignore (100%) rename packages/create-react-native-library/templates/{windows-cpp-view-library => windows-uwp-cpp-view-library}/windows/{%- project.name %}.sln (100%) rename packages/create-react-native-library/templates/{windows-cpp-view-library => windows-uwp-cpp-view-library}/windows/{%- project.name %}/PropertySheet.props (100%) rename packages/create-react-native-library/templates/{windows-cpp-view-library => windows-uwp-cpp-view-library}/windows/{%- project.name %}/ReactPackageProvider.cpp (100%) rename packages/create-react-native-library/templates/{windows-cpp-view-library => windows-uwp-cpp-view-library}/windows/{%- project.name %}/ReactPackageProvider.h (100%) rename packages/create-react-native-library/templates/{windows-cpp-view-library => windows-uwp-cpp-view-library}/windows/{%- project.name %}/ReactPackageProvider.idl (100%) rename packages/create-react-native-library/templates/{windows-cpp-view-library => windows-uwp-cpp-view-library}/windows/{%- project.name %}/packages.config (100%) rename packages/create-react-native-library/templates/{windows-cpp-view-library => windows-uwp-cpp-view-library}/windows/{%- project.name %}/pch.h (100%) rename packages/create-react-native-library/templates/{windows-cpp-view-library => windows-uwp-cpp-view-library}/windows/{%- project.name %}/{%- project.name %}.def (100%) rename packages/create-react-native-library/templates/{windows-cpp-view-library => windows-uwp-cpp-view-library}/windows/{%- project.name %}/{%- project.name %}.filters (100%) rename packages/create-react-native-library/templates/{windows-cpp-view-library => windows-uwp-cpp-view-library}/windows/{%- project.name %}/{%- project.name %}.pfx (100%) rename packages/create-react-native-library/templates/{windows-cpp-view-library => windows-uwp-cpp-view-library}/windows/{%- project.name %}/{%- project.name %}.vcxproj (100%) rename packages/create-react-native-library/templates/{windows-cpp-view-library => windows-uwp-cpp-view-library}/windows/{%- project.name %}/{%- project.name %}View.cpp (100%) rename packages/create-react-native-library/templates/{windows-cpp-view-library => windows-uwp-cpp-view-library}/windows/{%- project.name %}/{%- project.name %}View.h (100%) rename packages/create-react-native-library/templates/{windows-cpp-view-library => windows-uwp-cpp-view-library}/windows/{%- project.name %}/{%- project.name %}View.idl (100%) create mode 100644 packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.cpp create mode 100644 packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.hpp rename packages/create-react-native-library/templates/{windows-csharp-library => windows-uwp-csharp-library}/windows/.gitignore (100%) rename packages/create-react-native-library/templates/{windows-csharp-library => windows-uwp-csharp-library}/windows/{%- project.name %}.sln (100%) rename packages/create-react-native-library/templates/{windows-csharp-library => windows-uwp-csharp-library}/windows/{%- project.name %}/Properties/AssemblyInfo.cs (100%) rename packages/create-react-native-library/templates/{windows-csharp-library => windows-uwp-csharp-library}/windows/{%- project.name %}/Properties/Default.rd.xml (100%) rename packages/create-react-native-library/templates/{windows-csharp-library => windows-uwp-csharp-library}/windows/{%- project.name %}/ReactPackageProvider.cs (100%) rename packages/create-react-native-library/templates/{windows-csharp-library => windows-uwp-csharp-library}/windows/{%- project.name %}/{%- project.name %}.csproj (100%) rename packages/create-react-native-library/templates/{windows-csharp-library => windows-uwp-csharp-library}/windows/{%- project.name %}/{%- project.name %}NativeModule.cs (100%) rename packages/create-react-native-library/templates/{windows-csharp-view-library => windows-uwp-csharp-view-library}/windows/.gitignore (100%) rename packages/create-react-native-library/templates/{windows-csharp-view-library => windows-uwp-csharp-view-library}/windows/{%- project.name %}.sln (100%) rename packages/create-react-native-library/templates/{windows-csharp-view-library => windows-uwp-csharp-view-library}/windows/{%- project.name %}/Properties/AssemblyInfo.cs (100%) rename packages/create-react-native-library/templates/{windows-csharp-view-library => windows-uwp-csharp-view-library}/windows/{%- project.name %}/Properties/Default.rd.xml (100%) rename packages/create-react-native-library/templates/{windows-csharp-view-library => windows-uwp-csharp-view-library}/windows/{%- project.name %}/ReactPackageProvider.cs (100%) rename packages/create-react-native-library/templates/{windows-csharp-view-library => windows-uwp-csharp-view-library}/windows/{%- project.name %}/{%- project.name %}.csproj (100%) rename packages/create-react-native-library/templates/{windows-csharp-view-library => windows-uwp-csharp-view-library}/windows/{%- project.name %}/{%- project.name %}View.cs (100%) rename packages/create-react-native-library/templates/{windows-csharp-view-library => windows-uwp-csharp-view-library}/windows/{%- project.name %}/{%- project.name %}ViewManager.cs (100%) diff --git a/packages/create-react-native-library/src/index.ts b/packages/create-react-native-library/src/index.ts index 813d06880..0d5382b6e 100644 --- a/packages/create-react-native-library/src/index.ts +++ b/packages/create-react-native-library/src/index.ts @@ -67,11 +67,11 @@ const SWIFT_FILES = (moduleType: ModuleType) => { const WINDOWS_CSHARP_FILES = (moduleType: ModuleType) => { switch (moduleType) { case 'module': - return path.resolve(__dirname, '../templates/windows-csharp-library'); + return path.resolve(__dirname, '../templates/windows-uwp-csharp-library'); case 'view': return path.resolve( __dirname, - '../templates/windows-csharp-view-library' + '../templates/windows-uwp-csharp-view-library' ); } }; @@ -80,9 +80,9 @@ const WINDOWS_CSHARP_FILES = (moduleType: ModuleType) => { const WINDOWS_CPP_FILES = (moduleType: ModuleType) => { switch (moduleType) { case 'module': - return path.resolve(__dirname, '../templates/windows-cpp-library'); + return path.resolve(__dirname, '../templates/windows-uwp-cpp-library'); case 'view': - return path.resolve(__dirname, '../templates/windows-cpp-view-library'); + return path.resolve(__dirname, '../templates/windows-uwp-cpp-view-library'); } }; @@ -112,8 +112,8 @@ type Answers = { | 'kotlin-objc' | 'kotlin-swift' | 'cpp' - | 'windows-cpp' - | 'windows-csharp' + | 'windows-uwp-cpp' + | 'windows-uwp-csharp' | 'js'; type?: 'module' | 'view'; example?: 'expo' | 'native'; @@ -281,8 +281,8 @@ async function create(argv: yargs.Arguments) { { title: 'Kotlin & Swift', value: 'kotlin-swift' }, { title: 'C++ for both iOS & Android', value: 'cpp' }, { title: 'JavaScript only', value: 'js' }, - { title: 'Windows with C++', value: 'windows-cpp' }, - { title: 'Windows with C#', value: 'windows-csharp' }, + { title: 'Windows UWP with C++', value: 'windows-uwp-cpp' }, + { title: 'Windows UWP with C#', value: 'windows-uwp-csharp' }, ], }, 'type': { @@ -292,8 +292,8 @@ async function create(argv: yargs.Arguments) { 'java-swift', 'kotlin-objc', 'kotlin-swift', - 'windows-cpp', - 'windows-csharp', + 'windows-uwp-cpp', + 'windows-uwp-csharp', ].includes(prev) ? 'select' : null, @@ -388,7 +388,7 @@ async function create(argv: yargs.Arguments) { cpp: languages === 'cpp', kotlin: languages === 'kotlin-objc' || languages === 'kotlin-swift', swift: languages === 'java-swift' || languages === 'kotlin-swift', - windows: languages === 'windows-cpp' || languages === 'windows-csharp', + windows: languages === 'windows-uwp-cpp' || languages === 'windows-uwp-csharp', module: languages !== 'js', moduleType: type, }, @@ -456,7 +456,7 @@ async function create(argv: yargs.Arguments) { if (options.project.windows) { const WINDOWS_FILES = - languages === 'windows-csharp' + languages === 'windows-uwp-csharp' ? WINDOWS_CSHARP_FILES : WINDOWS_CPP_FILES; await copyDir(WINDOWS_FILES(type), folder); diff --git a/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Package.appxmanifest b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Package.appxmanifest index da8318ae0..669263e22 100644 --- a/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Package.appxmanifest +++ b/packages/create-react-native-library/templates/example/example/windows/{%- project.name %}Example/Package.appxmanifest @@ -8,14 +8,14 @@ <%- project.name %>Example - Bartosz Klonowski + <%- author.name %> Assets\StoreLogo.png diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/readme.txt b/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/readme.txt deleted file mode 100644 index feebcec33..000000000 --- a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/readme.txt +++ /dev/null @@ -1,23 +0,0 @@ -======================================================================== - C++/WinRT <%- project.name %> Project Overview -======================================================================== - -This project demonstrates how to get started authoring Windows Runtime -classes directly with standard C++, using the C++/WinRT SDK component -to generate implementation headers from interface (IDL) files. The -generated Windows Runtime component binary and WinMD files should then -be bundled with the Universal Windows Platform (UWP) app consuming them. - -Steps: -1. Create an interface (IDL) file to define your Windows Runtime class, - its default interface, and any other interfaces it implements. -2. Build the project once to generate module.g.cpp, module.h.cpp, and - implementation templates under the "Generated Files" folder, as - well as skeleton class definitions under "Generated Files\sources". -3. Use the skeleton class definitions for reference to implement your - Windows Runtime classes. - -======================================================================== -Learn more about C++/WinRT here: -http://aka.ms/cppwinrt/ -======================================================================== diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/readme.txt b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/readme.txt deleted file mode 100644 index feebcec33..000000000 --- a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/readme.txt +++ /dev/null @@ -1,23 +0,0 @@ -======================================================================== - C++/WinRT <%- project.name %> Project Overview -======================================================================== - -This project demonstrates how to get started authoring Windows Runtime -classes directly with standard C++, using the C++/WinRT SDK component -to generate implementation headers from interface (IDL) files. The -generated Windows Runtime component binary and WinMD files should then -be bundled with the Universal Windows Platform (UWP) app consuming them. - -Steps: -1. Create an interface (IDL) file to define your Windows Runtime class, - its default interface, and any other interfaces it implements. -2. Build the project once to generate module.g.cpp, module.h.cpp, and - implementation templates under the "Generated Files" folder, as - well as skeleton class definitions under "Generated Files\sources". -3. Use the skeleton class definitions for reference to implement your - Windows Runtime classes. - -======================================================================== -Learn more about C++/WinRT here: -http://aka.ms/cppwinrt/ -======================================================================== diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.cpp b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.cpp deleted file mode 100644 index c775685b6..000000000 --- a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.cpp +++ /dev/null @@ -1,23 +0,0 @@ -#include "<%- project.name %>ViewManager.hpp" -#include "<%- project.name %>View.h" - -#include "NativeModules.h" -#include - -namespace winrt::<%- project.name %>::implementation -{ - <%- project.name %>ViewManager::<%- project.name %>ViewManager() - { - } - - // IViewManager - winrt::hstring <%- project.name %>ViewManager::Name() noexcept - { - return L"<%- project.name %>"; - } - - Windows::UI::Xaml::FrameworkElement <%- project.name %>ViewManager::CreateView() noexcept - { - return winrt::<%- project.name %>::<%- project.name %>View( reactContext ); - } -} diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.hpp b/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.hpp deleted file mode 100644 index 10b5fa3aa..000000000 --- a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.hpp +++ /dev/null @@ -1,23 +0,0 @@ -#pragma once - -#include -#include -#include - -namespace winrt::<%- project.name %>::implementation -{ - class <%- project.name %>ViewManager : public implements< - <%- project.name %>ViewManager, - Microsoft::ReactNative::IViewManager> - { - public: - <%- project.name %>ViewManager(); - - // IViewManager - hstring Name() noexcept; - Windows::UI::Xaml::FrameworkElement CreateView() noexcept; - - private: - winrt::Microsoft::ReactNative::IReactContext reactContext{ nullptr }; - }; -} diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/.gitignore b/packages/create-react-native-library/templates/windows-uwp-cpp-library/windows/.gitignore similarity index 100% rename from packages/create-react-native-library/templates/windows-cpp-library/windows/.gitignore rename to packages/create-react-native-library/templates/windows-uwp-cpp-library/windows/.gitignore diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}.sln b/packages/create-react-native-library/templates/windows-uwp-cpp-library/windows/{%- project.name %}.sln similarity index 100% rename from packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}.sln rename to packages/create-react-native-library/templates/windows-uwp-cpp-library/windows/{%- project.name %}.sln diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/PropertySheet.props b/packages/create-react-native-library/templates/windows-uwp-cpp-library/windows/{%- project.name %}/PropertySheet.props similarity index 100% rename from packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/PropertySheet.props rename to packages/create-react-native-library/templates/windows-uwp-cpp-library/windows/{%- project.name %}/PropertySheet.props diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/ReactPackageProvider.cpp b/packages/create-react-native-library/templates/windows-uwp-cpp-library/windows/{%- project.name %}/ReactPackageProvider.cpp similarity index 100% rename from packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/ReactPackageProvider.cpp rename to packages/create-react-native-library/templates/windows-uwp-cpp-library/windows/{%- project.name %}/ReactPackageProvider.cpp diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/ReactPackageProvider.h b/packages/create-react-native-library/templates/windows-uwp-cpp-library/windows/{%- project.name %}/ReactPackageProvider.h similarity index 100% rename from packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/ReactPackageProvider.h rename to packages/create-react-native-library/templates/windows-uwp-cpp-library/windows/{%- project.name %}/ReactPackageProvider.h diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/ReactPackageProvider.idl b/packages/create-react-native-library/templates/windows-uwp-cpp-library/windows/{%- project.name %}/ReactPackageProvider.idl similarity index 100% rename from packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/ReactPackageProvider.idl rename to packages/create-react-native-library/templates/windows-uwp-cpp-library/windows/{%- project.name %}/ReactPackageProvider.idl diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/packages.config b/packages/create-react-native-library/templates/windows-uwp-cpp-library/windows/{%- project.name %}/packages.config similarity index 100% rename from packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/packages.config rename to packages/create-react-native-library/templates/windows-uwp-cpp-library/windows/{%- project.name %}/packages.config diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/pch.h b/packages/create-react-native-library/templates/windows-uwp-cpp-library/windows/{%- project.name %}/pch.h similarity index 100% rename from packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/pch.h rename to packages/create-react-native-library/templates/windows-uwp-cpp-library/windows/{%- project.name %}/pch.h diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.def b/packages/create-react-native-library/templates/windows-uwp-cpp-library/windows/{%- project.name %}/{%- project.name %}.def similarity index 100% rename from packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.def rename to packages/create-react-native-library/templates/windows-uwp-cpp-library/windows/{%- project.name %}/{%- project.name %}.def diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.filters b/packages/create-react-native-library/templates/windows-uwp-cpp-library/windows/{%- project.name %}/{%- project.name %}.filters similarity index 100% rename from packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.filters rename to packages/create-react-native-library/templates/windows-uwp-cpp-library/windows/{%- project.name %}/{%- project.name %}.filters diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.pfx b/packages/create-react-native-library/templates/windows-uwp-cpp-library/windows/{%- project.name %}/{%- project.name %}.pfx similarity index 100% rename from packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.pfx rename to packages/create-react-native-library/templates/windows-uwp-cpp-library/windows/{%- project.name %}/{%- project.name %}.pfx diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.vcxproj b/packages/create-react-native-library/templates/windows-uwp-cpp-library/windows/{%- project.name %}/{%- project.name %}.vcxproj similarity index 100% rename from packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}.vcxproj rename to packages/create-react-native-library/templates/windows-uwp-cpp-library/windows/{%- project.name %}/{%- project.name %}.vcxproj diff --git a/packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}_NativeModule.hpp b/packages/create-react-native-library/templates/windows-uwp-cpp-library/windows/{%- project.name %}/{%- project.name %}_NativeModule.hpp similarity index 100% rename from packages/create-react-native-library/templates/windows-cpp-library/windows/{%- project.name %}/{%- project.name %}_NativeModule.hpp rename to packages/create-react-native-library/templates/windows-uwp-cpp-library/windows/{%- project.name %}/{%- project.name %}_NativeModule.hpp diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/.gitignore b/packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/.gitignore similarity index 100% rename from packages/create-react-native-library/templates/windows-cpp-view-library/windows/.gitignore rename to packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/.gitignore diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}.sln b/packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}.sln similarity index 100% rename from packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}.sln rename to packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}.sln diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/PropertySheet.props b/packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/PropertySheet.props similarity index 100% rename from packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/PropertySheet.props rename to packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/PropertySheet.props diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/ReactPackageProvider.cpp b/packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/ReactPackageProvider.cpp similarity index 100% rename from packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/ReactPackageProvider.cpp rename to packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/ReactPackageProvider.cpp diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/ReactPackageProvider.h b/packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/ReactPackageProvider.h similarity index 100% rename from packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/ReactPackageProvider.h rename to packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/ReactPackageProvider.h diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/ReactPackageProvider.idl b/packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/ReactPackageProvider.idl similarity index 100% rename from packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/ReactPackageProvider.idl rename to packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/ReactPackageProvider.idl diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/packages.config b/packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/packages.config similarity index 100% rename from packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/packages.config rename to packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/packages.config diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/pch.h b/packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/pch.h similarity index 100% rename from packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/pch.h rename to packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/pch.h diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.def b/packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.def similarity index 100% rename from packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.def rename to packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.def diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.filters b/packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.filters similarity index 100% rename from packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.filters rename to packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.filters diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.pfx b/packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.pfx similarity index 100% rename from packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.pfx rename to packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.pfx diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.vcxproj b/packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.vcxproj similarity index 100% rename from packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.vcxproj rename to packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/{%- project.name %}.vcxproj diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}View.cpp b/packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/{%- project.name %}View.cpp similarity index 100% rename from packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}View.cpp rename to packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/{%- project.name %}View.cpp diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}View.h b/packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/{%- project.name %}View.h similarity index 100% rename from packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}View.h rename to packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/{%- project.name %}View.h diff --git a/packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}View.idl b/packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/{%- project.name %}View.idl similarity index 100% rename from packages/create-react-native-library/templates/windows-cpp-view-library/windows/{%- project.name %}/{%- project.name %}View.idl rename to packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/{%- project.name %}View.idl diff --git a/packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.cpp b/packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.cpp new file mode 100644 index 000000000..700d11eb2 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.cpp @@ -0,0 +1,55 @@ +#include "<%- project.name %>ViewManager.hpp" +#include "<%- project.name %>View.h" + +#include "NativeModules.h" +#include + +namespace winrt::<%- project.name %>::implementation +{ + <%- project.name %>ViewManager::<%- project.name %>ViewManager() + { + } + + // IViewManager + winrt::hstring <%- project.name %>ViewManager::Name() noexcept + { + return L"<%- project.name %>"; + } + + Windows::UI::Xaml::FrameworkElement <%- project.name %>ViewManager::CreateView() noexcept + { + return winrt::<%- project.name %>::<%- project.name %>View( reactContext ); + } + + // IViewManagerWithNativeProperties + Windows::Foundation::Collection::IMapView <%- project.name %>ViewManager::NativeProps() noexcept + { + auto nativeProps = winrt::single_threaded_map(); + return nativeProps.GetView(); + } + + void <%- project.name %>ViewManager::UpdateProperties(FrameworkElement const &view, IJSValueReader const &propertyMapReader) noexcept + { + if (auto control = view.try_as>()) + { + const JSValueObject &propertyMap = JSValue::ReadObjectFrom(propertyMapReader); + + for(auto const &pair : propertyMap) + { + auto const &propertyName = pair.first; + auto const &propertyValue = pair.second; + } + } + } + + // IViewManagerWithReactContext + Microsoft::ReactNative::IReactContext <%- project.name %>ViewManager::ReactContext() noexcept + { + return reactContext; + } + + void <%- project.name %>ViewManager::ReactContext(Microsoft::ReactNative::IReactContext reactContext) noexcept + { + this->reactContext = reactContext; + } +} diff --git a/packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.hpp b/packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.hpp new file mode 100644 index 000000000..467f32720 --- /dev/null +++ b/packages/create-react-native-library/templates/windows-uwp-cpp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.hpp @@ -0,0 +1,33 @@ +#pragma once + +#include +#include +#include + +namespace winrt::<%- project.name %>::implementation +{ + class <%- project.name %>ViewManager : public implements< + <%- project.name %>ViewManager, + Microsoft::ReactNative::IViewManager + Microsoft::ReactNative::IViewManagerWithNativeProperties, + Microsoft::ReactNative::IViewManagerWithReactContext> + { + public: + <%- project.name %>ViewManager(); + + // IViewManager + hstring Name() noexcept; + Windows::UI::Xaml::FrameworkElement CreateView() noexcept; + + // IViewManagerWithNativeProperties + Windows::Foundation::Collections::IMapView NativeProps() noexcept; + void UpdateProperties(Windows::UI::Xaml::FrameworkElement const &view, Microsoft::ReactNative::IJSValueReader const &propertyMapReader) noexcept; + + // IViewManagerWithReactContext + Microsoft::ReactNative::IReactContext ReactContext() noexcept; + void ReactContext(Microsoft::ReactNative::IReactContext reactContext) noexcept; + + private: + Microsoft::ReactNative::IReactContext reactContext{ nullptr }; + }; +} diff --git a/packages/create-react-native-library/templates/windows-csharp-library/windows/.gitignore b/packages/create-react-native-library/templates/windows-uwp-csharp-library/windows/.gitignore similarity index 100% rename from packages/create-react-native-library/templates/windows-csharp-library/windows/.gitignore rename to packages/create-react-native-library/templates/windows-uwp-csharp-library/windows/.gitignore diff --git a/packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}.sln b/packages/create-react-native-library/templates/windows-uwp-csharp-library/windows/{%- project.name %}.sln similarity index 100% rename from packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}.sln rename to packages/create-react-native-library/templates/windows-uwp-csharp-library/windows/{%- project.name %}.sln diff --git a/packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/Properties/AssemblyInfo.cs b/packages/create-react-native-library/templates/windows-uwp-csharp-library/windows/{%- project.name %}/Properties/AssemblyInfo.cs similarity index 100% rename from packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/Properties/AssemblyInfo.cs rename to packages/create-react-native-library/templates/windows-uwp-csharp-library/windows/{%- project.name %}/Properties/AssemblyInfo.cs diff --git a/packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/Properties/Default.rd.xml b/packages/create-react-native-library/templates/windows-uwp-csharp-library/windows/{%- project.name %}/Properties/Default.rd.xml similarity index 100% rename from packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/Properties/Default.rd.xml rename to packages/create-react-native-library/templates/windows-uwp-csharp-library/windows/{%- project.name %}/Properties/Default.rd.xml diff --git a/packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/ReactPackageProvider.cs b/packages/create-react-native-library/templates/windows-uwp-csharp-library/windows/{%- project.name %}/ReactPackageProvider.cs similarity index 100% rename from packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/ReactPackageProvider.cs rename to packages/create-react-native-library/templates/windows-uwp-csharp-library/windows/{%- project.name %}/ReactPackageProvider.cs diff --git a/packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/{%- project.name %}.csproj b/packages/create-react-native-library/templates/windows-uwp-csharp-library/windows/{%- project.name %}/{%- project.name %}.csproj similarity index 100% rename from packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/{%- project.name %}.csproj rename to packages/create-react-native-library/templates/windows-uwp-csharp-library/windows/{%- project.name %}/{%- project.name %}.csproj diff --git a/packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/{%- project.name %}NativeModule.cs b/packages/create-react-native-library/templates/windows-uwp-csharp-library/windows/{%- project.name %}/{%- project.name %}NativeModule.cs similarity index 100% rename from packages/create-react-native-library/templates/windows-csharp-library/windows/{%- project.name %}/{%- project.name %}NativeModule.cs rename to packages/create-react-native-library/templates/windows-uwp-csharp-library/windows/{%- project.name %}/{%- project.name %}NativeModule.cs diff --git a/packages/create-react-native-library/templates/windows-csharp-view-library/windows/.gitignore b/packages/create-react-native-library/templates/windows-uwp-csharp-view-library/windows/.gitignore similarity index 100% rename from packages/create-react-native-library/templates/windows-csharp-view-library/windows/.gitignore rename to packages/create-react-native-library/templates/windows-uwp-csharp-view-library/windows/.gitignore diff --git a/packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}.sln b/packages/create-react-native-library/templates/windows-uwp-csharp-view-library/windows/{%- project.name %}.sln similarity index 100% rename from packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}.sln rename to packages/create-react-native-library/templates/windows-uwp-csharp-view-library/windows/{%- project.name %}.sln diff --git a/packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/Properties/AssemblyInfo.cs b/packages/create-react-native-library/templates/windows-uwp-csharp-view-library/windows/{%- project.name %}/Properties/AssemblyInfo.cs similarity index 100% rename from packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/Properties/AssemblyInfo.cs rename to packages/create-react-native-library/templates/windows-uwp-csharp-view-library/windows/{%- project.name %}/Properties/AssemblyInfo.cs diff --git a/packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/Properties/Default.rd.xml b/packages/create-react-native-library/templates/windows-uwp-csharp-view-library/windows/{%- project.name %}/Properties/Default.rd.xml similarity index 100% rename from packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/Properties/Default.rd.xml rename to packages/create-react-native-library/templates/windows-uwp-csharp-view-library/windows/{%- project.name %}/Properties/Default.rd.xml diff --git a/packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/ReactPackageProvider.cs b/packages/create-react-native-library/templates/windows-uwp-csharp-view-library/windows/{%- project.name %}/ReactPackageProvider.cs similarity index 100% rename from packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/ReactPackageProvider.cs rename to packages/create-react-native-library/templates/windows-uwp-csharp-view-library/windows/{%- project.name %}/ReactPackageProvider.cs diff --git a/packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/{%- project.name %}.csproj b/packages/create-react-native-library/templates/windows-uwp-csharp-view-library/windows/{%- project.name %}/{%- project.name %}.csproj similarity index 100% rename from packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/{%- project.name %}.csproj rename to packages/create-react-native-library/templates/windows-uwp-csharp-view-library/windows/{%- project.name %}/{%- project.name %}.csproj diff --git a/packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/{%- project.name %}View.cs b/packages/create-react-native-library/templates/windows-uwp-csharp-view-library/windows/{%- project.name %}/{%- project.name %}View.cs similarity index 100% rename from packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/{%- project.name %}View.cs rename to packages/create-react-native-library/templates/windows-uwp-csharp-view-library/windows/{%- project.name %}/{%- project.name %}View.cs diff --git a/packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.cs b/packages/create-react-native-library/templates/windows-uwp-csharp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.cs similarity index 100% rename from packages/create-react-native-library/templates/windows-csharp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.cs rename to packages/create-react-native-library/templates/windows-uwp-csharp-view-library/windows/{%- project.name %}/{%- project.name %}ViewManager.cs From fbe7f25b8bd7e33afc2324144a5e608cf13ea7e6 Mon Sep 17 00:00:00 2001 From: Bartosz Klonowski <70535775+BartoszKlonowski@users.noreply.github.com> Date: Wed, 30 Jun 2021 16:06:12 +0200 Subject: [PATCH 14/14] Fix lint errors --- packages/create-react-native-library/src/index.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/create-react-native-library/src/index.ts b/packages/create-react-native-library/src/index.ts index 0d5382b6e..f00a7f85b 100644 --- a/packages/create-react-native-library/src/index.ts +++ b/packages/create-react-native-library/src/index.ts @@ -82,7 +82,10 @@ const WINDOWS_CPP_FILES = (moduleType: ModuleType) => { case 'module': return path.resolve(__dirname, '../templates/windows-uwp-cpp-library'); case 'view': - return path.resolve(__dirname, '../templates/windows-uwp-cpp-view-library'); + return path.resolve( + __dirname, + '../templates/windows-uwp-cpp-view-library' + ); } }; @@ -388,7 +391,8 @@ async function create(argv: yargs.Arguments) { cpp: languages === 'cpp', kotlin: languages === 'kotlin-objc' || languages === 'kotlin-swift', swift: languages === 'java-swift' || languages === 'kotlin-swift', - windows: languages === 'windows-uwp-cpp' || languages === 'windows-uwp-csharp', + windows: + languages === 'windows-uwp-cpp' || languages === 'windows-uwp-csharp', module: languages !== 'js', moduleType: type, },