@react-native-windows/cli 0.0.0-canary.19 → 0.0.0-canary.190

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/README.md +47 -0
  2. package/lib-commonjs/commands/autolinkWindows/autolinkWindows.d.ts +87 -0
  3. package/lib-commonjs/commands/autolinkWindows/autolinkWindows.js +661 -0
  4. package/lib-commonjs/commands/autolinkWindows/autolinkWindows.js.map +1 -0
  5. package/lib-commonjs/commands/autolinkWindows/autolinkWindowsOptions.d.ts +14 -0
  6. package/lib-commonjs/commands/autolinkWindows/autolinkWindowsOptions.js +33 -0
  7. package/lib-commonjs/commands/autolinkWindows/autolinkWindowsOptions.js.map +1 -0
  8. package/lib-commonjs/commands/codegenWindows/codegenWindows.d.ts +27 -0
  9. package/lib-commonjs/commands/codegenWindows/codegenWindows.js +206 -0
  10. package/lib-commonjs/commands/codegenWindows/codegenWindows.js.map +1 -0
  11. package/lib-commonjs/commands/codegenWindows/codegenWindowsOptions.d.ts +12 -0
  12. package/lib-commonjs/commands/codegenWindows/codegenWindowsOptions.js +23 -0
  13. package/lib-commonjs/commands/codegenWindows/codegenWindowsOptions.js.map +1 -0
  14. package/lib-commonjs/{config → commands/config}/configUtils.d.ts +25 -2
  15. package/lib-commonjs/{config → commands/config}/configUtils.js +142 -32
  16. package/lib-commonjs/commands/config/configUtils.js.map +1 -0
  17. package/lib-commonjs/commands/config/dependencyConfig.js +228 -0
  18. package/lib-commonjs/commands/config/dependencyConfig.js.map +1 -0
  19. package/lib-commonjs/{config → commands/config}/projectConfig.d.ts +4 -1
  20. package/lib-commonjs/{config → commands/config}/projectConfig.js +72 -12
  21. package/lib-commonjs/commands/config/projectConfig.js.map +1 -0
  22. package/lib-commonjs/commands/healthCheck/healthCheckList.d.ts +6 -0
  23. package/lib-commonjs/commands/healthCheck/healthCheckList.js +21 -0
  24. package/lib-commonjs/commands/healthCheck/healthCheckList.js.map +1 -0
  25. package/lib-commonjs/commands/healthCheck/healthChecks.d.ts +7 -0
  26. package/lib-commonjs/commands/healthCheck/healthChecks.js +124 -0
  27. package/lib-commonjs/commands/healthCheck/healthChecks.js.map +1 -0
  28. package/lib-commonjs/commands/initWindows/initWindows.d.ts +46 -0
  29. package/lib-commonjs/commands/initWindows/initWindows.js +244 -0
  30. package/lib-commonjs/commands/initWindows/initWindows.js.map +1 -0
  31. package/lib-commonjs/commands/initWindows/initWindowsOptions.d.ts +15 -0
  32. package/lib-commonjs/commands/initWindows/initWindowsOptions.js +38 -0
  33. package/lib-commonjs/commands/initWindows/initWindowsOptions.js.map +1 -0
  34. package/lib-commonjs/commands/runWindows/runWindows.js +322 -0
  35. package/lib-commonjs/commands/runWindows/runWindows.js.map +1 -0
  36. package/lib-commonjs/{runWindows → commands/runWindows}/runWindowsOptions.d.ts +15 -11
  37. package/lib-commonjs/{runWindows → commands/runWindows}/runWindowsOptions.js +12 -11
  38. package/lib-commonjs/commands/runWindows/runWindowsOptions.js.map +1 -0
  39. package/lib-commonjs/e2etest/autolink.test.d.ts +6 -0
  40. package/lib-commonjs/e2etest/autolink.test.js +367 -0
  41. package/lib-commonjs/e2etest/autolink.test.js.map +1 -0
  42. package/lib-commonjs/e2etest/dependencyConfig.test.d.ts +6 -0
  43. package/lib-commonjs/e2etest/dependencyConfig.test.js +130 -0
  44. package/lib-commonjs/e2etest/dependencyConfig.test.js.map +1 -0
  45. package/lib-commonjs/e2etest/healthChecks.test.d.ts +6 -0
  46. package/lib-commonjs/e2etest/healthChecks.test.js +31 -0
  47. package/lib-commonjs/e2etest/healthChecks.test.js.map +1 -0
  48. package/lib-commonjs/e2etest/initWindows.test.d.ts +6 -0
  49. package/lib-commonjs/e2etest/initWindows.test.js +43 -0
  50. package/lib-commonjs/e2etest/initWindows.test.js.map +1 -0
  51. package/lib-commonjs/e2etest/projectConfig.test.d.ts +6 -0
  52. package/lib-commonjs/e2etest/projectConfig.test.js +111 -0
  53. package/lib-commonjs/e2etest/projectConfig.test.js.map +1 -0
  54. package/lib-commonjs/e2etest/projectConfig.utils.d.ts +8 -0
  55. package/lib-commonjs/e2etest/projectConfig.utils.js +77 -0
  56. package/lib-commonjs/e2etest/projectConfig.utils.js.map +1 -0
  57. package/lib-commonjs/e2etest/runWindows.test.d.ts +6 -0
  58. package/lib-commonjs/e2etest/runWindows.test.js +61 -0
  59. package/lib-commonjs/e2etest/runWindows.test.js.map +1 -0
  60. package/lib-commonjs/generator-common/index.d.ts +17 -1
  61. package/lib-commonjs/generator-common/index.js +61 -40
  62. package/lib-commonjs/generator-common/index.js.map +1 -1
  63. package/lib-commonjs/generator-windows/index.d.ts +2 -2
  64. package/lib-commonjs/generator-windows/index.js +159 -204
  65. package/lib-commonjs/generator-windows/index.js.map +1 -1
  66. package/lib-commonjs/index.d.ts +6 -2
  67. package/lib-commonjs/index.js +51 -13
  68. package/lib-commonjs/index.js.map +1 -1
  69. package/lib-commonjs/{runWindows/utils → utils}/build.d.ts +2 -3
  70. package/lib-commonjs/{runWindows/utils → utils}/build.js +24 -31
  71. package/lib-commonjs/utils/build.js.map +1 -0
  72. package/lib-commonjs/{runWindows/utils → utils}/checkRequirements.js +11 -7
  73. package/lib-commonjs/utils/checkRequirements.js.map +1 -0
  74. package/lib-commonjs/{runWindows/utils → utils}/commandWithProgress.d.ts +11 -3
  75. package/lib-commonjs/utils/commandWithProgress.js +150 -0
  76. package/lib-commonjs/utils/commandWithProgress.js.map +1 -0
  77. package/lib-commonjs/{runWindows/utils → utils}/deploy.d.ts +2 -2
  78. package/lib-commonjs/utils/deploy.js +354 -0
  79. package/lib-commonjs/utils/deploy.js.map +1 -0
  80. package/lib-commonjs/{runWindows/utils → utils}/info.js +5 -2
  81. package/lib-commonjs/utils/info.js.map +1 -0
  82. package/lib-commonjs/utils/msbuildtools.d.ts +28 -0
  83. package/lib-commonjs/utils/msbuildtools.js +274 -0
  84. package/lib-commonjs/utils/msbuildtools.js.map +1 -0
  85. package/lib-commonjs/utils/pathHelpers.d.ts +9 -0
  86. package/lib-commonjs/utils/pathHelpers.js +37 -0
  87. package/lib-commonjs/utils/pathHelpers.js.map +1 -0
  88. package/lib-commonjs/utils/telemetryHelpers.d.ts +29 -0
  89. package/lib-commonjs/utils/telemetryHelpers.js +121 -0
  90. package/lib-commonjs/utils/telemetryHelpers.js.map +1 -0
  91. package/lib-commonjs/{runWindows/utils → utils}/version.d.ts +4 -4
  92. package/lib-commonjs/utils/version.js.map +1 -0
  93. package/lib-commonjs/{runWindows/utils → utils}/vsInstalls.d.ts +2 -2
  94. package/lib-commonjs/utils/vsInstalls.js +100 -0
  95. package/lib-commonjs/utils/vsInstalls.js.map +1 -0
  96. package/lib-commonjs/{runWindows/utils → utils}/vstools.d.ts +2 -1
  97. package/lib-commonjs/utils/vstools.js +190 -0
  98. package/lib-commonjs/utils/vstools.js.map +1 -0
  99. package/lib-commonjs/{runWindows/utils → utils}/winappdeploytool.d.ts +3 -3
  100. package/lib-commonjs/{runWindows/utils → utils}/winappdeploytool.js +17 -14
  101. package/lib-commonjs/utils/winappdeploytool.js.map +1 -0
  102. package/package.json +47 -29
  103. package/{powershell → src/powershell}/Add-AppDevPackage.ps1 +2 -2
  104. package/src/powershell/Eval-MsBuildProperties.ps1 +156 -0
  105. package/{powershell → src/powershell}/WindowsStoreAppUtils.ps1 +10 -0
  106. package/CHANGELOG.json +0 -287
  107. package/CHANGELOG.md +0 -143
  108. package/lib-commonjs/config/configUtils.js.map +0 -1
  109. package/lib-commonjs/config/dependencyConfig.js +0 -167
  110. package/lib-commonjs/config/dependencyConfig.js.map +0 -1
  111. package/lib-commonjs/config/projectConfig.js.map +0 -1
  112. package/lib-commonjs/runWindows/runWindows.js +0 -159
  113. package/lib-commonjs/runWindows/runWindows.js.map +0 -1
  114. package/lib-commonjs/runWindows/runWindowsOptions.js.map +0 -1
  115. package/lib-commonjs/runWindows/utils/autolink.d.ts +0 -7
  116. package/lib-commonjs/runWindows/utils/autolink.js +0 -353
  117. package/lib-commonjs/runWindows/utils/autolink.js.map +0 -1
  118. package/lib-commonjs/runWindows/utils/build.js.map +0 -1
  119. package/lib-commonjs/runWindows/utils/checkRequirements.js.map +0 -1
  120. package/lib-commonjs/runWindows/utils/commandWithProgress.js +0 -114
  121. package/lib-commonjs/runWindows/utils/commandWithProgress.js.map +0 -1
  122. package/lib-commonjs/runWindows/utils/deploy.js +0 -247
  123. package/lib-commonjs/runWindows/utils/deploy.js.map +0 -1
  124. package/lib-commonjs/runWindows/utils/info.js.map +0 -1
  125. package/lib-commonjs/runWindows/utils/msbuildtools.d.ts +0 -22
  126. package/lib-commonjs/runWindows/utils/msbuildtools.js +0 -195
  127. package/lib-commonjs/runWindows/utils/msbuildtools.js.map +0 -1
  128. package/lib-commonjs/runWindows/utils/version.js.map +0 -1
  129. package/lib-commonjs/runWindows/utils/vsInstalls.js +0 -70
  130. package/lib-commonjs/runWindows/utils/vsInstalls.js.map +0 -1
  131. package/lib-commonjs/runWindows/utils/vstools.js +0 -150
  132. package/lib-commonjs/runWindows/utils/vstools.js.map +0 -1
  133. package/lib-commonjs/runWindows/utils/winappdeploytool.js.map +0 -1
  134. /package/lib-commonjs/{config → commands/config}/dependencyConfig.d.ts +0 -0
  135. /package/lib-commonjs/{runWindows → commands/runWindows}/runWindows.d.ts +0 -0
  136. /package/lib-commonjs/{runWindows/utils → utils}/checkRequirements.d.ts +0 -0
  137. /package/lib-commonjs/{runWindows/utils → utils}/info.d.ts +0 -0
  138. /package/lib-commonjs/{runWindows/utils → utils}/version.js +0 -0
