@react-native-windows/cli 0.73.1 → 0.74.0-preview.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.
Files changed (76) hide show
  1. package/lib-commonjs/commands/autolinkWindows/autolinkWindows.d.ts +87 -87
  2. package/lib-commonjs/commands/autolinkWindows/autolinkWindows.js +654 -654
  3. package/lib-commonjs/commands/autolinkWindows/autolinkWindowsOptions.d.ts +14 -14
  4. package/lib-commonjs/commands/autolinkWindows/autolinkWindowsOptions.js +32 -32
  5. package/lib-commonjs/commands/codegenWindows/codegenWindows.d.ts +27 -27
  6. package/lib-commonjs/commands/codegenWindows/codegenWindows.js +205 -205
  7. package/lib-commonjs/commands/codegenWindows/codegenWindowsOptions.d.ts +12 -12
  8. package/lib-commonjs/commands/codegenWindows/codegenWindowsOptions.js +22 -22
  9. package/lib-commonjs/commands/config/configUtils.d.ts +123 -123
  10. package/lib-commonjs/commands/config/configUtils.js +380 -380
  11. package/lib-commonjs/commands/config/dependencyConfig.d.ts +37 -37
  12. package/lib-commonjs/commands/config/dependencyConfig.js +227 -227
  13. package/lib-commonjs/commands/config/projectConfig.d.ts +27 -27
  14. package/lib-commonjs/commands/config/projectConfig.js +180 -180
  15. package/lib-commonjs/commands/healthCheck/healthCheckList.d.ts +6 -6
  16. package/lib-commonjs/commands/healthCheck/healthCheckList.js +20 -20
  17. package/lib-commonjs/commands/healthCheck/healthCheckList.js.map +1 -1
  18. package/lib-commonjs/commands/healthCheck/healthChecks.d.ts +7 -7
  19. package/lib-commonjs/commands/healthCheck/healthChecks.js +123 -123
  20. package/lib-commonjs/commands/initWindows/initWindows.d.ts +46 -46
  21. package/lib-commonjs/commands/initWindows/initWindows.js +243 -243
  22. package/lib-commonjs/commands/initWindows/initWindowsOptions.d.ts +15 -15
  23. package/lib-commonjs/commands/initWindows/initWindowsOptions.js +37 -37
  24. package/lib-commonjs/commands/runWindows/runWindows.d.ts +10 -10
  25. package/lib-commonjs/commands/runWindows/runWindows.js +321 -321
  26. package/lib-commonjs/commands/runWindows/runWindowsOptions.d.ts +56 -56
  27. package/lib-commonjs/commands/runWindows/runWindowsOptions.js +132 -132
  28. package/lib-commonjs/e2etest/autolink.test.d.ts +6 -6
  29. package/lib-commonjs/e2etest/autolink.test.js +366 -366
  30. package/lib-commonjs/e2etest/dependencyConfig.test.d.ts +6 -6
  31. package/lib-commonjs/e2etest/dependencyConfig.test.js +129 -129
  32. package/lib-commonjs/e2etest/healthChecks.test.d.ts +6 -6
  33. package/lib-commonjs/e2etest/healthChecks.test.js +30 -30
  34. package/lib-commonjs/e2etest/initWindows.test.d.ts +6 -6
  35. package/lib-commonjs/e2etest/initWindows.test.js +42 -42
  36. package/lib-commonjs/e2etest/projectConfig.test.d.ts +6 -6
  37. package/lib-commonjs/e2etest/projectConfig.test.js +110 -110
  38. package/lib-commonjs/e2etest/projectConfig.utils.d.ts +8 -8
  39. package/lib-commonjs/e2etest/projectConfig.utils.js +76 -76
  40. package/lib-commonjs/e2etest/runWindows.test.d.ts +6 -6
  41. package/lib-commonjs/e2etest/runWindows.test.js +60 -60
  42. package/lib-commonjs/e2etest/typesUpToDate.test.d.ts +6 -0
  43. package/lib-commonjs/e2etest/typesUpToDate.test.js +21 -0
  44. package/lib-commonjs/e2etest/typesUpToDate.test.js.map +1 -0
  45. package/lib-commonjs/generator-common/index.d.ts +39 -39
  46. package/lib-commonjs/generator-common/index.js +242 -242
  47. package/lib-commonjs/generator-windows/index.d.ts +10 -10
  48. package/lib-commonjs/generator-windows/index.js +316 -316
  49. package/lib-commonjs/index.d.ts +50 -50
  50. package/lib-commonjs/index.js +77 -77
  51. package/lib-commonjs/utils/build.d.ts +12 -12
  52. package/lib-commonjs/utils/build.js +84 -84
  53. package/lib-commonjs/utils/checkRequirements.d.ts +6 -6
  54. package/lib-commonjs/utils/checkRequirements.js +69 -69
  55. package/lib-commonjs/utils/commandWithProgress.d.ts +21 -21
  56. package/lib-commonjs/utils/commandWithProgress.js +149 -149
  57. package/lib-commonjs/utils/deploy.d.ts +12 -12
  58. package/lib-commonjs/utils/deploy.js +353 -353
  59. package/lib-commonjs/utils/info.d.ts +6 -6
  60. package/lib-commonjs/utils/info.js +28 -28
  61. package/lib-commonjs/utils/msbuildtools.d.ts +28 -28
  62. package/lib-commonjs/utils/msbuildtools.js +273 -273
  63. package/lib-commonjs/utils/msbuildtools.js.map +1 -1
  64. package/lib-commonjs/utils/pathHelpers.d.ts +9 -9
  65. package/lib-commonjs/utils/pathHelpers.js +36 -36
  66. package/lib-commonjs/utils/telemetryHelpers.d.ts +29 -29
  67. package/lib-commonjs/utils/telemetryHelpers.js +120 -120
  68. package/lib-commonjs/utils/version.d.ts +19 -19
  69. package/lib-commonjs/utils/version.js +109 -109
  70. package/lib-commonjs/utils/vsInstalls.d.ts +34 -34
  71. package/lib-commonjs/utils/vsInstalls.js +99 -99
  72. package/lib-commonjs/utils/vstools.d.ts +16 -16
  73. package/lib-commonjs/utils/vstools.js +189 -189
  74. package/lib-commonjs/utils/winappdeploytool.d.ts +24 -24
  75. package/lib-commonjs/utils/winappdeploytool.js +108 -108
  76. package/package.json +16 -16
