@react-native-windows/cli 0.0.0-canary.13 → 0.0.0-canary.130

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 (80) hide show
  1. package/README.md +47 -0
  2. package/lib-commonjs/config/configUtils.d.ts +25 -2
  3. package/lib-commonjs/config/configUtils.js +138 -30
  4. package/lib-commonjs/config/configUtils.js.map +1 -1
  5. package/lib-commonjs/config/dependencyConfig.js +104 -43
  6. package/lib-commonjs/config/dependencyConfig.js.map +1 -1
  7. package/lib-commonjs/config/projectConfig.d.ts +4 -1
  8. package/lib-commonjs/config/projectConfig.js +72 -12
  9. package/lib-commonjs/config/projectConfig.js.map +1 -1
  10. package/lib-commonjs/e2etest/autolink.test.d.ts +6 -0
  11. package/lib-commonjs/e2etest/autolink.test.js +386 -0
  12. package/lib-commonjs/e2etest/autolink.test.js.map +1 -0
  13. package/lib-commonjs/e2etest/dependencyConfig.test.d.ts +6 -0
  14. package/lib-commonjs/e2etest/dependencyConfig.test.js +130 -0
  15. package/lib-commonjs/e2etest/dependencyConfig.test.js.map +1 -0
  16. package/lib-commonjs/e2etest/projectConfig.test.d.ts +6 -0
  17. package/lib-commonjs/e2etest/projectConfig.test.js +111 -0
  18. package/lib-commonjs/e2etest/projectConfig.test.js.map +1 -0
  19. package/lib-commonjs/e2etest/projectConfig.utils.d.ts +8 -0
  20. package/lib-commonjs/e2etest/projectConfig.utils.js +77 -0
  21. package/lib-commonjs/e2etest/projectConfig.utils.js.map +1 -0
  22. package/lib-commonjs/e2etest/runWindows.test.d.ts +6 -0
  23. package/lib-commonjs/e2etest/runWindows.test.js +61 -0
  24. package/lib-commonjs/e2etest/runWindows.test.js.map +1 -0
  25. package/lib-commonjs/generator-common/index.d.ts +16 -0
  26. package/lib-commonjs/generator-common/index.js +60 -39
  27. package/lib-commonjs/generator-common/index.js.map +1 -1
  28. package/lib-commonjs/generator-windows/index.d.ts +2 -2
  29. package/lib-commonjs/generator-windows/index.js +265 -182
  30. package/lib-commonjs/generator-windows/index.js.map +1 -1
  31. package/lib-commonjs/healthChecks.d.ts +2 -0
  32. package/lib-commonjs/healthChecks.js +88 -0
  33. package/lib-commonjs/healthChecks.js.map +1 -0
  34. package/lib-commonjs/index.d.ts +5 -0
  35. package/lib-commonjs/index.js +28 -8
  36. package/lib-commonjs/index.js.map +1 -1
  37. package/lib-commonjs/runWindows/runWindows.js +239 -52
  38. package/lib-commonjs/runWindows/runWindows.js.map +1 -1
  39. package/lib-commonjs/runWindows/runWindowsOptions.d.ts +14 -10
  40. package/lib-commonjs/runWindows/runWindowsOptions.js +15 -11
  41. package/lib-commonjs/runWindows/runWindowsOptions.js.map +1 -1
  42. package/lib-commonjs/runWindows/utils/autolink.d.ts +88 -1
  43. package/lib-commonjs/runWindows/utils/autolink.js +594 -260
  44. package/lib-commonjs/runWindows/utils/autolink.js.map +1 -1
  45. package/lib-commonjs/runWindows/utils/build.d.ts +1 -2
  46. package/lib-commonjs/runWindows/utils/build.js +24 -31
  47. package/lib-commonjs/runWindows/utils/build.js.map +1 -1
  48. package/lib-commonjs/runWindows/utils/checkRequirements.js +11 -7
  49. package/lib-commonjs/runWindows/utils/checkRequirements.js.map +1 -1
  50. package/lib-commonjs/runWindows/utils/commandWithProgress.d.ts +11 -3
  51. package/lib-commonjs/runWindows/utils/commandWithProgress.js +58 -22
  52. package/lib-commonjs/runWindows/utils/commandWithProgress.js.map +1 -1
  53. package/lib-commonjs/runWindows/utils/deploy.d.ts +1 -1
  54. package/lib-commonjs/runWindows/utils/deploy.js +168 -82
  55. package/lib-commonjs/runWindows/utils/deploy.js.map +1 -1
  56. package/lib-commonjs/runWindows/utils/info.js +5 -2
  57. package/lib-commonjs/runWindows/utils/info.js.map +1 -1
  58. package/lib-commonjs/runWindows/utils/msbuildtools.d.ts +11 -5
  59. package/lib-commonjs/runWindows/utils/msbuildtools.js +148 -64
  60. package/lib-commonjs/runWindows/utils/msbuildtools.js.map +1 -1
  61. package/lib-commonjs/runWindows/utils/telemetryHelpers.d.ts +29 -0
  62. package/lib-commonjs/runWindows/utils/telemetryHelpers.js +113 -0
  63. package/lib-commonjs/runWindows/utils/telemetryHelpers.js.map +1 -0
  64. package/lib-commonjs/runWindows/utils/version.d.ts +4 -4
  65. package/lib-commonjs/runWindows/utils/version.js.map +1 -1
  66. package/lib-commonjs/runWindows/utils/vsInstalls.d.ts +4 -1
  67. package/lib-commonjs/runWindows/utils/vsInstalls.js +22 -7
  68. package/lib-commonjs/runWindows/utils/vsInstalls.js.map +1 -1
  69. package/lib-commonjs/runWindows/utils/vstools.d.ts +1 -0
  70. package/lib-commonjs/runWindows/utils/vstools.js +40 -27
  71. package/lib-commonjs/runWindows/utils/vstools.js.map +1 -1
  72. package/lib-commonjs/runWindows/utils/winappdeploytool.d.ts +3 -3
  73. package/lib-commonjs/runWindows/utils/winappdeploytool.js +17 -14
  74. package/lib-commonjs/runWindows/utils/winappdeploytool.js.map +1 -1
  75. package/package.json +40 -22
  76. package/powershell/Add-AppDevPackage.ps1 +2 -2
  77. package/powershell/Eval-MsBuildProperties.ps1 +156 -0
  78. package/powershell/WindowsStoreAppUtils.ps1 +10 -0
  79. package/CHANGELOG.json +0 -185
  80. package/CHANGELOG.md +0 -93
