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