@@ -4,67 +4,49 @@
4
4
  * Licensed under the MIT License.
5
5
  * @format
6
6
  */
7
+ var __importDefault = (this && this.__importDefault) || function (mod) {
8
+ return (mod && mod.__esModule) ? mod : { "default": mod };
9
+ };
7
10
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.installDependencies = exports.copyProjectTemplateAndReplace = void 0;
9
- const chalk = require("chalk");
10
- const path = require("path");
11
- const username = require("username");
12
- const uuid = require("uuid");
13
- const childProcess = require("child_process");
14
- const fs = require("fs");
15
- const os = require("os");
16
- const semver = require("semver");
17
- const _ = require("lodash");
18
- const configUtils_1 = require("../config/configUtils");
11
+ exports.installScriptsAndDependencies = exports.copyProjectTemplateAndReplace = void 0;
12
+ const chalk_1 = __importDefault(require("chalk"));
13
+ const path_1 = __importDefault(require("path"));
14
+ const username_1 = __importDefault(require("username"));
15
+ const uuid_1 = __importDefault(require("uuid"));
16
+ const child_process_1 = __importDefault(require("child_process"));
17
+ const fs_1 = __importDefault(require("@react-native-windows/fs"));
18
+ const semver_1 = __importDefault(require("semver"));
19
+ const lodash_1 = __importDefault(require("lodash"));
20
+ const find_up_1 = __importDefault(require("find-up"));
21
+ const configUtils_1 = require("../commands/config/configUtils");
19
22
  const generator_common_1 = require("../generator-common");
23
+ const telemetry_1 = require("@react-native-windows/telemetry");
24
+ const package_utils_1 = require("@react-native-windows/package-utils");
20
25
  const windowsDir = 'windows';
21
26
  const bundleDir = 'Bundle';