@@ -4,17 +4,46 @@
4
4
  * Licensed under the MIT License.
5
5
  * @format
6
6
  */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || function (mod) {
24
+ if (mod && mod.__esModule) return mod;
25
+ var result = {};
26
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
27
+ __setModuleDefault(result, mod);
28
+ return result;
29
+ };
30
+ var __importDefault = (this && this.__importDefault) || function (mod) {
31
+ return (mod && mod.__esModule) ? mod : { "default": mod };
32
+ };
7
33
  Object.defineProperty(exports, "__esModule", { value: true });
8
34
  exports.startServerInNewWindow = exports.deployToDesktop = exports.deployToDevice = exports.getBuildConfiguration = void 0;
9
35
  const child_process_1 = require("child_process");
10
- const fs = require("fs");
11
- const http = require("http");
12
- const path = require("path");
13
- const glob = require("glob");
14
- const parse = require("xml-parser");
15
- const winappdeploytool_1 = require("./winappdeploytool");
36
+ const fs_1 = __importDefault(require("@react-native-windows/fs"));
37
+ const http_1 = __importDefault(require("http"));
38
+ const path_1 = __importDefault(require("path"));
39
+ const glob_1 = __importDefault(require("glob"));
40
+ const xml_parser_1 = __importDefault(require("xml-parser"));
41
+ const winappdeploytool_1 = __importDefault(require("./winappdeploytool"));
16
42
  const commandWithProgress_1 = require("./commandWithProgress");