@@ -1,111 +1,111 @@
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 fs_1 = __importDefault(require("@react-native-windows/fs"));
12
- const path_1 = __importDefault(require("path"));
13
- const projectConfig_1 = require("../commands/config/projectConfig");
14
- const autolinkWindows_1 = require("../commands/autolinkWindows/autolinkWindows");
15
- const projectConfig_utils_1 = require("./projectConfig.utils");
16
- function project(name, setup) {
17
- return [name, setup];
18
- }
19
- const projects = [
20
- // Nothing but a react-native.config.js, with nulls
21
- project('BlankApp'),
22
- // Nothing but a windows folder
23
- project('MissingProjectFilesApp', async (folder) => {
24
- const windowsDir = path_1.default.join(folder, 'windows');
25
- await (0, projectConfig_utils_1.tryMkdir)(windowsDir);
26
- }),
27
- // New C++ project based on the template
28
- project('SimpleCppApp', async (folder) => {
29
- await (0, projectConfig_utils_1.ensureCppAppProject)(folder, 'SimpleCppApp');
30
- }),
31
- // New C# project based on the template
32
- project('SimpleCSharpApp', async (folder) => {
33
- await (0, projectConfig_utils_1.ensureCSharpAppProject)(folder, 'SimpleCSharpApp');
34
- }),
35
- project('WithWinUI3', async (folder) => {
36
- await (0, projectConfig_utils_1.ensureWinUI3Project)(folder);
37
- }),
38
- project('WithHermes', async (folder) => {
39
- await (0, projectConfig_utils_1.ensureHermesProject)(folder);
40
- }),
41
- project('WithExperimentalNuget', async (folder) => {
42
- await (0, projectConfig_utils_1.ensureExperimentalNuGetProject)(folder);
43
- }),
44
- project('WithIndirectDependency'),
45
- ];
46
- // Tests that given userConfig is null, the result will always be null
47
- test.each(projects)('projectConfig - %s (userConfig is null)', async (name, setup) => {
48
- const folder = path_1.default.resolve('src/e2etest/projects/', name);
49
- if (setup !== undefined) {
50
- await setup(folder);
51
- }
52
- const userConfig = null;
53
- expect((0, projectConfig_1.projectConfigWindows)(folder, userConfig)).toBeNull();
54
- });
55
- // Tests the result given a windows project config in react-native.config.js
56
- test.each(projects)('projectConfig - %s (Use react-native.config.js)', async (name, setup) => {
57
- const folder = path_1.default.resolve('src/e2etest/projects/', name);
58
- const rnc = require(path_1.default.join(folder, 'react-native.config.js'));
59
- if (setup !== undefined) {
60
- await setup(folder);
61
- }
62
- const userConfig = rnc.project.windows;
63
- if (name === 'BlankApp') {
64
- expect((0, projectConfig_1.projectConfigWindows)(folder, userConfig)).toMatchSnapshot();
65
- }
66
- else {
67
- expect((0, projectConfig_1.projectConfigWindows)(folder, userConfig)).toMatchSnapshot({
68
- folder: expect.stringContaining(name),
69
- });
70
- }
71
- });
72
- // Tests the result of ignoring the windows project config in react-native.config.js
73
- test.each(projects)('projectConfig - %s (Ignore react-native.config.js)', async (name, setup) => {
74
- const folder = path_1.default.resolve('src/e2etest/projects/', name);
75
- if (setup !== undefined) {
76
- await setup(folder);
77
- }
78
- const userConfig = {};
79
- if (name === 'BlankApp') {
80
- expect((0, projectConfig_1.projectConfigWindows)(folder, userConfig)).toMatchSnapshot();
81
- }
82
- else {
83
- expect((0, projectConfig_1.projectConfigWindows)(folder, userConfig)).toMatchSnapshot({
84
- folder: expect.stringContaining(name),
85
- });
86
- }
87
- });
88
- test('useWinUI3=true in react-native.config.js, UseWinUI3=false in ExperimentalFeatures.props', async () => {
89
- const folder = path_1.default.resolve('src/e2etest/projects/WithWinUI3');
90
- // Create project with UseWinUI3 == false in ExperimentalFeatures.props
91
- await (0, projectConfig_utils_1.ensureCppAppProject)(folder, 'WithWinUI3', false, false, false);
92
- const rnc = require(path_1.default.join(folder, 'react-native.config.js'));
93
- const config = (0, projectConfig_1.projectConfigWindows)(folder, rnc.project.windows);
94
- // Set useWinUI3=true in react-native.config.js
95
- config.useWinUI3 = true;
96
- const experimentalFeaturesPropsFile = path_1.default.join(folder, 'windows/ExperimentalFeatures.props');
97
- // Verify starting props file
98
- const startingExperimentalFeatures = (await fs_1.default.readFile(experimentalFeaturesPropsFile)).toString();
99
- expect(startingExperimentalFeatures.replace(/\r/g, '')).toMatchSnapshot();
100
- // Run Autolink to sync the files
101
- const al = new autolinkWindows_1.AutoLinkWindows({ windows: config }, {}, {
102
- check: false,
103
- logging: false,
104
- });
105
- const exd = await al.ensureXAMLDialect();
106
- expect(exd).toBeTruthy();
107
- // Verify ending props file
108
- const finalExperimentalFeatures = (await fs_1.default.readFile(experimentalFeaturesPropsFile)).toString();
109
- expect(finalExperimentalFeatures.replace(/\r/g, '')).toMatchSnapshot();
110
- });
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 fs_1 = __importDefault(require("@react-native-windows/fs"));
12
+ const path_1 = __importDefault(require("path"));
13
+ const projectConfig_1 = require("../commands/config/projectConfig");
14
+ const autolinkWindows_1 = require("../commands/autolinkWindows/autolinkWindows");
15
+ const projectConfig_utils_1 = require("./projectConfig.utils");
16
+ function project(name, setup) {
17
+ return [name, setup];
18
+ }
19
+ const projects = [
20
+ // Nothing but a react-native.config.js, with nulls
21
+ project('BlankApp'),
22
+ // Nothing but a windows folder
23
+ project('MissingProjectFilesApp', async (folder) => {
24
+ const windowsDir = path_1.default.join(folder, 'windows');
25
+ await (0, projectConfig_utils_1.tryMkdir)(windowsDir);
26
+ }),
27
+ // New C++ project based on the template
28
+ project('SimpleCppApp', async (folder) => {
29
+ await (0, projectConfig_utils_1.ensureCppAppProject)(folder, 'SimpleCppApp');
30
+ }),
31
+ // New C# project based on the template
32
+ project('SimpleCSharpApp', async (folder) => {
33
+ await (0, projectConfig_utils_1.ensureCSharpAppProject)(folder, 'SimpleCSharpApp');
34
+ }),
35
+ project('WithWinUI3', async (folder) => {
36
+ await (0, projectConfig_utils_1.ensureWinUI3Project)(folder);
37
+ }),
38
+ project('WithHermes', async (folder) => {
39
+ await (0, projectConfig_utils_1.ensureHermesProject)(folder);
40
+ }),
41
+ project('WithExperimentalNuget', async (folder) => {
42
+ await (0, projectConfig_utils_1.ensureExperimentalNuGetProject)(folder);
43
+ }),
44
+ project('WithIndirectDependency'),
45
+ ];
46
+ // Tests that given userConfig is null, the result will always be null
47
+ test.each(projects)('projectConfig - %s (userConfig is null)', async (name, setup) => {
48
+ const folder = path_1.default.resolve('src/e2etest/projects/', name);
49
+ if (setup !== undefined) {
50
+ await setup(folder);
51
+ }
52
+ const userConfig = null;
53
+ expect((0, projectConfig_1.projectConfigWindows)(folder, userConfig)).toBeNull();
54
+ });
55
+ // Tests the result given a windows project config in react-native.config.js
56
+ test.each(projects)('projectConfig - %s (Use react-native.config.js)', async (name, setup) => {
57
+ const folder = path_1.default.resolve('src/e2etest/projects/', name);
58
+ const rnc = require(path_1.default.join(folder, 'react-native.config.js'));
59
+ if (setup !== undefined) {
60
+ await setup(folder);
61
+ }
62
+ const userConfig = rnc.project.windows;
63
+ if (name === 'BlankApp') {
64
+ expect((0, projectConfig_1.projectConfigWindows)(folder, userConfig)).toMatchSnapshot();
65
+ }
66
+ else {
67
+ expect((0, projectConfig_1.projectConfigWindows)(folder, userConfig)).toMatchSnapshot({
68
+ folder: expect.stringContaining(name),
69
+ });
70
+ }
71
+ });
72
+ // Tests the result of ignoring the windows project config in react-native.config.js
73
+ test.each(projects)('projectConfig - %s (Ignore react-native.config.js)', async (name, setup) => {
74
+ const folder = path_1.default.resolve('src/e2etest/projects/', name);
75
+ if (setup !== undefined) {
76
+ await setup(folder);
77
+ }
78
+ const userConfig = {};
79
+ if (name === 'BlankApp') {
80
+ expect((0, projectConfig_1.projectConfigWindows)(folder, userConfig)).toMatchSnapshot();
81
+ }
82
+ else {
83
+ expect((0, projectConfig_1.projectConfigWindows)(folder, userConfig)).toMatchSnapshot({
84
+ folder: expect.stringContaining(name),
85
+ });
86
+ }
87
+ });
88
+ test('useWinUI3=true in react-native.config.js, UseWinUI3=false in ExperimentalFeatures.props', async () => {
89
+ const folder = path_1.default.resolve('src/e2etest/projects/WithWinUI3');
90
+ // Create project with UseWinUI3 == false in ExperimentalFeatures.props
91
+ await (0, projectConfig_utils_1.ensureCppAppProject)(folder, 'WithWinUI3', false, false, false);
92
+ const rnc = require(path_1.default.join(folder, 'react-native.config.js'));
93
+ const config = (0, projectConfig_1.projectConfigWindows)(folder, rnc.project.windows);
94
+ // Set useWinUI3=true in react-native.config.js
95
+ config.useWinUI3 = true;
96
+ const experimentalFeaturesPropsFile = path_1.default.join(folder, 'windows/ExperimentalFeatures.props');
97
+ // Verify starting props file
98
+ const startingExperimentalFeatures = (await fs_1.default.readFile(experimentalFeaturesPropsFile)).toString();
99
+ expect(startingExperimentalFeatures.replace(/\r/g, '')).toMatchSnapshot();
100
+ // Run Autolink to sync the files
101
+ const al = new autolinkWindows_1.AutoLinkWindows({ windows: config }, {}, {
102
+ check: false,
103
+ logging: false,
104
+ });
105
+ const exd = await al.ensureXAMLDialect();
106
+ expect(exd).toBeTruthy();
107
+ // Verify ending props file
108
+ const finalExperimentalFeatures = (await fs_1.default.readFile(experimentalFeaturesPropsFile)).toString();
109
+ expect(finalExperimentalFeatures.replace(/\r/g, '')).toMatchSnapshot();
110
+ });
111
111
  //# sourceMappingURL=projectConfig.test.js.map
