@react-native-windows/cli 0.0.0-canary.2 → 0.0.0-canary.200
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.
- package/README.md +47 -0
- package/lib-commonjs/commands/autolinkWindows/autolinkWindows.d.ts +87 -0
- package/lib-commonjs/commands/autolinkWindows/autolinkWindows.js +661 -0
- package/lib-commonjs/commands/autolinkWindows/autolinkWindows.js.map +1 -0
- package/lib-commonjs/commands/autolinkWindows/autolinkWindowsOptions.d.ts +14 -0
- package/lib-commonjs/commands/autolinkWindows/autolinkWindowsOptions.js +33 -0
- package/lib-commonjs/commands/autolinkWindows/autolinkWindowsOptions.js.map +1 -0
- package/lib-commonjs/commands/codegenWindows/codegenWindows.d.ts +27 -0
- package/lib-commonjs/commands/codegenWindows/codegenWindows.js +206 -0
- package/lib-commonjs/commands/codegenWindows/codegenWindows.js.map +1 -0
- package/lib-commonjs/commands/codegenWindows/codegenWindowsOptions.d.ts +12 -0
- package/lib-commonjs/commands/codegenWindows/codegenWindowsOptions.js +23 -0
- package/lib-commonjs/commands/codegenWindows/codegenWindowsOptions.js.map +1 -0
- package/lib-commonjs/{config → commands/config}/configUtils.d.ts +34 -6
- package/lib-commonjs/commands/config/configUtils.js +381 -0
- package/lib-commonjs/commands/config/configUtils.js.map +1 -0
- package/lib-commonjs/{config → commands/config}/dependencyConfig.d.ts +3 -3
- package/lib-commonjs/commands/config/dependencyConfig.js +228 -0
- package/lib-commonjs/commands/config/dependencyConfig.js.map +1 -0
- package/lib-commonjs/{config → commands/config}/projectConfig.d.ts +6 -3
- package/lib-commonjs/{config → commands/config}/projectConfig.js +72 -12
- package/lib-commonjs/commands/config/projectConfig.js.map +1 -0
- package/lib-commonjs/commands/healthCheck/healthCheckList.d.ts +6 -0
- package/lib-commonjs/commands/healthCheck/healthCheckList.js +21 -0
- package/lib-commonjs/commands/healthCheck/healthCheckList.js.map +1 -0
- package/lib-commonjs/commands/healthCheck/healthChecks.d.ts +7 -0
- package/lib-commonjs/commands/healthCheck/healthChecks.js +124 -0
- package/lib-commonjs/commands/healthCheck/healthChecks.js.map +1 -0
- package/lib-commonjs/commands/initWindows/initWindows.d.ts +46 -0
- package/lib-commonjs/commands/initWindows/initWindows.js +244 -0
- package/lib-commonjs/commands/initWindows/initWindows.js.map +1 -0
- package/lib-commonjs/commands/initWindows/initWindowsOptions.d.ts +15 -0
- package/lib-commonjs/commands/initWindows/initWindowsOptions.js +38 -0
- package/lib-commonjs/commands/initWindows/initWindowsOptions.js.map +1 -0
- package/lib-commonjs/commands/runWindows/runWindows.js +322 -0
- package/lib-commonjs/commands/runWindows/runWindows.js.map +1 -0
- package/lib-commonjs/{runWindows → commands/runWindows}/runWindowsOptions.d.ts +17 -11
- package/lib-commonjs/{runWindows → commands/runWindows}/runWindowsOptions.js +16 -11
- package/lib-commonjs/commands/runWindows/runWindowsOptions.js.map +1 -0
- package/lib-commonjs/e2etest/autolink.test.d.ts +6 -0
- package/lib-commonjs/e2etest/autolink.test.js +367 -0
- package/lib-commonjs/e2etest/autolink.test.js.map +1 -0
- package/lib-commonjs/e2etest/dependencyConfig.test.d.ts +6 -0
- package/lib-commonjs/e2etest/dependencyConfig.test.js +130 -0
- package/lib-commonjs/e2etest/dependencyConfig.test.js.map +1 -0
- package/lib-commonjs/e2etest/healthChecks.test.d.ts +6 -0
- package/lib-commonjs/e2etest/healthChecks.test.js +31 -0
- package/lib-commonjs/e2etest/healthChecks.test.js.map +1 -0
- package/lib-commonjs/e2etest/initWindows.test.d.ts +6 -0
- package/lib-commonjs/e2etest/initWindows.test.js +43 -0
- package/lib-commonjs/e2etest/initWindows.test.js.map +1 -0
- package/lib-commonjs/e2etest/projectConfig.test.d.ts +6 -0
- package/lib-commonjs/e2etest/projectConfig.test.js +111 -0
- package/lib-commonjs/e2etest/projectConfig.test.js.map +1 -0
- package/lib-commonjs/e2etest/projectConfig.utils.d.ts +8 -0
- package/lib-commonjs/e2etest/projectConfig.utils.js +77 -0
- package/lib-commonjs/e2etest/projectConfig.utils.js.map +1 -0
- package/lib-commonjs/e2etest/runWindows.test.d.ts +6 -0
- package/lib-commonjs/e2etest/runWindows.test.js +61 -0
- package/lib-commonjs/e2etest/runWindows.test.js.map +1 -0
- package/lib-commonjs/generator-common/index.d.ts +17 -1
- package/lib-commonjs/generator-common/index.js +61 -40
- package/lib-commonjs/generator-common/index.js.map +1 -1
- package/lib-commonjs/generator-windows/index.d.ts +2 -2
- package/lib-commonjs/generator-windows/index.js +238 -187
- package/lib-commonjs/generator-windows/index.js.map +1 -1
- package/lib-commonjs/index.d.ts +7 -2
- package/lib-commonjs/index.js +51 -11
- package/lib-commonjs/index.js.map +1 -1
- package/lib-commonjs/{runWindows/utils → utils}/build.d.ts +2 -3
- package/lib-commonjs/{runWindows/utils → utils}/build.js +26 -33
- package/lib-commonjs/utils/build.js.map +1 -0
- package/lib-commonjs/{runWindows/utils → utils}/checkRequirements.js +11 -7
- package/lib-commonjs/utils/checkRequirements.js.map +1 -0
- package/lib-commonjs/{runWindows/utils → utils}/commandWithProgress.d.ts +11 -3
- package/lib-commonjs/utils/commandWithProgress.js +150 -0
- package/lib-commonjs/utils/commandWithProgress.js.map +1 -0
- package/lib-commonjs/{runWindows/utils → utils}/deploy.d.ts +2 -2
- package/lib-commonjs/utils/deploy.js +354 -0
- package/lib-commonjs/utils/deploy.js.map +1 -0
- package/lib-commonjs/{runWindows/utils → utils}/info.js +5 -2
- package/lib-commonjs/utils/info.js.map +1 -0
- package/lib-commonjs/utils/msbuildtools.d.ts +28 -0
- package/lib-commonjs/utils/msbuildtools.js +274 -0
- package/lib-commonjs/utils/msbuildtools.js.map +1 -0
- package/lib-commonjs/utils/pathHelpers.d.ts +9 -0
- package/lib-commonjs/utils/pathHelpers.js +37 -0
- package/lib-commonjs/utils/pathHelpers.js.map +1 -0
- package/lib-commonjs/utils/telemetryHelpers.d.ts +29 -0
- package/lib-commonjs/utils/telemetryHelpers.js +121 -0
- package/lib-commonjs/utils/telemetryHelpers.js.map +1 -0
- package/lib-commonjs/{runWindows/utils → utils}/version.d.ts +4 -4
- package/lib-commonjs/utils/version.js.map +1 -0
- package/lib-commonjs/{runWindows/utils → utils}/vsInstalls.d.ts +5 -2
- package/lib-commonjs/utils/vsInstalls.js +100 -0
- package/lib-commonjs/utils/vsInstalls.js.map +1 -0
- package/lib-commonjs/{runWindows/utils → utils}/vstools.d.ts +2 -1
- package/lib-commonjs/utils/vstools.js +190 -0
- package/lib-commonjs/utils/vstools.js.map +1 -0
- package/lib-commonjs/{runWindows/utils → utils}/winappdeploytool.d.ts +3 -3
- package/lib-commonjs/{runWindows/utils → utils}/winappdeploytool.js +17 -14
- package/lib-commonjs/utils/winappdeploytool.js.map +1 -0
- package/package.json +50 -28
- package/{powershell → src/powershell}/Add-AppDevPackage.ps1 +2 -2
- package/src/powershell/Eval-MsBuildProperties.ps1 +156 -0
- package/{powershell → src/powershell}/WindowsStoreAppUtils.ps1 +11 -1
- package/CHANGELOG.json +0 -35
- package/CHANGELOG.md +0 -21
- package/lib-commonjs/config/configUtils.js +0 -265
- package/lib-commonjs/config/configUtils.js.map +0 -1
- package/lib-commonjs/config/dependencyConfig.js +0 -148
- package/lib-commonjs/config/dependencyConfig.js.map +0 -1
- package/lib-commonjs/config/projectConfig.js.map +0 -1
- package/lib-commonjs/runWindows/runWindows.js +0 -139
- package/lib-commonjs/runWindows/runWindows.js.map +0 -1
- package/lib-commonjs/runWindows/runWindowsOptions.js.map +0 -1
- package/lib-commonjs/runWindows/utils/autolink.d.ts +0 -7
- package/lib-commonjs/runWindows/utils/autolink.js +0 -343
- package/lib-commonjs/runWindows/utils/autolink.js.map +0 -1
- package/lib-commonjs/runWindows/utils/build.js.map +0 -1
- package/lib-commonjs/runWindows/utils/checkRequirements.js.map +0 -1
- package/lib-commonjs/runWindows/utils/commandWithProgress.js +0 -114
- package/lib-commonjs/runWindows/utils/commandWithProgress.js.map +0 -1
- package/lib-commonjs/runWindows/utils/deploy.js +0 -247
- package/lib-commonjs/runWindows/utils/deploy.js.map +0 -1
- package/lib-commonjs/runWindows/utils/info.js.map +0 -1
- package/lib-commonjs/runWindows/utils/msbuildtools.d.ts +0 -22
- package/lib-commonjs/runWindows/utils/msbuildtools.js +0 -183
- package/lib-commonjs/runWindows/utils/msbuildtools.js.map +0 -1
- package/lib-commonjs/runWindows/utils/version.js.map +0 -1
- package/lib-commonjs/runWindows/utils/vsInstalls.js +0 -59
- package/lib-commonjs/runWindows/utils/vsInstalls.js.map +0 -1
- package/lib-commonjs/runWindows/utils/vstools.js +0 -144
- package/lib-commonjs/runWindows/utils/vstools.js.map +0 -1
- package/lib-commonjs/runWindows/utils/winappdeploytool.js.map +0 -1
- package/templates/_gitignore +0 -92
- package/templates/b_gitignore +0 -1
- package/templates/cpp/keys/MyApp_TemporaryKey.pfx +0 -0
- package/templates/cpp/proj/MyApp.sln +0 -194
- package/templates/cpp/proj/MyApp.vcxproj +0 -220
- package/templates/cpp/proj/MyApp.vcxproj.filters +0 -63
- package/templates/cpp/proj/packages.config +0 -6
- package/templates/cpp/src/App.cpp +0 -80
- package/templates/cpp/src/App.h +0 -25
- package/templates/cpp/src/App.idl +0 -3
- package/templates/cpp/src/AutolinkedNativeModules.g.cpp +0 -13
- package/templates/cpp/src/AutolinkedNativeModules.g.h +0 -10
- package/templates/cpp/src/AutolinkedNativeModules.g.targets +0 -6
- package/templates/cpp/src/MainPage.cpp +0 -24
- package/templates/cpp/src/MainPage.h +0 -21
- package/templates/cpp/src/MainPage.idl +0 -8
- package/templates/cpp/src/PropertySheet.props +0 -16
- package/templates/cpp/src/ReactPackageProvider.cpp +0 -18
- package/templates/cpp/src/ReactPackageProvider.h +0 -15
- package/templates/cpp/src/pch.cpp +0 -1
- package/templates/cpp/src/pch.h +0 -26
- package/templates/cs/keys/MyApp_TemporaryKey.pfx +0 -0
- package/templates/cs/proj/MyApp.csproj +0 -190
- package/templates/cs/proj/MyApp.sln +0 -227
- package/templates/cs/src/App.xaml.cs +0 -51
- package/templates/cs/src/AutolinkedNativeModules.g.cs +0 -13
- package/templates/cs/src/AutolinkedNativeModules.g.targets +0 -6
- package/templates/cs/src/MainPage.xaml.cs +0 -33
- package/templates/cs/src/Properties/AssemblyInfo.cs +0 -29
- package/templates/cs/src/Properties/Default.rd.xml +0 -32
- package/templates/cs/src/ReactPackageProvider.cs +0 -17
- package/templates/index.windows.bundle +0 -9
- package/templates/metro.config.js +0 -29
- package/templates/shared/assets/LockScreenLogo.scale-200.png +0 -0
- package/templates/shared/assets/SplashScreen.scale-200.png +0 -0
- package/templates/shared/assets/Square150x150Logo.scale-200.png +0 -0
- package/templates/shared/assets/Square44x44Logo.scale-200.png +0 -0
- package/templates/shared/assets/Square44x44Logo.targetsize-24_altform-unplated.png +0 -0
- package/templates/shared/assets/StoreLogo.png +0 -0
- package/templates/shared/assets/Wide310x150Logo.scale-200.png +0 -0
- package/templates/shared/proj/NuGet.Config +0 -13
- package/templates/shared/src/App.xaml +0 -10
- package/templates/shared/src/MainPage.xaml +0 -21
- package/templates/shared/src/Package.appxmanifest +0 -50
- /package/lib-commonjs/{runWindows → commands/runWindows}/runWindows.d.ts +0 -0
- /package/lib-commonjs/{runWindows/utils → utils}/checkRequirements.d.ts +0 -0
- /package/lib-commonjs/{runWindows/utils → utils}/info.d.ts +0 -0
- /package/lib-commonjs/{runWindows/utils → utils}/version.js +0 -0
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Copyright (c) Microsoft Corporation.
|
|
4
|
-
* Licensed under the MIT License.
|
|
5
|
-
* @format
|
|
6
|
-
*/
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.newInfo = exports.newSuccess = exports.newWarn = exports.newError = exports.commandWithProgress = exports.runPowerShellScriptFunction = exports.newSpinner = void 0;
|
|
9
|
-
const child_process_1 = require("child_process");
|
|
10
|
-
const ora = require("ora");
|
|
11
|
-
const spinners = require("cli-spinners");
|
|
12
|
-
const chalk = require("chalk");
|
|
13
|
-
function setSpinnerText(spinner, prefix, text) {
|
|
14
|
-
text = prefix + spinnerString(text);
|
|
15
|
-
spinner.text = text.length > 45 ? text.slice(0, 110) + '...' : text;
|
|
16
|
-
}
|
|
17
|
-
function spinnerString(msg) {
|
|
18
|
-
msg = msg.trim();
|
|
19
|
-
const lastLineIndex = msg.lastIndexOf('\n');
|
|
20
|
-
if (lastLineIndex > 0) {
|
|
21
|
-
msg = msg.slice(lastLineIndex + 1);
|
|
22
|
-
}
|
|
23
|
-
msg = msg.trim();
|
|
24
|
-
return msg;
|
|
25
|
-
}
|
|
26
|
-
function newSpinner(text) {
|
|
27
|
-
const options = Object.assign(Object.assign({ text: text, indent: 1 }, (process.env.WT_SESSION && { spinner: spinners.dots })), {
|
|
28
|
-
// By default, ora process.stderr as the output stream, however,the VS Code debugger
|
|
29
|
-
// Uses stdout to match success patterns
|
|
30
|
-
stream: process.stdout });
|
|
31
|
-
return ora(options).start();
|
|
32
|
-
}
|
|
33
|
-
exports.newSpinner = newSpinner;
|
|
34
|
-
async function runPowerShellScriptFunction(taskDescription, script, funcName, verbose) {
|
|
35
|
-
try {
|
|
36
|
-
const printException = verbose ? '$_;' : '';
|
|
37
|
-
const importScript = script ? `Import-Module "${script}"; ` : '';
|
|
38
|
-
await commandWithProgress(newSpinner(taskDescription), taskDescription, 'powershell', [
|
|
39
|
-
'-NoProfile',
|
|
40
|
-
'-ExecutionPolicy',
|
|
41
|
-
'RemoteSigned',
|
|
42
|
-
`${importScript}try { ${funcName} -ErrorAction Stop; $lec = $LASTEXITCODE; } catch { $lec = 1; ${printException} }; exit $lec`,
|
|
43
|
-
], verbose);
|
|
44
|
-
}
|
|
45
|
-
catch (_a) {
|
|
46
|
-
// The error output from the process will be shown if verbose is set.
|
|
47
|
-
// We don't capture the process output if verbose is set, but at least we have the task name in text, so throw that.
|
|
48
|
-
throw new Error(taskDescription);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
exports.runPowerShellScriptFunction = runPowerShellScriptFunction;
|
|
52
|
-
function commandWithProgress(spinner, taskDoingName, command, args, verbose) {
|
|
53
|
-
return new Promise(function (resolve, reject) {
|
|
54
|
-
const spawnOptions = verbose ? { stdio: 'inherit' } : {};
|
|
55
|
-
if (verbose) {
|
|
56
|
-
spinner.stop();
|
|
57
|
-
}
|
|
58
|
-
const cp = child_process_1.spawn(command, args, spawnOptions);
|
|
59
|
-
let firstErrorLine = null;
|
|
60
|
-
if (!verbose) {
|
|
61
|
-
cp.stdout.on('data', chunk => {
|
|
62
|
-
const text = chunk.toString();
|
|
63
|
-
setSpinnerText(spinner, taskDoingName + ': ', text);
|
|
64
|
-
});
|
|
65
|
-
cp.stderr.on('data', chunk => {
|
|
66
|
-
const text = chunk.toString();
|
|
67
|
-
if (!firstErrorLine) {
|
|
68
|
-
firstErrorLine = text;
|
|
69
|
-
}
|
|
70
|
-
if (verbose) {
|
|
71
|
-
console.error(chalk.red(text));
|
|
72
|
-
}
|
|
73
|
-
if (text) {
|
|
74
|
-
setSpinnerText(spinner, taskDoingName + ': ERROR: ', firstErrorLine);
|
|
75
|
-
}
|
|
76
|
-
reject(new Error(firstErrorLine));
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
cp.on('error', e => {
|
|
80
|
-
if (verbose) {
|
|
81
|
-
console.error(chalk.red(e.toString()));
|
|
82
|
-
}
|
|
83
|
-
spinner.fail(e.toString());
|
|
84
|
-
reject(e);
|
|
85
|
-
}).on('close', function (code) {
|
|
86
|
-
if (code === 0) {
|
|
87
|
-
spinner.succeed(taskDoingName);
|
|
88
|
-
resolve();
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
spinner.fail();
|
|
92
|
-
reject();
|
|
93
|
-
}
|
|
94
|
-
});
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
exports.commandWithProgress = commandWithProgress;
|
|
98
|
-
function newError(text) {
|
|
99
|
-
newSpinner(text).fail(text);
|
|
100
|
-
}
|
|
101
|
-
exports.newError = newError;
|
|
102
|
-
function newWarn(text) {
|
|
103
|
-
newSpinner(text).warn(text);
|
|
104
|
-
}
|
|
105
|
-
exports.newWarn = newWarn;
|
|
106
|
-
function newSuccess(text) {
|
|
107
|
-
newSpinner(text).succeed(text);
|
|
108
|
-
}
|
|
109
|
-
exports.newSuccess = newSuccess;
|
|
110
|
-
function newInfo(text) {
|
|
111
|
-
newSpinner(text).info(text);
|
|
112
|
-
}
|
|
113
|
-
exports.newInfo = newInfo;
|
|
114
|
-
//# sourceMappingURL=commandWithProgress.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"commandWithProgress.js","sourceRoot":"","sources":["../../../src/runWindows/utils/commandWithProgress.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,247 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Copyright (c) Microsoft Corporation.
|
|
4
|
-
* Licensed under the MIT License.
|
|
5
|
-
* @format
|
|
6
|
-
*/
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.startServerInNewWindow = exports.deployToDesktop = exports.deployToDevice = exports.getBuildConfiguration = void 0;
|
|
9
|
-
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");
|
|
16
|
-
const commandWithProgress_1 = require("./commandWithProgress");
|
|
17
|
-
const build = require("./build");
|
|
18
|
-
function pushd(pathArg) {
|
|
19
|
-
const cwd = process.cwd();
|
|
20
|
-
process.chdir(pathArg);
|
|
21
|
-
return () => process.chdir(cwd);
|
|
22
|
-
}
|
|
23
|
-
function getBuildConfiguration(options) {
|
|
24
|
-
return options.release
|
|
25
|
-
? options.bundle
|
|
26
|
-
? 'ReleaseBundle'
|
|
27
|
-
: 'Release'
|
|
28
|
-
: options.bundle
|
|
29
|
-
? 'DebugBundle'
|
|
30
|
-
: 'Debug';
|
|
31
|
-
}
|
|
32
|
-
exports.getBuildConfiguration = getBuildConfiguration;
|
|
33
|
-
function shouldLaunchApp(options) {
|
|
34
|
-
return options.launch;
|
|
35
|
-
}
|
|
36
|
-
function getAppPackage(options, projectName) {
|
|
37
|
-
const configuration = getBuildConfiguration(options);
|
|
38
|
-
const packageFolder = options.arch === 'x86'
|
|
39
|
-
? `{*_x86_${configuration}_*,*_Win32_${configuration}_*}`
|
|
40
|
-
: `*_${options.arch}_${configuration}_*`;
|
|
41
|
-
const appPackageGlob = `${options.root}/windows/{*/AppPackages,AppPackages/*}/${packageFolder}`;
|
|
42
|
-
const appPackageCandidates = glob.sync(appPackageGlob);
|
|
43
|
-
let appPackage;
|
|
44
|
-
if (appPackageCandidates.length === 1 || !projectName) {
|
|
45
|
-
appPackage = appPackageCandidates[0];
|
|
46
|
-
}
|
|
47
|
-
else if (appPackageCandidates.length > 1) {
|
|
48
|
-
const filteredAppPackageCandidates = appPackageCandidates.filter(x => x.includes(projectName));
|
|
49
|
-
if (filteredAppPackageCandidates.length >= 1) {
|
|
50
|
-
appPackage = filteredAppPackageCandidates[0];
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
if (!appPackage && options.release) {
|
|
54
|
-
// in the latest vs, Release is removed
|
|
55
|
-
commandWithProgress_1.newWarn('No package found in *_Release_* folder, removing the _Release_ prefix and checking again');
|
|
56
|
-
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);
|
|
59
|
-
if (result.length > 1 && projectName) {
|
|
60
|
-
const newFilteredGlobs = result.filter(x => x.includes(projectName));
|
|
61
|
-
if (newFilteredGlobs.length >= 1) {
|
|
62
|
-
commandWithProgress_1.newWarn(`More than one app package found: ${result}`);
|
|
63
|
-
}
|
|
64
|
-
appPackage = newFilteredGlobs[0];
|
|
65
|
-
}
|
|
66
|
-
else if (result.length === 1) {
|
|
67
|
-
// we're good
|
|
68
|
-
appPackage = result[0];
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
if (!appPackage) {
|
|
72
|
-
throw new Error(`Unable to find app package using search path: "${appPackageGlob}"`);
|
|
73
|
-
}
|
|
74
|
-
return appPackage;
|
|
75
|
-
}
|
|
76
|
-
function getWindowsStoreAppUtils(options) {
|
|
77
|
-
const popd = pushd(options.root);
|
|
78
|
-
const windowsStoreAppUtilsPath = path.resolve(__dirname, '..', '..', '..', 'powershell', 'WindowsStoreAppUtils.ps1');
|
|
79
|
-
child_process_1.execSync(`powershell Unblock-File "${windowsStoreAppUtilsPath}"`);
|
|
80
|
-
popd();
|
|
81
|
-
return windowsStoreAppUtilsPath;
|
|
82
|
-
}
|
|
83
|
-
function getAppxManifestPath(options, projectName) {
|
|
84
|
-
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));
|
|
87
|
-
let appxPath;
|
|
88
|
-
if (globs.length === 1 || !projectName) {
|
|
89
|
-
appxPath = globs[0];
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
const filteredGlobs = globs.filter(x => x.indexOf(projectName) != -1);
|
|
93
|
-
if (filteredGlobs.length > 1) {
|
|
94
|
-
commandWithProgress_1.newWarn(`More than one appxmanifest for ${projectName}: ${filteredGlobs.join(',')}`);
|
|
95
|
-
}
|
|
96
|
-
appxPath = filteredGlobs[0];
|
|
97
|
-
}
|
|
98
|
-
if (!appxPath) {
|
|
99
|
-
throw new Error(`Unable to find AppxManifest from "${options.root}", using search path: "${appxManifestGlob}" `);
|
|
100
|
-
}
|
|
101
|
-
return appxPath;
|
|
102
|
-
}
|
|
103
|
-
function parseAppxManifest(appxManifestPath) {
|
|
104
|
-
return parse(fs.readFileSync(appxManifestPath, 'utf8'));
|
|
105
|
-
}
|
|
106
|
-
function getAppxManifest(options) {
|
|
107
|
-
return parseAppxManifest(getAppxManifestPath(options, undefined));
|
|
108
|
-
}
|
|
109
|
-
function handleResponseError(e) {
|
|
110
|
-
if (e.message.indexOf('Error code -2146233088')) {
|
|
111
|
-
throw new Error(`No Windows Mobile device was detected: ${e.message}`);
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
throw new Error(`Unexpected error deploying app: ${e.message}`);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
// Errors: 0x80073d10 - bad architecture
|
|
118
|
-
async function deployToDevice(options, verbose) {
|
|
119
|
-
const appPackageFolder = getAppPackage(options);
|
|
120
|
-
const deployTarget = options.target
|
|
121
|
-
? options.target
|
|
122
|
-
: options.emulator
|
|
123
|
-
? 'emulator'
|
|
124
|
-
: 'device';
|
|
125
|
-
const deployTool = new winappdeploytool_1.default();
|
|
126
|
-
const appxManifest = getAppxManifest(options);
|
|
127
|
-
const shouldLaunch = shouldLaunchApp(options);
|
|
128
|
-
const identity = appxManifest.root.children.filter(function (x) {
|
|
129
|
-
return x.name === 'mp:PhoneIdentity';
|
|
130
|
-
})[0];
|
|
131
|
-
const appName = identity.attributes.PhoneProductId;
|
|
132
|
-
const device = deployTool.findDevice(deployTarget);
|
|
133
|
-
try {
|
|
134
|
-
await deployTool.uninstallAppPackage(appName, device, verbose);
|
|
135
|
-
}
|
|
136
|
-
catch (e) {
|
|
137
|
-
commandWithProgress_1.newWarn('Failed to uninstall app from ' + device.name);
|
|
138
|
-
}
|
|
139
|
-
const appxFile = glob.sync(path.join(appPackageFolder, '*.appx'))[0];
|
|
140
|
-
try {
|
|
141
|
-
await deployTool.installAppPackage(appxFile, device, shouldLaunch, false, verbose);
|
|
142
|
-
}
|
|
143
|
-
catch (e) {
|
|
144
|
-
if (e.message.indexOf('Error code 2148734208 for command') !== -1) {
|
|
145
|
-
await deployTool.installAppPackage(appxFile, device, shouldLaunch, true, verbose);
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
handleResponseError(e);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
exports.deployToDevice = deployToDevice;
|
|
153
|
-
async function deployToDesktop(options, verbose, config, buildTools) {
|
|
154
|
-
const windowsConfig = config.project.windows;
|
|
155
|
-
const slnFile = windowsConfig && windowsConfig.solutionFile && windowsConfig.sourceDir
|
|
156
|
-
? path.join(windowsConfig.sourceDir, windowsConfig.solutionFile)
|
|
157
|
-
: options.sln;
|
|
158
|
-
const projectName = windowsConfig && windowsConfig.project && windowsConfig.project.projectName
|
|
159
|
-
? windowsConfig.project.projectName
|
|
160
|
-
: options.proj;
|
|
161
|
-
const appPackageFolder = getAppPackage(options, projectName);
|
|
162
|
-
const windowsStoreAppUtils = getWindowsStoreAppUtils(options);
|
|
163
|
-
const appxManifestPath = getAppxManifestPath(options, projectName);
|
|
164
|
-
const appxManifest = parseAppxManifest(appxManifestPath);
|
|
165
|
-
const identity = appxManifest.root.children.filter(function (x) {
|
|
166
|
-
return x.name === 'Identity';
|
|
167
|
-
})[0];
|
|
168
|
-
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 = [];
|
|
181
|
-
if (options.remoteDebugging) {
|
|
182
|
-
args.push('--remote-debugging');
|
|
183
|
-
}
|
|
184
|
-
if (options.directDebugging) {
|
|
185
|
-
args.push('--direct-debugging', options.directDebugging.toString());
|
|
186
|
-
}
|
|
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);
|
|
191
|
-
}
|
|
192
|
-
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);
|
|
196
|
-
}
|
|
197
|
-
const appFamilyName = child_process_1.execSync(`powershell -c $(Get-AppxPackage -Name ${appName}).PackageFamilyName`)
|
|
198
|
-
.toString()
|
|
199
|
-
.trim();
|
|
200
|
-
if (!appFamilyName) {
|
|
201
|
-
throw new Error('Fail to check the installed app, maybe developer mode is off on Windows');
|
|
202
|
-
}
|
|
203
|
-
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);
|
|
206
|
-
if (shouldLaunchApp(options)) {
|
|
207
|
-
await commandWithProgress_1.runPowerShellScriptFunction('Starting the app', windowsStoreAppUtils, `Start-Locally ${appName} ${args}`, verbose);
|
|
208
|
-
}
|
|
209
|
-
else {
|
|
210
|
-
commandWithProgress_1.newInfo('Skip the step to start the app');
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
exports.deployToDesktop = deployToDesktop;
|
|
214
|
-
function startServerInNewWindow(options, verbose) {
|
|
215
|
-
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 {
|
|
233
|
-
resolve();
|
|
234
|
-
}
|
|
235
|
-
});
|
|
236
|
-
}
|
|
237
|
-
exports.startServerInNewWindow = startServerInNewWindow;
|
|
238
|
-
function launchServer(options, verbose) {
|
|
239
|
-
commandWithProgress_1.newSuccess('Starting the React-Native Server');
|
|
240
|
-
const opts = {
|
|
241
|
-
cwd: options.root,
|
|
242
|
-
detached: true,
|
|
243
|
-
stdio: verbose ? 'inherit' : 'ignore',
|
|
244
|
-
};
|
|
245
|
-
child_process_1.spawn('cmd.exe', ['/C', 'start npx --no-install react-native start'], opts);
|
|
246
|
-
}
|
|
247
|
-
//# sourceMappingURL=deploy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/runWindows/utils/deploy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
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,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Microsoft Corporation.
|
|
3
|
-
* Licensed under the MIT License.
|
|
4
|
-
* @format
|
|
5
|
-
*/
|
|
6
|
-
import Version from './version';
|
|
7
|
-
import { BuildArch, BuildConfig } from '../runWindowsOptions';
|
|
8
|
-
export default class MSBuildTools {
|
|
9
|
-
readonly version: string;
|
|
10
|
-
readonly msbuildPath: string;
|
|
11
|
-
readonly installationVersion: string;
|
|
12
|
-
/**
|
|
13
|
-
* @param version is something like 16.0 for 2019
|
|
14
|
-
* @param msbuildPath Path to MSBuild.exe (x86)
|
|
15
|
-
* @param installationVersion is the full version e.g. 16.3.29411.108
|
|
16
|
-
*/
|
|
17
|
-
constructor(version: string, msbuildPath: string, installationVersion: string);
|
|
18
|
-
cleanProject(slnFile: string): void;
|
|
19
|
-
buildProject(slnFile: string, buildType: BuildConfig, buildArch: BuildArch, msBuildProps: Record<string, string>, verbose: boolean, target: string | undefined, buildLogDirectory: string | undefined): Promise<void>;
|
|
20
|
-
static findAvailableVersion(buildArch: BuildArch, verbose: boolean): MSBuildTools;
|
|
21
|
-
static getAllAvailableUAPVersions(): Version[];
|
|
22
|
-
}
|
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Copyright (c) Microsoft Corporation.
|
|
4
|
-
* Licensed under the MIT License.
|
|
5
|
-
* @format
|
|
6
|
-
*/
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
const os_1 = require("os");
|
|
9
|
-
const fs = require("fs");
|
|
10
|
-
const path = require("path");
|
|
11
|
-
const child_process = require("child_process");
|
|
12
|
-
const chalk = require("chalk");
|
|
13
|
-
const os = require("os");
|
|
14
|
-
const shell = require("shelljs");
|
|
15
|
-
const version_1 = require("./version");
|
|
16
|
-
const checkRequirements = require("./checkRequirements");
|
|
17
|
-
const commandWithProgress_1 = require("./commandWithProgress");
|
|
18
|
-
const child_process_1 = require("child_process");
|
|
19
|
-
const vsInstalls_1 = require("./vsInstalls");
|
|
20
|
-
class MSBuildTools {
|
|
21
|
-
/**
|
|
22
|
-
* @param version is something like 16.0 for 2019
|
|
23
|
-
* @param msbuildPath Path to MSBuild.exe (x86)
|
|
24
|
-
* @param installationVersion is the full version e.g. 16.3.29411.108
|
|
25
|
-
*/
|
|
26
|
-
constructor(version, msbuildPath, installationVersion) {
|
|
27
|
-
this.version = version;
|
|
28
|
-
this.msbuildPath = msbuildPath;
|
|
29
|
-
this.installationVersion = installationVersion;
|
|
30
|
-
}
|
|
31
|
-
cleanProject(slnFile) {
|
|
32
|
-
const cmd = `"${path.join(this.msbuildPath, 'msbuild.exe')}" "${slnFile}" /t:Clean`;
|
|
33
|
-
const results = child_process
|
|
34
|
-
.execSync(cmd)
|
|
35
|
-
.toString()
|
|
36
|
-
.split(os_1.EOL);
|
|
37
|
-
results.forEach(result => console.log(chalk.white(result)));
|
|
38
|
-
}
|
|
39
|
-
async buildProject(slnFile, buildType, buildArch, msBuildProps, verbose, target, buildLogDirectory) {
|
|
40
|
-
commandWithProgress_1.newSuccess(`Found Solution: ${slnFile}`);
|
|
41
|
-
commandWithProgress_1.newInfo(`Build configuration: ${buildType}`);
|
|
42
|
-
commandWithProgress_1.newInfo(`Build platform: ${buildArch}`);
|
|
43
|
-
if (target) {
|
|
44
|
-
commandWithProgress_1.newInfo(`Build target: ${target}`);
|
|
45
|
-
}
|
|
46
|
-
const verbosityOption = verbose ? 'normal' : 'minimal';
|
|
47
|
-
const logPrefix = path.join(buildLogDirectory || os.tmpdir(), `msbuild_${process.pid}${target ? '_' + target : ''}`);
|
|
48
|
-
const errorLog = logPrefix + '.err';
|
|
49
|
-
const warnLog = logPrefix + '.wrn';
|
|
50
|
-
const localBinLog = target ? `:${target}.binlog` : '';
|
|
51
|
-
const binlog = buildLogDirectory ? `:${logPrefix}.binlog` : localBinLog;
|
|
52
|
-
const args = [
|
|
53
|
-
`/clp:NoSummary;NoItemAndPropertyList;Verbosity=${verbosityOption}`,
|
|
54
|
-
'/nologo',
|
|
55
|
-
'/maxCpuCount',
|
|
56
|
-
`/p:Configuration=${buildType}`,
|
|
57
|
-
`/p:Platform=${buildArch}`,
|
|
58
|
-
'/p:AppxBundle=Never',
|
|
59
|
-
`/bl${binlog}`,
|
|
60
|
-
`/flp1:errorsonly;logfile=${errorLog}`,
|
|
61
|
-
`/flp2:warningsonly;logfile=${warnLog}`,
|
|
62
|
-
];
|
|
63
|
-
if (target) {
|
|
64
|
-
args.push(`/t:${target}`);
|
|
65
|
-
}
|
|
66
|
-
if (msBuildProps) {
|
|
67
|
-
Object.keys(msBuildProps).forEach(function (key) {
|
|
68
|
-
args.push(`/p:${key}=${msBuildProps[key]}`);
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
try {
|
|
72
|
-
checkRequirements.isWinSdkPresent('10.0');
|
|
73
|
-
}
|
|
74
|
-
catch (e) {
|
|
75
|
-
commandWithProgress_1.newError(e.message);
|
|
76
|
-
throw e;
|
|
77
|
-
}
|
|
78
|
-
if (verbose) {
|
|
79
|
-
console.log(`Running MSBuild with args ${args.join(' ')}`);
|
|
80
|
-
}
|
|
81
|
-
const progressName = 'Building Solution';
|
|
82
|
-
const spinner = commandWithProgress_1.newSpinner(progressName);
|
|
83
|
-
try {
|
|
84
|
-
await commandWithProgress_1.commandWithProgress(spinner, progressName, path.join(this.msbuildPath, 'msbuild.exe'), [slnFile].concat(args), verbose);
|
|
85
|
-
}
|
|
86
|
-
catch (e) {
|
|
87
|
-
let error = e;
|
|
88
|
-
if (!e) {
|
|
89
|
-
const firstMessage = (await fs.promises.readFile(errorLog))
|
|
90
|
-
.toString()
|
|
91
|
-
.split(os_1.EOL)[0];
|
|
92
|
-
error = new Error(firstMessage);
|
|
93
|
-
error.logfile = errorLog;
|
|
94
|
-
}
|
|
95
|
-
throw error;
|
|
96
|
-
}
|
|
97
|
-
// If we have no errors, delete the error log when we're done
|
|
98
|
-
if ((await fs.promises.stat(errorLog)).size === 0) {
|
|
99
|
-
await fs.promises.unlink(errorLog);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
static findAvailableVersion(buildArch, verbose) {
|
|
103
|
-
// https://aka.ms/vs/workloads
|
|
104
|
-
const requires = [
|
|
105
|
-
'Microsoft.Component.MSBuild',
|
|
106
|
-
getVCToolsByArch(buildArch),
|
|
107
|
-
];
|
|
108
|
-
const version = process.env.VisualStudioVersion || '16.0';
|
|
109
|
-
const vsInstallation = vsInstalls_1.findLatestVsInstall({ requires, version, verbose });
|
|
110
|
-
if (!vsInstallation) {
|
|
111
|
-
if (process.env.VisualStudioVersion != null) {
|
|
112
|
-
throw new Error(`MSBuild tools not found for version ${process.env.VisualStudioVersion} (from environment). Make sure all required components have been installed`);
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
throw new Error('MSBuild tools not found. Make sure all required components have been installed');
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
const toolsPath = path.join(vsInstallation.installationPath, 'MSBuild/Current/Bin');
|
|
119
|
-
if (fs.existsSync(toolsPath)) {
|
|
120
|
-
commandWithProgress_1.newSuccess(`Found MSBuild v${version} at ${toolsPath} (${vsInstallation.installationVersion})`);
|
|
121
|
-
return new MSBuildTools(version, toolsPath, vsInstallation.installationVersion);
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
throw new Error(`MSBuild path '${toolsPath} does not exist'`);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
static getAllAvailableUAPVersions() {
|
|
128
|
-
const results = [];
|
|
129
|
-
const programFilesFolder = process.env['ProgramFiles(x86)'] || process.env.ProgramFiles;
|
|
130
|
-
// No Program Files folder found, so we won't be able to find UAP SDK
|
|
131
|
-
if (!programFilesFolder) {
|
|
132
|
-
return results;
|
|
133
|
-
}
|
|
134
|
-
let uapFolderPath = path.join(programFilesFolder, 'Windows Kits', '10', 'Platforms', 'UAP');
|
|
135
|
-
if (!shell.test('-e', uapFolderPath)) {
|
|
136
|
-
// Check other installation folder from reg
|
|
137
|
-
const sdkFolder = getSDK10InstallationFolder();
|
|
138
|
-
if (sdkFolder) {
|
|
139
|
-
uapFolderPath = path.join(sdkFolder, 'Platforms', 'UAP');
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
// No UAP SDK exists on this machine
|
|
143
|
-
if (!shell.test('-e', uapFolderPath)) {
|
|
144
|
-
return results;
|
|
145
|
-
}
|
|
146
|
-
shell
|
|
147
|
-
.ls(uapFolderPath)
|
|
148
|
-
.filter(uapDir => shell.test('-d', path.join(uapFolderPath, uapDir)))
|
|
149
|
-
.map(version_1.default.tryParse)
|
|
150
|
-
.forEach(version => version && results.push(version));
|
|
151
|
-
return results;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
exports.default = MSBuildTools;
|
|
155
|
-
function getVCToolsByArch(buildArch) {
|
|
156
|
-
switch (buildArch) {
|
|
157
|
-
case 'x86':
|
|
158
|
-
case 'x64':
|
|
159
|
-
return 'Microsoft.VisualStudio.Component.VC.Tools.x86.x64';
|
|
160
|
-
case 'ARM':
|
|
161
|
-
return 'Microsoft.VisualStudio.Component.VC.Tools.ARM';
|
|
162
|
-
case 'ARM64':
|
|
163
|
-
return 'Microsoft.VisualStudio.Component.VC.Tools.ARM64';
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
function getSDK10InstallationFolder() {
|
|
167
|
-
const folder = '';
|
|
168
|
-
const execString = 'reg query "HKLM\\SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows\\v10.0" /s /v InstallationFolder /reg:32';
|
|
169
|
-
let output;
|
|
170
|
-
try {
|
|
171
|
-
output = child_process_1.execSync(execString).toString();
|
|
172
|
-
}
|
|
173
|
-
catch (e) {
|
|
174
|
-
return folder;
|
|
175
|
-
}
|
|
176
|
-
const re = /\\Microsoft SDKs\\Windows\\v10.0\s*InstallationFolder\s+REG_SZ\s+(.*)/gim;
|
|
177
|
-
const match = re.exec(output);
|
|
178
|
-
if (match) {
|
|
179
|
-
return match[1];
|
|
180
|
-
}
|
|
181
|
-
return folder;
|
|
182
|
-
}
|
|
183
|
-
//# sourceMappingURL=msbuildtools.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"msbuildtools.js","sourceRoot":"","sources":["../../../src/runWindows/utils/msbuildtools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/runWindows/utils/version.ts"],"names":[],"mappings":"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"}
|