17
- const build = require("./build");
43
+ const build = __importStar(require("./build"));
44
+ const configUtils = __importStar(require("../../config/configUtils"));
45
+ const telemetry_1 = require("@react-native-windows/telemetry");
46
+ const version_1 = __importDefault(require("./version"));
18
47
  function pushd(pathArg) {
19
48
  const cwd = process.cwd();
20
49
  process.chdir(pathArg);
@@ -30,8 +59,52 @@ function getBuildConfiguration(options) {
30
59
  : 'Debug';
31
60
  }
32
61
  exports.getBuildConfiguration = getBuildConfiguration;
62
+ function shouldDeployByPackage(options, config) {
63
+ if (options.deployFromLayout) {
64
+ // Force deploy by layout
65
+ return false;
66
+ }
67
+ let hasAppxSigningEnabled = null;
68
+ let hasPackageCertificateKeyFile = null;
69
+ // TODO: These two properties should really be determined by
70
+ // getting the actual values msbuild used during the build,
71
+ // but for now we'll try to get them manually
72
+ // Check passed in msbuild property overrides
73
+ if (options.msbuildprops) {
74
+ const msbuildprops = build.parseMsBuildProps(options);
75
+ if ('AppxSigningEnabled' in msbuildprops) {
76
+ hasAppxSigningEnabled =
77
+ msbuildprops.AppxSigningEnabled.toLowerCase() === 'true';
78
+ }
79
+ if ('PackageCertificateKeyFile' in msbuildprops) {
80
+ hasPackageCertificateKeyFile = true;
81
+ }
82
+ }
83
+ // If at least one override wasn't set, we need to parse the project file
84
+ if (hasAppxSigningEnabled === null || hasPackageCertificateKeyFile === null) {
85
+ const projectFile = build.getAppProjectFile(options, config);
86
+ if (projectFile) {
87
+ const projectContents = configUtils.readProjectFile(projectFile);
88
+ // Find AppxSigningEnabled
89
+ if (hasAppxSigningEnabled === null) {
90
+ const appxSigningEnabled = configUtils.tryFindPropertyValue(projectContents, 'AppxSigningEnabled');
91
+ if (appxSigningEnabled !== null) {
92
+ hasAppxSigningEnabled = appxSigningEnabled.toLowerCase() === 'true';
93
+ }
94
+ }
95
+ // Find PackageCertificateKeyFile
96
+ if (hasPackageCertificateKeyFile === null) {
97
+ const packageCertificateKeyFile = configUtils.tryFindPropertyValue(projectContents, 'PackageCertificateKeyFile');
98
+ if (packageCertificateKeyFile !== null) {
99
+ hasPackageCertificateKeyFile = true;
100
+ }
101
+ }
102
+ }
103
+ }
104
+ return (hasAppxSigningEnabled === true && hasPackageCertificateKeyFile === true);
105
+ }
33
106
  function shouldLaunchApp(options) {
34
- return options.launch;
107
+ return options.launch === true;
35
108
  }
36
109
  function getAppPackage(options, projectName) {
37
110
  const configuration = getBuildConfiguration(options);
@@ -39,7 +112,7 @@ function getAppPackage(options, projectName) {
39
112
  ? `{*_x86_${configuration}_*,*_Win32_${configuration}_*}`
40
113
  : `*_${options.arch}_${configuration}_*`;
41
114
  const appPackageGlob = `${options.root}/windows/{*/AppPackages,AppPackages/*}/${packageFolder}`;
42
- const appPackageCandidates = glob.sync(appPackageGlob);
115
+ const appPackageCandidates = glob_1.default.sync(appPackageGlob);
43
116
  let appPackage;
44
117
  if (appPackageCandidates.length === 1 || !projectName) {
45
118
  appPackage = appPackageCandidates[0];
@@ -52,14 +125,14 @@ function getAppPackage(options, projectName) {
52
125
  }
53
126
  if (!appPackage && options.release) {
54
127
  // in the latest vs, Release is removed
55
- commandWithProgress_1.newWarn('No package found in *_Release_* folder, removing the _Release_ prefix and checking again');
128
+ (0, commandWithProgress_1.newWarn)('No package found in *_Release_* folder, removing the _Release_ prefix and checking again');
56
129
  const rootGlob = `${options.root}/windows/{*/AppPackages,AppPackages/*}`;
57
- const newGlob = `${rootGlob}/*_${options.arch === 'x86' ? 'Win32' : options.arch}_${options.release ? '' : 'Debug_'}Test`;
58
- const result = glob.sync(newGlob);
130
+ const newGlob = `${rootGlob}/*_${options.arch === 'x86' ? '{Win32,x86}' : options.arch}_Test`;
131
+ const result = glob_1.default.sync(newGlob);
59
132
  if (result.length > 1 && projectName) {
60
133
  const newFilteredGlobs = result.filter(x => x.includes(projectName));
61
134
  if (newFilteredGlobs.length >= 1) {
62
- commandWithProgress_1.newWarn(`More than one app package found: ${result}`);
135
+ (0, commandWithProgress_1.newWarn)(`More than one app package found: ${result}`);
63
136
  }
64
137
  appPackage = newFilteredGlobs[0];
65
138
  }
@@ -69,53 +142,67 @@ function getAppPackage(options, projectName) {
69
142
  }
70
143
  }
71
144
  if (!appPackage) {
72
- throw new Error(`Unable to find app package using search path: "${appPackageGlob}"`);
145
+ throw new telemetry_1.CodedError('NoAppPackage', `Unable to find app package using search path: "${appPackageGlob}"`);
73
146
  }
74
147
  return appPackage;
75
148
  }
76
149
  function getWindowsStoreAppUtils(options) {
77
150
  const popd = pushd(options.root);
78
- const windowsStoreAppUtilsPath = path.resolve(__dirname, '..', '..', '..', 'powershell', 'WindowsStoreAppUtils.ps1');
79
- child_process_1.execSync(`powershell Unblock-File "${windowsStoreAppUtilsPath}"`);
151
+ const windowsStoreAppUtilsPath = path_1.default.resolve(__dirname, '..', '..', '..', 'powershell', 'WindowsStoreAppUtils.ps1');
152
+ (0, child_process_1.execSync)(`${commandWithProgress_1.powershell} -NoProfile Unblock-File "${windowsStoreAppUtilsPath}"`);
80
153
  popd();
81
154
  return windowsStoreAppUtilsPath;
82
155
  }
83
156
  function getAppxManifestPath(options, projectName) {
84
157
  const configuration = getBuildConfiguration(options);
85
- const appxManifestGlob = `windows/{*/bin/${options.arch}/${configuration},${configuration}/*,target/${options.arch}/${configuration},${options.arch}/${configuration}/*}/AppxManifest.xml`;
86
- const globs = glob.sync(path.join(options.root, appxManifestGlob));
158
+ // C++ x86 manifest would go under windows/Debug whereas x64 goes under windows/x64/Debug
159
+ // If we've built both, this causes us to end up with two matches, so we have to carefully select the right folder
160
+ let archFolder;
161
+ if (options.arch !== 'x86') {
162
+ archFolder = `${options.arch}/${configuration}`;
163
+ }
164
+ else {
165
+ archFolder = `${configuration}`;
166
+ }
167
+ const appxManifestGlob = `windows/{*/bin/${options.arch}/${configuration},${archFolder}/*,target/${options.arch}/${configuration}}/AppxManifest.xml`;
168
+ const globs = glob_1.default.sync(path_1.default.join(options.root, appxManifestGlob));
87
169
  let appxPath;
88
170
  if (globs.length === 1 || !projectName) {
89
171
  appxPath = globs[0];
90
172
  }
91
173
  else {
92
- const filteredGlobs = globs.filter(x => x.indexOf(projectName) != -1);
174
+ const filteredGlobs = globs.filter(x => x.includes(projectName));
175
+ appxPath = filteredGlobs[0];
93
176
  if (filteredGlobs.length > 1) {
94
- commandWithProgress_1.newWarn(`More than one appxmanifest for ${projectName}: ${filteredGlobs.join(',')}`);
177
+ (0, commandWithProgress_1.newWarn)(`More than one appxmanifest for ${projectName}: ${filteredGlobs.join(',')}`);
178
+ (0, commandWithProgress_1.newWarn)(`Choosing ${appxPath}`);
95
179
  }
96
- appxPath = filteredGlobs[0];
97
180
  }
98
181
  if (!appxPath) {
99
- throw new Error(`Unable to find AppxManifest from "${options.root}", using search path: "${appxManifestGlob}" `);
182
+ throw new telemetry_1.CodedError('NoAppxManifest', `Unable to find AppxManifest from "${options.root}", using search path: "${appxManifestGlob}" `);
100
183
  }
101
184
  return appxPath;
102
185
  }
103
186
  function parseAppxManifest(appxManifestPath) {
104
- return parse(fs.readFileSync(appxManifestPath, 'utf8'));
187
+ return (0, xml_parser_1.default)(fs_1.default.readFileSync(appxManifestPath, 'utf8'));
105
188
  }
106
- function getAppxManifest(options) {
107
- return parseAppxManifest(getAppxManifestPath(options, undefined));
189
+ function getAppxManifest(options, projectName) {
190
+ return parseAppxManifest(getAppxManifestPath(options, projectName));
108
191
  }
109
192
  function handleResponseError(e) {
110
193
  if (e.message.indexOf('Error code -2146233088')) {
111
- throw new Error(`No Windows Mobile device was detected: ${e.message}`);
194
+ throw new telemetry_1.CodedError('NoDevice', `No Windows Mobile device was detected: ${e.message}`);
112
195
  }
113
196
  else {
114
- throw new Error(`Unexpected error deploying app: ${e.message}`);
197
+ throw new telemetry_1.CodedError('AppDidNotDeploy', `Unexpected error deploying app: ${e.message}`);
115
198
  }
116
199
  }
117
200
  // Errors: 0x80073d10 - bad architecture
118
- async function deployToDevice(options, verbose) {
201
+ async function deployToDevice(options, verbose, config) {
202
+ const windowsConfig = config.project.windows;
203
+ const projectName = windowsConfig && windowsConfig.project && windowsConfig.project.projectName
204
+ ? windowsConfig.project.projectName
205
+ : path_1.default.parse(options.proj).name;
119
206
  const appPackageFolder = getAppPackage(options);
120
207
  const deployTarget = options.target
121
208
  ? options.target
@@ -123,9 +210,9 @@ async function deployToDevice(options, verbose) {
123
210
  ? 'emulator'
124
211
  : 'device';
125
212
  const deployTool = new winappdeploytool_1.default();
126
- const appxManifest = getAppxManifest(options);
213
+ const appxManifest = getAppxManifest(options, projectName);
127
214
  const shouldLaunch = shouldLaunchApp(options);
128
- const identity = appxManifest.root.children.filter(function (x) {
215
+ const identity = appxManifest.root.children.filter(x => {
129
216
  return x.name === 'mp:PhoneIdentity';
130
217
  })[0];
131
218
  const appName = identity.attributes.PhoneProductId;
@@ -134,14 +221,14 @@ async function deployToDevice(options, verbose) {
134
221
  await deployTool.uninstallAppPackage(appName, device, verbose);
135
222
  }
136
223
  catch (e) {
137
- commandWithProgress_1.newWarn('Failed to uninstall app from ' + device.name);
224
+ (0, commandWithProgress_1.newWarn)('Failed to uninstall app from ' + device.name);
138
225
  }
139
- const appxFile = glob.sync(path.join(appPackageFolder, '*.appx'))[0];
226
+ const appxFile = glob_1.default.sync(path_1.default.join(appPackageFolder, '*.appx'))[0];
140
227
  try {
141
228
  await deployTool.installAppPackage(appxFile, device, shouldLaunch, false, verbose);
142
229
  }
143
230
  catch (e) {
144
- if (e.message.indexOf('Error code 2148734208 for command') !== -1) {
231
+ if (e.message.includes('Error code 2148734208 for command')) {
145
232
  await deployTool.installAppPackage(appxFile, device, shouldLaunch, true, verbose);
146
233
  }
147
234
  else {
@@ -153,95 +240,94 @@ exports.deployToDevice = deployToDevice;
153
240
  async function deployToDesktop(options, verbose, config, buildTools) {
154
241
  const windowsConfig = config.project.windows;
155
242
  const slnFile = windowsConfig && windowsConfig.solutionFile && windowsConfig.sourceDir
156
- ? path.join(windowsConfig.sourceDir, windowsConfig.solutionFile)
243
+ ? path_1.default.join(windowsConfig.sourceDir, windowsConfig.solutionFile)
157
244
  : options.sln;
158
245
  const projectName = windowsConfig && windowsConfig.project && windowsConfig.project.projectName
159
246
  ? windowsConfig.project.projectName
160
- : options.proj;
161
- const appPackageFolder = getAppPackage(options, projectName);
247
+ : path_1.default.parse(options.proj).name;
162
248
  const windowsStoreAppUtils = getWindowsStoreAppUtils(options);
163
249
  const appxManifestPath = getAppxManifestPath(options, projectName);
164
250
  const appxManifest = parseAppxManifest(appxManifestPath);
165
- const identity = appxManifest.root.children.filter(function (x) {
251
+ const identity = appxManifest.root.children.filter(x => {
166
252
  return x.name === 'Identity';
167
253
  })[0];
168
254
  const appName = identity.attributes.Name;
169
- const script = glob.sync(path.join(appPackageFolder, 'Add-AppDevPackage.ps1'))[0];
170
- const vsVersion = buildTools.installationVersion;
171
- if (vsVersion.startsWith('16.5') || vsVersion.startsWith('16.6')) {
172
- // VS 16.5 and 16.6 introduced a regression in packaging where the certificates created in the UI will render the package uninstallable.
173
- // This will be fixed in 16.7. In the meantime we need to copy the Add-AppDevPackage that has the fix for this EKU issue:
174
- // https://developercommunity.visualstudio.com/content/problem/1012921/uwp-packaging-generates-incompatible-certificate.html
175
- if (verbose) {
176
- commandWithProgress_1.newWarn('Applying Add-AppDevPackage.ps1 workaround for VS 16.5-16.6 bug - see https://developercommunity.visualstudio.com/content/problem/1012921/uwp-packaging-generates-incompatible-certificate.html');
177
- }
178
- fs.copyFileSync(path.join(path.resolve(__dirname), '..', '..', '..', 'powershell', 'Add-AppDevPackage.ps1'), script);
179
- }
180
- let args = [];
255
+ const vsVersion = version_1.default.fromString(buildTools.installationVersion);
256
+ const args = [];
181
257
  if (options.remoteDebugging) {
182
258
  args.push('--remote-debugging');
183
259
  }
184
260
  if (options.directDebugging) {
185
261
  args.push('--direct-debugging', options.directDebugging.toString());
186
262
  }
187
- await commandWithProgress_1.runPowerShellScriptFunction('Removing old version of the app', windowsStoreAppUtils, `Uninstall-App ${appName}`, verbose);
188
- await commandWithProgress_1.runPowerShellScriptFunction('Enabling Developer Mode', windowsStoreAppUtils, 'EnableDevMode', verbose);
189
- if (options.release) {
190
- await commandWithProgress_1.runPowerShellScriptFunction('Installing new version of the app', windowsStoreAppUtils, `Install-App "${script}" -Force`, verbose);
263
+ await (0, commandWithProgress_1.runPowerShellScriptFunction)('Enabling Developer Mode', windowsStoreAppUtils, 'EnableDevMode', verbose, 'EnableDevModeFailure');
264
+ const appPackageFolder = getAppPackage(options, projectName);
265
+ if (shouldDeployByPackage(options, config)) {
266
+ // Deploy by package
267
+ await (0, commandWithProgress_1.runPowerShellScriptFunction)('Removing old version of the app', windowsStoreAppUtils, `Uninstall-App ${appName}`, verbose, 'RemoveOldAppVersionFailure');
268
+ const script = glob_1.default.sync(path_1.default.join(appPackageFolder, 'Add-AppDevPackage.ps1'))[0];
269
+ await (0, commandWithProgress_1.runPowerShellScriptFunction)('Installing new version of the app', windowsStoreAppUtils, `Install-App "${script}" -Force`, verbose, 'InstallAppFailure');
191
270
  }
192
271
  else {
193
- // Install the app package's dependencies before attempting to deploy.
194
- await commandWithProgress_1.runPowerShellScriptFunction('Installing dependent framework packages', windowsStoreAppUtils, `Install-AppDependencies ${appxManifestPath} ${appPackageFolder} ${options.arch}`, verbose);
195
- await build.buildSolution(buildTools, slnFile, options.release ? 'Release' : 'Debug', options.arch, { DeployLayout: 'true' }, verbose, 'Deploy', options.buildLogDirectory);
272
+ // Deploy from layout
273
+ // If we have DeployAppRecipe.exe, use it (start in 16.8.4, earlier 16.8 versions have bugs)
274
+ const appxRecipe = path_1.default.join(path_1.default.dirname(appxManifestPath), `${projectName}.build.appxrecipe`);
275
+ const ideFolder = `${buildTools.installationPath}\\Common7\\IDE`;
276
+ const deployAppxRecipeExePath = `${ideFolder}\\DeployAppRecipe.exe`;
277
+ if (vsVersion.gte(version_1.default.fromString('16.8.30906.45')) &&
278
+ fs_1.default.existsSync(deployAppxRecipeExePath)) {
279
+ await (0, commandWithProgress_1.commandWithProgress)((0, commandWithProgress_1.newSpinner)('Deploying'), `Deploying ${appxRecipe}`, deployAppxRecipeExePath, [appxRecipe], verbose, 'DeployRecipeFailure');
280
+ }
281
+ else {
282
+ // Install the app package's dependencies before attempting to deploy.
283
+ await (0, commandWithProgress_1.runPowerShellScriptFunction)('Installing dependent framework packages', windowsStoreAppUtils, `Install-AppDependencies ${appxManifestPath} ${appPackageFolder} ${options.arch}`, verbose, 'InstallAppDependenciesFailure');
284
+ await build.buildSolution(buildTools, slnFile,
285
+ /* options.release ? 'Release' : */ 'Debug', options.arch, { DeployLayout: 'true' }, verbose, 'deploy', options.buildLogDirectory);
286
+ }
196
287
  }
197
- const appFamilyName = child_process_1.execSync(`powershell -c $(Get-AppxPackage -Name ${appName}).PackageFamilyName`)
288
+ const appFamilyName = (0, child_process_1.execSync)(`${commandWithProgress_1.powershell} -NoProfile -c $(Get-AppxPackage -Name ${appName}).PackageFamilyName`)
198
289
  .toString()
199
290
  .trim();
200
291
  if (!appFamilyName) {
201
- throw new Error('Fail to check the installed app, maybe developer mode is off on Windows');
292
+ throw new telemetry_1.CodedError('AppDidNotDeploy', 'Fail to check the installed app, maybe developer mode is off on Windows');
202
293
  }
203
294
  const loopbackText = 'Verifying loopbackExempt';
204
- const loopbackSpinner = commandWithProgress_1.newSpinner(loopbackText);
205
- await commandWithProgress_1.commandWithProgress(loopbackSpinner, loopbackText, 'CheckNetIsolation', `LoopbackExempt -a -n=${appFamilyName}`.split(' '), verbose);
295
+ const loopbackSpinner = (0, commandWithProgress_1.newSpinner)(loopbackText);
296
+ await (0, commandWithProgress_1.commandWithProgress)(loopbackSpinner, loopbackText, 'CheckNetIsolation', `LoopbackExempt -a -n=${appFamilyName}`.split(' '), verbose, 'CheckNetIsolationFailure');
206
297
  if (shouldLaunchApp(options)) {
207
- await commandWithProgress_1.runPowerShellScriptFunction('Starting the app', windowsStoreAppUtils, `Start-Locally ${appName} ${args}`, verbose);
298
+ await (0, commandWithProgress_1.runPowerShellScriptFunction)('Starting the app', windowsStoreAppUtils, `Start-Locally ${appName} ${args}`, verbose, 'AppStartupFailure');
208
299
  }
209
300
  else {
210
- commandWithProgress_1.newInfo('Skip the step to start the app');
301
+ (0, commandWithProgress_1.newInfo)('Skip the step to start the app');
211
302
  }
212
303
  }
213
304
  exports.deployToDesktop = deployToDesktop;
214
305
  function startServerInNewWindow(options, verbose) {
215
306
  return new Promise(resolve => {
216
- if (options.packager) {
217
- http
218
- .get('http://localhost:8081/status', res => {
219
- if (res.statusCode === 200) {
220
- commandWithProgress_1.newSuccess('React-Native Server already started');
221
- }
222
- else {
223
- commandWithProgress_1.newError('React-Native Server not responding');
224
- }
225
- resolve();
226
- })
227
- .on('error', () => {
228
- launchServer(options, verbose);
229
- resolve();
230
- });
231
- }
232
- else {
307
+ http_1.default
308
+ .get('http://localhost:8081/status', res => {
309
+ if (res.statusCode === 200) {
310
+ (0, commandWithProgress_1.newSuccess)('React-Native Server already started');
311
+ }
312
+ else {
313
+ (0, commandWithProgress_1.newError)('React-Native Server not responding');
314
+ }
233
315
  resolve();
234
- }
316
+ })
317
+ .on('error', () => {
318
+ launchServer(options, verbose);
319
+ resolve();
320
+ });
235
321
  });
236
322
  }
237
323
  exports.startServerInNewWindow = startServerInNewWindow;
238
324
  function launchServer(options, verbose) {
239
- commandWithProgress_1.newSuccess('Starting the React-Native Server');
325
+ (0, commandWithProgress_1.newSuccess)('Starting the React-Native Server');
240
326
  const opts = {
241
327
  cwd: options.root,
242
328
  detached: true,
243
329
  stdio: verbose ? 'inherit' : 'ignore',
244
330
  };
245
- child_process_1.spawn('cmd.exe', ['/C', 'start npx --no-install react-native start'], opts);
331
+ (0, child_process_1.spawn)('cmd.exe', ['/C', 'start npx react-native start'], opts);
246
332
  }
247
333
  //# sourceMappingURL=deploy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/runWindows/utils/deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/runWindows/utils/deploy.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n * @format\n */\n\nimport {spawn, execSync, SpawnOptions} from 'child_process';\nimport fs from '@react-native-windows/fs';\nimport http from 'http';\nimport path from 'path';\nimport glob from 'glob';\nimport parse from 'xml-parser';\nimport WinAppDeployTool from './winappdeploytool';\nimport {\n newInfo,\n newSuccess,\n newError,\n newWarn,\n newSpinner,\n commandWithProgress,\n runPowerShellScriptFunction,\n powershell,\n} from './commandWithProgress';\nimport * as build from './build';\nimport {BuildConfig, RunWindowsOptions} from '../runWindowsOptions';\nimport MSBuildTools from './msbuildtools';\nimport {Config} from '@react-native-community/cli-types';\nimport * as configUtils from '../../config/configUtils';\nimport {WindowsProjectConfig} from '../../config/projectConfig';\nimport {CodedError} from '@react-native-windows/telemetry';\nimport Version from './version';\n\nfunction pushd(pathArg: string): () => void {\n const cwd = process.cwd();\n process.chdir(pathArg);\n return () => process.chdir(cwd);\n}\n\nexport function getBuildConfiguration(options: RunWindowsOptions): BuildConfig {\n return options.release\n ? options.bundle\n ? 'ReleaseBundle'\n : 'Release'\n : options.bundle\n ? 'DebugBundle'\n : 'Debug';\n}\n\nfunction shouldDeployByPackage(\n options: RunWindowsOptions,\n config: Config,\n): boolean {\n if (options.deployFromLayout) {\n // Force deploy by layout\n return false;\n }\n\n let hasAppxSigningEnabled: boolean | null = null;\n let hasPackageCertificateKeyFile: boolean | null = null;\n\n // TODO: These two properties should really be determined by\n // getting the actual values msbuild used during the build,\n // but for now we'll try to get them manually\n\n // Check passed in msbuild property overrides\n if (options.msbuildprops) {\n const msbuildprops = build.parseMsBuildProps(options);\n if ('AppxSigningEnabled' in msbuildprops) {\n hasAppxSigningEnabled =\n msbuildprops.AppxSigningEnabled.toLowerCase() === 'true';\n }\n if ('PackageCertificateKeyFile' in msbuildprops) {\n hasPackageCertificateKeyFile = true;\n }\n }\n\n // If at least one override wasn't set, we need to parse the project file\n if (hasAppxSigningEnabled === null || hasPackageCertificateKeyFile === null) {\n const projectFile = build.getAppProjectFile(options, config);\n if (projectFile) {\n const projectContents = configUtils.readProjectFile(projectFile);\n\n // Find AppxSigningEnabled\n if (hasAppxSigningEnabled === null) {\n const appxSigningEnabled = configUtils.tryFindPropertyValue(\n projectContents,\n 'AppxSigningEnabled',\n );\n if (appxSigningEnabled !== null) {\n hasAppxSigningEnabled = appxSigningEnabled.toLowerCase() === 'true';\n }\n }\n\n // Find PackageCertificateKeyFile\n if (hasPackageCertificateKeyFile === null) {\n const packageCertificateKeyFile = configUtils.tryFindPropertyValue(\n projectContents,\n 'PackageCertificateKeyFile',\n );\n if (packageCertificateKeyFile !== null) {\n hasPackageCertificateKeyFile = true;\n }\n }\n }\n }\n\n return (\n hasAppxSigningEnabled === true && hasPackageCertificateKeyFile === true\n );\n}\n\nfunction shouldLaunchApp(options: RunWindowsOptions): boolean {\n return options.launch === true;\n}\n\nfunction getAppPackage(\n options: RunWindowsOptions,\n projectName?: string,\n): string {\n const configuration = getBuildConfiguration(options);\n const packageFolder =\n options.arch === 'x86'\n ? `{*_x86_${configuration}_*,*_Win32_${configuration}_*}`\n : `*_${options.arch}_${configuration}_*`;\n\n const appPackageGlob = `${options.root}/windows/{*/AppPackages,AppPackages/*}/${packageFolder}`;\n const appPackageCandidates = glob.sync(appPackageGlob);\n let appPackage;\n if (appPackageCandidates.length === 1 || !projectName) {\n appPackage = appPackageCandidates[0];\n } else if (appPackageCandidates.length > 1) {\n const filteredAppPackageCandidates = appPackageCandidates.filter(x =>\n x.includes(projectName),\n );\n if (filteredAppPackageCandidates.length >= 1) {\n appPackage = filteredAppPackageCandidates[0];\n }\n }\n\n if (!appPackage && options.release) {\n // in the latest vs, Release is removed\n newWarn(\n 'No package found in *_Release_* folder, removing the _Release_ prefix and checking again',\n );\n\n const rootGlob = `${options.root}/windows/{*/AppPackages,AppPackages/*}`;\n const newGlob = `${rootGlob}/*_${\n options.arch === 'x86' ? '{Win32,x86}' : options.arch\n }_Test`;\n\n const result = glob.sync(newGlob);\n if (result.length > 1 && projectName) {\n const newFilteredGlobs = result.filter(x => x.includes(projectName));\n if (newFilteredGlobs.length >= 1) {\n newWarn(`More than one app package found: ${result}`);\n }\n appPackage = newFilteredGlobs[0];\n } else if (result.length === 1) {\n // we're good\n appPackage = result[0];\n }\n }\n\n if (!appPackage) {\n throw new CodedError(\n 'NoAppPackage',\n `Unable to find app package using search path: \"${appPackageGlob}\"`,\n );\n }\n return appPackage;\n}\n\nfunction getWindowsStoreAppUtils(options: RunWindowsOptions) {\n const popd = pushd(options.root);\n const windowsStoreAppUtilsPath = path.resolve(\n __dirname,\n '..',\n '..',\n '..',\n 'powershell',\n 'WindowsStoreAppUtils.ps1',\n );\n execSync(\n `${powershell} -NoProfile Unblock-File \"${windowsStoreAppUtilsPath}\"`,\n );\n popd();\n return windowsStoreAppUtilsPath;\n}\n\nfunction getAppxManifestPath(\n options: RunWindowsOptions,\n projectName?: string,\n): string {\n const configuration = getBuildConfiguration(options);\n // C++ x86 manifest would go under windows/Debug whereas x64 goes under windows/x64/Debug\n // If we've built both, this causes us to end up with two matches, so we have to carefully select the right folder\n let archFolder;\n if (options.arch !== 'x86') {\n archFolder = `${options.arch}/${configuration}`;\n } else {\n archFolder = `${configuration}`;\n }\n\n const appxManifestGlob = `windows/{*/bin/${options.arch}/${configuration},${archFolder}/*,target/${options.arch}/${configuration}}/AppxManifest.xml`;\n const globs = glob.sync(path.join(options.root, appxManifestGlob));\n let appxPath: string;\n if (globs.length === 1 || !projectName) {\n appxPath = globs[0];\n } else {\n const filteredGlobs = globs.filter(x => x.includes(projectName));\n appxPath = filteredGlobs[0];\n if (filteredGlobs.length > 1) {\n newWarn(\n `More than one appxmanifest for ${projectName}: ${filteredGlobs.join(\n ',',\n )}`,\n );\n newWarn(`Choosing ${appxPath}`);\n }\n }\n\n if (!appxPath) {\n throw new CodedError(\n 'NoAppxManifest',\n `Unable to find AppxManifest from \"${options.root}\", using search path: \"${appxManifestGlob}\" `,\n );\n }\n return appxPath;\n}\n\nfunction parseAppxManifest(appxManifestPath: string): parse.Document {\n return parse(fs.readFileSync(appxManifestPath, 'utf8'));\n}\n\nfunction getAppxManifest(\n options: RunWindowsOptions,\n projectName?: string,\n): parse.Document {\n return parseAppxManifest(getAppxManifestPath(options, projectName));\n}\n\nfunction handleResponseError(e: Error): never {\n if (e.message.indexOf('Error code -2146233088')) {\n throw new CodedError(\n 'NoDevice',\n `No Windows Mobile device was detected: ${e.message}`,\n );\n } else {\n throw new CodedError(\n 'AppDidNotDeploy',\n `Unexpected error deploying app: ${e.message}`,\n );\n }\n}\n\n// Errors: 0x80073d10 - bad architecture\nexport async function deployToDevice(\n options: RunWindowsOptions,\n verbose: boolean,\n config: Config,\n) {\n const windowsConfig: Partial<WindowsProjectConfig> | undefined =\n config.project.windows;\n const projectName =\n windowsConfig && windowsConfig.project && windowsConfig.project.projectName\n ? windowsConfig.project.projectName\n : path.parse(options.proj!).name;\n const appPackageFolder = getAppPackage(options);\n\n const deployTarget = options.target\n ? options.target\n : options.emulator\n ? 'emulator'\n : 'device';\n const deployTool = new WinAppDeployTool();\n const appxManifest = getAppxManifest(options, projectName);\n const shouldLaunch = shouldLaunchApp(options);\n const identity = appxManifest.root.children.filter(x => {\n return x.name === 'mp:PhoneIdentity';\n })[0];\n const appName = identity.attributes.PhoneProductId;\n\n const device = deployTool.findDevice(deployTarget);\n\n try {\n await deployTool.uninstallAppPackage(appName, device, verbose);\n } catch (e) {\n newWarn('Failed to uninstall app from ' + device.name);\n }\n\n const appxFile = glob.sync(path.join(appPackageFolder, '*.appx'))[0];\n try {\n await deployTool.installAppPackage(\n appxFile,\n device,\n shouldLaunch,\n false,\n verbose,\n );\n } catch (e) {\n if ((e as Error).message.includes('Error code 2148734208 for command')) {\n await deployTool.installAppPackage(\n appxFile,\n device,\n shouldLaunch,\n true,\n verbose,\n );\n } else {\n handleResponseError(e as Error);\n }\n }\n}\n\nexport async function deployToDesktop(\n options: RunWindowsOptions,\n verbose: boolean,\n config: Config,\n buildTools: MSBuildTools,\n) {\n const windowsConfig: Partial<WindowsProjectConfig> | undefined =\n config.project.windows;\n const slnFile =\n windowsConfig && windowsConfig.solutionFile && windowsConfig.sourceDir\n ? path.join(windowsConfig.sourceDir, windowsConfig.solutionFile)\n : options.sln!;\n const projectName =\n windowsConfig && windowsConfig.project && windowsConfig.project.projectName\n ? windowsConfig.project.projectName\n : path.parse(options.proj!).name;\n const windowsStoreAppUtils = getWindowsStoreAppUtils(options);\n const appxManifestPath = getAppxManifestPath(options, projectName);\n const appxManifest = parseAppxManifest(appxManifestPath);\n const identity = appxManifest.root.children.filter(x => {\n return x.name === 'Identity';\n })[0];\n const appName = identity.attributes.Name;\n\n const vsVersion = Version.fromString(buildTools.installationVersion);\n\n const args = [];\n if (options.remoteDebugging) {\n args.push('--remote-debugging');\n }\n\n if (options.directDebugging) {\n args.push('--direct-debugging', options.directDebugging.toString());\n }\n\n await runPowerShellScriptFunction(\n 'Enabling Developer Mode',\n windowsStoreAppUtils,\n 'EnableDevMode',\n verbose,\n 'EnableDevModeFailure',\n );\n\n const appPackageFolder = getAppPackage(options, projectName);\n\n if (shouldDeployByPackage(options, config)) {\n // Deploy by package\n await runPowerShellScriptFunction(\n 'Removing old version of the app',\n windowsStoreAppUtils,\n `Uninstall-App ${appName}`,\n verbose,\n 'RemoveOldAppVersionFailure',\n );\n\n const script = glob.sync(\n path.join(appPackageFolder, 'Add-AppDevPackage.ps1'),\n )[0];\n\n await runPowerShellScriptFunction(\n 'Installing new version of the app',\n windowsStoreAppUtils,\n `Install-App \"${script}\" -Force`,\n verbose,\n 'InstallAppFailure',\n );\n } else {\n // Deploy from layout\n // If we have DeployAppRecipe.exe, use it (start in 16.8.4, earlier 16.8 versions have bugs)\n const appxRecipe = path.join(\n path.dirname(appxManifestPath),\n `${projectName}.build.appxrecipe`,\n );\n const ideFolder = `${buildTools.installationPath}\\\\Common7\\\\IDE`;\n const deployAppxRecipeExePath = `${ideFolder}\\\\DeployAppRecipe.exe`;\n if (\n vsVersion.gte(Version.fromString('16.8.30906.45')) &&\n fs.existsSync(deployAppxRecipeExePath)\n ) {\n await commandWithProgress(\n newSpinner('Deploying'),\n `Deploying ${appxRecipe}`,\n deployAppxRecipeExePath,\n [appxRecipe],\n verbose,\n 'DeployRecipeFailure',\n );\n } else {\n // Install the app package's dependencies before attempting to deploy.\n await runPowerShellScriptFunction(\n 'Installing dependent framework packages',\n windowsStoreAppUtils,\n `Install-AppDependencies ${appxManifestPath} ${appPackageFolder} ${options.arch}`,\n verbose,\n 'InstallAppDependenciesFailure',\n );\n await build.buildSolution(\n buildTools,\n slnFile,\n /* options.release ? 'Release' : */ 'Debug',\n options.arch,\n {DeployLayout: 'true'},\n verbose,\n 'deploy',\n options.buildLogDirectory,\n );\n }\n }\n\n const appFamilyName = execSync(\n `${powershell} -NoProfile -c $(Get-AppxPackage -Name ${appName}).PackageFamilyName`,\n )\n .toString()\n .trim();\n\n if (!appFamilyName) {\n throw new CodedError(\n 'AppDidNotDeploy',\n 'Fail to check the installed app, maybe developer mode is off on Windows',\n );\n }\n\n const loopbackText = 'Verifying loopbackExempt';\n const loopbackSpinner = newSpinner(loopbackText);\n\n await commandWithProgress(\n loopbackSpinner,\n loopbackText,\n 'CheckNetIsolation',\n `LoopbackExempt -a -n=${appFamilyName}`.split(' '),\n verbose,\n 'CheckNetIsolationFailure',\n );\n\n if (shouldLaunchApp(options)) {\n await runPowerShellScriptFunction(\n 'Starting the app',\n windowsStoreAppUtils,\n `Start-Locally ${appName} ${args}`,\n verbose,\n 'AppStartupFailure',\n );\n } else {\n newInfo('Skip the step to start the app');\n }\n}\n\nexport function startServerInNewWindow(\n options: RunWindowsOptions,\n verbose: boolean,\n): Promise<void> {\n return new Promise(resolve => {\n http\n .get('http://localhost:8081/status', res => {\n if (res.statusCode === 200) {\n newSuccess('React-Native Server already started');\n } else {\n newError('React-Native Server not responding');\n }\n resolve();\n })\n .on('error', () => {\n launchServer(options, verbose);\n resolve();\n });\n });\n}\n\nfunction launchServer(options: RunWindowsOptions, verbose: boolean) {\n newSuccess('Starting the React-Native Server');\n const opts: SpawnOptions = {\n cwd: options.root,\n detached: true,\n stdio: verbose ? 'inherit' : 'ignore',\n };\n\n spawn('cmd.exe', ['/C', 'start npx react-native start'], opts);\n}\n"]}
@@ -4,12 +4,15 @@
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
11
  exports.getEnvironmentInfo = void 0;
9
12
  // @ts-ignore no typings
10
- const envinfo = require("envinfo");
13
+ const envinfo_1 = __importDefault(require("envinfo"));
11
14
  async function getEnvironmentInfo() {
12
- return await envinfo.run({
15
+ return await envinfo_1.default.run({
13
16
  System: ['OS', 'CPU', 'Memory', 'Shell'],
14
17
  Binaries: ['Node', 'Yarn', 'npm', 'Watchman'],
15
18
  npmPackages: [
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/runWindows/utils/info.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,wBAAwB;AACxB,mCAAmC;AAE5B,KAAK,UAAU,kBAAkB;IACtC,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC;QACvB,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC;QACxC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC;QAC7C,WAAW,EAAE;YACX,OAAO;YACP,cAAc;YACd,sBAAsB;YACtB,6BAA6B;YAC7B,kBAAkB;SACnB;QACD,iBAAiB,EAAE,CAAC,gBAAgB,CAAC;KACtC,CAAC,CAAC;AACL,CAAC;AAbD,gDAaC"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/runWindows/utils/info.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;AAEH,wBAAwB;AACxB,sDAA8B;AAEvB,KAAK,UAAU,kBAAkB;IACtC,OAAO,MAAM,iBAAO,CAAC,GAAG,CAAC;QACvB,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC;QACxC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC;QAC7C,WAAW,EAAE;YACX,OAAO;YACP,cAAc;YACd,sBAAsB;YACtB,6BAA6B;YAC7B,kBAAkB;SACnB;QACD,iBAAiB,EAAE,CAAC,gBAAgB,CAAC;KACtC,CAAC,CAAC;AACL,CAAC;AAbD,gDAaC","sourcesContent":["/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n * @format\n */\n\n// @ts-ignore no typings\nimport envinfo from 'envinfo';\n\nexport async function getEnvironmentInfo(): Promise<string> {\n return await envinfo.run({\n System: ['OS', 'CPU', 'Memory', 'Shell'],\n Binaries: ['Node', 'Yarn', 'npm', 'Watchman'],\n npmPackages: [\n 'react',\n 'react-native',\n 'react-native-windows',\n '@react-native-community/cli',\n 'react-native-cli',\n ],\n npmGlobalPackages: ['*react-native*'],\n });\n}\n"]}
@@ -7,16 +7,22 @@ import Version from './version';
7
7
  import { BuildArch, BuildConfig } from '../runWindowsOptions';
8
8
  export default class MSBuildTools {
9
9
  readonly version: string;
10
- readonly msbuildPath: string;
10
+ readonly installationPath: string;
11
11
  readonly installationVersion: string;
12
12
  /**
13
13
  * @param version is something like 16.0 for 2019
14
- * @param msbuildPath Path to MSBuild.exe (x86)
14
+ * @param installationPath Path to installation root
15
15
  * @param installationVersion is the full version e.g. 16.3.29411.108
16
16
  */
17
- constructor(version: string, msbuildPath: string, installationVersion: string);
17
+ constructor(version: string, installationPath: string, installationVersion: string);
18
+ /**
19
+ * @returns directory where x86 msbuild can be found
20
+ */
21
+ msbuildPath(): string;
18
22
  cleanProject(slnFile: string): void;
19
- buildProject(slnFile: string, buildType: BuildConfig, buildArch: BuildArch, msBuildProps: Record<string, string>, verbose: boolean, target: string | undefined, buildLogDirectory: string | undefined, singleproc?: boolean): Promise<void>;
20
- static findAvailableVersion(buildArch: BuildArch, verbose: boolean): MSBuildTools;
23
+ restorePackageConfigs(slnFile: any, buildArch: BuildArch, buildType: BuildConfig): Promise<void>;
24
+ buildProject(slnFile: string, buildType: BuildConfig, buildArch: BuildArch, msBuildProps: Record<string, string>, verbose: boolean, target: 'build' | 'deploy', buildLogDirectory: string | undefined, singleproc?: boolean): Promise<void>;
25
+ static findAvailableVersion(buildArch: BuildArch, verbose: boolean, prerelease?: boolean): MSBuildTools;
21
26
  static getAllAvailableUAPVersions(): Version[];
27
+ evaluateMSBuildProperties(solutionFile: string, projectFile: string, propertyNames?: string[], extraMsBuildProps?: Record<string, string>): Record<string, string>;
22
28
  }