react-native-windows-init 1.1.65 → 1.1.69

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/bin.js CHANGED
File without changes
@@ -10,7 +10,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const yargs_1 = __importDefault(require("yargs"));
13
- const fs_1 = __importDefault(require("fs"));
13
+ const fs_1 = __importDefault(require("@react-native-windows/fs"));
14
14
  const semver_1 = __importDefault(require("semver"));
15
15
  const child_process_1 = require("child_process");
16
16
  const valid_url_1 = __importDefault(require("valid-url"));
@@ -31,7 +31,7 @@ const npmConfReg = (0, child_process_1.execSync)('npm config get registry')
31
31
  const NPM_REGISTRY_URL = valid_url_1.default.isUri(npmConfReg)
32
32
  ? npmConfReg
33
33
  : 'http://registry.npmjs.org';
34
- const argv = yargs_1.default
34
+ const yargsParser = yargs_1.default
35
35
  .version(false)
36
36
  .strict(true)
37
37
  .options({
@@ -51,7 +51,7 @@ const argv = yargs_1.default
51
51
  telemetry: {
52
52
  type: 'boolean',
53
53
  describe: 'Controls sending telemetry that allows analysis of usage and failures of the react-native-windows CLI',
54
- default: false,
54
+ default: true,
55
55
  },
56
56
  language: {
57
57
  type: 'string',
@@ -104,32 +104,21 @@ const argv = yargs_1.default
104
104
  conflicts: 'version',
105
105
  },
106
106
  })
