react-native-windows-init 1.1.64 → 1.1.68
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 +0 -0
- package/lib-commonjs/Cli.js +9 -8
- package/lib-commonjs/Cli.js.map +1 -1
- package/package.json +4 -4
- package/CHANGELOG.json +0 -1707
- package/CHANGELOG.md +0 -774
package/bin.js
CHANGED
|
File without changes
|
package/lib-commonjs/Cli.js
CHANGED
|
@@ -25,7 +25,7 @@ const telemetry_1 = require("@react-native-windows/telemetry");
|
|
|
25
25
|
* See https://github.com/microsoft/ApplicationInsights-node.js/issues/580
|
|
26
26
|
*/
|
|
27
27
|
const requireGenerateWindows_1 = __importDefault(require("./requireGenerateWindows"));
|
|
28
|
-
const npmConfReg = child_process_1.execSync('npm config get registry')
|
|
28
|
+
const npmConfReg = (0, child_process_1.execSync)('npm config get registry')
|
|
29
29
|
.toString()
|
|
30
30
|
.trim();
|
|
31
31
|
const NPM_REGISTRY_URL = valid_url_1.default.isUri(npmConfReg)
|
|
@@ -213,7 +213,7 @@ function installReactNativeWindows(version, useDevMode) {
|
|
|
213
213
|
const execOptions = argv.verbose ? { stdio: 'inherit' } : {};
|
|
214
214
|
if (useDevMode) {
|
|
215
215
|
const packageCmd = isProjectUsingYarn(cwd) ? 'yarn' : 'npm';
|
|
216
|
-
child_process_1.execSync(`${packageCmd} link react-native-windows`, execOptions);
|
|
216
|
+
(0, child_process_1.execSync)(`${packageCmd} link react-native-windows`, execOptions);
|
|
217
217
|
version = '*';
|
|
218
218
|
}
|
|
219
219
|
else if (!version) {
|
|
@@ -230,12 +230,12 @@ function installReactNativeWindows(version, useDevMode) {
|
|
|
230
230
|
// regular dependency (probably an app), inject into json and run install
|
|
231
231
|
pkgJson.dependencies['react-native-windows'] = version;
|
|
232
232
|
fs_1.default.writeFileSync(pkgJsonPath, JSON.stringify(pkgJson, null, 2));
|
|
233
|
-
child_process_1.execSync(isProjectUsingYarn(cwd) ? 'yarn' : 'npm install', execOptions);
|
|
233
|
+
(0, child_process_1.execSync)(isProjectUsingYarn(cwd) ? 'yarn' : 'npm install', execOptions);
|
|
234
234
|
}
|
|
235
235
|
else if ('devDependencies' in pkgJson &&
|
|
236
236
|
'react-native' in pkgJson.devDependencies) {
|
|
237
237
|
// only a dev dependency (probably a native module),
|
|
238
|
-
child_process_1.execSync(isProjectUsingYarn(cwd)
|
|
238
|
+
(0, child_process_1.execSync)(isProjectUsingYarn(cwd)
|
|
239
239
|
? `yarn add react-native-windows@${version} --dev`
|
|
240
240
|
: `npm install react-native-windows@${version} --save-dev`, execOptions);
|
|
241
241
|
}
|
|
@@ -264,7 +264,7 @@ function setExit(exitCode, error) {
|
|
|
264
264
|
name: 'init-exit',
|
|
265
265
|
properties: {
|
|
266
266
|
durationInSecs: process.uptime(),
|
|
267
|
-
msftInternal: telemetry_1.isMSFTInternal(),
|
|
267
|
+
msftInternal: (0, telemetry_1.isMSFTInternal)(),
|
|
268
268
|
exitCode: exitCode,
|
|
269
269
|
rnwinitVersion: getRNWInitVersion(),
|
|
270
270
|
errorMessage: error,
|
|
@@ -317,7 +317,7 @@ function isProjectUsingYarn(cwd) {
|
|
|
317
317
|
The latest supported version is ${chalk_1.default.green('react-native-windows')}@${chalk_1.default.cyan(rnwLatestVersion)}.
|
|
318
318
|
You can either downgrade your version of ${chalk_1.default.green('react-native')} to ${chalk_1.default.cyan(getMatchingReactNativeSemVerForReactNativeWindowsVersion(rnwLatestVersion))}, or continue with a ${chalk_1.default.yellow('pre-release')} version of ${chalk_1.default.bold('react-native-windows')}.
|
|
319
319
|
`);
|
|
320
|
-
const confirm = (await prompts_1.default({
|
|
320
|
+
const confirm = (await (0, prompts_1.default)({
|
|
321
321
|
type: 'confirm',
|
|
322
322
|
name: 'confirm',
|
|
323
323
|
message: `Do you wish to continue with ${chalk_1.default.green('react-native-windows')}@${chalk_1.default.cyan(rnwResolvedVersion)}?`,
|
|
@@ -332,7 +332,7 @@ function isProjectUsingYarn(cwd) {
|
|
|
332
332
|
}
|
|
333
333
|
}
|
|
334
334
|
installReactNativeWindows(version, useDevMode);
|
|
335
|
-
const generateWindows = requireGenerateWindows_1.default();
|
|
335
|
+
const generateWindows = (0, requireGenerateWindows_1.default)();
|
|
336
336
|
await generateWindows(process.cwd(), name, ns, {
|
|
337
337
|
language: argv.language,
|
|
338
338
|
overwrite: argv.overwrite,
|
|
@@ -348,7 +348,8 @@ function isProjectUsingYarn(cwd) {
|
|
|
348
348
|
});
|
|
349
349
|
return setExit('Success');
|
|
350
350
|
}
|
|
351
|
-
catch (
|
|
351
|
+
catch (e) {
|
|
352
|
+
const error = e;
|
|
352
353
|
const exitCode = error instanceof telemetry_1.CodedError
|
|
353
354
|
? error.name
|
|
354
355
|
: 'Unknown';
|
package/lib-commonjs/Cli.js.map
CHANGED
|
@@ -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 (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 '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"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-windows-init",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.68",
|
|
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,7 @@
|
|
|
18
18
|
"react-native-windows-init": "./bin.js"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@react-native-windows/telemetry": "^0.0.0-canary.
|
|
21
|
+
"@react-native-windows/telemetry": "^0.0.0-canary.24",
|
|
22
22
|
"chalk": "^4.1.0",
|
|
23
23
|
"find-up": "^4.1.0",
|
|
24
24
|
"mustache": "^4.0.1",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"yargs": "^16.2.0"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
-
"@react-native-windows/cli": "0.0.0-canary.
|
|
33
|
+
"@react-native-windows/cli": "0.0.0-canary.99",
|
|
34
34
|
"@rnw-scripts/eslint-config": "1.1.8",
|
|
35
35
|
"@rnw-scripts/jest-unittest-config": "1.2.4",
|
|
36
36
|
"@rnw-scripts/just-task": "2.2.1",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"jest": "^26.6.3",
|
|
49
49
|
"just-scripts": "^1.3.3",
|
|
50
50
|
"prettier": "1.19.1",
|
|
51
|
-
"typescript": "^
|
|
51
|
+
"typescript": "^4.4.4"
|
|
52
52
|
},
|
|
53
53
|
"files": [
|
|
54
54
|
"bin.js",
|