@react-native-windows/cli 0.0.0-canary.26 → 0.0.0-canary.261
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 +117 -0
- package/lib-commonjs/commands/autolinkWindows/autolinkWindows.d.ts +88 -0
- package/lib-commonjs/commands/autolinkWindows/autolinkWindows.js +705 -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 +211 -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 +141 -93
- package/lib-commonjs/commands/config/configUtils.js +423 -0
- package/lib-commonjs/commands/config/configUtils.js.map +1 -0
- package/lib-commonjs/{config → commands/config}/dependencyConfig.d.ts +38 -37
- package/lib-commonjs/commands/config/dependencyConfig.js +230 -0
- package/lib-commonjs/commands/config/dependencyConfig.js.map +1 -0
- package/lib-commonjs/{config → commands/config}/projectConfig.d.ts +28 -24
- package/lib-commonjs/commands/config/projectConfig.js +191 -0
- 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 +275 -0
- package/lib-commonjs/commands/initWindows/initWindows.js.map +1 -0
- package/lib-commonjs/commands/initWindows/initWindowsOptions.d.ts +16 -0
- package/lib-commonjs/commands/initWindows/initWindowsOptions.js +42 -0
- package/lib-commonjs/commands/initWindows/initWindowsOptions.js.map +1 -0
- package/lib-commonjs/{runWindows → commands/runWindows}/runWindows.d.ts +10 -10
- 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 +56 -52
- package/lib-commonjs/{runWindows → commands/runWindows}/runWindowsOptions.js +132 -131
- 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 +110 -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 +112 -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/e2etest/typesUpToDate.test.d.ts +6 -0
- package/lib-commonjs/e2etest/typesUpToDate.test.js +21 -0
- package/lib-commonjs/e2etest/typesUpToDate.test.js.map +1 -0
- package/lib-commonjs/generator-common/index.d.ts +39 -23
- package/lib-commonjs/generator-common/index.js +242 -221
- package/lib-commonjs/generator-common/index.js.map +1 -1
- package/lib-commonjs/generator-windows/index.d.ts +10 -10
- package/lib-commonjs/generator-windows/index.js +341 -364
- package/lib-commonjs/generator-windows/index.js.map +1 -1
- package/lib-commonjs/index.d.ts +50 -47
- package/lib-commonjs/index.js +77 -39
- package/lib-commonjs/index.js.map +1 -1
- package/lib-commonjs/{runWindows/utils → utils}/build.d.ts +12 -13
- package/lib-commonjs/{runWindows/utils → utils}/build.js +89 -91
- package/lib-commonjs/utils/build.js.map +1 -0
- package/lib-commonjs/{runWindows/utils → utils}/checkRequirements.d.ts +6 -6
- package/lib-commonjs/{runWindows/utils → utils}/checkRequirements.js +69 -65
- package/lib-commonjs/utils/checkRequirements.js.map +1 -0
- package/lib-commonjs/{runWindows/utils → utils}/commandWithProgress.d.ts +21 -13
- package/lib-commonjs/{runWindows/utils → utils}/commandWithProgress.js +149 -113
- package/lib-commonjs/utils/commandWithProgress.js.map +1 -0
- package/lib-commonjs/{runWindows/utils → utils}/deploy.d.ts +12 -12
- package/lib-commonjs/utils/deploy.js +354 -0
- package/lib-commonjs/utils/deploy.js.map +1 -0
- package/lib-commonjs/{runWindows/utils → utils}/info.d.ts +6 -6
- package/lib-commonjs/{runWindows/utils → utils}/info.js +28 -25
- package/lib-commonjs/utils/info.js.map +1 -0
- package/lib-commonjs/utils/msbuildtools.d.ts +28 -0
- package/lib-commonjs/utils/msbuildtools.js +281 -0
- package/lib-commonjs/utils/msbuildtools.js.map +1 -0
- package/lib-commonjs/utils/nameHelpers.d.ts +9 -0
- package/lib-commonjs/utils/nameHelpers.js +46 -0
- package/lib-commonjs/utils/nameHelpers.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 +19 -19
- package/lib-commonjs/{runWindows/utils → utils}/version.js +109 -109
- package/lib-commonjs/utils/version.js.map +1 -0
- package/lib-commonjs/{runWindows/utils → utils}/vsInstalls.d.ts +34 -34
- package/lib-commonjs/utils/vsInstalls.js +102 -0
- package/lib-commonjs/utils/vsInstalls.js.map +1 -0
- package/lib-commonjs/{runWindows/utils → utils}/vstools.d.ts +16 -15
- 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 +24 -24
- package/lib-commonjs/{runWindows/utils → utils}/winappdeploytool.js +108 -105
- package/lib-commonjs/utils/winappdeploytool.js.map +1 -0
- package/package.json +49 -31
- package/{powershell → src/powershell}/Add-AppDevPackage.ps1 +2 -2
- package/src/powershell/Eval-MsBuildProperties.ps1 +156 -0
- package/{powershell → src/powershell}/WindowsStoreAppUtils.ps1 +10 -0
- package/CHANGELOG.json +0 -413
- package/CHANGELOG.md +0 -200
- package/lib-commonjs/config/configUtils.js +0 -253
- package/lib-commonjs/config/configUtils.js.map +0 -1
- package/lib-commonjs/config/dependencyConfig.js +0 -167
- package/lib-commonjs/config/dependencyConfig.js.map +0 -1
- package/lib-commonjs/config/projectConfig.js +0 -121
- package/lib-commonjs/config/projectConfig.js.map +0 -1
- package/lib-commonjs/runWindows/runWindows.js +0 -159
- 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 -353
- 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.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 -195
- 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 -70
- package/lib-commonjs/runWindows/utils/vsInstalls.js.map +0 -1
- package/lib-commonjs/runWindows/utils/vstools.js +0 -150
- package/lib-commonjs/runWindows/utils/vstools.js.map +0 -1
- package/lib-commonjs/runWindows/utils/winappdeploytool.js.map +0 -1
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ensureExperimentalNuGetProject = exports.ensureHermesProject = exports.ensureWinUI3Project = exports.ensureCSharpAppProject = exports.ensureCppAppProject = exports.tryMkdir = exports.testProjectGuid = exports.templateRoot = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("@react-native-windows/fs"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const generator_common_1 = require("../generator-common");
|
|
10
|
+
exports.templateRoot = path_1.default.resolve('../../../vnext/template');
|
|
11
|
+
exports.testProjectGuid = '{416476D5-974A-4EE2-8145-4E331297247E}';
|
|
12
|
+
async function tryMkdir(dir) {
|
|
13
|
+
try {
|
|
14
|
+
await fs_1.default.mkdir(dir, { recursive: true });
|
|
15
|
+
}
|
|
16
|
+
catch (err) { }
|
|
17
|
+
}
|
|
18
|
+
exports.tryMkdir = tryMkdir;
|
|
19
|
+
async function ensureCppAppProject(folder, name, useWinUI3, useHermes, useExperimentalNuget) {
|
|
20
|
+
const windowsDir = path_1.default.join(folder, 'windows');
|
|
21
|
+
if (fs_1.default.existsSync(windowsDir)) {
|
|
22
|
+
await fs_1.default.rmdir(windowsDir, { recursive: true });
|
|
23
|
+
}
|
|
24
|
+
await tryMkdir(windowsDir);
|
|
25
|
+
const replacements = {
|
|
26
|
+
name,
|
|
27
|
+
namespace: name,
|
|
28
|
+
useMustache: true,
|
|
29
|
+
projectGuidUpper: exports.testProjectGuid,
|
|
30
|
+
projectGuidLower: exports.testProjectGuid.toLowerCase(),
|
|
31
|
+
useWinUI3: !!useWinUI3,
|
|
32
|
+
useHermes: !!useHermes,
|
|
33
|
+
useExperimentalNuget: !!useExperimentalNuget,
|
|
34
|
+
};
|
|
35
|
+
await (0, generator_common_1.copyAndReplace)(path_1.default.join(exports.templateRoot, 'cpp-app/proj/MyApp.sln'), path_1.default.join(windowsDir, `${name}.sln`), replacements, null);
|
|
36
|
+
const projDir = path_1.default.join(windowsDir, name);
|
|
37
|
+
await tryMkdir(projDir);
|
|
38
|
+
await (0, generator_common_1.copyAndReplace)(path_1.default.join(exports.templateRoot, 'cpp-app/proj/MyApp.vcxproj'), path_1.default.join(projDir, `${name}.vcxproj`), replacements, null);
|
|
39
|
+
await (0, generator_common_1.copyAndReplace)(path_1.default.join(exports.templateRoot, 'shared-app/proj/ExperimentalFeatures.props'), path_1.default.join(windowsDir, 'ExperimentalFeatures.props'), replacements, null);
|
|
40
|
+
}
|
|
41
|
+
exports.ensureCppAppProject = ensureCppAppProject;
|
|
42
|
+
async function ensureCSharpAppProject(folder, name, useWinUI3, useHermes, useExperimentalNuget) {
|
|
43
|
+
const windowsDir = path_1.default.join(folder, 'windows');
|
|
44
|
+
if (fs_1.default.existsSync(windowsDir)) {
|
|
45
|
+
await fs_1.default.rmdir(windowsDir, { recursive: true });
|
|
46
|
+
}
|
|
47
|
+
await tryMkdir(windowsDir);
|
|
48
|
+
const replacements = {
|
|
49
|
+
name,
|
|
50
|
+
namespace: name,
|
|
51
|
+
useMustache: true,
|
|
52
|
+
projectGuidUpper: exports.testProjectGuid,
|
|
53
|
+
projectGuidLower: exports.testProjectGuid.toLowerCase(),
|
|
54
|
+
useWinUI3: !!useWinUI3,
|
|
55
|
+
useHermes: !!useHermes,
|
|
56
|
+
useExperimentalNuget: !!useExperimentalNuget,
|
|
57
|
+
};
|
|
58
|
+
await (0, generator_common_1.copyAndReplace)(path_1.default.join(exports.templateRoot, 'cs-app/proj/MyApp.sln'), path_1.default.join(windowsDir, `${name}.sln`), replacements, null);
|
|
59
|
+
const projDir = path_1.default.join(windowsDir, name);
|
|
60
|
+
await tryMkdir(projDir);
|
|
61
|
+
await (0, generator_common_1.copyAndReplace)(path_1.default.join(exports.templateRoot, 'cs-app/proj/MyApp.csproj'), path_1.default.join(projDir, `${name}.csproj`), replacements, null);
|
|
62
|
+
await (0, generator_common_1.copyAndReplace)(path_1.default.join(exports.templateRoot, 'shared-app/proj/ExperimentalFeatures.props'), path_1.default.join(windowsDir, 'ExperimentalFeatures.props'), replacements, null);
|
|
63
|
+
}
|
|
64
|
+
exports.ensureCSharpAppProject = ensureCSharpAppProject;
|
|
65
|
+
async function ensureWinUI3Project(folder) {
|
|
66
|
+
await ensureCppAppProject(folder, 'WithWinUI3', true, false, false);
|
|
67
|
+
}
|
|
68
|
+
exports.ensureWinUI3Project = ensureWinUI3Project;
|
|
69
|
+
async function ensureHermesProject(folder) {
|
|
70
|
+
await ensureCppAppProject(folder, 'WithHermes', false, true, false);
|
|
71
|
+
}
|
|
72
|
+
exports.ensureHermesProject = ensureHermesProject;
|
|
73
|
+
async function ensureExperimentalNuGetProject(folder) {
|
|
74
|
+
await ensureCppAppProject(folder, 'WithExperimentalNuGet', false, false, true);
|
|
75
|
+
}
|
|
76
|
+
exports.ensureExperimentalNuGetProject = ensureExperimentalNuGetProject;
|
|
77
|
+
//# sourceMappingURL=projectConfig.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectConfig.utils.js","sourceRoot":"","sources":["../../src/e2etest/projectConfig.utils.ts"],"names":[],"mappings":";;;;;;AAAA,kEAAyC;AACzC,gDAAwB;AACxB,0DAAqD;AAExC,QAAA,YAAY,GAAG,cAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAEvD,QAAA,eAAe,GAAG,wCAAwC,CAAC;AAEjE,KAAK,UAAU,QAAQ,CAAC,GAAW;IACxC,IAAI;QACF,MAAM,YAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;KACxC;IAAC,OAAO,GAAG,EAAE,GAAE;AAClB,CAAC;AAJD,4BAIC;AAEM,KAAK,UAAU,mBAAmB,CAAC,MAAc,EAAE,IAAY,EAAE,SAAmB,EAAE,SAAmB,EAAE,oBAA8B;IAC9I,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChD,IAAI,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QAC7B,MAAM,YAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;KAC/C;IACD,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC;IAE3B,MAAM,YAAY,GAAG;QACnB,IAAI;QACJ,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,IAAI;QACjB,gBAAgB,EAAE,uBAAe;QACjC,gBAAgB,EAAE,uBAAe,CAAC,WAAW,EAAE;QAC/C,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,oBAAoB,EAAE,CAAC,CAAC,oBAAoB;KAC7C,CAAC;IAEF,MAAM,IAAA,iCAAc,EAClB,cAAI,CAAC,IAAI,CAAC,oBAAY,EAAE,wBAAwB,CAAC,EACjD,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,MAAM,CAAC,EACpC,YAAY,EACZ,IAAI,CACL,CAAC;IAEF,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;IAExB,MAAM,IAAA,iCAAc,EAClB,cAAI,CAAC,IAAI,CAAC,oBAAY,EAAE,4BAA4B,CAAC,EACrD,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,UAAU,CAAC,EACrC,YAAY,EACZ,IAAI,CACL,CAAC;IAEF,MAAM,IAAA,iCAAc,EAClB,cAAI,CAAC,IAAI,CAAC,oBAAY,EAAE,4CAA4C,CAAC,EACrE,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,4BAA4B,CAAC,EACnD,YAAY,EACZ,IAAI,CACL,CAAC;AACJ,CAAC;AAzCD,kDAyCC;AAEM,KAAK,UAAU,sBAAsB,CAAC,MAAc,EAAE,IAAY,EAAE,SAAmB,EAAE,SAAmB,EAAE,oBAA8B;IACjJ,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChD,IAAI,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QAC7B,MAAM,YAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;KAC/C;IACD,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC;IAE3B,MAAM,YAAY,GAAG;QACnB,IAAI;QACJ,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,IAAI;QACjB,gBAAgB,EAAE,uBAAe;QACjC,gBAAgB,EAAE,uBAAe,CAAC,WAAW,EAAE;QAC/C,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,oBAAoB,EAAE,CAAC,CAAC,oBAAoB;KAC7C,CAAC;IAEF,MAAM,IAAA,iCAAc,EAClB,cAAI,CAAC,IAAI,CAAC,oBAAY,EAAE,uBAAuB,CAAC,EAChD,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,MAAM,CAAC,EACpC,YAAY,EACZ,IAAI,CACL,CAAC;IAEF,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;IAExB,MAAM,IAAA,iCAAc,EAClB,cAAI,CAAC,IAAI,CAAC,oBAAY,EAAE,0BAA0B,CAAC,EACnD,cAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,SAAS,CAAC,EACpC,YAAY,EACZ,IAAI,CACL,CAAC;IAEF,MAAM,IAAA,iCAAc,EAClB,cAAI,CAAC,IAAI,CAAC,oBAAY,EAAE,4CAA4C,CAAC,EACrE,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,4BAA4B,CAAC,EACnD,YAAY,EACZ,IAAI,CACL,CAAC;AACJ,CAAC;AAzCD,wDAyCC;AAEM,KAAK,UAAU,mBAAmB,CAAC,MAAc;IACtD,MAAM,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACtE,CAAC;AAFD,kDAEC;AAEM,KAAK,UAAU,mBAAmB,CAAC,MAAc;IACtD,MAAM,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACtE,CAAC;AAFD,kDAEC;AAEM,KAAK,UAAU,8BAA8B,CAAC,MAAc;IACjE,MAAM,mBAAmB,CAAC,MAAM,EAAE,uBAAuB,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AACjF,CAAC;AAFD,wEAEC","sourcesContent":["import fs from '@react-native-windows/fs'\nimport path from 'path';\nimport { copyAndReplace } from '../generator-common';\n\nexport const templateRoot = path.resolve('../../../vnext/template');\n\nexport const testProjectGuid = '{416476D5-974A-4EE2-8145-4E331297247E}';\n\nexport async function tryMkdir(dir: string): Promise<void> {\n try {\n await fs.mkdir(dir, {recursive: true});\n } catch (err) {}\n}\n\nexport async function ensureCppAppProject(folder: string, name: string, useWinUI3?: boolean, useHermes?: boolean, useExperimentalNuget?: boolean) {\n const windowsDir = path.join(folder, 'windows');\n if (fs.existsSync(windowsDir)) {\n await fs.rmdir(windowsDir, {recursive: true});\n }\n await tryMkdir(windowsDir);\n\n const replacements = {\n name,\n namespace: name,\n useMustache: true,\n projectGuidUpper: testProjectGuid,\n projectGuidLower: testProjectGuid.toLowerCase(),\n useWinUI3: !!useWinUI3,\n useHermes: !!useHermes,\n useExperimentalNuget: !!useExperimentalNuget,\n };\n\n await copyAndReplace(\n path.join(templateRoot, 'cpp-app/proj/MyApp.sln'),\n path.join(windowsDir, `${name}.sln`),\n replacements,\n null\n );\n\n const projDir = path.join(windowsDir, name);\n await tryMkdir(projDir);\n\n await copyAndReplace(\n path.join(templateRoot, 'cpp-app/proj/MyApp.vcxproj'),\n path.join(projDir, `${name}.vcxproj`),\n replacements,\n null\n );\n\n await copyAndReplace(\n path.join(templateRoot, 'shared-app/proj/ExperimentalFeatures.props'),\n path.join(windowsDir, 'ExperimentalFeatures.props'),\n replacements,\n null\n );\n}\n\nexport async function ensureCSharpAppProject(folder: string, name: string, useWinUI3?: boolean, useHermes?: boolean, useExperimentalNuget?: boolean) {\n const windowsDir = path.join(folder, 'windows');\n if (fs.existsSync(windowsDir)) {\n await fs.rmdir(windowsDir, {recursive: true});\n }\n await tryMkdir(windowsDir);\n\n const replacements = {\n name,\n namespace: name,\n useMustache: true,\n projectGuidUpper: testProjectGuid,\n projectGuidLower: testProjectGuid.toLowerCase(),\n useWinUI3: !!useWinUI3,\n useHermes: !!useHermes,\n useExperimentalNuget: !!useExperimentalNuget,\n };\n\n await copyAndReplace(\n path.join(templateRoot, 'cs-app/proj/MyApp.sln'),\n path.join(windowsDir, `${name}.sln`),\n replacements,\n null\n );\n\n const projDir = path.join(windowsDir, name);\n await tryMkdir(projDir);\n\n await copyAndReplace(\n path.join(templateRoot, 'cs-app/proj/MyApp.csproj'),\n path.join(projDir, `${name}.csproj`),\n replacements,\n null\n );\n\n await copyAndReplace(\n path.join(templateRoot, 'shared-app/proj/ExperimentalFeatures.props'),\n path.join(windowsDir, 'ExperimentalFeatures.props'),\n replacements,\n null\n );\n}\n\nexport async function ensureWinUI3Project(folder: string) {\n await ensureCppAppProject(folder, 'WithWinUI3', true, false, false);\n}\n\nexport async function ensureHermesProject(folder: string) {\n await ensureCppAppProject(folder, 'WithHermes', false, true, false);\n}\n\nexport async function ensureExperimentalNuGetProject(folder: string) {\n await ensureCppAppProject(folder, 'WithExperimentalNuGet', false, false, true);\n}"]}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
|
+
* Licensed under the MIT License.
|
|
5
|
+
* @format
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
const telemetry_1 = require("@react-native-windows/telemetry");
|
|
9
|
+
const runWindowsOptions_1 = require("../commands/runWindows/runWindowsOptions");
|
|
10
|
+
// eslint-disable-next-line complexity
|
|
11
|
+
function validateOptionName(name, optionName) {
|
|
12
|
+
// Do not add a default case here. Every item must explicitly return true
|
|
13
|
+
switch (optionName) {
|
|
14
|
+
case 'release':
|
|
15
|
+
case 'root':
|
|
16
|
+
case 'arch':
|
|
17
|
+
case 'singleproc':
|
|
18
|
+
case 'emulator':
|
|
19
|
+
case 'device':
|
|
20
|
+
case 'target':
|
|
21
|
+
case 'remoteDebugging':
|
|
22
|
+
case 'logging':
|
|
23
|
+
case 'packager':
|
|
24
|
+
case 'bundle':
|
|
25
|
+
case 'launch':
|
|
26
|
+
case 'autolink':
|
|
27
|
+
case 'build':
|
|
28
|
+
case 'deploy':
|
|
29
|
+
case 'deployFromLayout':
|
|
30
|
+
case 'sln':
|
|
31
|
+
case 'proj':
|
|
32
|
+
case 'msbuildprops':
|
|
33
|
+
case 'buildLogDirectory':
|
|
34
|
+
case 'info':
|
|
35
|
+
case 'directDebugging':
|
|
36
|
+
case 'telemetry':
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
throw new Error(`Unable to find ${optionName} to match '${name}' in RunWindowsOptions.`);
|
|
40
|
+
}
|
|
41
|
+
test('runWindowsOptions - validate options', () => {
|
|
42
|
+
for (const commandOption of runWindowsOptions_1.runWindowsOptions) {
|
|
43
|
+
// Validate names
|
|
44
|
+
expect(commandOption.name).not.toBeNull();
|
|
45
|
+
expect(commandOption.name.startsWith('--')).toBe(true);
|
|
46
|
+
expect(commandOption.name).toBe(commandOption.name.trim());
|
|
47
|
+
// Validate defaults
|
|
48
|
+
if (!commandOption.name.endsWith(' [string]') &&
|
|
49
|
+
!commandOption.name.endsWith(' [number]')) {
|
|
50
|
+
// Commander ignores defaults for flags, so leave undefined to prevent confusion
|
|
51
|
+
expect(commandOption.default).toBeUndefined();
|
|
52
|
+
}
|
|
53
|
+
// Validate description
|
|
54
|
+
expect(commandOption.description).not.toBeNull();
|
|
55
|
+
expect(commandOption.description).toBe(commandOption.description.trim());
|
|
56
|
+
// Validate all command options are present in RunWindowsOptions
|
|
57
|
+
const optionName = (0, telemetry_1.commanderNameToOptionName)(commandOption.name);
|
|
58
|
+
expect(validateOptionName(commandOption.name, optionName)).toBe(true);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=runWindows.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runWindows.test.js","sourceRoot":"","sources":["../../src/e2etest/runWindows.test.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAEH,+DAA0E;AAE1E,gFAGkD;AAElD,sCAAsC;AACtC,SAAS,kBAAkB,CACzB,IAAY,EACZ,UAAmC;IAEnC,yEAAyE;IACzE,QAAQ,UAAU,EAAE;QAClB,KAAK,SAAS,CAAC;QACf,KAAK,MAAM,CAAC;QACZ,KAAK,MAAM,CAAC;QACZ,KAAK,YAAY,CAAC;QAClB,KAAK,UAAU,CAAC;QAChB,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,iBAAiB,CAAC;QACvB,KAAK,SAAS,CAAC;QACf,KAAK,UAAU,CAAC;QAChB,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,kBAAkB,CAAC;QACxB,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,cAAc,CAAC;QACpB,KAAK,mBAAmB,CAAC;QACzB,KAAK,MAAM,CAAC;QACZ,KAAK,iBAAiB,CAAC;QACvB,KAAK,WAAW;YACd,OAAO,IAAI,CAAC;KACf;IACD,MAAM,IAAI,KAAK,CACb,kBAAkB,UAAU,cAAc,IAAI,yBAAyB,CACxE,CAAC;AACJ,CAAC;AAED,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE;IAChD,KAAK,MAAM,aAAa,IAAI,qCAAiB,EAAE;QAC7C,iBAAiB;QACjB,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC1C,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAE3D,oBAAoB;QACpB,IACE,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YACzC,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EACzC;YACA,gFAAgF;YAChF,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,CAAC;SAC/C;QAED,uBAAuB;QACvB,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjD,MAAM,CAAC,aAAa,CAAC,WAAY,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,WAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAE3E,gEAAgE;QAChE,MAAM,UAAU,GAAG,IAAA,qCAAyB,EAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,CACJ,kBAAkB,CAChB,aAAa,CAAC,IAAI,EAClB,UAAqC,CACtC,CACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACd;AACH,CAAC,CAAC,CAAC","sourcesContent":["/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n * @format\n */\n\nimport {commanderNameToOptionName} from '@react-native-windows/telemetry';\n\nimport {\n runWindowsOptions,\n RunWindowsOptions,\n} from '../commands/runWindows/runWindowsOptions';\n\n// eslint-disable-next-line complexity\nfunction validateOptionName(\n name: string,\n optionName: keyof RunWindowsOptions,\n): boolean {\n // Do not add a default case here. Every item must explicitly return true\n switch (optionName) {\n case 'release':\n case 'root':\n case 'arch':\n case 'singleproc':\n case 'emulator':\n case 'device':\n case 'target':\n case 'remoteDebugging':\n case 'logging':\n case 'packager':\n case 'bundle':\n case 'launch':\n case 'autolink':\n case 'build':\n case 'deploy':\n case 'deployFromLayout':\n case 'sln':\n case 'proj':\n case 'msbuildprops':\n case 'buildLogDirectory':\n case 'info':\n case 'directDebugging':\n case 'telemetry':\n return true;\n }\n throw new Error(\n `Unable to find ${optionName} to match '${name}' in RunWindowsOptions.`,\n );\n}\n\ntest('runWindowsOptions - validate options', () => {\n for (const commandOption of runWindowsOptions) {\n // Validate names\n expect(commandOption.name).not.toBeNull();\n expect(commandOption.name.startsWith('--')).toBe(true);\n expect(commandOption.name).toBe(commandOption.name.trim());\n\n // Validate defaults\n if (\n !commandOption.name.endsWith(' [string]') &&\n !commandOption.name.endsWith(' [number]')\n ) {\n // Commander ignores defaults for flags, so leave undefined to prevent confusion\n expect(commandOption.default).toBeUndefined();\n }\n\n // Validate description\n expect(commandOption.description).not.toBeNull();\n expect(commandOption.description!).toBe(commandOption.description!.trim());\n\n // Validate all command options are present in RunWindowsOptions\n const optionName = commanderNameToOptionName(commandOption.name);\n expect(\n validateOptionName(\n commandOption.name,\n optionName as keyof RunWindowsOptions,\n ),\n ).toBe(true);\n }\n});\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
|
+
* Licensed under the MIT License.
|
|
5
|
+
* @format
|
|
6
|
+
*/
|
|
7
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
8
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
9
|
+
};
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
const path_1 = __importDefault(require("path"));
|
|
12
|
+
test('Verify dependencies used for types is updated when cli versions in core update', async () => {
|
|
13
|
+
const rnPath = path_1.default.dirname(require.resolve('react-native/package.json'));
|
|
14
|
+
const rnCliPath = path_1.default.dirname(require.resolve('@react-native-community/cli', { paths: [rnPath] }));
|
|
15
|
+
const pkgJson = require(path_1.default.resolve(__dirname, '../../package.json'));
|
|
16
|
+
const cliDrPkJson = require(require.resolve('@react-native-community/cli-doctor/package.json', { paths: [rnCliPath] }));
|
|
17
|
+
expect(pkgJson.devDependencies['@react-native-community/cli-doctor']).toEqual(cliDrPkJson.version);
|
|
18
|
+
const cliTypesPkJson = require(require.resolve('@react-native-community/cli-types/package.json', { paths: [rnCliPath] }));
|
|
19
|
+
expect(pkgJson.devDependencies['@react-native-community/cli-types']).toEqual(cliTypesPkJson.version);
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=typesUpToDate.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typesUpToDate.test.js","sourceRoot":"","sources":["../../src/e2etest/typesUpToDate.test.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;AAEH,gDAAwB;AAExB,IAAI,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;IAChG,MAAM,MAAM,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAC1E,MAAM,SAAS,GAAG,cAAI,CAAC,OAAO,CAC5B,OAAO,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAC,CAAC,CAClE,CAAC;IACF,MAAM,OAAO,GAAG,OAAO,CAAC,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAEvE,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CACzC,iDAAiD,EACjD,EAAC,KAAK,EAAE,CAAC,SAAS,CAAC,EAAC,CACrB,CAAC,CAAC;IACH,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,oCAAoC,CAAC,CAAC,CAAC,OAAO,CAC3E,WAAW,CAAC,OAAO,CACpB,CAAC;IAEF,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAC5C,gDAAgD,EAChD,EAAC,KAAK,EAAE,CAAC,SAAS,CAAC,EAAC,CACrB,CAAC,CAAC;IACH,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,mCAAmC,CAAC,CAAC,CAAC,OAAO,CAC1E,cAAc,CAAC,OAAO,CACvB,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n * @format\n */\n\nimport path from 'path';\n\ntest('Verify dependencies used for types is updated when cli versions in core update', async () => {\n const rnPath = path.dirname(require.resolve('react-native/package.json'));\n const rnCliPath = path.dirname(\n require.resolve('@react-native-community/cli', {paths: [rnPath]}),\n );\n const pkgJson = require(path.resolve(__dirname, '../../package.json'));\n\n const cliDrPkJson = require(require.resolve(\n '@react-native-community/cli-doctor/package.json',\n {paths: [rnCliPath]},\n ));\n expect(pkgJson.devDependencies['@react-native-community/cli-doctor']).toEqual(\n cliDrPkJson.version,\n );\n\n const cliTypesPkJson = require(require.resolve(\n '@react-native-community/cli-types/package.json',\n {paths: [rnCliPath]},\n ));\n expect(pkgJson.devDependencies['@react-native-community/cli-types']).toEqual(\n cliTypesPkJson.version,\n );\n});\n"]}
|
|
@@ -1,23 +1,39 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Microsoft Corporation.
|
|
3
|
-
* Licensed under the MIT License.
|
|
4
|
-
* @format
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Text to replace, + config options
|
|
8
|
-
*/
|
|
9
|
-
export
|
|
10
|
-
useMustache?: boolean;
|
|
11
|
-
regExpPatternsToRemove?: RegExp[];
|
|
12
|
-
[key: string]: any;
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* Get a source file and replace parts of its contents.
|
|
16
|
-
* @param srcPath Path to the source file.
|
|
17
|
-
* @param replacements e.g. {'TextToBeReplaced': 'Replacement'}
|
|
18
|
-
* @return The contents of the file with the replacements applied.
|
|
19
|
-
*/
|
|
20
|
-
export declare function resolveContents(srcPath: string, replacements: Replacements): string;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Microsoft Corporation.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
* @format
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Text to replace, + config options
|
|
8
|
+
*/
|
|
9
|
+
export type Replacements = {
|
|
10
|
+
useMustache?: boolean;
|
|
11
|
+
regExpPatternsToRemove?: RegExp[];
|
|
12
|
+
[key: string]: any;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Get a source file and replace parts of its contents.
|
|
16
|
+
* @param srcPath Path to the source file.
|
|
17
|
+
* @param replacements e.g. {'TextToBeReplaced': 'Replacement'}
|
|
18
|
+
* @return The contents of the file with the replacements applied.
|
|
19
|
+
*/
|
|
20
|
+
export declare function resolveContents(srcPath: string, replacements: Replacements): string;
|
|
21
|
+
type ContentChangedCallbackOption = 'identical' | 'changed' | 'new' | null;
|
|
22
|
+
type ContentChangedCallback = (path: string, option: ContentChangedCallbackOption) => Promise<'keep' | 'overwrite'>;
|
|
23
|
+
/**
|
|
24
|
+
* Copy a file to given destination, replacing parts of its contents.
|
|
25
|
+
* @param srcPath Path to a file to be copied.
|
|
26
|
+
* @param destPath Destination path.
|
|
27
|
+
* @param replacements: e.g. {'TextToBeReplaced': 'Replacement'}
|
|
28
|
+
* @param contentChangedCallback
|
|
29
|
+
* Used when upgrading projects. Based on if file contents would change
|
|
30
|
+
* when being replaced, allows the caller to specify whether the file
|
|
31
|
+
* should be replaced or not.
|
|
32
|
+
* If null, files will be overwritten.
|
|
33
|
+
* Function(path, 'identical' | 'changed' | 'new') => 'keep' | 'overwrite'
|
|
34
|
+
*/
|
|
35
|
+
export declare function copyAndReplace(srcPath: string, destPath: string, replacements: Replacements, contentChangedCallback: ContentChangedCallback | null): Promise<void>;
|
|
36
|
+
export declare function createDir(destPath: string): void;
|
|
37
|
+
export declare function copyAndReplaceWithChangedCallback(srcPath: string, destRoot: string, relativeDestPath: string, replacements?: Record<string, string>, alwaysOverwrite?: boolean): Promise<void>;
|
|
38
|
+
export declare function copyAndReplaceAll(srcPath: string, destPath: string, relativeDestDir: string, replacements: Replacements, alwaysOverwrite: boolean): Promise<void>;
|
|
39
|
+
export {};
|