107
- .strict(true).argv;
108
- if (argv.verbose) {
109
- console.log(argv);
110
- }
111
- if (!argv.telemetry) {
112
- if (argv.verbose) {
113
- console.log('Disabling telemetry');
114
- }
115
- telemetry_1.Telemetry.disable();
116
- }
117
- else {
118
- telemetry_1.Telemetry.setup();
119
- }
107
+ .strict(true);
108
+ const argv = yargsParser.argv;
120
109
  function getReactNativeProjectName() {
121
110
  console.log('Reading project name from package.json...');
122
111
  const cwd = process.cwd();
123
112
  const pkgJsonPath = find_up_1.default.sync('package.json', { cwd });
124
113
  if (!pkgJsonPath) {
125
- throw new telemetry_1.CodedError('NoPackageJSon', 'Unable to find package.json. This should be run from within an existing react-native project.');
114
+ throw new telemetry_1.CodedError('NoPackageJson', 'Unable to find package.json. This should be run from within an existing react-native project.');
126
115
  }
127
- let name = JSON.parse(fs_1.default.readFileSync(pkgJsonPath, 'utf8')).name;
116
+ let name = fs_1.default.readJsonFileSync(pkgJsonPath).name;
128
117
  if (!name) {
129
118
  const appJsonPath = find_up_1.default.sync('app.json', { cwd });
130
119
  if (appJsonPath) {
131
120
  console.log('Reading project name from app.json...');
132
- name = JSON.parse(fs_1.default.readFileSync(appJsonPath, 'utf8')).name;
121
+ name = fs_1.default.readJsonFileSync(pkgJsonPath).name;
133
122
  }
134
123
  }
135
124
  if (!name) {
@@ -222,7 +211,7 @@ function installReactNativeWindows(version, useDevMode) {
222
211
  console.log(`Installing ${chalk_1.default.green('react-native-windows')}@${chalk_1.default.cyan(version)}...`);
223
212
  const pkgJsonPath = find_up_1.default.sync('package.json', { cwd });
224
213
  if (!pkgJsonPath) {
225
- throw new telemetry_1.CodedError('NoPackageJSon', 'Unable to find package.json');
214
+ throw new telemetry_1.CodedError('NoPackageJson', 'Unable to find package.json');
226
215
  }
227
216
  const pkgJson = require(pkgJsonPath);
228
217
  // check how react-native is installed
@@ -246,31 +235,96 @@ function installReactNativeWindows(version, useDevMode) {
246
235
  paths: [cwd],
247
236
  })).version)} successfully installed.`));
248
237
  }
249
- function getRNWInitVersion() {
238
+ /**
239
+ * Sanitizes the given option for telemetry.
240
+ * @param key The key of the option.
241
+ * @param value The unsanitized value of the option.
242
+ * @returns The sanitized value of the option.
243
+ */
244
+ function optionSanitizer(key, value) {
245
+ switch (key) {
246
+ case 'namespace':
247
+ return value === undefined ? false : true;
248
+ default:
249
+ return value === undefined ? false : value;
250
+ }
251
+ }
252
+ /**
253
+ * Sets up and starts the telemetry gathering for the CLI command.
254
+ */
255
+ async function startTelemetrySession() {
256
+ if (!argv.telemetry) {
257
+ if (argv.verbose) {
258
+ console.log('Telemetry is disabled');
259
+ }
260
+ return;
261
+ }
262
+ await telemetry_1.Telemetry.setup();
263
+ const sanitizedOptions = (0, telemetry_1.yargsOptionsToOptions)(argv, optionSanitizer);
264
+ const sanitizedDefaultOptions = (0, telemetry_1.yargsOptionsToOptions)(yargsParser.parse(''), optionSanitizer);
265
+ const sanitizedArgs = (0, telemetry_1.optionsToArgs)(sanitizedOptions, process.argv);
266
+ const startInfo = {
267
+ commandName: 'react-native-windows-init',
268
+ args: sanitizedArgs,
269
+ options: sanitizedOptions,
270
+ defaultOptions: sanitizedDefaultOptions,
271
+ };
272
+ telemetry_1.Telemetry.startCommand(startInfo);
273
+ }
274
+ /**
275
+ * Adds the new project's telemetry info by calling and processing `react-native config`.
276
+ */
277
+ async function addProjectInfoToTelemetry() {
278
+ if (!telemetry_1.Telemetry.isEnabled()) {
279
+ return;
280
+ }
250
281
  try {
251
- const pkgJson = require('../package.json');
252
- if (pkgJson.name === 'react-native-windows-init' &&
253
- pkgJson.version !== undefined) {
254
- return pkgJson.version;
282
+ const config = JSON.parse((0, child_process_1.execSync)('npx react-native config', {
283
+ stdio: ['ignore', 'pipe', 'ignore'],
284
+ }).toString());
285
+ const projectInfo = await (0, telemetry_1.configToProjectInfo)(config);
286
+ if (projectInfo) {
287
+ telemetry_1.Telemetry.setProjectInfo(projectInfo);
288
+ }
289
+ const projectFile = (0, telemetry_1.getProjectFileFromConfig)(config);
290
+ if (projectFile) {
291
+ await telemetry_1.Telemetry.populateNuGetPackageVersions(projectFile);
255
292
  }
256
293
  }
257
294
  catch (_a) { }
258
- return '';
259
295
  }
260
- function setExit(exitCode, error) {
261
- var _a;
262
- if (!process.exitCode || process.exitCode === telemetry_1.CodedErrors.Success) {
263
- (_a = telemetry_1.Telemetry.client) === null || _a === void 0 ? void 0 : _a.trackEvent({
264
- name: 'init-exit',
265
- properties: {
266
- durationInSecs: process.uptime(),
267
- msftInternal: (0, telemetry_1.isMSFTInternal)(),
268
- exitCode: exitCode,
269
- rnwinitVersion: getRNWInitVersion(),
270
- errorMessage: error,
271
- },
272
- });
273
- process.exitCode = telemetry_1.CodedErrors[exitCode];
296
+ /**
297
+ * Ends the gathering of telemetry for the CLI command.
298
+ * @param error The error (if any) thrown during the command.
299
+ */
300
+ function endTelemetrySession(error) {
301
+ const endInfo = {
302
+ resultCode: 'Success',
303
+ };
304
+ if (error) {
305
+ endInfo.resultCode =
306
+ error instanceof telemetry_1.CodedError ? error.type : 'Unknown';
307
+ }
308
+ telemetry_1.Telemetry.endCommand(endInfo);
309
+ }
310
+ /**
311
+ * Sets the process exit code and offers some information at the end of a CLI command.
312
+ * @param loggingIsEnabled Is verbose logging enabled.
313
+ * @param error The error caught during the process, if any.
314
+ */
315
+ function setExitProcessWithError(loggingIsEnabled, error) {
316
+ if (error) {
317
+ const errorType = error instanceof telemetry_1.CodedError ? error.type : 'Unknown';
318
+ process.exitCode = telemetry_1.CodedErrors[errorType];
319
+ if (loggingIsEnabled) {
320
+ console.log(`Command failed with error ${chalk_1.default.bold(errorType)}: ${error.message}`);
321
+ if (telemetry_1.Telemetry.isEnabled()) {
322
+ console.log(`Your telemetry sessionId was ${chalk_1.default.bold(telemetry_1.Telemetry.getSessionId())}`);
323
+ }
324
+ }
325
+ else {
326
+ console.log(`Command failed. Re-run the command with ${chalk_1.default.bold('--verbose')} for more information.`);
327
+ }
274
328
  }
275
329
  }
276
330
  /**
@@ -280,7 +334,11 @@ function isProjectUsingYarn(cwd) {
280
334
  return !!find_up_1.default.sync('yarn.lock', { cwd });
281
335
  }
282
336
  (async () => {
283
- var _a;
337
+ if (argv.verbose) {
338
+ console.log(argv);
339
+ }
340
+ await startTelemetrySession();
341
+ let initWindowsError;
284
342
  try {
285
343
  const name = getReactNativeProjectName();
286
344
  const ns = argv.namespace || name;
@@ -333,6 +391,8 @@ function isProjectUsingYarn(cwd) {
333
391
  }
334
392
  installReactNativeWindows(version, useDevMode);
335
393
  const generateWindows = (0, requireGenerateWindows_1.default)();
394
+ // Now that new NPM packages have been installed, refresh their versions
395
+ await telemetry_1.Telemetry.populateNpmPackageVersions(true);
336
396
  await generateWindows(process.cwd(), name, ns, {
337
397
  language: argv.language,
338
398
  overwrite: argv.overwrite,
@@ -346,21 +406,17 @@ function isProjectUsingYarn(cwd) {
346
406
  nuGetTestFeed: argv.nuGetTestFeed,
347
407
  telemetry: argv.telemetry,
348
408
  });
349
- return setExit('Success');
350
- }
351
- catch (e) {
352
- const error = e;
353
- const exitCode = error instanceof telemetry_1.CodedError
354
- ? error.name
355
- : 'Unknown';
356
- if (exitCode !== 'Success') {
357
- console.error(chalk_1.default.red(error.message));
358
- console.error(error);
359
- }
360
- setExit(exitCode, error.message);
409
+ // Now that the project has been generated, add project info
410
+ await addProjectInfoToTelemetry();
361
411
  }
362
- finally {
363
- (_a = telemetry_1.Telemetry.client) === null || _a === void 0 ? void 0 : _a.flush();
412
+ catch (ex) {
413
+ initWindowsError =
414
+ ex instanceof Error ? ex : new Error(String(ex));
415
+ telemetry_1.Telemetry.trackException(initWindowsError);
416
+ console.error(chalk_1.default.red(initWindowsError.message));
417
+ console.error(initWindowsError);
364
418
  }
419
+ endTelemetrySession(initWindowsError);
420
+ setExitProcessWithError(argv.verbose, initWindowsError);
365
421
  })();
366
422
  //# sourceMappingURL=Cli.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Cli.js","sourceRoot":"","sources":["../src/Cli.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * @format\n */\n\nimport yargs from 'yargs';\nimport fs from 'fs';\nimport semver from 'semver';\nimport {execSync} from 'child_process';\nimport validUrl from 'valid-url';\nimport prompts from 'prompts';\nimport findUp from 'find-up';\nimport chalk from 'chalk';\nimport npmFetch from 'npm-registry-fetch';\n\nimport {\n Telemetry,\n isMSFTInternal,\n CodedErrorType,\n CodedErrors,\n CodedError,\n} from '@react-native-windows/telemetry';\n\n/**\n * Important:\n * Do not use process.exit() in this script as it will prevent telemetry from being sent.\n * See https://github.com/microsoft/ApplicationInsights-node.js/issues/580\n */\n\nimport requireGenerateWindows from './requireGenerateWindows';\n\nconst npmConfReg = execSync('npm config get registry')\n .toString()\n .trim();\nconst NPM_REGISTRY_URL = validUrl.isUri(npmConfReg)\n ? npmConfReg\n : 'http://registry.npmjs.org';\n\nconst argv = yargs\n .version(false)\n .strict(true)\n .options({\n version: {\n type: 'string',\n describe: 'The version of react-native-windows to use.',\n },\n namespace: {\n type: 'string',\n describe:\n \"The native project namespace. This should be expressed using dots as separators. i.e. 'Level1.Level2.Level3'. The generator will apply the correct syntax for the target language\",\n },\n verbose: {\n type: 'boolean',\n describe: 'Enables logging.',\n default: false,\n },\n telemetry: {\n type: 'boolean',\n describe:\n 'Controls sending telemetry that allows analysis of usage and failures of the react-native-windows CLI',\n default: false,\n },\n language: {\n type: 'string',\n describe: 'The language the project is written in.',\n choices: ['cs', 'cpp'],\n default: 'cpp',\n },\n overwrite: {\n type: 'boolean',\n describe: 'Overwrite any existing files without prompting',\n default: false,\n },\n projectType: {\n type: 'string',\n describe: 'The type of project to initialize (supported on 0.64+)',\n choices: ['app', 'lib'],\n default: 'app',\n },\n experimentalNuGetDependency: {\n type: 'boolean',\n describe:\n '[Experimental] change to start consuming a NuGet containing a pre-built dll version of Microsoft.ReactNative',\n hidden: true,\n default: false,\n },\n useHermes: {\n type: 'boolean',\n describe:\n '[Experimental] Use Hermes instead of Chakra as the JS engine (supported on 0.64+ for C++ projects)',\n default: false,\n },\n useWinUI3: {\n type: 'boolean',\n describe: '[Experimental] Use WinUI3',\n hidden: true,\n default: false,\n },\n nuGetTestVersion: {\n type: 'string',\n describe:\n '[internalTesting] By default the NuGet version matches the rnw package. This flag allows manually specifying the version for internal testing.',\n hidden: true,\n },\n nuGetTestFeed: {\n type: 'string',\n describe:\n '[internalTesting] Allows a test feed to be added to the generated NuGet configuration',\n hidden: true,\n },\n useDevMode: {\n type: 'boolean',\n describe:\n '[internalTesting] Link rather than Add/Install the react-native-windows package. This option is for the development workflow of the developers working on react-native-windows.',\n hidden: true,\n conflicts: 'version',\n },\n })\n .strict(true).argv;\n\nif (argv.verbose) {\n console.log(argv);\n}\n\nif (!argv.telemetry) {\n if (argv.verbose) {\n console.log('Disabling telemetry');\n }\n Telemetry.disable();\n} else {\n Telemetry.setup();\n}\n\nfunction getReactNativeProjectName(): string {\n console.log('Reading project name from package.json...');\n const cwd = process.cwd();\n const pkgJsonPath = findUp.sync('package.json', {cwd});\n if (!pkgJsonPath) {\n throw new CodedError(\n 'NoPackageJSon',\n 'Unable to find package.json. This should be run from within an existing react-native project.',\n );\n }\n let name = JSON.parse(fs.readFileSync(pkgJsonPath, 'utf8')).name;\n if (!name) {\n const appJsonPath = findUp.sync('app.json', {cwd});\n if (appJsonPath) {\n console.log('Reading project name from app.json...');\n name = JSON.parse(fs.readFileSync(appJsonPath, 'utf8')).name;\n }\n }\n if (!name) {\n console.error('Please specify name in package.json or app.json');\n }\n return name;\n}\n\nfunction getReactNativeVersion(): string {\n console.log('Reading react-native version from node_modules...');\n const rnPkgJsonPath = require.resolve('react-native/package.json', {\n paths: [process.cwd()],\n });\n if (fs.existsSync(rnPkgJsonPath)) {\n return require(rnPkgJsonPath).version;\n }\n\n throw new CodedError(\n 'NoReactNativeFound',\n 'Must be run from a project that already depends on react-native, and has react-native installed.',\n );\n}\n\nfunction getDefaultReactNativeWindowsSemVerForReactNativeVersion(\n rnVersion: string,\n): string {\n const validVersion = semver.valid(rnVersion);\n if (validVersion) {\n const major = semver.major(validVersion);\n const minor = semver.minor(validVersion);\n if (major === 0 && minor >= 59) {\n return `^${major}.${minor}.0-0`;\n }\n }\n\n throw new CodedError(\n 'UnsupportedReactNativeVersion',\n `Error: Unsupported version of react-native: ${chalk.cyan(\n rnVersion,\n )} react-native-windows supports react-native versions ${chalk.cyan(\n '>=0.60',\n )}`,\n );\n}\n\nfunction getMatchingReactNativeSemVerForReactNativeWindowsVersion(\n rnwVersion: string,\n): string {\n const validVersion = semver.valid(rnwVersion);\n if (validVersion) {\n const major = semver.major(validVersion);\n const minor = semver.minor(validVersion);\n if (major === 0 && minor >= 59) {\n return `^${major}.${minor}`;\n }\n }\n return 'unknown';\n}\n\nasync function getLatestMatchingVersion(\n pkg: string,\n versionSemVer: string,\n): Promise<string> {\n const npmResponse = await npmFetch.json(pkg, {registry: NPM_REGISTRY_URL});\n\n // Check if versionSemVer is a tag (i.e. 'canary', 'latest', 'preview', etc.)\n if ('dist-tags' in npmResponse) {\n const distTags = npmResponse['dist-tags'] as Record<string, string>;\n if (versionSemVer in distTags) {\n return distTags[versionSemVer];\n }\n }\n\n // Check if versionSemVer is a semver version (i.e. '^0.60.0-0', '0.63.1', etc.)\n if ('versions' in npmResponse) {\n const versions = Object.keys(\n npmResponse.versions as Record<string, unknown>,\n );\n if (versions.length > 0) {\n const candidates = versions\n .filter(v => semver.satisfies(v, versionSemVer))\n .sort(semver.rcompare);\n if (candidates.length > 0) {\n return candidates[0];\n }\n }\n }\n\n throw new CodedError(\n 'NoMatchingPackageVersion',\n `No matching version of ${pkg}@${versionSemVer} found`,\n );\n}\n\nasync function getLatestRNWVersion(): Promise<string> {\n const rnwLatestVersion = await getLatestMatchingRNWVersion('latest');\n if (!rnwLatestVersion) {\n throw new CodedError(\n 'NoLatestReactNativeWindows',\n 'Error: No version of react-native-windows@latest found',\n );\n }\n return rnwLatestVersion;\n}\n\nasync function getLatestMatchingRNWVersion(\n versionSemVer: string,\n): Promise<string | null> {\n try {\n const version = await getLatestMatchingVersion(\n 'react-native-windows',\n versionSemVer,\n );\n return version;\n } catch (err) {\n return null;\n }\n}\n\nfunction installReactNativeWindows(\n version: string | undefined,\n useDevMode: boolean,\n) {\n const cwd = process.cwd();\n const execOptions = argv.verbose ? {stdio: 'inherit' as 'inherit'} : {};\n\n if (useDevMode) {\n const packageCmd = isProjectUsingYarn(cwd) ? 'yarn' : 'npm';\n execSync(`${packageCmd} link react-native-windows`, execOptions);\n version = '*';\n } else if (!version) {\n throw new CodedError(\n 'Unknown',\n 'Unexpected error encountered. If you are able, please file an issue on: https://github.com/microsoft/react-native-windows/issues/new/choose',\n );\n }\n\n console.log(\n `Installing ${chalk.green('react-native-windows')}@${chalk.cyan(\n version,\n )}...`,\n );\n\n const pkgJsonPath = findUp.sync('package.json', {cwd});\n if (!pkgJsonPath) {\n throw new CodedError('NoPackageJSon', 'Unable to find package.json');\n }\n\n const pkgJson = require(pkgJsonPath);\n\n // check how react-native is installed\n if ('dependencies' in pkgJson && 'react-native' in pkgJson.dependencies) {\n // regular dependency (probably an app), inject into json and run install\n pkgJson.dependencies['react-native-windows'] = version;\n fs.writeFileSync(pkgJsonPath, JSON.stringify(pkgJson, null, 2));\n execSync(isProjectUsingYarn(cwd) ? 'yarn' : 'npm install', execOptions);\n } else if (\n 'devDependencies' in pkgJson &&\n 'react-native' in pkgJson.devDependencies\n ) {\n // only a dev dependency (probably a native module),\n execSync(\n isProjectUsingYarn(cwd)\n ? `yarn add react-native-windows@${version} --dev`\n : `npm install react-native-windows@${version} --save-dev`,\n execOptions,\n );\n } else {\n throw new CodedError(\n 'NoReactNativeDependencies',\n \"Unable to find 'react-native' in package.json's dependencies or devDependencies. This should be run from within an existing react-native app or lib.\",\n );\n }\n\n console.log(\n chalk.green(\n `react-native-windows@${chalk.cyan(\n require(require.resolve('react-native-windows/package.json', {\n paths: [cwd],\n })).version,\n )} successfully installed.`,\n ),\n );\n}\n\nfunction getRNWInitVersion(): string {\n try {\n const pkgJson = require('../package.json');\n if (\n pkgJson.name === 'react-native-windows-init' &&\n pkgJson.version !== undefined\n ) {\n return pkgJson.version;\n }\n } catch {}\n return '';\n}\n\nfunction setExit(exitCode: CodedErrorType, error?: string): void {\n if (!process.exitCode || process.exitCode === CodedErrors.Success) {\n Telemetry.client?.trackEvent({\n name: 'init-exit',\n properties: {\n durationInSecs: process.uptime(),\n msftInternal: isMSFTInternal(),\n exitCode: exitCode,\n rnwinitVersion: getRNWInitVersion(),\n errorMessage: error,\n },\n });\n process.exitCode = CodedErrors[exitCode];\n }\n}\n\n/**\n * Check if project is using Yarn (has `yarn.lock` in the tree)\n */\nfunction isProjectUsingYarn(cwd: string): boolean {\n return !!findUp.sync('yarn.lock', {cwd});\n}\n\n(async () => {\n try {\n const name = getReactNativeProjectName();\n const ns = argv.namespace || name;\n const useDevMode = !!argv.useDevMode;\n let version = argv.version;\n\n if (argv.useWinUI3 && argv.experimentalNuGetDependency) {\n throw new CodedError(\n 'IncompatibleOptions',\n \"Error: Incompatible options specified. Options '--useWinUI3' and '--experimentalNuGetDependency' are incompatible\",\n {detail: 'useWinUI3 and experimentalNuGetDependency'},\n );\n }\n\n if (!useDevMode) {\n if (!version) {\n const rnVersion = getReactNativeVersion();\n version = getDefaultReactNativeWindowsSemVerForReactNativeVersion(\n rnVersion,\n );\n }\n\n const rnwResolvedVersion = await getLatestMatchingRNWVersion(version);\n\n if (!rnwResolvedVersion) {\n if (argv.version) {\n console.warn(\n `Warning: Querying npm to find react-native-windows@${argv.version} failed. Attempting to continue anyway...`,\n );\n } else {\n const rnwLatestVersion = await getLatestRNWVersion();\n throw new CodedError(\n 'NoAutoMatchingReactNativeWindows',\n `\n No compatible version of ${chalk.green('react-native-windows')} found.\n The latest supported version is ${chalk.green(\n 'react-native-windows',\n )}@${chalk.cyan(rnwLatestVersion)}.\n Please modify your application to use ${chalk.green(\n 'react-native',\n )}@${chalk.cyan(\n getMatchingReactNativeSemVerForReactNativeWindowsVersion(\n rnwLatestVersion,\n ),\n )} or another supported version of ${chalk.green(\n 'react-native',\n )} and try again.\n `,\n {rnwLatestVersion: rnwLatestVersion},\n );\n }\n }\n\n if (!argv.version) {\n console.log(\n `Latest matching version of ${chalk.bold(\n 'react-native-windows',\n )} for ${chalk.green('react-native')}@${chalk.cyan(\n getReactNativeVersion(),\n )} is ${chalk.green('react-native-windows')}@${chalk.cyan(\n rnwResolvedVersion,\n )}`,\n );\n\n if (rnwResolvedVersion && semver.prerelease(rnwResolvedVersion)) {\n const rnwLatestVersion = await getLatestRNWVersion();\n console.warn(\n `\n ${chalk.green('react-native-windows')}@${chalk.cyan(\n rnwResolvedVersion,\n )} is a ${chalk.yellow('pre-release')} version.\n The latest supported version is ${chalk.green(\n 'react-native-windows',\n )}@${chalk.cyan(rnwLatestVersion)}.\n You can either downgrade your version of ${chalk.green(\n 'react-native',\n )} to ${chalk.cyan(\n getMatchingReactNativeSemVerForReactNativeWindowsVersion(\n rnwLatestVersion,\n ),\n )}, or continue with a ${chalk.yellow(\n 'pre-release',\n )} version of ${chalk.bold('react-native-windows')}.\n `,\n );\n\n const confirm: boolean = (\n await prompts({\n type: 'confirm',\n name: 'confirm',\n message: `Do you wish to continue with ${chalk.green(\n 'react-native-windows',\n )}@${chalk.cyan(rnwResolvedVersion)}?`,\n })\n ).confirm;\n\n if (!confirm) {\n throw new CodedError('UserCancel', 'User canceled');\n }\n }\n }\n\n if (rnwResolvedVersion) {\n version = rnwResolvedVersion;\n }\n }\n\n installReactNativeWindows(version, useDevMode);\n\n const generateWindows = requireGenerateWindows();\n await generateWindows(process.cwd(), name, ns, {\n language: argv.language as 'cs' | 'cpp',\n overwrite: argv.overwrite,\n verbose: argv.verbose,\n projectType: argv.projectType as 'lib' | 'app',\n experimentalNuGetDependency: argv.experimentalNuGetDependency,\n useWinUI3: argv.useWinUI3,\n useHermes: argv.useHermes,\n useDevMode: useDevMode,\n nuGetTestVersion: argv.nuGetTestVersion,\n nuGetTestFeed: argv.nuGetTestFeed,\n telemetry: argv.telemetry,\n });\n return setExit('Success');\n } catch (e) {\n const error = e as Error;\n const exitCode =\n error instanceof CodedError\n ? ((error as CodedError).name as CodedErrorType)\n : 'Unknown';\n if (exitCode !== 'Success') {\n console.error(chalk.red(error.message));\n console.error(error);\n }\n setExit(exitCode, error.message);\n } finally {\n Telemetry.client?.flush();\n }\n})();\n"]}
1
+ {"version":3,"file":"Cli.js","sourceRoot":"","sources":["../src/Cli.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * @format\n */\n\nimport yargs from 'yargs';\nimport fs from '@react-native-windows/fs';\nimport semver from 'semver';\nimport {execSync} from 'child_process';\nimport validUrl from 'valid-url';\nimport prompts from 'prompts';\nimport findUp from 'find-up';\nimport chalk from 'chalk';\nimport npmFetch from 'npm-registry-fetch';\n\nimport {\n Telemetry,\n CommandStartInfo,\n CommandEndInfo,\n CodedErrors,\n CodedError,\n yargsOptionsToOptions,\n optionsToArgs,\n configToProjectInfo,\n getProjectFileFromConfig,\n} from '@react-native-windows/telemetry';\n\n/**\n * Important:\n * Do not use process.exit() in this script as it will prevent telemetry from being sent.\n * See https://github.com/microsoft/ApplicationInsights-node.js/issues/580\n */\n\nimport requireGenerateWindows from './requireGenerateWindows';\n\nconst npmConfReg = execSync('npm config get registry')\n .toString()\n .trim();\nconst NPM_REGISTRY_URL = validUrl.isUri(npmConfReg)\n ? npmConfReg\n : 'http://registry.npmjs.org';\n\nconst yargsParser = yargs\n .version(false)\n .strict(true)\n .options({\n version: {\n type: 'string',\n describe: 'The version of react-native-windows to use.',\n },\n namespace: {\n type: 'string',\n describe:\n \"The native project namespace. This should be expressed using dots as separators. i.e. 'Level1.Level2.Level3'. The generator will apply the correct syntax for the target language\",\n },\n verbose: {\n type: 'boolean',\n describe: 'Enables logging.',\n default: false,\n },\n telemetry: {\n type: 'boolean',\n describe:\n 'Controls sending telemetry that allows analysis of usage and failures of the react-native-windows CLI',\n default: true,\n },\n language: {\n type: 'string',\n describe: 'The language the project is written in.',\n choices: ['cs', 'cpp'],\n default: 'cpp',\n },\n overwrite: {\n type: 'boolean',\n describe: 'Overwrite any existing files without prompting',\n default: false,\n },\n projectType: {\n type: 'string',\n describe: 'The type of project to initialize (supported on 0.64+)',\n choices: ['app', 'lib'],\n default: 'app',\n },\n experimentalNuGetDependency: {\n type: 'boolean',\n describe:\n '[Experimental] change to start consuming a NuGet containing a pre-built dll version of Microsoft.ReactNative',\n hidden: true,\n default: false,\n },\n useHermes: {\n type: 'boolean',\n describe:\n '[Experimental] Use Hermes instead of Chakra as the JS engine (supported on 0.64+ for C++ projects)',\n default: false,\n },\n useWinUI3: {\n type: 'boolean',\n describe: '[Experimental] Use WinUI3',\n hidden: true,\n default: false,\n },\n nuGetTestVersion: {\n type: 'string',\n describe:\n '[internalTesting] By default the NuGet version matches the rnw package. This flag allows manually specifying the version for internal testing.',\n hidden: true,\n },\n nuGetTestFeed: {\n type: 'string',\n describe:\n '[internalTesting] Allows a test feed to be added to the generated NuGet configuration',\n hidden: true,\n },\n useDevMode: {\n type: 'boolean',\n describe:\n '[internalTesting] Link rather than Add/Install the react-native-windows package. This option is for the development workflow of the developers working on react-native-windows.',\n hidden: true,\n conflicts: 'version',\n },\n })\n .strict(true);\n\nconst argv = yargsParser.argv;\n\nfunction getReactNativeProjectName(): string {\n console.log('Reading project name from package.json...');\n const cwd = process.cwd();\n const pkgJsonPath = findUp.sync('package.json', {cwd});\n if (!pkgJsonPath) {\n throw new CodedError(\n 'NoPackageJson',\n 'Unable to find package.json. This should be run from within an existing react-native project.',\n );\n }\n type PackageJson = {name: string};\n\n let name = fs.readJsonFileSync<PackageJson>(pkgJsonPath).name;\n if (!name) {\n const appJsonPath = findUp.sync('app.json', {cwd});\n if (appJsonPath) {\n console.log('Reading project name from app.json...');\n name = fs.readJsonFileSync<PackageJson>(pkgJsonPath).name;\n }\n }\n if (!name) {\n console.error('Please specify name in package.json or app.json');\n }\n return name;\n}\n\nfunction getReactNativeVersion(): string {\n console.log('Reading react-native version from node_modules...');\n const rnPkgJsonPath = require.resolve('react-native/package.json', {\n paths: [process.cwd()],\n });\n if (fs.existsSync(rnPkgJsonPath)) {\n return require(rnPkgJsonPath).version;\n }\n\n throw new CodedError(\n 'NoReactNativeFound',\n 'Must be run from a project that already depends on react-native, and has react-native installed.',\n );\n}\n\nfunction getDefaultReactNativeWindowsSemVerForReactNativeVersion(\n rnVersion: string,\n): string {\n const validVersion = semver.valid(rnVersion);\n if (validVersion) {\n const major = semver.major(validVersion);\n const minor = semver.minor(validVersion);\n if (major === 0 && minor >= 59) {\n return `^${major}.${minor}.0-0`;\n }\n }\n\n throw new CodedError(\n 'UnsupportedReactNativeVersion',\n `Error: Unsupported version of react-native: ${chalk.cyan(\n rnVersion,\n )} react-native-windows supports react-native versions ${chalk.cyan(\n '>=0.60',\n )}`,\n );\n}\n\nfunction getMatchingReactNativeSemVerForReactNativeWindowsVersion(\n rnwVersion: string,\n): string {\n const validVersion = semver.valid(rnwVersion);\n if (validVersion) {\n const major = semver.major(validVersion);\n const minor = semver.minor(validVersion);\n if (major === 0 && minor >= 59) {\n return `^${major}.${minor}`;\n }\n }\n return 'unknown';\n}\n\nasync function getLatestMatchingVersion(\n pkg: string,\n versionSemVer: string,\n): Promise<string> {\n const npmResponse = await npmFetch.json(pkg, {registry: NPM_REGISTRY_URL});\n\n // Check if versionSemVer is a tag (i.e. 'canary', 'latest', 'preview', etc.)\n if ('dist-tags' in npmResponse) {\n const distTags = npmResponse['dist-tags'] as Record<string, string>;\n if (versionSemVer in distTags) {\n return distTags[versionSemVer];\n }\n }\n\n // Check if versionSemVer is a semver version (i.e. '^0.60.0-0', '0.63.1', etc.)\n if ('versions' in npmResponse) {\n const versions = Object.keys(\n npmResponse.versions as Record<string, unknown>,\n );\n if (versions.length > 0) {\n const candidates = versions\n .filter(v => semver.satisfies(v, versionSemVer))\n .sort(semver.rcompare);\n if (candidates.length > 0) {\n return candidates[0];\n }\n }\n }\n\n throw new CodedError(\n 'NoMatchingPackageVersion',\n `No matching version of ${pkg}@${versionSemVer} found`,\n );\n}\n\nasync function getLatestRNWVersion(): Promise<string> {\n const rnwLatestVersion = await getLatestMatchingRNWVersion('latest');\n if (!rnwLatestVersion) {\n throw new CodedError(\n 'NoLatestReactNativeWindows',\n 'Error: No version of react-native-windows@latest found',\n );\n }\n return rnwLatestVersion;\n}\n\nasync function getLatestMatchingRNWVersion(\n versionSemVer: string,\n): Promise<string | null> {\n try {\n const version = await getLatestMatchingVersion(\n 'react-native-windows',\n versionSemVer,\n );\n return version;\n } catch (err) {\n return null;\n }\n}\n\nfunction installReactNativeWindows(\n version: string | undefined,\n useDevMode: boolean,\n) {\n const cwd = process.cwd();\n const execOptions = argv.verbose ? {stdio: 'inherit' as 'inherit'} : {};\n\n if (useDevMode) {\n const packageCmd = isProjectUsingYarn(cwd) ? 'yarn' : 'npm';\n execSync(`${packageCmd} link react-native-windows`, execOptions);\n version = '*';\n } else if (!version) {\n throw new CodedError(\n 'Unknown',\n 'Unexpected error encountered. If you are able, please file an issue on: https://github.com/microsoft/react-native-windows/issues/new/choose',\n );\n }\n\n console.log(\n `Installing ${chalk.green('react-native-windows')}@${chalk.cyan(\n version,\n )}...`,\n );\n\n const pkgJsonPath = findUp.sync('package.json', {cwd});\n if (!pkgJsonPath) {\n throw new CodedError('NoPackageJson', 'Unable to find package.json');\n }\n\n const pkgJson = require(pkgJsonPath);\n\n // check how react-native is installed\n if ('dependencies' in pkgJson && 'react-native' in pkgJson.dependencies) {\n // regular dependency (probably an app), inject into json and run install\n pkgJson.dependencies['react-native-windows'] = version;\n fs.writeFileSync(pkgJsonPath, JSON.stringify(pkgJson, null, 2));\n execSync(isProjectUsingYarn(cwd) ? 'yarn' : 'npm install', execOptions);\n } else if (\n 'devDependencies' in pkgJson &&\n 'react-native' in pkgJson.devDependencies\n ) {\n // only a dev dependency (probably a native module),\n execSync(\n isProjectUsingYarn(cwd)\n ? `yarn add react-native-windows@${version} --dev`\n : `npm install react-native-windows@${version} --save-dev`,\n execOptions,\n );\n } else {\n throw new CodedError(\n 'NoReactNativeDependencies',\n \"Unable to find 'react-native' in package.json's dependencies or devDependencies. This should be run from within an existing react-native app or lib.\",\n );\n }\n\n console.log(\n chalk.green(\n `react-native-windows@${chalk.cyan(\n require(require.resolve('react-native-windows/package.json', {\n paths: [cwd],\n })).version,\n )} successfully installed.`,\n ),\n );\n}\n\n/**\n * Sanitizes the given option for telemetry.\n * @param key The key of the option.\n * @param value The unsanitized value of the option.\n * @returns The sanitized value of the option.\n */\nfunction optionSanitizer(key: string, value: any): any {\n switch (key) {\n case 'namespace':\n return value === undefined ? false : true;\n default:\n return value === undefined ? false : value;\n }\n}\n\n/**\n * Sets up and starts the telemetry gathering for the CLI command.\n */\nasync function startTelemetrySession() {\n if (!argv.telemetry) {\n if (argv.verbose) {\n console.log('Telemetry is disabled');\n }\n return;\n }\n\n await Telemetry.setup();\n\n const sanitizedOptions = yargsOptionsToOptions(argv, optionSanitizer);\n const sanitizedDefaultOptions = yargsOptionsToOptions(\n yargsParser.parse(''),\n optionSanitizer,\n );\n const sanitizedArgs = optionsToArgs(sanitizedOptions, process.argv);\n\n const startInfo: CommandStartInfo = {\n commandName: 'react-native-windows-init',\n args: sanitizedArgs,\n options: sanitizedOptions,\n defaultOptions: sanitizedDefaultOptions,\n };\n\n Telemetry.startCommand(startInfo);\n}\n\n/**\n * Adds the new project's telemetry info by calling and processing `react-native config`.\n */\nasync function addProjectInfoToTelemetry() {\n if (!Telemetry.isEnabled()) {\n return;\n }\n\n try {\n const config = JSON.parse(\n execSync('npx react-native config', {\n stdio: ['ignore', 'pipe', 'ignore'],\n }).toString(),\n );\n const projectInfo = await configToProjectInfo(config);\n if (projectInfo) {\n Telemetry.setProjectInfo(projectInfo);\n }\n\n const projectFile = getProjectFileFromConfig(config);\n if (projectFile) {\n await Telemetry.populateNuGetPackageVersions(projectFile);\n }\n } catch {}\n}\n\n/**\n * Ends the gathering of telemetry for the CLI command.\n * @param error The error (if any) thrown during the command.\n */\nfunction endTelemetrySession(error?: Error) {\n const endInfo: CommandEndInfo = {\n resultCode: 'Success',\n };\n\n if (error) {\n endInfo.resultCode =\n error instanceof CodedError ? (error as CodedError).type : 'Unknown';\n }\n\n Telemetry.endCommand(endInfo);\n}\n\n/**\n * Sets the process exit code and offers some information at the end of a CLI command.\n * @param loggingIsEnabled Is verbose logging enabled.\n * @param error The error caught during the process, if any.\n */\nfunction setExitProcessWithError(\n loggingIsEnabled: boolean,\n error?: Error,\n): void {\n if (error) {\n const errorType =\n error instanceof CodedError ? (error as CodedError).type : 'Unknown';\n\n process.exitCode = CodedErrors[errorType];\n\n if (loggingIsEnabled) {\n console.log(\n `Command failed with error ${chalk.bold(errorType)}: ${error.message}`,\n );\n if (Telemetry.isEnabled()) {\n console.log(\n `Your telemetry sessionId was ${chalk.bold(\n Telemetry.getSessionId(),\n )}`,\n );\n }\n } else {\n console.log(\n `Command failed. Re-run the command with ${chalk.bold(\n '--verbose',\n )} for more information.`,\n );\n }\n }\n}\n\n/**\n * Check if project is using Yarn (has `yarn.lock` in the tree)\n */\nfunction isProjectUsingYarn(cwd: string): boolean {\n return !!findUp.sync('yarn.lock', {cwd});\n}\n\n(async () => {\n if (argv.verbose) {\n console.log(argv);\n }\n\n await startTelemetrySession();\n\n let initWindowsError: Error | undefined;\n try {\n const name = getReactNativeProjectName();\n const ns = argv.namespace || name;\n const useDevMode = !!argv.useDevMode;\n let version = argv.version;\n\n if (argv.useWinUI3 && argv.experimentalNuGetDependency) {\n throw new CodedError(\n 'IncompatibleOptions',\n \"Error: Incompatible options specified. Options '--useWinUI3' and '--experimentalNuGetDependency' are incompatible\",\n {detail: 'useWinUI3 and experimentalNuGetDependency'},\n );\n }\n\n if (!useDevMode) {\n if (!version) {\n const rnVersion = getReactNativeVersion();\n version = getDefaultReactNativeWindowsSemVerForReactNativeVersion(\n rnVersion,\n );\n }\n\n const rnwResolvedVersion = await getLatestMatchingRNWVersion(version);\n\n if (!rnwResolvedVersion) {\n if (argv.version) {\n console.warn(\n `Warning: Querying npm to find react-native-windows@${argv.version} failed. Attempting to continue anyway...`,\n );\n } else {\n const rnwLatestVersion = await getLatestRNWVersion();\n throw new CodedError(\n 'NoAutoMatchingReactNativeWindows',\n `\n No compatible version of ${chalk.green('react-native-windows')} found.\n The latest supported version is ${chalk.green(\n 'react-native-windows',\n )}@${chalk.cyan(rnwLatestVersion)}.\n Please modify your application to use ${chalk.green(\n 'react-native',\n )}@${chalk.cyan(\n getMatchingReactNativeSemVerForReactNativeWindowsVersion(\n rnwLatestVersion,\n ),\n )} or another supported version of ${chalk.green(\n 'react-native',\n )} and try again.\n `,\n {rnwLatestVersion: rnwLatestVersion},\n );\n }\n }\n\n if (!argv.version) {\n console.log(\n `Latest matching version of ${chalk.bold(\n 'react-native-windows',\n )} for ${chalk.green('react-native')}@${chalk.cyan(\n getReactNativeVersion(),\n )} is ${chalk.green('react-native-windows')}@${chalk.cyan(\n rnwResolvedVersion,\n )}`,\n );\n\n if (rnwResolvedVersion && semver.prerelease(rnwResolvedVersion)) {\n const rnwLatestVersion = await getLatestRNWVersion();\n console.warn(\n `\n ${chalk.green('react-native-windows')}@${chalk.cyan(\n rnwResolvedVersion,\n )} is a ${chalk.yellow('pre-release')} version.\n The latest supported version is ${chalk.green(\n 'react-native-windows',\n )}@${chalk.cyan(rnwLatestVersion)}.\n You can either downgrade your version of ${chalk.green(\n 'react-native',\n )} to ${chalk.cyan(\n getMatchingReactNativeSemVerForReactNativeWindowsVersion(\n rnwLatestVersion,\n ),\n )}, or continue with a ${chalk.yellow(\n 'pre-release',\n )} version of ${chalk.bold('react-native-windows')}.\n `,\n );\n\n const confirm: boolean = (\n await prompts({\n type: 'confirm',\n name: 'confirm',\n message: `Do you wish to continue with ${chalk.green(\n 'react-native-windows',\n )}@${chalk.cyan(rnwResolvedVersion)}?`,\n })\n ).confirm;\n\n if (!confirm) {\n throw new CodedError('UserCancel', 'User canceled');\n }\n }\n }\n\n if (rnwResolvedVersion) {\n version = rnwResolvedVersion;\n }\n }\n\n installReactNativeWindows(version, useDevMode);\n\n const generateWindows = requireGenerateWindows();\n\n // Now that new NPM packages have been installed, refresh their versions\n await Telemetry.populateNpmPackageVersions(true);\n\n await generateWindows(process.cwd(), name, ns, {\n language: argv.language as 'cs' | 'cpp',\n overwrite: argv.overwrite,\n verbose: argv.verbose,\n projectType: argv.projectType as 'lib' | 'app',\n experimentalNuGetDependency: argv.experimentalNuGetDependency,\n useWinUI3: argv.useWinUI3,\n useHermes: argv.useHermes,\n useDevMode: useDevMode,\n nuGetTestVersion: argv.nuGetTestVersion,\n nuGetTestFeed: argv.nuGetTestFeed,\n telemetry: argv.telemetry,\n });\n\n // Now that the project has been generated, add project info\n await addProjectInfoToTelemetry();\n } catch (ex) {\n initWindowsError =\n ex instanceof Error ? (ex as Error) : new Error(String(ex));\n Telemetry.trackException(initWindowsError);\n\n console.error(chalk.red(initWindowsError.message));\n console.error(initWindowsError);\n }\n endTelemetrySession(initWindowsError);\n setExitProcessWithError(argv.verbose, initWindowsError);\n})();\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-windows-init",
3
- "version": "1.1.65",
3
+ "version": "1.1.69",
4
4
  "description": "CLI to add react-native-windows to an existing react-native project",
5
5
  "main": "index.js",
6
6
  "repository": "https://github.com/microsoft/react-native-windows",
@@ -18,7 +18,8 @@
18
18
  "react-native-windows-init": "./bin.js"
19
19
  },
20
20
  "dependencies": {
21
- "@react-native-windows/telemetry": "^0.0.0-canary.24",
21
+ "@react-native-windows/fs": "^1.0.0",
22
+ "@react-native-windows/telemetry": "^0.0.0-canary.25",
22
23
  "chalk": "^4.1.0",
23
24
  "find-up": "^4.1.0",
24
25
  "mustache": "^4.0.1",
@@ -30,8 +31,8 @@
30
31
  "yargs": "^16.2.0"
31
32
  },
32
33
  "devDependencies": {
33
- "@react-native-windows/cli": "0.0.0-canary.95",
34
- "@rnw-scripts/eslint-config": "1.1.8",
34
+ "@react-native-windows/cli": "0.0.0-canary.100",
35
+ "@rnw-scripts/eslint-config": "1.1.9",
35
36
  "@rnw-scripts/jest-unittest-config": "1.2.4",
36
37
  "@rnw-scripts/just-task": "2.2.1",
37
38
  "@rnw-scripts/ts-config": "2.0.1",