@@ -1,8 +1,8 @@
1
- export declare const templateRoot: string;
2
- export declare const testProjectGuid = "{416476D5-974A-4EE2-8145-4E331297247E}";
3
- export declare function tryMkdir(dir: string): Promise<void>;
4
- export declare function ensureCppAppProject(folder: string, name: string, useWinUI3?: boolean, useHermes?: boolean, useExperimentalNuget?: boolean): Promise<void>;
5
- export declare function ensureCSharpAppProject(folder: string, name: string, useWinUI3?: boolean, useHermes?: boolean, useExperimentalNuget?: boolean): Promise<void>;
6
- export declare function ensureWinUI3Project(folder: string): Promise<void>;
7
- export declare function ensureHermesProject(folder: string): Promise<void>;
8
- export declare function ensureExperimentalNuGetProject(folder: string): Promise<void>;
1
+ export declare const templateRoot: string;
2
+ export declare const testProjectGuid = "{416476D5-974A-4EE2-8145-4E331297247E}";
3
+ export declare function tryMkdir(dir: string): Promise<void>;
4
+ export declare function ensureCppAppProject(folder: string, name: string, useWinUI3?: boolean, useHermes?: boolean, useExperimentalNuget?: boolean): Promise<void>;
5
+ export declare function ensureCSharpAppProject(folder: string, name: string, useWinUI3?: boolean, useHermes?: boolean, useExperimentalNuget?: boolean): Promise<void>;
6
+ export declare function ensureWinUI3Project(folder: string): Promise<void>;
7
+ export declare function ensureHermesProject(folder: string): Promise<void>;
8
+ export declare function ensureExperimentalNuGetProject(folder: string): Promise<void>;
@@ -1,77 +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;
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
77
  //# sourceMappingURL=projectConfig.utils.js.map
@@ -1,6 +1,6 @@
1
- /**
2
- * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Licensed under the MIT License.
4
- * @format
5
- */
6
- export {};
1
+ /**
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ * @format
5
+ */
6
+ export {};
@@ -1,61 +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
- });
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
61
  //# sourceMappingURL=runWindows.test.js.map
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ * @format
5
+ */
6
+ export {};
@@ -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"]}