22
- async function generateCertificate(srcPath, destPath, newProjectName, currentUser) {
23
- console.log('Generating self-signed certificate...');
24
- let toCopyTempKey = false;
25
- if (os.platform() === 'win32') {
26
- try {
27
- const timeout = 10000; // 10 seconds;
28
- const thumbprint = childProcess
29
- .execSync(`powershell -NoProfile -Command "Write-Output (New-SelfSignedCertificate -KeyUsage DigitalSignature -KeyExportPolicy Exportable -Subject 'CN=${currentUser}' -TextExtension @('2.5.29.37={text}1.3.6.1.5.5.7.3.3', '2.5.29.19={text}Subject Type:End Entity') -CertStoreLocation 'Cert:\\CurrentUser\\My').Thumbprint"`, { timeout })
30
- .toString()
31
- .trim();
32
- if (!fs.existsSync(path.join(windowsDir, newProjectName))) {
33
- fs.mkdirSync(path.join(windowsDir, newProjectName));
34
- }
35
- childProcess.execSync(`powershell -NoProfile -Command "$pwd = (ConvertTo-SecureString -String password -Force -AsPlainText); Export-PfxCertificate -Cert 'cert:\\CurrentUser\\My\\${thumbprint}' -FilePath ${path.join(windowsDir, newProjectName, newProjectName)}_TemporaryKey.pfx -Password $pwd"`, { timeout });
36
- console.log(chalk.green('Self-signed certificate generated successfully.'));
37
- return thumbprint;
38
- }
39
- catch (err) {
40
- console.log(chalk.yellow('Failed to generate Self-signed certificate. Using Default Certificate. Use Visual Studio to renew it.'));
41
- toCopyTempKey = true;
42
- }
43
- }
44
- else {
45
- console.log(chalk.yellow('Using Default Certificate. Use Visual Studio to renew it.'));
46
- toCopyTempKey = true;
47
- }
48
- if (toCopyTempKey) {
49
- await generator_common_1.copyAndReplaceWithChangedCallback(path.join(srcPath, 'keys', 'MyApp_TemporaryKey.pfx'), destPath, path.join(windowsDir, newProjectName, newProjectName + '_TemporaryKey.pfx'));
50
- }
51
- return null;
52
- }
53
27
  function pascalCase(str) {
54
- const camelCase = _.camelCase(str);
28
+ const camelCase = lodash_1.default.camelCase(str);
55
29
  return camelCase[0].toUpperCase() + camelCase.substr(1);
56
30
  }
