@react-native-windows/cli 0.65.3 → 0.66.1
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/CHANGELOG.json +264 -38
- package/CHANGELOG.md +116 -23
- package/lib-commonjs/config/configUtils.d.ts +22 -0
- package/lib-commonjs/config/configUtils.js +99 -18
- package/lib-commonjs/config/configUtils.js.map +1 -1
- package/lib-commonjs/config/dependencyConfig.js +81 -37
- package/lib-commonjs/config/dependencyConfig.js.map +1 -1
- package/lib-commonjs/config/projectConfig.d.ts +1 -0
- package/lib-commonjs/config/projectConfig.js +58 -9
- package/lib-commonjs/config/projectConfig.js.map +1 -1
- package/lib-commonjs/e2etest/autolink.test.js +13 -10
- package/lib-commonjs/e2etest/autolink.test.js.map +1 -1
- package/lib-commonjs/e2etest/dependencyConfig.test.js +73 -19
- package/lib-commonjs/e2etest/dependencyConfig.test.js.map +1 -1
- package/lib-commonjs/e2etest/projectConfig.test.js +25 -19
- package/lib-commonjs/e2etest/projectConfig.test.js.map +1 -1
- package/lib-commonjs/e2etest/projectConfig.utils.js +16 -12
- package/lib-commonjs/e2etest/projectConfig.utils.js.map +1 -1
- package/lib-commonjs/e2etest/runWindows.test.js.map +1 -1
- package/lib-commonjs/generator-common/index.js +35 -32
- package/lib-commonjs/generator-common/index.js.map +1 -1
- package/lib-commonjs/generator-windows/index.js +101 -83
- package/lib-commonjs/generator-windows/index.js.map +1 -1
- package/lib-commonjs/healthChecks.js +7 -3
- package/lib-commonjs/healthChecks.js.map +1 -1
- package/lib-commonjs/index.js +16 -8
- package/lib-commonjs/index.js.map +1 -1
- package/lib-commonjs/runWindows/runWindows.js +45 -18
- package/lib-commonjs/runWindows/runWindows.js.map +1 -1
- package/lib-commonjs/runWindows/runWindowsOptions.js +0 -1
- package/lib-commonjs/runWindows/runWindowsOptions.js.map +1 -1
- package/lib-commonjs/runWindows/utils/autolink.js +77 -50
- package/lib-commonjs/runWindows/utils/autolink.js.map +1 -1
- package/lib-commonjs/runWindows/utils/build.js +12 -9
- package/lib-commonjs/runWindows/utils/build.js.map +1 -1
- package/lib-commonjs/runWindows/utils/checkRequirements.js +7 -4
- package/lib-commonjs/runWindows/utils/checkRequirements.js.map +1 -1
- package/lib-commonjs/runWindows/utils/commandWithProgress.d.ts +1 -1
- package/lib-commonjs/runWindows/utils/commandWithProgress.js +16 -7
- package/lib-commonjs/runWindows/utils/commandWithProgress.js.map +1 -1
- package/lib-commonjs/runWindows/utils/deploy.js +54 -37
- 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.js +49 -27
- package/lib-commonjs/runWindows/utils/msbuildtools.js.map +1 -1
- package/lib-commonjs/runWindows/utils/version.js.map +1 -1
- package/lib-commonjs/runWindows/utils/vsInstalls.js +8 -5
- package/lib-commonjs/runWindows/utils/vsInstalls.js.map +1 -1
- package/lib-commonjs/runWindows/utils/vstools.js +16 -13
- package/lib-commonjs/runWindows/utils/vstools.js.map +1 -1
- package/lib-commonjs/runWindows/utils/winappdeploytool.js +7 -4
- package/lib-commonjs/runWindows/utils/winappdeploytool.js.map +1 -1
- package/package.json +13 -10
|
@@ -4,18 +4,21 @@
|
|
|
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.installScriptsAndDependencies = exports.copyProjectTemplateAndReplace = void 0;
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const
|
|
12
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
13
|
+
const path_1 = __importDefault(require("path"));
|
|
14
|
+
const username_1 = __importDefault(require("username"));
|
|
15
|
+
const uuid_1 = __importDefault(require("uuid"));
|
|
16
|
+
const child_process_1 = __importDefault(require("child_process"));
|
|
17
|
+
const fs_1 = __importDefault(require("fs"));
|
|
18
|
+
const os_1 = __importDefault(require("os"));
|
|
19
|
+
const semver_1 = __importDefault(require("semver"));
|
|
20
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
21
|
+
const find_up_1 = __importDefault(require("find-up"));
|
|
19
22
|
const configUtils_1 = require("../config/configUtils");
|
|
20
23
|
const generator_common_1 = require("../generator-common");
|
|
21
24
|
const telemetry_1 = require("@react-native-windows/telemetry");
|
|
@@ -24,34 +27,34 @@ const windowsDir = 'windows';
|
|
|
24
27
|
const bundleDir = 'Bundle';
|
|
25
28
|
async function generateCertificate(srcPath, destPath, newProjectName, currentUser) {
|
|
26
29
|
console.log('Generating self-signed certificate...');
|
|
27
|
-
if (
|
|
30
|
+
if (os_1.default.platform() === 'win32') {
|
|
28
31
|
try {
|
|
29
|
-
const thumbprint =
|
|
32
|
+
const thumbprint = child_process_1.default
|
|
30
33
|
.execSync(`powershell -NoProfile -Command "Write-Output (New-SelfSignedCertificate -KeyUsage DigitalSignature -KeyExportPolicy Exportable -Subject 'CN=${currentUser}' -TextExtension @('2.5.29.37={text}1.3.6.1.5.5.7.3.3', '2.5.29.19={text}Subject Type:End Entity') -CertStoreLocation 'Cert:\\CurrentUser\\My').Thumbprint"`)
|
|
31
34
|
.toString()
|
|
32
35
|
.trim();
|
|
33
|
-
if (!
|
|
34
|
-
|
|
36
|
+
if (!fs_1.default.existsSync(path_1.default.join(windowsDir, newProjectName))) {
|
|
37
|
+
fs_1.default.mkdirSync(path_1.default.join(windowsDir, newProjectName));
|
|
35
38
|
}
|
|
36
|
-
|
|
37
|
-
console.log(
|
|
39
|
+
child_process_1.default.execSync(`powershell -NoProfile -Command "$pwd = (ConvertTo-SecureString -String password -Force -AsPlainText); Export-PfxCertificate -Cert 'cert:\\CurrentUser\\My\\${thumbprint}' -FilePath ${path_1.default.join(windowsDir, newProjectName, newProjectName)}_TemporaryKey.pfx -Password $pwd"`);
|
|
40
|
+
console.log(chalk_1.default.green('Self-signed certificate generated successfully.'));
|
|
38
41
|
return thumbprint;
|
|
39
42
|
}
|
|
40
43
|
catch (err) {
|
|
41
|
-
console.log(
|
|
42
|
-
console.log(
|
|
44
|
+
console.log(chalk_1.default.yellow('Unable to generate the self-signed certificate:'));
|
|
45
|
+
console.log(chalk_1.default.red(err));
|
|
43
46
|
}
|
|
44
47
|
}
|
|
45
|
-
console.log(
|
|
46
|
-
await generator_common_1.copyAndReplaceWithChangedCallback(
|
|
48
|
+
console.log(chalk_1.default.yellow('Using Default Certificate. Use Visual Studio to renew it.'));
|
|
49
|
+
await generator_common_1.copyAndReplaceWithChangedCallback(path_1.default.join(srcPath, 'keys', 'MyApp_TemporaryKey.pfx'), destPath, path_1.default.join(windowsDir, newProjectName, newProjectName + '_TemporaryKey.pfx'));
|
|
47
50
|
return null;
|
|
48
51
|
}
|
|
49
52
|
function pascalCase(str) {
|
|
50
|
-
const camelCase =
|
|
53
|
+
const camelCase = lodash_1.default.camelCase(str);
|
|
51
54
|
return camelCase[0].toUpperCase() + camelCase.substr(1);
|
|
52
55
|
}
|
|
53
56
|
function resolveRnwPath(subpath) {
|
|
54
|
-
return require.resolve(
|
|
57
|
+
return require.resolve(path_1.default.join('react-native-windows', subpath), {
|
|
55
58
|
paths: [process.cwd()],
|
|
56
59
|
});
|
|
57
60
|
}
|
|
@@ -80,11 +83,11 @@ async function copyProjectTemplateAndReplace(srcRootPath, destPath, newProjectNa
|
|
|
80
83
|
.map(pascalCase)
|
|
81
84
|
.join('.');
|
|
82
85
|
}
|
|
83
|
-
generator_common_1.createDir(
|
|
84
|
-
generator_common_1.createDir(
|
|
86
|
+
generator_common_1.createDir(path_1.default.join(destPath, windowsDir));
|
|
87
|
+
generator_common_1.createDir(path_1.default.join(destPath, windowsDir, newProjectName));
|
|
85
88
|
if (projectType === 'app') {
|
|
86
|
-
generator_common_1.createDir(
|
|
87
|
-
generator_common_1.createDir(
|
|
89
|
+
generator_common_1.createDir(path_1.default.join(destPath, windowsDir, newProjectName, bundleDir));
|
|
90
|
+
generator_common_1.createDir(path_1.default.join(destPath, windowsDir, newProjectName, 'BundleBuilder'));
|
|
88
91
|
}
|
|
89
92
|
const language = options.language;
|
|
90
93
|
const namespaceCpp = toCppNamespace(namespace);
|
|
@@ -95,17 +98,17 @@ async function copyProjectTemplateAndReplace(srcRootPath, destPath, newProjectNa
|
|
|
95
98
|
console.log('Using experimental WinUI3 dependency.');
|
|
96
99
|
}
|
|
97
100
|
const projDir = 'proj';
|
|
98
|
-
const srcPath =
|
|
99
|
-
const sharedPath =
|
|
100
|
-
const projectGuid =
|
|
101
|
+
const srcPath = path_1.default.join(srcRootPath, `${language}-${projectType}`);
|
|
102
|
+
const sharedPath = path_1.default.join(srcRootPath, `shared-${projectType}`);
|
|
103
|
+
const projectGuid = uuid_1.default.v4();
|
|
101
104
|
const rnwVersion = require(resolveRnwPath('package.json')).version;
|
|
102
105
|
const nugetVersion = options.nuGetTestVersion || rnwVersion;
|
|
103
|
-
const packageGuid =
|
|
104
|
-
const currentUser =
|
|
106
|
+
const packageGuid = uuid_1.default.v4();
|
|
107
|
+
const currentUser = username_1.default.sync(); // Gets the current username depending on the platform.
|
|
105
108
|
let mainComponentName = newProjectName;
|
|
106
|
-
const appJsonPath = await
|
|
109
|
+
const appJsonPath = await find_up_1.default('app.json', { cwd: destPath });
|
|
107
110
|
if (appJsonPath) {
|
|
108
|
-
mainComponentName = JSON.parse(
|
|
111
|
+
mainComponentName = JSON.parse(fs_1.default.readFileSync(appJsonPath, 'utf8')).name;
|
|
109
112
|
}
|
|
110
113
|
const certificateThumbprint = projectType === 'app'
|
|
111
114
|
? await generateCertificate(srcPath, destPath, newProjectName, currentUser)
|
|
@@ -212,37 +215,37 @@ async function copyProjectTemplateAndReplace(srcRootPath, destPath, newProjectNa
|
|
|
212
215
|
? [
|
|
213
216
|
// app common mappings
|
|
214
217
|
{
|
|
215
|
-
from:
|
|
218
|
+
from: path_1.default.join(srcRootPath, options.useDevMode
|
|
216
219
|
? 'metro.devMode.config.js'
|
|
217
220
|
: 'metro.config.js'),
|
|
218
221
|
to: 'metro.config.js',
|
|
219
222
|
},
|
|
220
223
|
{
|
|
221
|
-
from:
|
|
222
|
-
to:
|
|
224
|
+
from: path_1.default.join(srcRootPath, '_gitignore'),
|
|
225
|
+
to: path_1.default.join(windowsDir, '.gitignore'),
|
|
223
226
|
},
|
|
224
227
|
{
|
|
225
|
-
from:
|
|
226
|
-
to:
|
|
228
|
+
from: path_1.default.join(srcRootPath, 'b_gitignore'),
|
|
229
|
+
to: path_1.default.join(windowsDir, newProjectName, '.gitignore'),
|
|
227
230
|
},
|
|
228
231
|
{
|
|
229
|
-
from:
|
|
230
|
-
to:
|
|
232
|
+
from: path_1.default.join(srcRootPath, 'index.windows.bundle'),
|
|
233
|
+
to: path_1.default.join(windowsDir, newProjectName, bundleDir, 'index.windows.bundle'),
|
|
231
234
|
},
|
|
232
235
|
{
|
|
233
|
-
from:
|
|
234
|
-
to:
|
|
236
|
+
from: path_1.default.join(srcPath, projDir, 'MyApp.sln'),
|
|
237
|
+
to: path_1.default.join(windowsDir, newProjectName + '.sln'),
|
|
235
238
|
},
|
|
236
239
|
]
|
|
237
240
|
: [
|
|
238
241
|
// lib common mappings
|
|
239
242
|
{
|
|
240
|
-
from:
|
|
241
|
-
to:
|
|
243
|
+
from: path_1.default.join(srcRootPath, '_gitignore'),
|
|
244
|
+
to: path_1.default.join(windowsDir, '.gitignore'),
|
|
242
245
|
},
|
|
243
246
|
{
|
|
244
|
-
from:
|
|
245
|
-
to:
|
|
247
|
+
from: path_1.default.join(srcPath, projDir, 'MyLib.sln'),
|
|
248
|
+
to: path_1.default.join(windowsDir, newProjectName + '.sln'),
|
|
246
249
|
},
|
|
247
250
|
];
|
|
248
251
|
for (const mapping of commonMappings) {
|
|
@@ -253,15 +256,15 @@ async function copyProjectTemplateAndReplace(srcRootPath, destPath, newProjectNa
|
|
|
253
256
|
? [
|
|
254
257
|
// cs app mappings
|
|
255
258
|
{
|
|
256
|
-
from:
|
|
257
|
-
to:
|
|
259
|
+
from: path_1.default.join(srcPath, projDir, 'MyApp.csproj'),
|
|
260
|
+
to: path_1.default.join(windowsDir, newProjectName, newProjectName + '.csproj'),
|
|
258
261
|
},
|
|
259
262
|
]
|
|
260
263
|
: [
|
|
261
264
|
// cs lib mappings
|
|
262
265
|
{
|
|
263
|
-
from:
|
|
264
|
-
to:
|
|
266
|
+
from: path_1.default.join(srcPath, projDir, 'MyLib.csproj'),
|
|
267
|
+
to: path_1.default.join(windowsDir, newProjectName, newProjectName + '.csproj'),
|
|
265
268
|
},
|
|
266
269
|
];
|
|
267
270
|
for (const mapping of csMappings) {
|
|
@@ -273,35 +276,35 @@ async function copyProjectTemplateAndReplace(srcRootPath, destPath, newProjectNa
|
|
|
273
276
|
? [
|
|
274
277
|
// cpp app mappings
|
|
275
278
|
{
|
|
276
|
-
from:
|
|
277
|
-
to:
|
|
279
|
+
from: path_1.default.join(srcPath, projDir, 'MyApp.vcxproj'),
|
|
280
|
+
to: path_1.default.join(windowsDir, newProjectName, newProjectName + '.vcxproj'),
|
|
278
281
|
},
|
|
279
282
|
{
|
|
280
|
-
from:
|
|
281
|
-
to:
|
|
283
|
+
from: path_1.default.join(srcPath, projDir, 'MyApp.vcxproj.filters'),
|
|
284
|
+
to: path_1.default.join(windowsDir, newProjectName, newProjectName + '.vcxproj.filters'),
|
|
282
285
|
},
|
|
283
286
|
{
|
|
284
|
-
from:
|
|
285
|
-
to:
|
|
287
|
+
from: path_1.default.join(srcPath, projDir, 'packages.config'),
|
|
288
|
+
to: path_1.default.join(windowsDir, newProjectName, 'packages.config'),
|
|
286
289
|
},
|
|
287
290
|
]
|
|
288
291
|
: [
|
|
289
292
|
// cpp lib mappings
|
|
290
293
|
{
|
|
291
|
-
from:
|
|
292
|
-
to:
|
|
294
|
+
from: path_1.default.join(srcPath, projDir, 'MyLib.vcxproj'),
|
|
295
|
+
to: path_1.default.join(windowsDir, newProjectName, newProjectName + '.vcxproj'),
|
|
293
296
|
},
|
|
294
297
|
{
|
|
295
|
-
from:
|
|
296
|
-
to:
|
|
298
|
+
from: path_1.default.join(srcPath, projDir, 'MyLib.vcxproj.filters'),
|
|
299
|
+
to: path_1.default.join(windowsDir, newProjectName, newProjectName + '.vcxproj.filters'),
|
|
297
300
|
},
|
|
298
301
|
{
|
|
299
|
-
from:
|
|
300
|
-
to:
|
|
302
|
+
from: path_1.default.join(srcPath, projDir, 'MyLib.def'),
|
|
303
|
+
to: path_1.default.join(windowsDir, newProjectName, newProjectName + '.def'),
|
|
301
304
|
},
|
|
302
305
|
{
|
|
303
|
-
from:
|
|
304
|
-
to:
|
|
306
|
+
from: path_1.default.join(srcPath, projDir, 'packages.config'),
|
|
307
|
+
to: path_1.default.join(windowsDir, newProjectName, 'packages.config'),
|
|
305
308
|
},
|
|
306
309
|
];
|
|
307
310
|
for (const mapping of cppMappings) {
|
|
@@ -309,16 +312,16 @@ async function copyProjectTemplateAndReplace(srcRootPath, destPath, newProjectNa
|
|
|
309
312
|
}
|
|
310
313
|
}
|
|
311
314
|
// shared proj
|
|
312
|
-
if (
|
|
315
|
+
if (fs_1.default.existsSync(path_1.default.join(sharedPath, projDir))) {
|
|
313
316
|
const sharedProjMappings = [];
|
|
314
317
|
sharedProjMappings.push({
|
|
315
|
-
from:
|
|
316
|
-
to:
|
|
318
|
+
from: path_1.default.join(sharedPath, projDir, 'NuGet.Config'),
|
|
319
|
+
to: path_1.default.join(windowsDir, 'NuGet.Config'),
|
|
317
320
|
});
|
|
318
|
-
if (
|
|
321
|
+
if (fs_1.default.existsSync(path_1.default.join(sharedPath, projDir, 'ExperimentalFeatures.props'))) {
|
|
319
322
|
sharedProjMappings.push({
|
|
320
|
-
from:
|
|
321
|
-
to:
|
|
323
|
+
from: path_1.default.join(sharedPath, projDir, 'ExperimentalFeatures.props'),
|
|
324
|
+
to: path_1.default.join(windowsDir, 'ExperimentalFeatures.props'),
|
|
322
325
|
});
|
|
323
326
|
}
|
|
324
327
|
for (const mapping of sharedProjMappings) {
|
|
@@ -326,20 +329,20 @@ async function copyProjectTemplateAndReplace(srcRootPath, destPath, newProjectNa
|
|
|
326
329
|
}
|
|
327
330
|
}
|
|
328
331
|
// shared assets
|
|
329
|
-
if (
|
|
330
|
-
await generator_common_1.copyAndReplaceAll(
|
|
332
|
+
if (fs_1.default.existsSync(path_1.default.join(sharedPath, 'assets'))) {
|
|
333
|
+
await generator_common_1.copyAndReplaceAll(path_1.default.join(sharedPath, 'assets'), destPath, path_1.default.join(windowsDir, newProjectName, 'Assets'), templateVars, options.overwrite);
|
|
331
334
|
}
|
|
332
335
|
// shared src
|
|
333
|
-
if (
|
|
334
|
-
await generator_common_1.copyAndReplaceAll(
|
|
336
|
+
if (fs_1.default.existsSync(path_1.default.join(sharedPath, 'src'))) {
|
|
337
|
+
await generator_common_1.copyAndReplaceAll(path_1.default.join(sharedPath, 'src'), destPath, path_1.default.join(windowsDir, newProjectName), templateVars, options.overwrite);
|
|
335
338
|
}
|
|
336
339
|
// src
|
|
337
|
-
if (
|
|
338
|
-
await generator_common_1.copyAndReplaceAll(
|
|
340
|
+
if (fs_1.default.existsSync(path_1.default.join(srcPath, 'src'))) {
|
|
341
|
+
await generator_common_1.copyAndReplaceAll(path_1.default.join(srcPath, 'src'), destPath, path_1.default.join(windowsDir, newProjectName), templateVars, options.overwrite);
|
|
339
342
|
}
|
|
340
343
|
if (projectType === 'app') {
|
|
341
|
-
console.log(
|
|
342
|
-
console.log(
|
|
344
|
+
console.log(chalk_1.default.white.bold('To run your app on UWP:'));
|
|
345
|
+
console.log(chalk_1.default.white(' npx react-native run-windows'));
|
|
343
346
|
}
|
|
344
347
|
}
|
|
345
348
|
exports.copyProjectTemplateAndReplace = copyProjectTemplateAndReplace;
|
|
@@ -363,17 +366,32 @@ async function installScriptsAndDependencies(options) {
|
|
|
363
366
|
if (!rnPackage) {
|
|
364
367
|
throw new Error('Could not locate the package for react-native');
|
|
365
368
|
}
|
|
369
|
+
// We add an exclusionList from metro config. This will be hoisted, but add
|
|
370
|
+
// an explict dep because we require it directly.
|
|
371
|
+
const cliPackage = await package_utils_1.findPackage('@react-native-community/cli', {
|
|
372
|
+
searchPath: rnPackage.path,
|
|
373
|
+
});
|
|
374
|
+
const metroConfigPackage = await package_utils_1.findPackage('metro-config', {
|
|
375
|
+
searchPath: (cliPackage === null || cliPackage === void 0 ? void 0 : cliPackage.path) || rnPackage.path,
|
|
376
|
+
});
|
|
377
|
+
if (metroConfigPackage) {
|
|
378
|
+
await projectPackage.mergeProps({
|
|
379
|
+
devDependencies: {
|
|
380
|
+
'metro-config': `^${metroConfigPackage.json.version}`,
|
|
381
|
+
},
|
|
382
|
+
});
|
|
383
|
+
}
|
|
366
384
|
const rnPeerDependency = rnwPackage.json.peerDependencies['react-native'];
|
|
367
|
-
if (!
|
|
368
|
-
console.log(
|
|
369
|
-
console.log(
|
|
385
|
+
if (!semver_1.default.satisfies(rnPackage.json.version, rnPeerDependency) && ((_a = projectPackage.json.dependencies) === null || _a === void 0 ? void 0 : _a['react-native'])) {
|
|
386
|
+
console.log(chalk_1.default.green('Installing a compatible version of react-native:'));
|
|
387
|
+
console.log(chalk_1.default.white(` ${rnPeerDependency}`));
|
|
370
388
|
// Patch package.json to have proper react-native version and install
|
|
371
389
|
await projectPackage.mergeProps({
|
|
372
390
|
dependencies: { 'react-native': rnPeerDependency },
|
|
373
391
|
});
|
|
374
392
|
// Install dependencies using correct package manager
|
|
375
|
-
const isYarn =
|
|
376
|
-
|
|
393
|
+
const isYarn = fs_1.default.existsSync(path_1.default.join(process.cwd(), 'yarn.lock'));
|
|
394
|
+
child_process_1.default.execSync(isYarn ? 'yarn' : 'npm i', options.verbose ? { stdio: 'inherit' } : {});
|
|
377
395
|
}
|
|
378
396
|
}
|
|
379
397
|
exports.installScriptsAndDependencies = installScriptsAndDependencies;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator-windows/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator-windows/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n * @format\n */\n\nimport chalk from 'chalk';\nimport path from 'path';\nimport username from 'username';\nimport uuid from 'uuid';\nimport childProcess from 'child_process';\nimport fs from 'fs';\nimport os from 'os';\nimport semver from 'semver';\nimport _ from 'lodash';\nimport findUp from 'find-up';\nimport {readProjectFile, findPropertyValue} from '../config/configUtils';\n\nimport {\n createDir,\n copyAndReplaceAll,\n copyAndReplaceWithChangedCallback,\n} from '../generator-common';\nimport {GenerateOptions} from '..';\nimport {CodedError} from '@react-native-windows/telemetry';\nimport {\n findPackage,\n WritableNpmPackage,\n} from '@react-native-windows/package-utils';\n\nconst windowsDir = 'windows';\nconst bundleDir = 'Bundle';\n\nasync function generateCertificate(\n srcPath: string,\n destPath: string,\n newProjectName: string,\n currentUser: string,\n): Promise<string | null> {\n console.log('Generating self-signed certificate...');\n if (os.platform() === 'win32') {\n try {\n const thumbprint = childProcess\n .execSync(\n `powershell -NoProfile -Command \"Write-Output (New-SelfSignedCertificate -KeyUsage DigitalSignature -KeyExportPolicy Exportable -Subject 'CN=${currentUser}' -TextExtension @('2.5.29.37={text}1.3.6.1.5.5.7.3.3', '2.5.29.19={text}Subject Type:End Entity') -CertStoreLocation 'Cert:\\\\CurrentUser\\\\My').Thumbprint\"`,\n )\n .toString()\n .trim();\n if (!fs.existsSync(path.join(windowsDir, newProjectName))) {\n fs.mkdirSync(path.join(windowsDir, newProjectName));\n }\n childProcess.execSync(\n `powershell -NoProfile -Command \"$pwd = (ConvertTo-SecureString -String password -Force -AsPlainText); Export-PfxCertificate -Cert 'cert:\\\\CurrentUser\\\\My\\\\${thumbprint}' -FilePath ${path.join(\n windowsDir,\n newProjectName,\n newProjectName,\n )}_TemporaryKey.pfx -Password $pwd\"`,\n );\n console.log(\n chalk.green('Self-signed certificate generated successfully.'),\n );\n return thumbprint;\n } catch (err) {\n console.log(\n chalk.yellow('Unable to generate the self-signed certificate:'),\n );\n console.log(chalk.red(err));\n }\n }\n\n console.log(\n chalk.yellow('Using Default Certificate. Use Visual Studio to renew it.'),\n );\n await copyAndReplaceWithChangedCallback(\n path.join(srcPath, 'keys', 'MyApp_TemporaryKey.pfx'),\n destPath,\n path.join(windowsDir, newProjectName, newProjectName + '_TemporaryKey.pfx'),\n );\n\n return null;\n}\n\n/**\n * This represents the data to insert nuget packages\n */\ninterface NugetPackage {\n id: string;\n version: string;\n}\n\n/**\n * This represents the data to insert nuget packages with Cpp specific information\n */\ninterface CppNugetPackage extends NugetPackage {\n propsTopOfFile?: boolean;\n propsMiddleOfFile?: boolean;\n hasProps: boolean;\n hasTargets: boolean;\n}\n\nfunction pascalCase(str: string) {\n const camelCase = _.camelCase(str);\n return camelCase[0].toUpperCase() + camelCase.substr(1);\n}\n\nfunction resolveRnwPath(subpath: string): string {\n return require.resolve(path.join('react-native-windows', subpath), {\n paths: [process.cwd()],\n });\n}\n\n// Existing high cyclomatic complexity\n// eslint-disable-next-line complexity\nexport async function copyProjectTemplateAndReplace(\n srcRootPath: string,\n destPath: string,\n newProjectName: string,\n namespace: string,\n options: GenerateOptions,\n) {\n if (!srcRootPath) {\n throw new CodedError(\n 'CopyProjectTemplateNoSourcePath',\n 'Need a path to copy from',\n );\n }\n\n if (!destPath) {\n throw new CodedError(\n 'CopyProjectTemplateNoDestPath',\n 'Need a path to copy to',\n );\n }\n\n if (!newProjectName) {\n throw new CodedError(\n 'CopyProjectTemplateNoProjectName',\n 'Need a project name',\n );\n }\n\n const projectType = options.projectType;\n\n // React-native init only allows alphanumerics in project names, but other\n // new project tools (like create-react-native-module) are less strict.\n if (projectType === 'lib') {\n newProjectName = pascalCase(newProjectName);\n }\n\n // Similar to the above, but we want to retain namespace separators\n if (projectType === 'lib') {\n namespace = namespace\n .split(/[.:]+/)\n .map(pascalCase)\n .join('.');\n }\n\n createDir(path.join(destPath, windowsDir));\n createDir(path.join(destPath, windowsDir, newProjectName));\n\n if (projectType === 'app') {\n createDir(path.join(destPath, windowsDir, newProjectName, bundleDir));\n createDir(path.join(destPath, windowsDir, newProjectName, 'BundleBuilder'));\n }\n\n const language = options.language;\n const namespaceCpp = toCppNamespace(namespace);\n if (options.experimentalNuGetDependency) {\n console.log('Using experimental NuGet dependency.');\n }\n if (options.useWinUI3) {\n console.log('Using experimental WinUI3 dependency.');\n }\n const projDir = 'proj';\n const srcPath = path.join(srcRootPath, `${language}-${projectType}`);\n const sharedPath = path.join(srcRootPath, `shared-${projectType}`);\n const projectGuid = uuid.v4();\n const rnwVersion = require(resolveRnwPath('package.json')).version;\n const nugetVersion = options.nuGetTestVersion || rnwVersion;\n const packageGuid = uuid.v4();\n const currentUser = username.sync()!; // Gets the current username depending on the platform.\n\n let mainComponentName = newProjectName;\n const appJsonPath = await findUp('app.json', {cwd: destPath});\n if (appJsonPath) {\n mainComponentName = JSON.parse(fs.readFileSync(appJsonPath, 'utf8')).name;\n }\n\n const certificateThumbprint =\n projectType === 'app'\n ? await generateCertificate(\n srcPath,\n destPath,\n newProjectName,\n currentUser,\n )\n : null;\n\n const xamlNamespace = options.useWinUI3\n ? 'Microsoft.UI.Xaml'\n : 'Windows.UI.Xaml';\n const xamlNamespaceCpp = toCppNamespace(xamlNamespace);\n\n const winuiPropsPath = resolveRnwPath('PropertySheets/WinUI.props');\n const winuiProps = readProjectFile(winuiPropsPath);\n const winui3Version = findPropertyValue(\n winuiProps,\n 'WinUI3Version',\n winuiPropsPath,\n );\n const winui2xVersion = findPropertyValue(\n winuiProps,\n 'WinUI2xVersion',\n winuiPropsPath,\n );\n\n const jsEnginePropsPath = resolveRnwPath('PropertySheets/JSengine.props');\n const hermesVersion = findPropertyValue(\n readProjectFile(jsEnginePropsPath),\n 'HermesVersion',\n jsEnginePropsPath,\n );\n\n const csNugetPackages: NugetPackage[] = [\n {\n id: 'Microsoft.NETCore.UniversalWindowsPlatform',\n version: '6.2.9',\n },\n {\n id: 'ReactNative.Hermes.Windows',\n version: hermesVersion,\n },\n ];\n\n const cppNugetPackages: CppNugetPackage[] = [\n {\n id: 'Microsoft.Windows.CppWinRT',\n version: '2.0.210312.4',\n propsTopOfFile: true,\n hasProps: true,\n hasTargets: true,\n },\n {\n id: 'ReactNative.Hermes.Windows',\n version: hermesVersion,\n hasProps: false,\n hasTargets: true,\n },\n ];\n\n if (options.experimentalNuGetDependency) {\n csNugetPackages.push({\n id: 'Microsoft.ReactNative.Managed',\n version: nugetVersion,\n });\n\n cppNugetPackages.push({\n id: 'Microsoft.ReactNative',\n version: nugetVersion,\n hasProps: false,\n hasTargets: true,\n });\n\n cppNugetPackages.push({\n id: 'Microsoft.ReactNative.Cxx',\n version: nugetVersion,\n hasProps: false,\n hasTargets: true,\n });\n }\n\n const packagesConfigCppNugetPackages = [\n ...cppNugetPackages,\n {\n id: options.useWinUI3 ? 'Microsoft.WinUI' : 'Microsoft.UI.Xaml',\n version: options.useWinUI3 ? winui3Version : winui2xVersion,\n hasProps: false, // WinUI/MUX props and targets get handled by RNW's WinUI.props.\n hasTargets: false,\n },\n ];\n\n const templateVars: Record<string, any> = {\n useMustache: true,\n regExpPatternsToRemove: [],\n\n name: newProjectName,\n namespace: namespace,\n namespaceCpp: namespaceCpp,\n languageIsCpp: language === 'cpp',\n\n mainComponentName: mainComponentName,\n\n // Visual Studio is very picky about the casing of the guids for projects, project references and the solution\n // https://www.bing.com/search?q=visual+studio+project+guid+casing&cvid=311a5ad7f9fc41089507b24600d23ee7&FORM=ANAB01&PC=U531\n // we therefore have to precariously use the right casing in the right place or risk building in VS breaking.\n projectGuidLower: `{${projectGuid.toLowerCase()}}`,\n projectGuidUpper: `{${projectGuid.toUpperCase()}}`,\n\n // packaging and signing variables:\n packageGuid: packageGuid,\n currentUser: currentUser,\n certificateThumbprint: certificateThumbprint,\n\n useExperimentalNuget: options.experimentalNuGetDependency,\n nuGetTestFeed: options.nuGetTestFeed,\n\n // cpp template variables\n useWinUI3: options.useWinUI3,\n useHermes: options.useHermes,\n xamlNamespace: xamlNamespace,\n xamlNamespaceCpp: xamlNamespaceCpp,\n cppNugetPackages: cppNugetPackages,\n packagesConfigCppNugetPackages: packagesConfigCppNugetPackages,\n\n // cs template variables\n csNugetPackages: csNugetPackages,\n\n // autolinking template variables\n autolinkPropertiesForProps: '',\n autolinkProjectReferencesForTargets: '',\n autolinkCsUsingNamespaces: '',\n autolinkCsReactPackageProviders: '',\n autolinkCppIncludes: '',\n autolinkCppPackageProviders:\n '\\n UNREFERENCED_PARAMETER(packageProviders);', // CODESYNC: vnext\\local-cli\\runWindows\\utils\\autolink.js\n };\n\n const commonMappings =\n projectType === 'app'\n ? [\n // app common mappings\n {\n from: path.join(\n srcRootPath,\n options.useDevMode\n ? 'metro.devMode.config.js'\n : 'metro.config.js',\n ),\n to: 'metro.config.js',\n },\n {\n from: path.join(srcRootPath, '_gitignore'),\n to: path.join(windowsDir, '.gitignore'),\n },\n {\n from: path.join(srcRootPath, 'b_gitignore'),\n to: path.join(windowsDir, newProjectName, '.gitignore'),\n },\n {\n from: path.join(srcRootPath, 'index.windows.bundle'),\n to: path.join(\n windowsDir,\n newProjectName,\n bundleDir,\n 'index.windows.bundle',\n ),\n },\n {\n from: path.join(srcPath, projDir, 'MyApp.sln'),\n to: path.join(windowsDir, newProjectName + '.sln'),\n },\n ]\n : [\n // lib common mappings\n {\n from: path.join(srcRootPath, '_gitignore'),\n to: path.join(windowsDir, '.gitignore'),\n },\n {\n from: path.join(srcPath, projDir, 'MyLib.sln'),\n to: path.join(windowsDir, newProjectName + '.sln'),\n },\n ];\n\n for (const mapping of commonMappings) {\n await copyAndReplaceWithChangedCallback(\n mapping.from,\n destPath,\n mapping.to,\n templateVars,\n options.overwrite,\n );\n }\n\n if (language === 'cs') {\n const csMappings =\n projectType === 'app'\n ? [\n // cs app mappings\n {\n from: path.join(srcPath, projDir, 'MyApp.csproj'),\n to: path.join(\n windowsDir,\n newProjectName,\n newProjectName + '.csproj',\n ),\n },\n ]\n : [\n // cs lib mappings\n {\n from: path.join(srcPath, projDir, 'MyLib.csproj'),\n to: path.join(\n windowsDir,\n newProjectName,\n newProjectName + '.csproj',\n ),\n },\n ];\n\n for (const mapping of csMappings) {\n await copyAndReplaceWithChangedCallback(\n mapping.from,\n destPath,\n mapping.to,\n templateVars,\n options.overwrite,\n );\n }\n } else {\n const cppMappings =\n projectType === 'app'\n ? [\n // cpp app mappings\n {\n from: path.join(srcPath, projDir, 'MyApp.vcxproj'),\n to: path.join(\n windowsDir,\n newProjectName,\n newProjectName + '.vcxproj',\n ),\n },\n {\n from: path.join(srcPath, projDir, 'MyApp.vcxproj.filters'),\n to: path.join(\n windowsDir,\n newProjectName,\n newProjectName + '.vcxproj.filters',\n ),\n },\n {\n from: path.join(srcPath, projDir, 'packages.config'),\n to: path.join(windowsDir, newProjectName, 'packages.config'),\n },\n ]\n : [\n // cpp lib mappings\n {\n from: path.join(srcPath, projDir, 'MyLib.vcxproj'),\n to: path.join(\n windowsDir,\n newProjectName,\n newProjectName + '.vcxproj',\n ),\n },\n {\n from: path.join(srcPath, projDir, 'MyLib.vcxproj.filters'),\n to: path.join(\n windowsDir,\n newProjectName,\n newProjectName + '.vcxproj.filters',\n ),\n },\n {\n from: path.join(srcPath, projDir, 'MyLib.def'),\n to: path.join(\n windowsDir,\n newProjectName,\n newProjectName + '.def',\n ),\n },\n {\n from: path.join(srcPath, projDir, 'packages.config'),\n to: path.join(windowsDir, newProjectName, 'packages.config'),\n },\n ];\n\n for (const mapping of cppMappings) {\n await copyAndReplaceWithChangedCallback(\n mapping.from,\n destPath,\n mapping.to,\n templateVars,\n options.overwrite,\n );\n }\n }\n\n // shared proj\n if (fs.existsSync(path.join(sharedPath, projDir))) {\n const sharedProjMappings = [];\n\n sharedProjMappings.push({\n from: path.join(sharedPath, projDir, 'NuGet.Config'),\n to: path.join(windowsDir, 'NuGet.Config'),\n });\n\n if (\n fs.existsSync(\n path.join(sharedPath, projDir, 'ExperimentalFeatures.props'),\n )\n ) {\n sharedProjMappings.push({\n from: path.join(sharedPath, projDir, 'ExperimentalFeatures.props'),\n to: path.join(windowsDir, 'ExperimentalFeatures.props'),\n });\n }\n\n for (const mapping of sharedProjMappings) {\n await copyAndReplaceWithChangedCallback(\n mapping.from,\n destPath,\n mapping.to,\n templateVars,\n options.overwrite,\n );\n }\n }\n\n // shared assets\n if (fs.existsSync(path.join(sharedPath, 'assets'))) {\n await copyAndReplaceAll(\n path.join(sharedPath, 'assets'),\n destPath,\n path.join(windowsDir, newProjectName, 'Assets'),\n templateVars,\n options.overwrite,\n );\n }\n\n // shared src\n if (fs.existsSync(path.join(sharedPath, 'src'))) {\n await copyAndReplaceAll(\n path.join(sharedPath, 'src'),\n destPath,\n path.join(windowsDir, newProjectName),\n templateVars,\n options.overwrite,\n );\n }\n\n // src\n if (fs.existsSync(path.join(srcPath, 'src'))) {\n await copyAndReplaceAll(\n path.join(srcPath, 'src'),\n destPath,\n path.join(windowsDir, newProjectName),\n templateVars,\n options.overwrite,\n );\n }\n\n if (projectType === 'app') {\n console.log(chalk.white.bold('To run your app on UWP:'));\n console.log(chalk.white(' npx react-native run-windows'));\n }\n}\n\nfunction toCppNamespace(namespace: string) {\n return namespace.replace(/\\./g, '::');\n}\n\nexport async function installScriptsAndDependencies(options: {\n verbose: boolean;\n}) {\n const projectPackage = await WritableNpmPackage.fromPath(process.cwd());\n if (!projectPackage) {\n throw new Error(\n `The current directory '${process.cwd()}' is not the root of an npm package`,\n );\n }\n\n await projectPackage.mergeProps({\n scripts: {windows: 'react-native run-windows'},\n });\n\n const rnwPackage = await findPackage('react-native-windows');\n if (!rnwPackage) {\n throw new Error('Could not locate the package for react-native-windows');\n }\n\n const rnPackage = await findPackage('react-native');\n if (!rnPackage) {\n throw new Error('Could not locate the package for react-native');\n }\n\n // We add an exclusionList from metro config. This will be hoisted, but add\n // an explict dep because we require it directly.\n const cliPackage = await findPackage('@react-native-community/cli', {\n searchPath: rnPackage.path,\n });\n const metroConfigPackage = await findPackage('metro-config', {\n searchPath: cliPackage?.path || rnPackage.path,\n });\n\n if (metroConfigPackage) {\n await projectPackage.mergeProps({\n devDependencies: {\n 'metro-config': `^${metroConfigPackage.json.version}`,\n },\n });\n }\n\n const rnPeerDependency = rnwPackage.json.peerDependencies['react-native'];\n\n if (\n !semver.satisfies(rnPackage.json.version, rnPeerDependency) &&\n projectPackage.json.dependencies?.['react-native']\n ) {\n console.log(\n chalk.green('Installing a compatible version of react-native:'),\n );\n console.log(chalk.white(` ${rnPeerDependency}`));\n\n // Patch package.json to have proper react-native version and install\n await projectPackage.mergeProps({\n dependencies: {'react-native': rnPeerDependency},\n });\n\n // Install dependencies using correct package manager\n const isYarn = fs.existsSync(path.join(process.cwd(), 'yarn.lock'));\n childProcess.execSync(\n isYarn ? 'yarn' : 'npm i',\n options.verbose ? {stdio: 'inherit'} : {},\n );\n }\n}\n"]}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.getHealthChecks = void 0;
|
|
4
|
-
const
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
5
8
|
const child_process_1 = require("child_process");
|
|
6
|
-
const
|
|
9
|
+
const rnDir = path_1.default.dirname(require.resolve('react-native/package.json', { paths: [process.cwd()] }));
|
|
10
|
+
const cliDir = path_1.default.dirname(require.resolve('@react-native-community/cli/package.json', { paths: [rnDir] }));
|
|
7
11
|
const execaPath = require.resolve('execa', { paths: [cliDir] });
|
|
8
12
|
const execa = require(execaPath);
|
|
9
13
|
function getHealthChecks() {
|
|
@@ -11,7 +15,7 @@ function getHealthChecks() {
|
|
|
11
15
|
if (process.platform !== 'win32') {
|
|
12
16
|
return undefined;
|
|
13
17
|
}
|
|
14
|
-
const rnwDepScriptPath =
|
|
18
|
+
const rnwDepScriptPath = path_1.default.join(path_1.default.dirname(require.resolve('react-native-windows/package.json', { paths: [process.cwd()] })), 'Scripts/rnw-dependencies.ps1');
|
|
15
19
|
const rnwDeps = child_process_1.execSync(`powershell -ExecutionPolicy Unrestricted -NoProfile ${rnwDepScriptPath} -NoPrompt -ListChecks`);
|
|
16
20
|
const deps = rnwDeps.toString().trim().split('\n');
|
|
17
21
|
return [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"healthChecks.js","sourceRoot":"","sources":["../src/healthChecks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"healthChecks.js","sourceRoot":"","sources":["../src/healthChecks.ts"],"names":[],"mappings":"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","sourcesContent":["import path from 'path';\n\nimport { execSync} from 'child_process';\n\nconst rnDir = path.dirname(require.resolve('react-native/package.json', {paths: [process.cwd()]}));\nconst cliDir = path.dirname(require.resolve('@react-native-community/cli/package.json', {paths: [rnDir]}));\nconst execaPath = require.resolve('execa', { paths: [cliDir] });\nconst execa = require(execaPath);\n\nimport type {HealthCheckCategory} from '@react-native-community/cli-types';\n\nexport function getHealthChecks(): HealthCheckCategory[] | undefined {\n// All our health checks are windows only...\n if (process.platform !== 'win32') {\n return undefined;\n }\n\n const rnwDepScriptPath = path.join(path.dirname(require.resolve(\n 'react-native-windows/package.json',\n {paths: [process.cwd()]})), 'Scripts/rnw-dependencies.ps1');\n \n const rnwDeps = execSync(`powershell -ExecutionPolicy Unrestricted -NoProfile ${rnwDepScriptPath} -NoPrompt -ListChecks`);\n const deps = rnwDeps.toString().trim().split('\\n');\n return [\n {\n label: 'Windows',\n healthchecks:\n deps.map(dep => {\n const match = /([^:]+): ([^:]+): (.*)/.exec(dep);\n if (!match) {\n throw new Error(`Unexpected output from ${rnwDepScriptPath}`);\n }\n const [, /*optional*/, id, name] = match;\n return {\n label: name,\n // The schema check of react-native doctor requires this to be a string, although it should be a boolean\n // Enable this once we pick up a new version of the CLI that includes https://github.com/react-native-community/cli/pull/1367\n // isRequired: (optional.trim() === 'Required') ? true : false, \n getDiagnostics: async () => {\n let needsToBeFixed = true;\n try {\n await execa(`powershell -ExecutionPolicy Unrestricted -NoProfile ${rnwDepScriptPath} -NoPrompt -Check ${id}`);\n needsToBeFixed = false;\n } catch {\n }\n return {\n needsToBeFixed,\n }\n },\n runAutomaticFix: async ({ loader, logManualInstallation }) => {\n const command = `powershell -ExecutionPolicy Unrestricted -NoProfile ${rnwDepScriptPath} -Check ${id}`;\n try {\n const { exitCode } = await execa(command, { stdio: 'inherit' });\n if (exitCode) {\n logManualInstallation({ command, healthcheck: `react-native-windows dependency \"${id}\"` });\n loader.fail();\n } else {\n loader.succeed();\n }\n } catch {\n logManualInstallation({ command, healthcheck: `react-native-windows dependency \"${id}\"` });\n loader.fail();\n }\n }\n }\n })\n }];\n }"]}
|
package/lib-commonjs/index.js
CHANGED
|
@@ -14,10 +14,13 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
14
14
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
15
15
|
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
|
|
16
16
|
};
|
|
17
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
18
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
19
|
+
};
|
|
17
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
21
|
exports.projectConfig = exports.dependencyConfig = exports.commands = exports.generateWindows = void 0;
|
|
19
|
-
const
|
|
20
|
-
const
|
|
22
|
+
const fs_1 = __importDefault(require("fs"));
|
|
23
|
+
const path_1 = __importDefault(require("path"));
|
|
21
24
|
const telemetry_1 = require("@react-native-windows/telemetry");
|
|
22
25
|
const generator_windows_1 = require("./generator-windows");
|
|
23
26
|
const autolink_1 = require("./runWindows/utils/autolink");
|
|
@@ -48,14 +51,14 @@ function scrubOptions(opt) {
|
|
|
48
51
|
async function generateWindows(projectDir, name, ns, options) {
|
|
49
52
|
let error;
|
|
50
53
|
try {
|
|
51
|
-
if (!
|
|
52
|
-
|
|
54
|
+
if (!fs_1.default.existsSync(projectDir)) {
|
|
55
|
+
fs_1.default.mkdirSync(projectDir);
|
|
53
56
|
}
|
|
54
57
|
await generator_windows_1.installScriptsAndDependencies(options);
|
|
55
|
-
const rnwPackage =
|
|
58
|
+
const rnwPackage = path_1.default.dirname(require.resolve('react-native-windows/package.json', {
|
|
56
59
|
paths: [projectDir],
|
|
57
60
|
}));
|
|
58
|
-
const templateRoot =
|
|
61
|
+
const templateRoot = path_1.default.join(rnwPackage, 'template');
|
|
59
62
|
await generator_windows_1.copyProjectTemplateAndReplace(templateRoot, projectDir, name, ns, options);
|
|
60
63
|
}
|
|
61
64
|
catch (e) {
|
|
@@ -69,7 +72,7 @@ async function generateWindows(projectDir, name, ns, options) {
|
|
|
69
72
|
let cliVersion = '';
|
|
70
73
|
try {
|
|
71
74
|
const cwd = process.cwd();
|
|
72
|
-
const rnwPkg = JSON.parse(
|
|
75
|
+
const rnwPkg = JSON.parse(fs_1.default
|
|
73
76
|
.readFileSync(require.resolve('react-native-windows/package.json', {
|
|
74
77
|
paths: [cwd],
|
|
75
78
|
}))
|
|
@@ -82,7 +85,12 @@ async function generateWindows(projectDir, name, ns, options) {
|
|
|
82
85
|
const optScrubbed = scrubOptions(options);
|
|
83
86
|
telemetry_1.Telemetry.client.trackEvent({
|
|
84
87
|
name: 'generate-windows',
|
|
85
|
-
properties:
|
|
88
|
+
properties: {
|
|
89
|
+
error: error,
|
|
90
|
+
...optScrubbed,
|
|
91
|
+
'react-native': rnVersion,
|
|
92
|
+
'cli-version': cliVersion,
|
|
93
|
+
},
|
|
86
94
|
});
|
|
87
95
|
telemetry_1.Telemetry.client.flush();
|
|
88
96
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n * @format\n */\n\nimport fs from 'fs';\nimport path from 'path';\nimport {Telemetry} from '@react-native-windows/telemetry';\n\nimport {\n copyProjectTemplateAndReplace,\n installScriptsAndDependencies,\n} from './generator-windows';\n\nimport {autoLinkCommand} from './runWindows/utils/autolink';\nimport {runWindowsCommand} from './runWindows/runWindows';\nimport {dependencyConfigWindows} from './config/dependencyConfig';\nimport {projectConfigWindows} from './config/projectConfig';\n\n/**\n * Project generation options\n *\n * _\n * | |\n * __| | __ _ _ __ __ _ ___ _ __\n * / _` |/ _` | '_ \\ / _` |/ _ \\ '__|\n * | (_| | (_| | | | | (_| | __/ |\n * \\__,_|\\__,_|_| |_|\\__, |\\___|_|\n * __/ |\n * |___/\n *\n *\n * Properties on this interface must remain stable, as new versions of\n * react-native-windows-init may be used with local-cli dating back to 0.61.\n * All existing arguments must work correctly when changing this interface.\n */\nexport interface GenerateOptions {\n overwrite: boolean;\n language: 'cpp' | 'cs';\n projectType: 'app' | 'lib';\n experimentalNuGetDependency: boolean;\n nuGetTestVersion?: string;\n nuGetTestFeed?: string;\n useWinUI3: boolean;\n useHermes: boolean;\n useDevMode: boolean;\n verbose: boolean;\n telemetry: boolean;\n}\n\nfunction scrubOptions(opt: GenerateOptions) {\n return {\n overwrite: opt.overwrite,\n language: opt.language,\n projectType: opt.projectType,\n experimentalNuGetDependency: opt.experimentalNuGetDependency,\n nuGetTestFeed: opt.nuGetTestFeed !== undefined ? true : false,\n nuGetTestVersion: opt.nuGetTestVersion !== undefined ? true : false,\n useWinUI3: opt.useWinUI3,\n useHermes: opt.useHermes,\n verbose: opt.verbose,\n };\n}\n\n/**\n * Simple utility for running the Windows generator.\n *\n * @param projectDir root project directory (i.e. contains index.js)\n * @param name name of the root JS module for this app\n * @param ns namespace for the project\n * @param options command line options container\n */\nexport async function generateWindows(\n projectDir: string,\n name: string,\n ns: string,\n options: GenerateOptions,\n) {\n let error;\n try {\n if (!fs.existsSync(projectDir)) {\n fs.mkdirSync(projectDir);\n }\n\n await installScriptsAndDependencies(options);\n\n const rnwPackage = path.dirname(\n require.resolve('react-native-windows/package.json', {\n paths: [projectDir],\n }),\n );\n const templateRoot = path.join(rnwPackage, 'template');\n await copyProjectTemplateAndReplace(\n templateRoot,\n projectDir,\n name,\n ns,\n options,\n );\n } catch (e) {\n error = e;\n Telemetry.trackException(error);\n throw e;\n } finally {\n if (Telemetry.client) {\n let rnVersion = '';\n let cliVersion = '';\n try {\n const cwd = process.cwd();\n const rnwPkg = JSON.parse(\n fs\n .readFileSync(\n require.resolve('react-native-windows/package.json', {\n paths: [cwd],\n }),\n )\n .toString(),\n );\n rnVersion = rnwPkg.peerDependencies['react-native'] || '';\n const rnwCliPkgJson = require('../package.json');\n cliVersion = rnwCliPkgJson.version;\n } catch {}\n const optScrubbed = scrubOptions(options);\n Telemetry.client.trackEvent({\n name: 'generate-windows',\n properties: {\n error: error,\n ...optScrubbed,\n 'react-native': rnVersion,\n 'cli-version': cliVersion,\n },\n });\n\n Telemetry.client.flush();\n }\n }\n}\n\n// Assert the interface here doesn't change for the reasons above\nconst assertStableInterface: typeof generateWindows extends (\n projectDir: string,\n name: string,\n ns: string,\n options: GenerateOptions,\n) => Promise<void>\n ? true\n : never = true;\nassertStableInterface;\n\nexport const commands = [autoLinkCommand, runWindowsCommand];\nexport const dependencyConfig = dependencyConfigWindows;\nexport const projectConfig = projectConfigWindows;\nexport * from './healthChecks';\n"]}
|