@react-native-windows/cli 0.80.0-preview.7 → 0.81.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.
@@ -14,7 +14,7 @@ exports.HealthCheckList = [
14
14
  [true, 'DeveloperMode', 'Developer mode is on'],
15
15
  [true, 'LongPath', 'Long path support is enabled'],
16
16
  [true, 'VSUWP', 'Visual Studio 2022 (>= 17.11.0) & req. components'],
17
- [true, 'Node', 'Node.js (LTS, >= 18.18)'],
17
+ [true, 'Node', 'Node.js (LTS, >= 22.0)'],
18
18
  [true, 'Yarn', 'Yarn'],
19
19
  [true, 'DotNetCore', '.NET SDK (LTS, = 8.0)'],
20
20
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"healthCheckList.js","sourceRoot":"","sources":["../../../src/commands/healthCheck/healthCheckList.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,yHAAyH;AAC5G,QAAA,eAAe,GAAG;IAC7B,CAAC,KAAK,EAAE,WAAW,EAAE,qCAAqC,CAAC;IAC3D,CAAC,KAAK,EAAE,iBAAiB,EAAE,2BAA2B,CAAC;IACvD,CAAC,IAAI,EAAE,gBAAgB,EAAE,iCAAiC,CAAC;IAC3D,CAAC,IAAI,EAAE,eAAe,EAAE,sBAAsB,CAAC;IAC/C,CAAC,IAAI,EAAE,UAAU,EAAE,8BAA8B,CAAC;IAClD,CAAC,IAAI,EAAE,OAAO,EAAE,mDAAmD,CAAC;IACpE,CAAC,IAAI,EAAE,MAAM,EAAE,yBAAyB,CAAC;IACzC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;IACtB,CAAC,IAAI,EAAE,YAAY,EAAE,uBAAuB,CAAC;CAC9C,CAAC","sourcesContent":["/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n * @format\n */\n\n// Store list of health checks here to avoid having to launch PowerShell on every @react-native-community/cli config call\nexport const HealthCheckList = [\n [false, 'FreeSpace', 'Free space on current drive > 15 GB'],\n [false, 'InstalledMemory', 'Installed memory >= 16 GB'],\n [true, 'WindowsVersion', 'Windows version >= 10.0.17763.0'],\n [true, 'DeveloperMode', 'Developer mode is on'],\n [true, 'LongPath', 'Long path support is enabled'],\n [true, 'VSUWP', 'Visual Studio 2022 (>= 17.11.0) & req. components'],\n [true, 'Node', 'Node.js (LTS, >= 18.18)'],\n [true, 'Yarn', 'Yarn'],\n [true, 'DotNetCore', '.NET SDK (LTS, = 8.0)'],\n];\n"]}
1
+ {"version":3,"file":"healthCheckList.js","sourceRoot":"","sources":["../../../src/commands/healthCheck/healthCheckList.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,yHAAyH;AAC5G,QAAA,eAAe,GAAG;IAC7B,CAAC,KAAK,EAAE,WAAW,EAAE,qCAAqC,CAAC;IAC3D,CAAC,KAAK,EAAE,iBAAiB,EAAE,2BAA2B,CAAC;IACvD,CAAC,IAAI,EAAE,gBAAgB,EAAE,iCAAiC,CAAC;IAC3D,CAAC,IAAI,EAAE,eAAe,EAAE,sBAAsB,CAAC;IAC/C,CAAC,IAAI,EAAE,UAAU,EAAE,8BAA8B,CAAC;IAClD,CAAC,IAAI,EAAE,OAAO,EAAE,mDAAmD,CAAC;IACpE,CAAC,IAAI,EAAE,MAAM,EAAE,wBAAwB,CAAC;IACxC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;IACtB,CAAC,IAAI,EAAE,YAAY,EAAE,uBAAuB,CAAC;CAC9C,CAAC","sourcesContent":["/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n * @format\n */\n\n// Store list of health checks here to avoid having to launch PowerShell on every @react-native-community/cli config call\nexport const HealthCheckList = [\n [false, 'FreeSpace', 'Free space on current drive > 15 GB'],\n [false, 'InstalledMemory', 'Installed memory >= 16 GB'],\n [true, 'WindowsVersion', 'Windows version >= 10.0.17763.0'],\n [true, 'DeveloperMode', 'Developer mode is on'],\n [true, 'LongPath', 'Long path support is enabled'],\n [true, 'VSUWP', 'Visual Studio 2022 (>= 17.11.0) & req. components'],\n [true, 'Node', 'Node.js (LTS, >= 22.0)'],\n [true, 'Yarn', 'Yarn'],\n [true, 'DotNetCore', '.NET SDK (LTS, = 8.0)'],\n];\n"]}
@@ -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,384 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) Microsoft Corporation. All rights reserved.
4
+ * Licensed under the MIT License.
5
+ * @format
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || function (mod) {
24
+ if (mod && mod.__esModule) return mod;
25
+ var result = {};
26
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
27
+ __setModuleDefault(result, mod);
28
+ return result;
29
+ };
30
+ var __importDefault = (this && this.__importDefault) || function (mod) {
31
+ return (mod && mod.__esModule) ? mod : { "default": mod };
32
+ };
33
+ Object.defineProperty(exports, "__esModule", { value: true });
34
+ const fs_1 = __importDefault(require("@react-native-windows/fs"));
35
+ const path = __importStar(require("path"));
36
+ const child_process_1 = require("child_process");
37
+ /**
38
+ * Get latest stable version from npm
39
+ */
40
+ function getLatestStableVersion() {
41
+ try {
42
+ return (0, child_process_1.execSync)('npm view react-native-windows version', {
43
+ encoding: 'utf8',
44
+ }).trim();
45
+ }
46
+ catch (error) {
47
+ throw new Error(`Could not fetch latest stable version from npm: ${error}`);
48
+ }
49
+ }
50
+ /**
51
+ * Get latest preview version from npm
52
+ */
53
+ function getLatestPreviewVersion() {
54
+ try {
55
+ const versions = JSON.parse((0, child_process_1.execSync)('npm view react-native-windows versions --json', {
56
+ encoding: 'utf8',
57
+ }));
58
+ // Preview versions usually have "preview" in the string
59
+ return versions.reverse().find(v => v.includes('preview'));
60
+ }
61
+ catch (error) {
62
+ console.warn('Could not fetch preview versions from npm:', error);
63
+ return undefined;
64
+ }
65
+ }
66
+ const LATEST_STABLE_VERSION = getLatestStableVersion();
67
+ const LATEST_PREVIEW_VERSION = getLatestPreviewVersion();
68
+ // Ensure we have valid versions for testing
69
+ if (!LATEST_STABLE_VERSION) {
70
+ throw new Error('Could not fetch latest stable version from npm');
71
+ }
72
+ if (!LATEST_PREVIEW_VERSION) {
73
+ throw new Error('Could not fetch latest preview version from npm');
74
+ }
75
+ /**
76
+ * Mock NPM registry response for version check
77
+ */
78
+ const mockNpmShow = (packageNameWithVersion, version) => {
79
+ if (packageNameWithVersion === `react-native-windows@${version}`) {
80
+ const rnVersion = `^${version.split('-')[0]}`;
81
+ return {
82
+ version: version,
83
+ devDependencies: {
84
+ 'react-native': rnVersion,
85
+ },
86
+ dependencies: {
87
+ '@react-native-community/cli': '^17.0.0',
88
+ },
89
+ };
90
+ }
91
+ return null;
92
+ };
93
+ // Test suites for stable and preview versions
94
+ describe('creaternwapp Configuration Tests - Stable Version', () => {
95
+ const repoRoot = path.resolve(__dirname, '../../../../..');
96
+ const createRnwAppScript = path.join(repoRoot, 'vnext/Scripts/creaternwapp.cmd');
97
+ const RNW_VERSION = LATEST_STABLE_VERSION;
98
+ beforeAll(() => {
99
+ // Verify the script exists in the repository
100
+ expect(fs_1.default.existsSync(createRnwAppScript)).toBe(true);
101
+ // Verify we have a stable version to test
102
+ expect(RNW_VERSION).toBeTruthy();
103
+ expect(RNW_VERSION).not.toContain('preview');
104
+ });
105
+ describe('Script Configuration Validation', () => {
106
+ test('creaternwapp.cmd script should exist and be readable', () => {
107
+ expect(fs_1.default.existsSync(createRnwAppScript)).toBe(true);
108
+ const scriptContent = fs_1.default.readFileSync(createRnwAppScript, 'utf8');
109
+ // Verify script contains expected parameters
110
+ expect(scriptContent).toContain('/rnw');
111
+ expect(scriptContent).toContain('/t');
112
+ expect(scriptContent).toContain('/verdaccio');
113
+ expect(scriptContent).toContain('cpp-app');
114
+ });
115
+ test('should validate fabric template is the default', () => {
116
+ const scriptContent = fs_1.default.readFileSync(createRnwAppScript, 'utf8');
117
+ // Default template should be cpp-app (fabric/new arch)
118
+ expect(scriptContent).toContain('set RNW_TEMPLATE_TYPE=cpp-app');
119
+ });
120
+ test('should validate old UWP templates are available', () => {
121
+ const oldTemplatesDir = path.join(repoRoot, 'vnext/templates/old');
122
+ expect(fs_1.default.existsSync(oldTemplatesDir)).toBe(true);
123
+ const uwpCppAppTemplate = path.join(oldTemplatesDir, 'uwp-cpp-app');
124
+ expect(fs_1.default.existsSync(uwpCppAppTemplate)).toBe(true);
125
+ });
126
+ test('should validate new fabric templates are available', () => {
127
+ const newTemplatesDir = path.join(repoRoot, 'vnext/template');
128
+ expect(fs_1.default.existsSync(newTemplatesDir)).toBe(true);
129
+ const cppAppTemplate = path.join(newTemplatesDir, 'cpp-app');
130
+ expect(fs_1.default.existsSync(cppAppTemplate)).toBe(true);
131
+ });
132
+ });
133
+ describe('Version Configuration Tests', () => {
134
+ test('should validate target version is available', async () => {
135
+ // This test validates that the specified version exists in npm
136
+ // In a real environment, this would use npm show to check the version
137
+ expect(RNW_VERSION).toBeTruthy();
138
+ // Mock version validation - in actual Windows CI this would call npm show
139
+ const versionInfo = mockNpmShow(`react-native-windows@${RNW_VERSION}`, RNW_VERSION);
140
+ expect(versionInfo).toBeTruthy();
141
+ expect(versionInfo === null || versionInfo === void 0 ? void 0 : versionInfo.version).toBe(RNW_VERSION);
142
+ });
143
+ test('should validate required dependencies for target version', () => {
144
+ const versionInfo = mockNpmShow(`react-native-windows@${RNW_VERSION}`, RNW_VERSION);
145
+ // Validate that the version has the expected dependency structure
146
+ expect(versionInfo === null || versionInfo === void 0 ? void 0 : versionInfo.devDependencies).toHaveProperty('react-native');
147
+ expect(versionInfo === null || versionInfo === void 0 ? void 0 : versionInfo.dependencies).toHaveProperty('@react-native-community/cli');
148
+ });
149
+ });
150
+ describe('Template Configuration Tests', () => {
151
+ test('should validate new architecture (fabric) command structure', () => {
152
+ // Test the command that would be used for new arch:
153
+ // creaternwapp.cmd /rnw preview test-app-name
154
+ const expectedCommand = `creaternwapp.cmd /rnw preview test-app-name`;
155
+ expect(expectedCommand).toContain('/rnw preview');
156
+ expect(expectedCommand).toContain('test-app-name');
157
+ expect(expectedCommand).not.toContain('/t'); // No template specified = default fabric
158
+ });
159
+ test('should validate old architecture (paper/UWP) command structure', () => {
160
+ // Test the command that would be used for old arch:
161
+ // creaternwapp.cmd /rnw preview /t old/uwp-cpp-app test-app-name
162
+ const expectedCommand = `creaternwapp.cmd /rnw preview /t old/uwp-cpp-app test-app-name`;
163
+ expect(expectedCommand).toContain('/rnw preview');
164
+ expect(expectedCommand).toContain('/t old/uwp-cpp-app');
165
+ expect(expectedCommand).toContain('test-app-name');
166
+ });
167
+ test('should validate yarn windows command variations', () => {
168
+ // Test the commands that would be used to build apps:
169
+ const debugCommand = 'yarn windows';
170
+ const releaseCommand = 'yarn windows --release';
171
+ expect(debugCommand).toBe('yarn windows');
172
+ expect(releaseCommand).toBe('yarn windows --release');
173
+ expect(releaseCommand).toContain('--release');
174
+ });
175
+ });
176
+ describe('Workflow Integration Tests', () => {
177
+ test('should validate complete new architecture workflow commands', () => {
178
+ const workflow = {
179
+ create: `creaternwapp.cmd /rnw ${RNW_VERSION} TestAppFabric`,
180
+ start: 'yarn start',
181
+ buildDebug: 'yarn windows',
182
+ buildRelease: 'yarn windows --release',
183
+ };
184
+ expect(workflow.create).toContain(RNW_VERSION);
185
+ expect(workflow.create).toContain('TestAppFabric');
186
+ expect(workflow.start).toBe('yarn start');
187
+ expect(workflow.buildDebug).toBe('yarn windows');
188
+ expect(workflow.buildRelease).toBe('yarn windows --release');
189
+ });
190
+ test('should validate complete old architecture workflow commands', () => {
191
+ const workflow = {
192
+ create: `creaternwapp.cmd /rnw ${RNW_VERSION} /t old/uwp-cpp-app TestAppPaper`,
193
+ start: 'yarn start',
194
+ buildDebug: 'yarn windows',
195
+ buildRelease: 'yarn windows --release',
196
+ };
197
+ expect(workflow.create).toContain(RNW_VERSION);
198
+ expect(workflow.create).toContain('/t old/uwp-cpp-app');
199
+ expect(workflow.create).toContain('TestAppPaper');
200
+ expect(workflow.start).toBe('yarn start');
201
+ expect(workflow.buildDebug).toBe('yarn windows');
202
+ expect(workflow.buildRelease).toBe('yarn windows --release');
203
+ });
204
+ });
205
+ describe('Documentation and Example Validation', () => {
206
+ test('should document the testing procedure for new architecture', () => {
207
+ const procedure = {
208
+ title: 'New Architecture (Fabric) Testing',
209
+ steps: [
210
+ `creaternwapp.cmd /rnw ${RNW_VERSION} test-app-name`,
211
+ 'yarn start (in test-app-name path)',
212
+ 'cd test-app-name && yarn windows',
213
+ 'cd test-app-name && yarn windows --release',
214
+ ],
215
+ };
216
+ expect(procedure.steps[0]).toContain(RNW_VERSION);
217
+ expect(procedure.steps[1]).toContain('yarn start');
218
+ expect(procedure.steps[2]).toContain('yarn windows');
219
+ expect(procedure.steps[3]).toContain('yarn windows --release');
220
+ });
221
+ test('should document the testing procedure for old architecture', () => {
222
+ const procedure = {
223
+ title: 'Old Architecture (Paper/UWP) Testing',
224
+ steps: [
225
+ `creaternwapp.cmd /rnw ${RNW_VERSION} /t old/uwp-cpp-app test-app-name`,
226
+ 'yarn start (in test-app-name path)',
227
+ 'cd test-app-name && yarn windows',
228
+ 'cd test-app-name && yarn windows --release',
229
+ ],
230
+ };
231
+ expect(procedure.steps[0]).toContain(RNW_VERSION);
232
+ expect(procedure.steps[0]).toContain('/t old/uwp-cpp-app');
233
+ expect(procedure.steps[1]).toContain('yarn start');
234
+ expect(procedure.steps[2]).toContain('yarn windows');
235
+ expect(procedure.steps[3]).toContain('yarn windows --release');
236
+ });
237
+ });
238
+ });
239
+ describe('creaternwapp Configuration Tests - Preview Version', () => {
240
+ const repoRoot = path.resolve(__dirname, '../../../../..');
241
+ const createRnwAppScript = path.join(repoRoot, 'vnext/Scripts/creaternwapp.cmd');
242
+ const RNW_VERSION = LATEST_PREVIEW_VERSION;
243
+ beforeAll(() => {
244
+ // Verify the script exists in the repository
245
+ expect(fs_1.default.existsSync(createRnwAppScript)).toBe(true);
246
+ // Verify we have a preview version to test
247
+ expect(RNW_VERSION).toBeTruthy();
248
+ expect(RNW_VERSION).toContain('preview');
249
+ });
250
+ describe('Script Configuration Validation', () => {
251
+ test('creaternwapp.cmd script should exist and be readable', () => {
252
+ expect(fs_1.default.existsSync(createRnwAppScript)).toBe(true);
253
+ const scriptContent = fs_1.default.readFileSync(createRnwAppScript, 'utf8');
254
+ // Verify script contains expected parameters
255
+ expect(scriptContent).toContain('/rnw');
256
+ expect(scriptContent).toContain('/t');
257
+ expect(scriptContent).toContain('/verdaccio');
258
+ expect(scriptContent).toContain('cpp-app');
259
+ });
260
+ test('should validate fabric template is the default', () => {
261
+ const scriptContent = fs_1.default.readFileSync(createRnwAppScript, 'utf8');
262
+ // Default template should be cpp-app (fabric/new arch)
263
+ expect(scriptContent).toContain('set RNW_TEMPLATE_TYPE=cpp-app');
264
+ });
265
+ test('should validate old UWP templates are available', () => {
266
+ const oldTemplatesDir = path.join(repoRoot, 'vnext/templates/old');
267
+ expect(fs_1.default.existsSync(oldTemplatesDir)).toBe(true);
268
+ const uwpCppAppTemplate = path.join(oldTemplatesDir, 'uwp-cpp-app');
269
+ expect(fs_1.default.existsSync(uwpCppAppTemplate)).toBe(true);
270
+ });
271
+ test('should validate new fabric templates are available', () => {
272
+ const newTemplatesDir = path.join(repoRoot, 'vnext/template');
273
+ expect(fs_1.default.existsSync(newTemplatesDir)).toBe(true);
274
+ const cppAppTemplate = path.join(newTemplatesDir, 'cpp-app');
275
+ expect(fs_1.default.existsSync(cppAppTemplate)).toBe(true);
276
+ });
277
+ });
278
+ describe('Version Configuration Tests', () => {
279
+ test('should validate target version is available', async () => {
280
+ // This test validates that the specified version exists in npm
281
+ // In a real environment, this would use npm show to check the version
282
+ expect(RNW_VERSION).toBeTruthy();
283
+ // Mock version validation - in actual Windows CI this would call npm show
284
+ const versionInfo = mockNpmShow(`react-native-windows@${RNW_VERSION}`, RNW_VERSION);
285
+ expect(versionInfo).toBeTruthy();
286
+ expect(versionInfo === null || versionInfo === void 0 ? void 0 : versionInfo.version).toBe(RNW_VERSION);
287
+ });
288
+ test('should validate required dependencies for target version', () => {
289
+ const versionInfo = mockNpmShow(`react-native-windows@${RNW_VERSION}`, RNW_VERSION);
290
+ // Validate that the version has the expected dependency structure
291
+ expect(versionInfo === null || versionInfo === void 0 ? void 0 : versionInfo.devDependencies).toHaveProperty('react-native');
292
+ expect(versionInfo === null || versionInfo === void 0 ? void 0 : versionInfo.dependencies).toHaveProperty('@react-native-community/cli');
293
+ });
294
+ });
295
+ describe('Template Configuration Tests', () => {
296
+ test('should validate new architecture (fabric) command structure', () => {
297
+ // Test the command that would be used for new arch:
298
+ // creaternwapp.cmd /rnw preview test-app-name
299
+ const expectedCommand = `creaternwapp.cmd /rnw preview test-app-name`;
300
+ expect(expectedCommand).toContain('/rnw preview');
301
+ expect(expectedCommand).toContain('test-app-name');
302
+ expect(expectedCommand).not.toContain('/t'); // No template specified = default fabric
303
+ });
304
+ test('should validate old architecture (paper/UWP) command structure', () => {
305
+ // Test the command that would be used for old arch:
306
+ // creaternwapp.cmd /rnw preview /t old/uwp-cpp-app test-app-name
307
+ const expectedCommand = `creaternwapp.cmd /rnw preview /t old/uwp-cpp-app test-app-name`;
308
+ expect(expectedCommand).toContain('/rnw preview');
309
+ expect(expectedCommand).toContain('/t old/uwp-cpp-app');
310
+ expect(expectedCommand).toContain('test-app-name');
311
+ });
312
+ test('should validate yarn windows command variations', () => {
313
+ // Test the commands that would be used to build apps:
314
+ const debugCommand = 'yarn windows';
315
+ const releaseCommand = 'yarn windows --release';
316
+ expect(debugCommand).toBe('yarn windows');
317
+ expect(releaseCommand).toBe('yarn windows --release');
318
+ expect(releaseCommand).toContain('--release');
319
+ });
320
+ });
321
+ describe('Workflow Integration Tests', () => {
322
+ test('should validate complete new architecture workflow commands', () => {
323
+ const workflow = {
324
+ create: `creaternwapp.cmd /rnw ${RNW_VERSION} TestAppFabric`,
325
+ start: 'yarn start',
326
+ buildDebug: 'yarn windows',
327
+ buildRelease: 'yarn windows --release',
328
+ };
329
+ expect(workflow.create).toContain(RNW_VERSION);
330
+ expect(workflow.create).toContain('TestAppFabric');
331
+ expect(workflow.start).toBe('yarn start');
332
+ expect(workflow.buildDebug).toBe('yarn windows');
333
+ expect(workflow.buildRelease).toBe('yarn windows --release');
334
+ });
335
+ test('should validate complete old architecture workflow commands', () => {
336
+ const workflow = {
337
+ create: `creaternwapp.cmd /rnw ${RNW_VERSION} /t old/uwp-cpp-app TestAppPaper`,
338
+ start: 'yarn start',
339
+ buildDebug: 'yarn windows',
340
+ buildRelease: 'yarn windows --release',
341
+ };
342
+ expect(workflow.create).toContain(RNW_VERSION);
343
+ expect(workflow.create).toContain('/t old/uwp-cpp-app');
344
+ expect(workflow.create).toContain('TestAppPaper');
345
+ expect(workflow.start).toBe('yarn start');
346
+ expect(workflow.buildDebug).toBe('yarn windows');
347
+ expect(workflow.buildRelease).toBe('yarn windows --release');
348
+ });
349
+ });
350
+ describe('Documentation and Example Validation', () => {
351
+ test('should document the testing procedure for new architecture', () => {
352
+ const procedure = {
353
+ title: 'New Architecture (Fabric) Testing',
354
+ steps: [
355
+ `creaternwapp.cmd /rnw ${RNW_VERSION} test-app-name`,
356
+ 'yarn start (in test-app-name path)',
357
+ 'cd test-app-name && yarn windows',
358
+ 'cd test-app-name && yarn windows --release',
359
+ ],
360
+ };
361
+ expect(procedure.steps[0]).toContain(RNW_VERSION);
362
+ expect(procedure.steps[1]).toContain('yarn start');
363
+ expect(procedure.steps[2]).toContain('yarn windows');
364
+ expect(procedure.steps[3]).toContain('yarn windows --release');
365
+ });
366
+ test('should document the testing procedure for old architecture', () => {
367
+ const procedure = {
368
+ title: 'Old Architecture (Paper/UWP) Testing',
369
+ steps: [
370
+ `creaternwapp.cmd /rnw ${RNW_VERSION} /t old/uwp-cpp-app test-app-name`,
371
+ 'yarn start (in test-app-name path)',
372
+ 'cd test-app-name && yarn windows',
373
+ 'cd test-app-name && yarn windows --release',
374
+ ],
375
+ };
376
+ expect(procedure.steps[0]).toContain(RNW_VERSION);
377
+ expect(procedure.steps[0]).toContain('/t old/uwp-cpp-app');
378
+ expect(procedure.steps[1]).toContain('yarn start');
379
+ expect(procedure.steps[2]).toContain('yarn windows');
380
+ expect(procedure.steps[3]).toContain('yarn windows --release');
381
+ });
382
+ });
383
+ });
384
+ //# sourceMappingURL=createRnwApp.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createRnwApp.test.js","sourceRoot":"","sources":["../../src/e2etest/createRnwApp.test.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n * @format\n */\n\nimport fs from '@react-native-windows/fs';\nimport * as path from 'path';\nimport {execSync} from 'child_process';\n\n/**\n * Get latest stable version from npm\n */\nfunction getLatestStableVersion(): string {\n try {\n return execSync('npm view react-native-windows version', {\n encoding: 'utf8',\n }).trim();\n } catch (error) {\n throw new Error(`Could not fetch latest stable version from npm: ${error}`);\n }\n}\n\n/**\n * Get latest preview version from npm\n */\nfunction getLatestPreviewVersion(): string | undefined {\n try {\n const versions = JSON.parse(\n execSync('npm view react-native-windows versions --json', {\n encoding: 'utf8',\n }),\n ) as string[];\n // Preview versions usually have \"preview\" in the string\n return versions.reverse().find(v => v.includes('preview'));\n } catch (error) {\n console.warn('Could not fetch preview versions from npm:', error);\n return undefined;\n }\n}\n\nconst LATEST_STABLE_VERSION = getLatestStableVersion();\nconst LATEST_PREVIEW_VERSION = getLatestPreviewVersion();\n\n// Ensure we have valid versions for testing\nif (!LATEST_STABLE_VERSION) {\n throw new Error('Could not fetch latest stable version from npm');\n}\nif (!LATEST_PREVIEW_VERSION) {\n throw new Error('Could not fetch latest preview version from npm');\n}\n\n/**\n * Mock NPM registry response for version check\n */\nconst mockNpmShow = (packageNameWithVersion: string, version: string) => {\n if (packageNameWithVersion === `react-native-windows@${version}`) {\n const rnVersion = `^${version.split('-')[0]}`;\n return {\n version: version,\n devDependencies: {\n 'react-native': rnVersion,\n },\n dependencies: {\n '@react-native-community/cli': '^17.0.0',\n },\n };\n }\n return null;\n};\n\n// Test suites for stable and preview versions\ndescribe('creaternwapp Configuration Tests - Stable Version', () => {\n const repoRoot = path.resolve(__dirname, '../../../../..');\n const createRnwAppScript = path.join(\n repoRoot,\n 'vnext/Scripts/creaternwapp.cmd',\n );\n const RNW_VERSION = LATEST_STABLE_VERSION;\n\n beforeAll(() => {\n // Verify the script exists in the repository\n expect(fs.existsSync(createRnwAppScript)).toBe(true);\n\n // Verify we have a stable version to test\n expect(RNW_VERSION).toBeTruthy();\n expect(RNW_VERSION).not.toContain('preview');\n });\n\n describe('Script Configuration Validation', () => {\n test('creaternwapp.cmd script should exist and be readable', () => {\n expect(fs.existsSync(createRnwAppScript)).toBe(true);\n\n const scriptContent = fs.readFileSync(createRnwAppScript, 'utf8');\n\n // Verify script contains expected parameters\n expect(scriptContent).toContain('/rnw');\n expect(scriptContent).toContain('/t');\n expect(scriptContent).toContain('/verdaccio');\n expect(scriptContent).toContain('cpp-app');\n });\n\n test('should validate fabric template is the default', () => {\n const scriptContent = fs.readFileSync(createRnwAppScript, 'utf8');\n\n // Default template should be cpp-app (fabric/new arch)\n expect(scriptContent).toContain('set RNW_TEMPLATE_TYPE=cpp-app');\n });\n\n test('should validate old UWP templates are available', () => {\n const oldTemplatesDir = path.join(repoRoot, 'vnext/templates/old');\n expect(fs.existsSync(oldTemplatesDir)).toBe(true);\n\n const uwpCppAppTemplate = path.join(oldTemplatesDir, 'uwp-cpp-app');\n expect(fs.existsSync(uwpCppAppTemplate)).toBe(true);\n });\n\n test('should validate new fabric templates are available', () => {\n const newTemplatesDir = path.join(repoRoot, 'vnext/template');\n expect(fs.existsSync(newTemplatesDir)).toBe(true);\n\n const cppAppTemplate = path.join(newTemplatesDir, 'cpp-app');\n expect(fs.existsSync(cppAppTemplate)).toBe(true);\n });\n });\n\n describe('Version Configuration Tests', () => {\n test('should validate target version is available', async () => {\n // This test validates that the specified version exists in npm\n // In a real environment, this would use npm show to check the version\n expect(RNW_VERSION).toBeTruthy();\n\n // Mock version validation - in actual Windows CI this would call npm show\n const versionInfo = mockNpmShow(\n `react-native-windows@${RNW_VERSION}`,\n RNW_VERSION,\n );\n expect(versionInfo).toBeTruthy();\n expect(versionInfo?.version).toBe(RNW_VERSION);\n });\n\n test('should validate required dependencies for target version', () => {\n const versionInfo = mockNpmShow(\n `react-native-windows@${RNW_VERSION}`,\n RNW_VERSION,\n );\n\n // Validate that the version has the expected dependency structure\n expect(versionInfo?.devDependencies).toHaveProperty('react-native');\n expect(versionInfo?.dependencies).toHaveProperty(\n '@react-native-community/cli',\n );\n });\n });\n\n describe('Template Configuration Tests', () => {\n test('should validate new architecture (fabric) command structure', () => {\n // Test the command that would be used for new arch:\n // creaternwapp.cmd /rnw preview test-app-name\n const expectedCommand = `creaternwapp.cmd /rnw preview test-app-name`;\n\n expect(expectedCommand).toContain('/rnw preview');\n expect(expectedCommand).toContain('test-app-name');\n expect(expectedCommand).not.toContain('/t'); // No template specified = default fabric\n });\n\n test('should validate old architecture (paper/UWP) command structure', () => {\n // Test the command that would be used for old arch:\n // creaternwapp.cmd /rnw preview /t old/uwp-cpp-app test-app-name\n const expectedCommand = `creaternwapp.cmd /rnw preview /t old/uwp-cpp-app test-app-name`;\n\n expect(expectedCommand).toContain('/rnw preview');\n expect(expectedCommand).toContain('/t old/uwp-cpp-app');\n expect(expectedCommand).toContain('test-app-name');\n });\n\n test('should validate yarn windows command variations', () => {\n // Test the commands that would be used to build apps:\n const debugCommand = 'yarn windows';\n const releaseCommand = 'yarn windows --release';\n\n expect(debugCommand).toBe('yarn windows');\n expect(releaseCommand).toBe('yarn windows --release');\n expect(releaseCommand).toContain('--release');\n });\n });\n\n describe('Workflow Integration Tests', () => {\n test('should validate complete new architecture workflow commands', () => {\n const workflow = {\n create: `creaternwapp.cmd /rnw ${RNW_VERSION} TestAppFabric`,\n start: 'yarn start',\n buildDebug: 'yarn windows',\n buildRelease: 'yarn windows --release',\n };\n\n expect(workflow.create).toContain(RNW_VERSION);\n expect(workflow.create).toContain('TestAppFabric');\n expect(workflow.start).toBe('yarn start');\n expect(workflow.buildDebug).toBe('yarn windows');\n expect(workflow.buildRelease).toBe('yarn windows --release');\n });\n\n test('should validate complete old architecture workflow commands', () => {\n const workflow = {\n create: `creaternwapp.cmd /rnw ${RNW_VERSION} /t old/uwp-cpp-app TestAppPaper`,\n start: 'yarn start',\n buildDebug: 'yarn windows',\n buildRelease: 'yarn windows --release',\n };\n\n expect(workflow.create).toContain(RNW_VERSION);\n expect(workflow.create).toContain('/t old/uwp-cpp-app');\n expect(workflow.create).toContain('TestAppPaper');\n expect(workflow.start).toBe('yarn start');\n expect(workflow.buildDebug).toBe('yarn windows');\n expect(workflow.buildRelease).toBe('yarn windows --release');\n });\n });\n\n describe('Documentation and Example Validation', () => {\n test('should document the testing procedure for new architecture', () => {\n const procedure = {\n title: 'New Architecture (Fabric) Testing',\n steps: [\n `creaternwapp.cmd /rnw ${RNW_VERSION} test-app-name`,\n 'yarn start (in test-app-name path)',\n 'cd test-app-name && yarn windows',\n 'cd test-app-name && yarn windows --release',\n ],\n };\n\n expect(procedure.steps[0]).toContain(RNW_VERSION);\n expect(procedure.steps[1]).toContain('yarn start');\n expect(procedure.steps[2]).toContain('yarn windows');\n expect(procedure.steps[3]).toContain('yarn windows --release');\n });\n\n test('should document the testing procedure for old architecture', () => {\n const procedure = {\n title: 'Old Architecture (Paper/UWP) Testing',\n steps: [\n `creaternwapp.cmd /rnw ${RNW_VERSION} /t old/uwp-cpp-app test-app-name`,\n 'yarn start (in test-app-name path)',\n 'cd test-app-name && yarn windows',\n 'cd test-app-name && yarn windows --release',\n ],\n };\n\n expect(procedure.steps[0]).toContain(RNW_VERSION);\n expect(procedure.steps[0]).toContain('/t old/uwp-cpp-app');\n expect(procedure.steps[1]).toContain('yarn start');\n expect(procedure.steps[2]).toContain('yarn windows');\n expect(procedure.steps[3]).toContain('yarn windows --release');\n });\n });\n});\n\ndescribe('creaternwapp Configuration Tests - Preview Version', () => {\n const repoRoot = path.resolve(__dirname, '../../../../..');\n const createRnwAppScript = path.join(\n repoRoot,\n 'vnext/Scripts/creaternwapp.cmd',\n );\n const RNW_VERSION = LATEST_PREVIEW_VERSION;\n\n beforeAll(() => {\n // Verify the script exists in the repository\n expect(fs.existsSync(createRnwAppScript)).toBe(true);\n\n // Verify we have a preview version to test\n expect(RNW_VERSION).toBeTruthy();\n expect(RNW_VERSION).toContain('preview');\n });\n\n describe('Script Configuration Validation', () => {\n test('creaternwapp.cmd script should exist and be readable', () => {\n expect(fs.existsSync(createRnwAppScript)).toBe(true);\n\n const scriptContent = fs.readFileSync(createRnwAppScript, 'utf8');\n\n // Verify script contains expected parameters\n expect(scriptContent).toContain('/rnw');\n expect(scriptContent).toContain('/t');\n expect(scriptContent).toContain('/verdaccio');\n expect(scriptContent).toContain('cpp-app');\n });\n\n test('should validate fabric template is the default', () => {\n const scriptContent = fs.readFileSync(createRnwAppScript, 'utf8');\n\n // Default template should be cpp-app (fabric/new arch)\n expect(scriptContent).toContain('set RNW_TEMPLATE_TYPE=cpp-app');\n });\n\n test('should validate old UWP templates are available', () => {\n const oldTemplatesDir = path.join(repoRoot, 'vnext/templates/old');\n expect(fs.existsSync(oldTemplatesDir)).toBe(true);\n\n const uwpCppAppTemplate = path.join(oldTemplatesDir, 'uwp-cpp-app');\n expect(fs.existsSync(uwpCppAppTemplate)).toBe(true);\n });\n\n test('should validate new fabric templates are available', () => {\n const newTemplatesDir = path.join(repoRoot, 'vnext/template');\n expect(fs.existsSync(newTemplatesDir)).toBe(true);\n\n const cppAppTemplate = path.join(newTemplatesDir, 'cpp-app');\n expect(fs.existsSync(cppAppTemplate)).toBe(true);\n });\n });\n\n describe('Version Configuration Tests', () => {\n test('should validate target version is available', async () => {\n // This test validates that the specified version exists in npm\n // In a real environment, this would use npm show to check the version\n expect(RNW_VERSION).toBeTruthy();\n\n // Mock version validation - in actual Windows CI this would call npm show\n const versionInfo = mockNpmShow(\n `react-native-windows@${RNW_VERSION}`,\n RNW_VERSION,\n );\n expect(versionInfo).toBeTruthy();\n expect(versionInfo?.version).toBe(RNW_VERSION);\n });\n\n test('should validate required dependencies for target version', () => {\n const versionInfo = mockNpmShow(\n `react-native-windows@${RNW_VERSION}`,\n RNW_VERSION,\n );\n\n // Validate that the version has the expected dependency structure\n expect(versionInfo?.devDependencies).toHaveProperty('react-native');\n expect(versionInfo?.dependencies).toHaveProperty(\n '@react-native-community/cli',\n );\n });\n });\n\n describe('Template Configuration Tests', () => {\n test('should validate new architecture (fabric) command structure', () => {\n // Test the command that would be used for new arch:\n // creaternwapp.cmd /rnw preview test-app-name\n const expectedCommand = `creaternwapp.cmd /rnw preview test-app-name`;\n\n expect(expectedCommand).toContain('/rnw preview');\n expect(expectedCommand).toContain('test-app-name');\n expect(expectedCommand).not.toContain('/t'); // No template specified = default fabric\n });\n\n test('should validate old architecture (paper/UWP) command structure', () => {\n // Test the command that would be used for old arch:\n // creaternwapp.cmd /rnw preview /t old/uwp-cpp-app test-app-name\n const expectedCommand = `creaternwapp.cmd /rnw preview /t old/uwp-cpp-app test-app-name`;\n\n expect(expectedCommand).toContain('/rnw preview');\n expect(expectedCommand).toContain('/t old/uwp-cpp-app');\n expect(expectedCommand).toContain('test-app-name');\n });\n\n test('should validate yarn windows command variations', () => {\n // Test the commands that would be used to build apps:\n const debugCommand = 'yarn windows';\n const releaseCommand = 'yarn windows --release';\n\n expect(debugCommand).toBe('yarn windows');\n expect(releaseCommand).toBe('yarn windows --release');\n expect(releaseCommand).toContain('--release');\n });\n });\n\n describe('Workflow Integration Tests', () => {\n test('should validate complete new architecture workflow commands', () => {\n const workflow = {\n create: `creaternwapp.cmd /rnw ${RNW_VERSION} TestAppFabric`,\n start: 'yarn start',\n buildDebug: 'yarn windows',\n buildRelease: 'yarn windows --release',\n };\n\n expect(workflow.create).toContain(RNW_VERSION);\n expect(workflow.create).toContain('TestAppFabric');\n expect(workflow.start).toBe('yarn start');\n expect(workflow.buildDebug).toBe('yarn windows');\n expect(workflow.buildRelease).toBe('yarn windows --release');\n });\n\n test('should validate complete old architecture workflow commands', () => {\n const workflow = {\n create: `creaternwapp.cmd /rnw ${RNW_VERSION} /t old/uwp-cpp-app TestAppPaper`,\n start: 'yarn start',\n buildDebug: 'yarn windows',\n buildRelease: 'yarn windows --release',\n };\n\n expect(workflow.create).toContain(RNW_VERSION);\n expect(workflow.create).toContain('/t old/uwp-cpp-app');\n expect(workflow.create).toContain('TestAppPaper');\n expect(workflow.start).toBe('yarn start');\n expect(workflow.buildDebug).toBe('yarn windows');\n expect(workflow.buildRelease).toBe('yarn windows --release');\n });\n });\n\n describe('Documentation and Example Validation', () => {\n test('should document the testing procedure for new architecture', () => {\n const procedure = {\n title: 'New Architecture (Fabric) Testing',\n steps: [\n `creaternwapp.cmd /rnw ${RNW_VERSION} test-app-name`,\n 'yarn start (in test-app-name path)',\n 'cd test-app-name && yarn windows',\n 'cd test-app-name && yarn windows --release',\n ],\n };\n\n expect(procedure.steps[0]).toContain(RNW_VERSION);\n expect(procedure.steps[1]).toContain('yarn start');\n expect(procedure.steps[2]).toContain('yarn windows');\n expect(procedure.steps[3]).toContain('yarn windows --release');\n });\n\n test('should document the testing procedure for old architecture', () => {\n const procedure = {\n title: 'Old Architecture (Paper/UWP) Testing',\n steps: [\n `creaternwapp.cmd /rnw ${RNW_VERSION} /t old/uwp-cpp-app test-app-name`,\n 'yarn start (in test-app-name path)',\n 'cd test-app-name && yarn windows',\n 'cd test-app-name && yarn windows --release',\n ],\n };\n\n expect(procedure.steps[0]).toContain(RNW_VERSION);\n expect(procedure.steps[0]).toContain('/t old/uwp-cpp-app');\n expect(procedure.steps[1]).toContain('yarn start');\n expect(procedure.steps[2]).toContain('yarn windows');\n expect(procedure.steps[3]).toContain('yarn windows --release');\n });\n });\n});\n"]}
@@ -148,7 +148,7 @@ function getAppPackage(options, projectName) {
148
148
  }
149
149
  function getWindowsStoreAppUtils(options) {
150
150
  const popd = pushd(options.root);
151
- const windowsStoreAppUtilsPath = path_1.default.resolve(__dirname, '..', '..', 'src', 'powershell', 'WindowsStoreAppUtils.ps1');
151
+ const windowsStoreAppUtilsPath = path_1.default.resolve(__dirname, '..', '..', 'src', 'powershell', 'WindowsStoreAppUtils.psm1');
152
152
  (0, child_process_1.execSync)(`${commandWithProgress_1.powershell} -NoProfile Unblock-File '${windowsStoreAppUtilsPath}'`);
153
153
  popd();
154
154
  return windowsStoreAppUtilsPath;