31
+ function resolveRnwPath(subpath) {
32
+ return require.resolve(path_1.default.join('react-native-windows', subpath), {
33
+ paths: [process.cwd()],
34
+ });
35
+ }
36
+ // Existing high cyclomatic complexity
37
+ // eslint-disable-next-line complexity
57
38
  async function copyProjectTemplateAndReplace(srcRootPath, destPath, newProjectName, namespace, options) {
58
39
  if (!srcRootPath) {
59
- throw new Error('Need a path to copy from');
40
+ throw new telemetry_1.CodedError('CopyProjectTemplateNoSourcePath', 'Need a path to copy from');
60
41
  }
61
42
  if (!destPath) {
62
- throw new Error('Need a path to copy to');
43
+ throw new telemetry_1.CodedError('CopyProjectTemplateNoDestPath', 'Need a path to copy to');
63
44
  }
64
45
  if (!newProjectName) {
65
- throw new Error('Need a project name');
46
+ throw new telemetry_1.CodedError('CopyProjectTemplateNoProjectName', 'Need a project name');
66
47
  }
67
48
  const projectType = options.projectType;
49
+ const language = options.language;
68
50
  // React-native init only allows alphanumerics in project names, but other
69
51
  // new project tools (like create-react-native-module) are less strict.
70
52
  if (projectType === 'lib') {
@@ -72,93 +54,55 @@ async function copyProjectTemplateAndReplace(srcRootPath, destPath, newProjectNa
72
54
  }
73
55
  // Similar to the above, but we want to retain namespace separators
74
56
  if (projectType === 'lib') {
75
- namespace = namespace
76
- .split(/[\.\:]+/)
77
- .map(pascalCase)
78
- .join('.');
57
+ namespace = namespace.split(/[.:]+/).map(pascalCase).join('.');
58
+ }
59
+ // Checking if we're overwriting an existing project and re-uses their projectGUID
60
+ const existingProjectPath = path_1.default.join(destPath, windowsDir, newProjectName, newProjectName + (language === 'cs' ? '.csproj' : '.vcxproj'));
61
+ let existingProjectGuid;
62
+ if (fs_1.default.existsSync(existingProjectPath)) {
63
+ console.log('Found existing project, extracting ProjectGuid.');
64
+ existingProjectGuid = (0, configUtils_1.findPropertyValue)((0, configUtils_1.readProjectFile)(existingProjectPath), 'ProjectGuid', existingProjectPath).replace(/[{}]/g, '');
79
65
  }
80
- generator_common_1.createDir(path.join(destPath, windowsDir));
81
- generator_common_1.createDir(path.join(destPath, windowsDir, newProjectName));
66
+ (0, generator_common_1.createDir)(path_1.default.join(destPath, windowsDir));
67
+ (0, generator_common_1.createDir)(path_1.default.join(destPath, windowsDir, newProjectName));
82
68
  if (projectType === 'app') {
83
- generator_common_1.createDir(path.join(destPath, windowsDir, newProjectName, bundleDir));
84
- generator_common_1.createDir(path.join(destPath, windowsDir, newProjectName, 'BundleBuilder'));
69
+ (0, generator_common_1.createDir)(path_1.default.join(destPath, windowsDir, newProjectName, bundleDir));
70
+ (0, generator_common_1.createDir)(path_1.default.join(destPath, windowsDir, newProjectName, 'BundleBuilder'));
85
71
  }
86
- const language = options.language;
87
72
  const namespaceCpp = toCppNamespace(namespace);
88
73
  if (options.experimentalNuGetDependency) {
89
74
  console.log('Using experimental NuGet dependency.');
90
75
  }
91
76
  if (options.useWinUI3) {
92
- console.log('Using experimental WinUI3 dependency.');
93
- fs.writeFileSync(path.join(destPath, windowsDir, 'UseWinUI3'), '');
77
+ throw new telemetry_1.CodedError('IncompatibleOptions', 'Experimental WinUI 3 project has been deprecated.');
94
78
  }
95
79
  const projDir = 'proj';
96
- const srcPath = path.join(srcRootPath, `${language}-${projectType}`);
97
- const sharedPath = path.join(srcRootPath, `shared-${projectType}`);
98
- const projectGuid = uuid.v4();
99
- const rnwVersion = require('react-native-windows/package.json').version;
80
+ const srcPath = path_1.default.join(srcRootPath, `${language}-${projectType}`);
81
+ const sharedPath = path_1.default.join(srcRootPath, `shared-${projectType}`);
82
+ const projectGuid = existingProjectGuid || uuid_1.default.v4();
83
+ const rnwVersion = require(resolveRnwPath('package.json')).version;
100
84
  const nugetVersion = options.nuGetTestVersion || rnwVersion;
101
- const packageGuid = uuid.v4();
102
- const currentUser = username.sync(); // Gets the current username depending on the platform.
103
- const certificateThumbprint = projectType === 'app'
104
- ? await generateCertificate(srcPath, destPath, newProjectName, currentUser)
105
- : null;
106
- const xamlNamespace = options.useWinUI3
107
- ? 'Microsoft.UI.Xaml'
108
- : 'Windows.UI.Xaml';
109
- const xamlNamespaceCpp = toCppNamespace(xamlNamespace);
110
- const winui3PropsPath = require.resolve('react-native-windows/PropertySheets/WinUI.props', { paths: [process.cwd()] });
111
- const winui3Props = configUtils_1.readProjectFile(winui3PropsPath);
112
- const winui3Version = configUtils_1.findPropertyValue(winui3Props, 'WinUI3Version');
113
- if (winui3Version === null) {
114
- throw new Error('Unable to find WinUI3 version from property sheets');
115
- }
116
- const csNugetPackages = [
117
- {
118
- id: 'Microsoft.NETCore.UniversalWindowsPlatform',
119
- version: '6.2.9',
120
- },
121
- ];
122
- const cppNugetPackages = [
123
- {
124
- id: 'Microsoft.Windows.CppWinRT',
125
- version: '2.0.200615.7',
126
- propsTopOfFile: true,
127
- hasProps: true,
128
- hasTargets: true,
129
- },
130
- {
131
- id: options.useWinUI3 ? 'Microsoft.WinUI' : 'Microsoft.UI.Xaml',
132
- version: options.useWinUI3 ? winui3Version : '2.3.191129002',
133
- hasProps: false,
134
- hasTargets: false,
135
- },
136
- ];
137
- if (options.experimentalNuGetDependency) {
138
- csNugetPackages.push({
139
- id: 'Microsoft.ReactNative.Managed',
140
- version: nugetVersion,
141
- });
142
- cppNugetPackages.push({
143
- id: 'Microsoft.ReactNative',
144
- version: nugetVersion,
145
- hasProps: false,
146
- hasTargets: true,
147
- });
148
- cppNugetPackages.push({
149
- id: 'Microsoft.ReactNative.Cxx',
150
- version: nugetVersion,
151
- hasProps: false,
152
- hasTargets: true,
153
- });
85
+ const packageGuid = uuid_1.default.v4();
86
+ const currentUser = username_1.default.sync(); // Gets the current username depending on the platform.
87
+ let mainComponentName = newProjectName;
88
+ const appJsonPath = await (0, find_up_1.default)('app.json', { cwd: destPath });
89
+ if (appJsonPath) {
90
+ const appJson = await fs_1.default.readJsonFile(appJsonPath);
91
+ mainComponentName = appJson.name;
154
92
  }
93
+ // We should prefer putting new, necessary PackageReference dependencies into the appropriate
94
+ // external property sheets, but this is here if we "must" inject the dependency into the project file
95
+ const csNugetPackages = [];
96
+ const cppNugetPackages = [];
155
97
  const templateVars = {
156
98
  useMustache: true,
157
- regExpPatternsToRemove: ['//\\sclang-format\\s(on|off)\\s'],
99
+ regExpPatternsToRemove: [],
158
100
  name: newProjectName,
159
101
  namespace: namespace,
160
102
  namespaceCpp: namespaceCpp,
161
103
  languageIsCpp: language === 'cpp',
104
+ rnwVersion: await (0, telemetry_1.getVersionOfNpmPackage)('react-native-windows'),
105
+ mainComponentName: mainComponentName,
162
106
  // Visual Studio is very picky about the casing of the guids for projects, project references and the solution
163
107
  // https://www.bing.com/search?q=visual+studio+project+guid+casing&cvid=311a5ad7f9fc41089507b24600d23ee7&FORM=ANAB01&PC=U531
164
108
  // we therefore have to precariously use the right casing in the right place or risk building in VS breaking.
@@ -167,79 +111,81 @@ async function copyProjectTemplateAndReplace(srcRootPath, destPath, newProjectNa
167
111
  // packaging and signing variables:
168
112
  packageGuid: packageGuid,
169
113
  currentUser: currentUser,
170
- certificateThumbprint: certificateThumbprint,
171
114
  useExperimentalNuget: options.experimentalNuGetDependency,
172
115
  nuGetTestFeed: options.nuGetTestFeed,
116
+ nuGetADOFeed: nugetVersion.startsWith('0.0.0-'),
173
117
  // cpp template variables
174
118
  useWinUI3: options.useWinUI3,
175
- xamlNamespace: xamlNamespace,
176
- xamlNamespaceCpp: xamlNamespaceCpp,
119
+ useHermes: options.useHermes,
177
120
  cppNugetPackages: cppNugetPackages,
178
121
  // cs template variables
179
122
  csNugetPackages: csNugetPackages,
180
123
  // autolinking template variables
124
+ autolinkPropertiesForProps: '',
181
125
  autolinkProjectReferencesForTargets: '',
182
126
  autolinkCsUsingNamespaces: '',
183
- autolinkCsReactPacakgeProviders: '',
127
+ autolinkCsReactPackageProviders: '',
184
128
  autolinkCppIncludes: '',
185
- autolinkCppPackageProviders: '\n UNREFERENCED_PARAMETER(packageProviders);',
129
+ autolinkCppPackageProviders: '\n UNREFERENCED_PARAMETER(packageProviders);', // CODESYNC: vnext\local-cli\runWindows\utils\autolink.js
186
130
  };
187
131
  const commonMappings = projectType === 'app'
188
132
  ? [
189
133
  // app common mappings
190
134
  {
191
- from: path.join(srcRootPath, 'metro.config.js'),
135
+ from: path_1.default.join(srcRootPath, options.useDevMode
136
+ ? 'metro.devMode.config.js'
137
+ : 'metro.config.js'),
192
138
  to: 'metro.config.js',
193
139
  },
194
140
  {
195
- from: path.join(srcRootPath, '_gitignore'),
196
- to: path.join(windowsDir, '.gitignore'),
141
+ from: path_1.default.join(srcRootPath, '_gitignore'),
142
+ to: path_1.default.join(windowsDir, '.gitignore'),
197
143
  },
198
144
  {
199
- from: path.join(srcRootPath, 'b_gitignore'),
200
- to: path.join(windowsDir, newProjectName, '.gitignore'),
145
+ from: path_1.default.join(srcRootPath, 'b_gitignore'),
146
+ to: path_1.default.join(windowsDir, newProjectName, '.gitignore'),
201
147
  },
202
148
  {
203
- from: path.join(srcRootPath, 'index.windows.bundle'),
204
- to: path.join(windowsDir, newProjectName, bundleDir, 'index.windows.bundle'),
149
+ from: path_1.default.join(srcRootPath, 'index.windows.bundle'),
150
+ to: path_1.default.join(windowsDir, newProjectName, bundleDir, 'index.windows.bundle'),
205
151
  },
206
152
  {
207
- from: path.join(srcPath, projDir, 'MyApp.sln'),
208
- to: path.join(windowsDir, newProjectName + '.sln'),
153
+ from: path_1.default.join(srcPath, projDir, 'MyApp.sln'),
154
+ to: path_1.default.join(windowsDir, newProjectName + '.sln'),
209
155
  },
210
156
  ]
211
157
  : [
212
158
  // lib common mappings
213
159
  {
214
- from: path.join(srcRootPath, '_gitignore'),
215
- to: path.join(windowsDir, '.gitignore'),
160
+ from: path_1.default.join(srcRootPath, '_gitignore'),
161
+ to: path_1.default.join(windowsDir, '.gitignore'),
216
162
  },
217
163
  {
218
- from: path.join(srcPath, projDir, 'MyLib.sln'),
219
- to: path.join(windowsDir, newProjectName + '.sln'),
164
+ from: path_1.default.join(srcPath, projDir, 'MyLib.sln'),
165
+ to: path_1.default.join(windowsDir, newProjectName + '.sln'),
220
166
  },
221
167
  ];
222
168
  for (const mapping of commonMappings) {
223
- await generator_common_1.copyAndReplaceWithChangedCallback(mapping.from, destPath, mapping.to, templateVars, options.overwrite);
169
+ await (0, generator_common_1.copyAndReplaceWithChangedCallback)(mapping.from, destPath, mapping.to, templateVars, options.overwrite);
224
170
  }
225
171
  if (language === 'cs') {
226
172
  const csMappings = projectType === 'app'
227
173
  ? [
228
174
  // cs app mappings
229
175
  {
230
- from: path.join(srcPath, projDir, 'MyApp.csproj'),
231
- to: path.join(windowsDir, newProjectName, newProjectName + '.csproj'),
176
+ from: path_1.default.join(srcPath, projDir, 'MyApp.csproj'),
177
+ to: path_1.default.join(windowsDir, newProjectName, newProjectName + '.csproj'),
232
178
  },
233
179
  ]
234
180
  : [
235
181
  // cs lib mappings
236
182
  {
237
- from: path.join(srcPath, projDir, 'MyLib.csproj'),
238
- to: path.join(windowsDir, newProjectName, newProjectName + '.csproj'),
183
+ from: path_1.default.join(srcPath, projDir, 'MyLib.csproj'),
184
+ to: path_1.default.join(windowsDir, newProjectName, newProjectName + '.csproj'),
239
185
  },
240
186
  ];
241
187
  for (const mapping of csMappings) {
242
- await generator_common_1.copyAndReplaceWithChangedCallback(mapping.from, destPath, mapping.to, templateVars, options.overwrite);
188
+ await (0, generator_common_1.copyAndReplaceWithChangedCallback)(mapping.from, destPath, mapping.to, templateVars, options.overwrite);
243
189
  }
244
190
  }
245
191
  else {
@@ -247,107 +193,116 @@ async function copyProjectTemplateAndReplace(srcRootPath, destPath, newProjectNa
247
193
  ? [
248
194
  // cpp app mappings
249
195
  {
250
- from: path.join(srcPath, projDir, 'MyApp.vcxproj'),
251
- to: path.join(windowsDir, newProjectName, newProjectName + '.vcxproj'),
196
+ from: path_1.default.join(srcPath, projDir, 'MyApp.vcxproj'),
197
+ to: path_1.default.join(windowsDir, newProjectName, newProjectName + '.vcxproj'),
252
198
  },
253
199
  {
254
- from: path.join(srcPath, projDir, 'MyApp.vcxproj.filters'),
255
- to: path.join(windowsDir, newProjectName, newProjectName + '.vcxproj.filters'),
256
- },
257
- {
258
- from: path.join(srcPath, projDir, 'packages.config'),
259
- to: path.join(windowsDir, newProjectName, 'packages.config'),
200
+ from: path_1.default.join(srcPath, projDir, 'MyApp.vcxproj.filters'),
201
+ to: path_1.default.join(windowsDir, newProjectName, newProjectName + '.vcxproj.filters'),
260
202
  },
261
203
  ]
262
204
  : [
263
205
  // cpp lib mappings
264
206
  {
265
- from: path.join(srcPath, projDir, 'MyLib.vcxproj'),
266
- to: path.join(windowsDir, newProjectName, newProjectName + '.vcxproj'),
267
- },
268
- {
269
- from: path.join(srcPath, projDir, 'MyLib.vcxproj.filters'),
270
- to: path.join(windowsDir, newProjectName, newProjectName + '.vcxproj.filters'),
207
+ from: path_1.default.join(srcPath, projDir, 'MyLib.vcxproj'),
208
+ to: path_1.default.join(windowsDir, newProjectName, newProjectName + '.vcxproj'),
271
209
  },
272
210
  {
273
- from: path.join(srcPath, projDir, 'MyLib.def'),
274
- to: path.join(windowsDir, newProjectName, newProjectName + '.def'),
211
+ from: path_1.default.join(srcPath, projDir, 'MyLib.vcxproj.filters'),
212
+ to: path_1.default.join(windowsDir, newProjectName, newProjectName + '.vcxproj.filters'),
275
213
  },
276
214
  {
277
- from: path.join(srcPath, projDir, 'packages.config'),
278
- to: path.join(windowsDir, newProjectName, 'packages.config'),
215
+ from: path_1.default.join(srcPath, projDir, 'MyLib.def'),
216
+ to: path_1.default.join(windowsDir, newProjectName, newProjectName + '.def'),
279
217
  },
280
218
  ];
281
219
  for (const mapping of cppMappings) {
282
- await generator_common_1.copyAndReplaceWithChangedCallback(mapping.from, destPath, mapping.to, templateVars, options.overwrite);
220
+ await (0, generator_common_1.copyAndReplaceWithChangedCallback)(mapping.from, destPath, mapping.to, templateVars, options.overwrite);
283
221
  }
284
222
  }
285
223
  // shared proj
286
- if (fs.existsSync(path.join(sharedPath, projDir))) {
287
- // Once we are publishing to nuget.org, this shouldn't be needed anymore
288
- if (options.experimentalNuGetDependency) {
289
- const nugetMappings = [
290
- {
291
- from: path.join(sharedPath, projDir, 'NuGet.Config'),
292
- to: path.join(windowsDir, 'NuGet.Config'),
293
- },
294
- ];
295
- for (const mapping of nugetMappings) {
296
- await generator_common_1.copyAndReplaceWithChangedCallback(mapping.from, destPath, mapping.to, templateVars, options.overwrite);
297
- }
224
+ if (fs_1.default.existsSync(path_1.default.join(sharedPath, projDir))) {
225
+ const sharedProjMappings = [];
226
+ sharedProjMappings.push({
227
+ from: path_1.default.join(sharedPath, projDir, 'NuGet_Config'),
228
+ to: path_1.default.join(windowsDir, 'NuGet.Config'),
229
+ });
230
+ if (fs_1.default.existsSync(path_1.default.join(sharedPath, projDir, 'ExperimentalFeatures.props'))) {
231
+ sharedProjMappings.push({
232
+ from: path_1.default.join(sharedPath, projDir, 'ExperimentalFeatures.props'),
233
+ to: path_1.default.join(windowsDir, 'ExperimentalFeatures.props'),
234
+ });
235
+ }
236
+ for (const mapping of sharedProjMappings) {
237
+ await (0, generator_common_1.copyAndReplaceWithChangedCallback)(mapping.from, destPath, mapping.to, templateVars, options.overwrite);
298
238
  }
299
239
  }
300
240
  // shared assets
301
- if (fs.existsSync(path.join(sharedPath, 'assets'))) {
302
- await generator_common_1.copyAndReplaceAll(path.join(sharedPath, 'assets'), destPath, path.join(windowsDir, newProjectName, 'Assets'), templateVars, options.overwrite);
241
+ if (fs_1.default.existsSync(path_1.default.join(sharedPath, 'assets'))) {
242
+ await (0, generator_common_1.copyAndReplaceAll)(path_1.default.join(sharedPath, 'assets'), destPath, path_1.default.join(windowsDir, newProjectName, 'Assets'), templateVars, options.overwrite);
303
243
  }
304
244
  // shared src
305
- if (fs.existsSync(path.join(sharedPath, 'src'))) {
306
- await generator_common_1.copyAndReplaceAll(path.join(sharedPath, 'src'), destPath, path.join(windowsDir, newProjectName), templateVars, options.overwrite);
245
+ if (fs_1.default.existsSync(path_1.default.join(sharedPath, 'src'))) {
246
+ await (0, generator_common_1.copyAndReplaceAll)(path_1.default.join(sharedPath, 'src'), destPath, path_1.default.join(windowsDir, newProjectName), templateVars, options.overwrite);
307
247
  }
308
248
  // src
309
- if (fs.existsSync(path.join(srcPath, 'src'))) {
310
- await generator_common_1.copyAndReplaceAll(path.join(srcPath, 'src'), destPath, path.join(windowsDir, newProjectName), templateVars, options.overwrite);
249
+ if (fs_1.default.existsSync(path_1.default.join(srcPath, 'src'))) {
250
+ await (0, generator_common_1.copyAndReplaceAll)(path_1.default.join(srcPath, 'src'), destPath, path_1.default.join(windowsDir, newProjectName), templateVars, options.overwrite);
311
251
  }
312
252
  if (projectType === 'app') {
313
- console.log(chalk.white.bold('To run your app on UWP:'));
314
- console.log(chalk.white(' npx react-native run-windows'));
253
+ console.log(chalk_1.default.white.bold('To run your app on UWP:'));
254
+ console.log(chalk_1.default.white(' npx react-native run-windows'));
315
255
  }
316
256
  }
317
257
  exports.copyProjectTemplateAndReplace = copyProjectTemplateAndReplace;
318
258
  function toCppNamespace(namespace) {
319
259
  return namespace.replace(/\./g, '::');
320
260
  }
321
- function installDependencies(options) {
322
- const cwd = process.cwd();
323
- // Extract react-native peer dependency version
324
- const rnwPackageJsonPath = require.resolve('react-native-windows/package.json', { paths: [process.cwd()] });
325
- const rnwPackageJson = JSON.parse(fs.readFileSync(rnwPackageJsonPath, { encoding: 'UTF8' }));
326
- let rnPeerDependency = rnwPackageJson.peerDependencies['react-native'];
327
- const depDelim = ' || ';
328
- const delimIndex = rnPeerDependency.indexOf(depDelim);
329
- if (delimIndex !== -1) {
330
- rnPeerDependency = rnPeerDependency.slice(0, delimIndex);
261
+ async function installScriptsAndDependencies(options) {
262
+ var _a;
263
+ const projectPackage = await package_utils_1.WritableNpmPackage.fromPath(process.cwd());
264
+ if (!projectPackage) {
265
+ throw new Error(`The current directory '${process.cwd()}' is not the root of an npm package`);
331
266
  }
332
- const rnPackageJsonPath = require.resolve('react-native/package.json', {
333
- paths: [process.cwd()],
267
+ await projectPackage.mergeProps({
268
+ scripts: { windows: 'react-native run-windows' },
334
269
  });
335
- const rnPackageJson = JSON.parse(fs.readFileSync(rnPackageJsonPath, { encoding: 'UTF8' }));
336
- if (!semver.satisfies(rnPackageJson.version, rnPeerDependency)) {
337
- console.log(chalk.green('Installing a compatible version of react-native:'));
338
- console.log(chalk.white(` ${rnPeerDependency}`));
270
+ const rnwPackage = await (0, package_utils_1.findPackage)('react-native-windows');
271
+ if (!rnwPackage) {
272
+ throw new Error('Could not locate the package for react-native-windows');
273
+ }
274
+ const rnPackage = await (0, package_utils_1.findPackage)('react-native');
275
+ if (!rnPackage) {
276
+ throw new Error('Could not locate the package for react-native');
277
+ }
278
+ // We add an exclusionList from metro config. This will be hoisted, but add
279
+ // an explicit dep because we require it directly.
280
+ const cliPackage = await (0, package_utils_1.findPackage)('@react-native-community/cli', {
281
+ searchPath: rnPackage.path,
282
+ });
283
+ const metroConfigPackage = await (0, package_utils_1.findPackage)('metro-config', {
284
+ searchPath: (cliPackage === null || cliPackage === void 0 ? void 0 : cliPackage.path) || rnPackage.path,
285
+ });
286
+ if (metroConfigPackage) {
287
+ await projectPackage.mergeProps({
288
+ devDependencies: {
289
+ 'metro-config': `^${metroConfigPackage.json.version}`,
290
+ },
291
+ });
292
+ }
293
+ const rnPeerDependency = rnwPackage.json.peerDependencies['react-native'];
294
+ if (!semver_1.default.satisfies(rnPackage.json.version, rnPeerDependency) &&
295
+ ((_a = projectPackage.json.dependencies) === null || _a === void 0 ? void 0 : _a['react-native'])) {
296
+ console.log(chalk_1.default.green('Installing a compatible version of react-native:'));
297
+ console.log(chalk_1.default.white(` ${rnPeerDependency}`));
339
298
  // Patch package.json to have proper react-native version and install
340
- const projectPackageJsonPath = path.join(cwd, 'package.json');
341
- const projectPackageJson = JSON.parse(fs.readFileSync(projectPackageJsonPath, { encoding: 'UTF8' }));
342
- projectPackageJson.scripts.windows = 'react-native run-windows';
343
- if (projectPackageJson.hasOwnProperty('dependencies')) {
344
- projectPackageJson.dependencies['react-native'] = rnPeerDependency;
345
- }
346
- fs.writeFileSync(projectPackageJsonPath, JSON.stringify(projectPackageJson, null, 2));
299
+ await projectPackage.mergeProps({
300
+ dependencies: { 'react-native': rnPeerDependency },
301
+ });
347
302
  // Install dependencies using correct package manager
348
- const isYarn = fs.existsSync(path.join(cwd, 'yarn.lock'));
349
- childProcess.execSync(isYarn ? 'yarn' : 'npm i', options.verbose ? { stdio: 'inherit' } : {});
303
+ const isYarn = fs_1.default.existsSync(path_1.default.join(process.cwd(), 'yarn.lock'));
304
+ child_process_1.default.execSync(isYarn ? 'yarn' : 'npm i', options.verbose ? { stdio: 'inherit' } : {});
350
305
  }
351
306
  }
352
- exports.installDependencies = installDependencies;
307
+ exports.installScriptsAndDependencies = installScriptsAndDependencies;
353
308
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator-windows/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator-windows/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n * @format\n */\n\nimport chalk from 'chalk';\nimport path from 'path';\nimport username from 'username';\nimport uuid from 'uuid';\nimport childProcess from 'child_process';\nimport fs from '@react-native-windows/fs';\nimport semver from 'semver';\nimport _ from 'lodash';\nimport findUp from 'find-up';\nimport {\n readProjectFile,\n findPropertyValue,\n} from '../commands/config/configUtils';\n\nimport {\n createDir,\n copyAndReplaceAll,\n copyAndReplaceWithChangedCallback,\n} from '../generator-common';\nimport {GenerateOptions} from '..';\nimport {\n CodedError,\n getVersionOfNpmPackage,\n} from '@react-native-windows/telemetry';\nimport {\n findPackage,\n WritableNpmPackage,\n} from '@react-native-windows/package-utils';\n\nconst windowsDir = 'windows';\nconst bundleDir = 'Bundle';\n\n/**\n * This represents the data to insert nuget packages\n */\ninterface NugetPackage {\n id: string;\n version: string;\n privateAssets: boolean;\n}\n\nfunction pascalCase(str: string) {\n const camelCase = _.camelCase(str);\n return camelCase[0].toUpperCase() + camelCase.substr(1);\n}\n\nfunction resolveRnwPath(subpath: string): string {\n return require.resolve(path.join('react-native-windows', subpath), {\n paths: [process.cwd()],\n });\n}\n\n// Existing high cyclomatic complexity\n// eslint-disable-next-line complexity\nexport async function copyProjectTemplateAndReplace(\n srcRootPath: string,\n destPath: string,\n newProjectName: string,\n namespace: string,\n options: GenerateOptions,\n) {\n if (!srcRootPath) {\n throw new CodedError(\n 'CopyProjectTemplateNoSourcePath',\n 'Need a path to copy from',\n );\n }\n\n if (!destPath) {\n throw new CodedError(\n 'CopyProjectTemplateNoDestPath',\n 'Need a path to copy to',\n );\n }\n\n if (!newProjectName) {\n throw new CodedError(\n 'CopyProjectTemplateNoProjectName',\n 'Need a project name',\n );\n }\n\n const projectType = options.projectType;\n const language = options.language;\n\n // React-native init only allows alphanumerics in project names, but other\n // new project tools (like create-react-native-module) are less strict.\n if (projectType === 'lib') {\n newProjectName = pascalCase(newProjectName);\n }\n\n // Similar to the above, but we want to retain namespace separators\n if (projectType === 'lib') {\n namespace = namespace.split(/[.:]+/).map(pascalCase).join('.');\n }\n\n // Checking if we're overwriting an existing project and re-uses their projectGUID\n const existingProjectPath = path.join(\n destPath,\n windowsDir,\n newProjectName,\n newProjectName + (language === 'cs' ? '.csproj' : '.vcxproj'),\n );\n let existingProjectGuid: string | undefined;\n if (fs.existsSync(existingProjectPath)) {\n console.log('Found existing project, extracting ProjectGuid.');\n existingProjectGuid = findPropertyValue(\n readProjectFile(existingProjectPath),\n 'ProjectGuid',\n existingProjectPath,\n ).replace(/[{}]/g, '');\n }\n\n createDir(path.join(destPath, windowsDir));\n createDir(path.join(destPath, windowsDir, newProjectName));\n\n if (projectType === 'app') {\n createDir(path.join(destPath, windowsDir, newProjectName, bundleDir));\n createDir(path.join(destPath, windowsDir, newProjectName, 'BundleBuilder'));\n }\n\n const namespaceCpp = toCppNamespace(namespace);\n if (options.experimentalNuGetDependency) {\n console.log('Using experimental NuGet dependency.');\n }\n\n if (options.useWinUI3) {\n throw new CodedError(\n 'IncompatibleOptions',\n 'Experimental WinUI 3 project has been deprecated.',\n );\n }\n\n const projDir = 'proj';\n const srcPath = path.join(srcRootPath, `${language}-${projectType}`);\n const sharedPath = path.join(srcRootPath, `shared-${projectType}`);\n const projectGuid = existingProjectGuid || uuid.v4();\n const rnwVersion = require(resolveRnwPath('package.json')).version;\n const nugetVersion = options.nuGetTestVersion || rnwVersion;\n const packageGuid = uuid.v4();\n const currentUser = username.sync()!; // Gets the current username depending on the platform.\n\n let mainComponentName = newProjectName;\n const appJsonPath = await findUp('app.json', {cwd: destPath});\n if (appJsonPath) {\n const appJson = await fs.readJsonFile<{name: string}>(appJsonPath);\n mainComponentName = appJson.name;\n }\n\n // We should prefer putting new, necessary PackageReference dependencies into the appropriate\n // external property sheets, but this is here if we \"must\" inject the dependency into the project file\n const csNugetPackages: NugetPackage[] = [];\n const cppNugetPackages: NugetPackage[] = [];\n\n const templateVars: Record<string, any> = {\n useMustache: true,\n regExpPatternsToRemove: [],\n\n name: newProjectName,\n namespace: namespace,\n namespaceCpp: namespaceCpp,\n languageIsCpp: language === 'cpp',\n\n rnwVersion: await getVersionOfNpmPackage('react-native-windows'),\n\n mainComponentName: mainComponentName,\n\n // Visual Studio is very picky about the casing of the guids for projects, project references and the solution\n // https://www.bing.com/search?q=visual+studio+project+guid+casing&cvid=311a5ad7f9fc41089507b24600d23ee7&FORM=ANAB01&PC=U531\n // we therefore have to precariously use the right casing in the right place or risk building in VS breaking.\n projectGuidLower: `{${projectGuid.toLowerCase()}}`,\n projectGuidUpper: `{${projectGuid.toUpperCase()}}`,\n\n // packaging and signing variables:\n packageGuid: packageGuid,\n currentUser: currentUser,\n\n useExperimentalNuget: options.experimentalNuGetDependency,\n nuGetTestFeed: options.nuGetTestFeed,\n nuGetADOFeed: nugetVersion.startsWith('0.0.0-'),\n\n // cpp template variables\n useWinUI3: options.useWinUI3,\n useHermes: options.useHermes,\n cppNugetPackages: cppNugetPackages,\n\n // cs template variables\n csNugetPackages: csNugetPackages,\n\n // autolinking template variables\n autolinkPropertiesForProps: '',\n autolinkProjectReferencesForTargets: '',\n autolinkCsUsingNamespaces: '',\n autolinkCsReactPackageProviders: '',\n autolinkCppIncludes: '',\n autolinkCppPackageProviders:\n '\\n UNREFERENCED_PARAMETER(packageProviders);', // CODESYNC: vnext\\local-cli\\runWindows\\utils\\autolink.js\n };\n\n const commonMappings =\n projectType === 'app'\n ? [\n // app common mappings\n {\n from: path.join(\n srcRootPath,\n options.useDevMode\n ? 'metro.devMode.config.js'\n : 'metro.config.js',\n ),\n to: 'metro.config.js',\n },\n {\n from: path.join(srcRootPath, '_gitignore'),\n to: path.join(windowsDir, '.gitignore'),\n },\n {\n from: path.join(srcRootPath, 'b_gitignore'),\n to: path.join(windowsDir, newProjectName, '.gitignore'),\n },\n {\n from: path.join(srcRootPath, 'index.windows.bundle'),\n to: path.join(\n windowsDir,\n newProjectName,\n bundleDir,\n 'index.windows.bundle',\n ),\n },\n {\n from: path.join(srcPath, projDir, 'MyApp.sln'),\n to: path.join(windowsDir, newProjectName + '.sln'),\n },\n ]\n : [\n // lib common mappings\n {\n from: path.join(srcRootPath, '_gitignore'),\n to: path.join(windowsDir, '.gitignore'),\n },\n {\n from: path.join(srcPath, projDir, 'MyLib.sln'),\n to: path.join(windowsDir, newProjectName + '.sln'),\n },\n ];\n\n for (const mapping of commonMappings) {\n await copyAndReplaceWithChangedCallback(\n mapping.from,\n destPath,\n mapping.to,\n templateVars,\n options.overwrite,\n );\n }\n\n if (language === 'cs') {\n const csMappings =\n projectType === 'app'\n ? [\n // cs app mappings\n {\n from: path.join(srcPath, projDir, 'MyApp.csproj'),\n to: path.join(\n windowsDir,\n newProjectName,\n newProjectName + '.csproj',\n ),\n },\n ]\n : [\n // cs lib mappings\n {\n from: path.join(srcPath, projDir, 'MyLib.csproj'),\n to: path.join(\n windowsDir,\n newProjectName,\n newProjectName + '.csproj',\n ),\n },\n ];\n\n for (const mapping of csMappings) {\n await copyAndReplaceWithChangedCallback(\n mapping.from,\n destPath,\n mapping.to,\n templateVars,\n options.overwrite,\n );\n }\n } else {\n const cppMappings =\n projectType === 'app'\n ? [\n // cpp app mappings\n {\n from: path.join(srcPath, projDir, 'MyApp.vcxproj'),\n to: path.join(\n windowsDir,\n newProjectName,\n newProjectName + '.vcxproj',\n ),\n },\n {\n from: path.join(srcPath, projDir, 'MyApp.vcxproj.filters'),\n to: path.join(\n windowsDir,\n newProjectName,\n newProjectName + '.vcxproj.filters',\n ),\n },\n ]\n : [\n // cpp lib mappings\n {\n from: path.join(srcPath, projDir, 'MyLib.vcxproj'),\n to: path.join(\n windowsDir,\n newProjectName,\n newProjectName + '.vcxproj',\n ),\n },\n {\n from: path.join(srcPath, projDir, 'MyLib.vcxproj.filters'),\n to: path.join(\n windowsDir,\n newProjectName,\n newProjectName + '.vcxproj.filters',\n ),\n },\n {\n from: path.join(srcPath, projDir, 'MyLib.def'),\n to: path.join(\n windowsDir,\n newProjectName,\n newProjectName + '.def',\n ),\n },\n ];\n\n for (const mapping of cppMappings) {\n await copyAndReplaceWithChangedCallback(\n mapping.from,\n destPath,\n mapping.to,\n templateVars,\n options.overwrite,\n );\n }\n }\n\n // shared proj\n if (fs.existsSync(path.join(sharedPath, projDir))) {\n const sharedProjMappings = [];\n\n sharedProjMappings.push({\n from: path.join(sharedPath, projDir, 'NuGet_Config'),\n to: path.join(windowsDir, 'NuGet.Config'),\n });\n\n if (\n fs.existsSync(\n path.join(sharedPath, projDir, 'ExperimentalFeatures.props'),\n )\n ) {\n sharedProjMappings.push({\n from: path.join(sharedPath, projDir, 'ExperimentalFeatures.props'),\n to: path.join(windowsDir, 'ExperimentalFeatures.props'),\n });\n }\n\n for (const mapping of sharedProjMappings) {\n await copyAndReplaceWithChangedCallback(\n mapping.from,\n destPath,\n mapping.to,\n templateVars,\n options.overwrite,\n );\n }\n }\n\n // shared assets\n if (fs.existsSync(path.join(sharedPath, 'assets'))) {\n await copyAndReplaceAll(\n path.join(sharedPath, 'assets'),\n destPath,\n path.join(windowsDir, newProjectName, 'Assets'),\n templateVars,\n options.overwrite,\n );\n }\n\n // shared src\n if (fs.existsSync(path.join(sharedPath, 'src'))) {\n await copyAndReplaceAll(\n path.join(sharedPath, 'src'),\n destPath,\n path.join(windowsDir, newProjectName),\n templateVars,\n options.overwrite,\n );\n }\n\n // src\n if (fs.existsSync(path.join(srcPath, 'src'))) {\n await copyAndReplaceAll(\n path.join(srcPath, 'src'),\n destPath,\n path.join(windowsDir, newProjectName),\n templateVars,\n options.overwrite,\n );\n }\n\n if (projectType === 'app') {\n console.log(chalk.white.bold('To run your app on UWP:'));\n console.log(chalk.white(' npx react-native run-windows'));\n }\n}\n\nfunction toCppNamespace(namespace: string) {\n return namespace.replace(/\\./g, '::');\n}\n\nexport async function installScriptsAndDependencies(options: {\n verbose: boolean;\n}) {\n const projectPackage = await WritableNpmPackage.fromPath(process.cwd());\n if (!projectPackage) {\n throw new Error(\n `The current directory '${process.cwd()}' is not the root of an npm package`,\n );\n }\n\n await projectPackage.mergeProps({\n scripts: {windows: 'react-native run-windows'},\n });\n\n const rnwPackage = await findPackage('react-native-windows');\n if (!rnwPackage) {\n throw new Error('Could not locate the package for react-native-windows');\n }\n\n const rnPackage = await findPackage('react-native');\n if (!rnPackage) {\n throw new Error('Could not locate the package for react-native');\n }\n\n // We add an exclusionList from metro config. This will be hoisted, but add\n // an explicit dep because we require it directly.\n const cliPackage = await findPackage('@react-native-community/cli', {\n searchPath: rnPackage.path,\n });\n const metroConfigPackage = await findPackage('metro-config', {\n searchPath: cliPackage?.path || rnPackage.path,\n });\n\n if (metroConfigPackage) {\n await projectPackage.mergeProps({\n devDependencies: {\n 'metro-config': `^${metroConfigPackage.json.version}`,\n },\n });\n }\n\n const rnPeerDependency = rnwPackage.json.peerDependencies['react-native'];\n\n if (\n !semver.satisfies(rnPackage.json.version, rnPeerDependency) &&\n projectPackage.json.dependencies?.['react-native']\n ) {\n console.log(\n chalk.green('Installing a compatible version of react-native:'),\n );\n console.log(chalk.white(` ${rnPeerDependency}`));\n\n // Patch package.json to have proper react-native version and install\n await projectPackage.mergeProps({\n dependencies: {'react-native': rnPeerDependency},\n });\n\n // Install dependencies using correct package manager\n const isYarn = fs.existsSync(path.join(process.cwd(), 'yarn.lock'));\n childProcess.execSync(\n isYarn ? 'yarn' : 'npm i',\n options.verbose ? {stdio: 'inherit'} : {},\n );\n }\n}\n"]}
@@ -3,8 +3,8 @@
3
3
  * Licensed under the MIT License.
4
4
  * @format
5
5
  */
6
- import { dependencyConfigWindows } from './config/dependencyConfig';
7
- import { projectConfigWindows } from './config/projectConfig';
6
+ import { dependencyConfigWindows } from './commands/config/dependencyConfig';
7
+ import { projectConfigWindows } from './commands/config/projectConfig';
8
8
  /**
9
9
  * Project generation options
10
10
  *
@@ -30,7 +30,10 @@ export interface GenerateOptions {
30
30
  nuGetTestVersion?: string;
31
31
  nuGetTestFeed?: string;
32
32
  useWinUI3: boolean;
33
+ useHermes: boolean;
34
+ useDevMode: boolean;
33
35
  verbose: boolean;
36
+ telemetry: boolean;
34
37
  }
35
38
  /**
36
39
  * Simple utility for running the Windows generator.
@@ -44,3 +47,4 @@ export declare function generateWindows(projectDir: string, name: string, ns: st
44
47
  export declare const commands: import("@react-native-community/cli-types").Command<false>[];
45
48
  export declare const dependencyConfig: typeof dependencyConfigWindows;
46
49
  export declare const projectConfig: typeof projectConfigWindows;
50
+ export * from './commands/healthCheck/healthChecks';