@react-native-windows/cli 0.0.0-canary.99 → 0.0.1-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/README.md +0 -2
  2. package/lib-commonjs/{runWindows/utils/autolink.d.ts → commands/autolinkWindows/autolinkWindows.d.ts} +87 -86
  3. package/lib-commonjs/{runWindows/utils/autolink.js → commands/autolinkWindows/autolinkWindows.js} +655 -625
  4. package/lib-commonjs/commands/autolinkWindows/autolinkWindows.js.map +1 -0
  5. package/lib-commonjs/commands/autolinkWindows/autolinkWindowsOptions.d.ts +14 -0
  6. package/lib-commonjs/commands/autolinkWindows/autolinkWindowsOptions.js +33 -0
  7. package/lib-commonjs/commands/autolinkWindows/autolinkWindowsOptions.js.map +1 -0
  8. package/lib-commonjs/commands/codegenWindows/codegenWindows.d.ts +27 -0
  9. package/lib-commonjs/commands/codegenWindows/codegenWindows.js +206 -0
  10. package/lib-commonjs/commands/codegenWindows/codegenWindows.js.map +1 -0
  11. package/lib-commonjs/commands/codegenWindows/codegenWindowsOptions.d.ts +12 -0
  12. package/lib-commonjs/commands/codegenWindows/codegenWindowsOptions.js +23 -0
  13. package/lib-commonjs/commands/codegenWindows/codegenWindowsOptions.js.map +1 -0
  14. package/lib-commonjs/{config → commands/config}/configUtils.d.ts +123 -116
  15. package/lib-commonjs/{config → commands/config}/configUtils.js +380 -341
  16. package/lib-commonjs/commands/config/configUtils.js.map +1 -0
  17. package/lib-commonjs/{config → commands/config}/dependencyConfig.d.ts +37 -37
  18. package/lib-commonjs/{config → commands/config}/dependencyConfig.js +227 -221
  19. package/lib-commonjs/commands/config/dependencyConfig.js.map +1 -0
  20. package/lib-commonjs/{config → commands/config}/projectConfig.d.ts +27 -27
  21. package/lib-commonjs/{config → commands/config}/projectConfig.js +180 -176
  22. package/lib-commonjs/commands/config/projectConfig.js.map +1 -0
  23. package/lib-commonjs/commands/healthCheck/healthCheckList.d.ts +6 -0
  24. package/lib-commonjs/commands/healthCheck/healthCheckList.js +21 -0
  25. package/lib-commonjs/commands/healthCheck/healthCheckList.js.map +1 -0
  26. package/lib-commonjs/{healthChecks.d.ts → commands/healthCheck/healthChecks.d.ts} +7 -2
  27. package/lib-commonjs/commands/healthCheck/healthChecks.js +124 -0
  28. package/lib-commonjs/commands/healthCheck/healthChecks.js.map +1 -0
  29. package/lib-commonjs/commands/initWindows/initWindows.d.ts +46 -0
  30. package/lib-commonjs/commands/initWindows/initWindows.js +244 -0
  31. package/lib-commonjs/commands/initWindows/initWindows.js.map +1 -0
  32. package/lib-commonjs/commands/initWindows/initWindowsOptions.d.ts +15 -0
  33. package/lib-commonjs/commands/initWindows/initWindowsOptions.js +38 -0
  34. package/lib-commonjs/commands/initWindows/initWindowsOptions.js.map +1 -0
  35. package/lib-commonjs/{runWindows → commands/runWindows}/runWindows.d.ts +10 -11
  36. package/lib-commonjs/{runWindows → commands/runWindows}/runWindows.js +321 -318
  37. package/lib-commonjs/commands/runWindows/runWindows.js.map +1 -0
  38. package/lib-commonjs/{runWindows → commands/runWindows}/runWindowsOptions.d.ts +56 -56
  39. package/lib-commonjs/{runWindows → commands/runWindows}/runWindowsOptions.js +132 -135
  40. package/lib-commonjs/commands/runWindows/runWindowsOptions.js.map +1 -0
  41. package/lib-commonjs/e2etest/autolink.test.d.ts +6 -6
  42. package/lib-commonjs/e2etest/autolink.test.js +366 -418
  43. package/lib-commonjs/e2etest/autolink.test.js.map +1 -1
  44. package/lib-commonjs/e2etest/dependencyConfig.test.d.ts +6 -6
  45. package/lib-commonjs/e2etest/dependencyConfig.test.js +129 -161
  46. package/lib-commonjs/e2etest/dependencyConfig.test.js.map +1 -1
  47. package/lib-commonjs/e2etest/healthChecks.test.d.ts +6 -0
  48. package/lib-commonjs/e2etest/healthChecks.test.js +31 -0
  49. package/lib-commonjs/e2etest/healthChecks.test.js.map +1 -0
  50. package/lib-commonjs/e2etest/initWindows.test.d.ts +6 -0
  51. package/lib-commonjs/e2etest/initWindows.test.js +43 -0
  52. package/lib-commonjs/e2etest/initWindows.test.js.map +1 -0
  53. package/lib-commonjs/e2etest/projectConfig.test.d.ts +6 -6
  54. package/lib-commonjs/e2etest/projectConfig.test.js +110 -124
  55. package/lib-commonjs/e2etest/projectConfig.test.js.map +1 -1
  56. package/lib-commonjs/e2etest/projectConfig.utils.d.ts +8 -4
  57. package/lib-commonjs/e2etest/projectConfig.utils.js +76 -62
  58. package/lib-commonjs/e2etest/projectConfig.utils.js.map +1 -1
  59. package/lib-commonjs/e2etest/runWindows.test.d.ts +6 -6
  60. package/lib-commonjs/e2etest/runWindows.test.js +60 -39
  61. package/lib-commonjs/e2etest/runWindows.test.js.map +1 -1
  62. package/lib-commonjs/e2etest/typesUpToDate.test.d.ts +6 -0
  63. package/lib-commonjs/e2etest/typesUpToDate.test.js +21 -0
  64. package/lib-commonjs/e2etest/typesUpToDate.test.js.map +1 -0
  65. package/lib-commonjs/generator-common/index.d.ts +39 -39
  66. package/lib-commonjs/generator-common/index.js +242 -242
  67. package/lib-commonjs/generator-common/index.js.map +1 -1
  68. package/lib-commonjs/generator-windows/index.d.ts +10 -10
  69. package/lib-commonjs/generator-windows/index.js +316 -369
  70. package/lib-commonjs/generator-windows/index.js.map +1 -1
  71. package/lib-commonjs/index.d.ts +50 -50
  72. package/lib-commonjs/index.js +77 -106
  73. package/lib-commonjs/index.js.map +1 -1
  74. package/lib-commonjs/{runWindows/utils → utils}/build.d.ts +12 -12
  75. package/lib-commonjs/{runWindows/utils → utils}/build.js +84 -84
  76. package/lib-commonjs/utils/build.js.map +1 -0
  77. package/lib-commonjs/{runWindows/utils → utils}/checkRequirements.d.ts +6 -6
  78. package/lib-commonjs/{runWindows/utils → utils}/checkRequirements.js +69 -69
  79. package/lib-commonjs/utils/checkRequirements.js.map +1 -0
  80. package/lib-commonjs/{runWindows/utils → utils}/commandWithProgress.d.ts +21 -15
  81. package/lib-commonjs/{runWindows/utils → utils}/commandWithProgress.js +149 -127
  82. package/lib-commonjs/utils/commandWithProgress.js.map +1 -0
  83. package/lib-commonjs/{runWindows/utils → utils}/deploy.d.ts +12 -12
  84. package/lib-commonjs/{runWindows/utils → utils}/deploy.js +353 -328
  85. package/lib-commonjs/utils/deploy.js.map +1 -0
  86. package/lib-commonjs/{runWindows/utils → utils}/info.d.ts +6 -6
  87. package/lib-commonjs/{runWindows/utils → utils}/info.js +28 -28
  88. package/lib-commonjs/utils/info.js.map +1 -0
  89. package/lib-commonjs/{runWindows/utils → utils}/msbuildtools.d.ts +28 -26
  90. package/lib-commonjs/{runWindows/utils → utils}/msbuildtools.js +273 -219
  91. package/lib-commonjs/utils/msbuildtools.js.map +1 -0
  92. package/lib-commonjs/utils/pathHelpers.d.ts +9 -0
  93. package/lib-commonjs/utils/pathHelpers.js +37 -0
  94. package/lib-commonjs/utils/pathHelpers.js.map +1 -0
  95. package/lib-commonjs/utils/telemetryHelpers.d.ts +29 -0
  96. package/lib-commonjs/utils/telemetryHelpers.js +121 -0
  97. package/lib-commonjs/utils/telemetryHelpers.js.map +1 -0
  98. package/lib-commonjs/{runWindows/utils → utils}/version.d.ts +19 -19
  99. package/lib-commonjs/{runWindows/utils → utils}/version.js +109 -109
  100. package/lib-commonjs/utils/version.js.map +1 -0
  101. package/lib-commonjs/{runWindows/utils → utils}/vsInstalls.d.ts +34 -34
  102. package/lib-commonjs/{runWindows/utils → utils}/vsInstalls.js +99 -73
  103. package/lib-commonjs/utils/vsInstalls.js.map +1 -0
  104. package/lib-commonjs/{runWindows/utils → utils}/vstools.d.ts +16 -16
  105. package/lib-commonjs/{runWindows/utils → utils}/vstools.js +189 -162
  106. package/lib-commonjs/utils/vstools.js.map +1 -0
  107. package/lib-commonjs/{runWindows/utils → utils}/winappdeploytool.d.ts +24 -24
  108. package/lib-commonjs/{runWindows/utils → utils}/winappdeploytool.js +108 -108
  109. package/lib-commonjs/utils/winappdeploytool.js.map +1 -0
  110. package/package.json +27 -20
  111. package/src/powershell/Eval-MsBuildProperties.ps1 +156 -0
  112. package/lib-commonjs/config/configUtils.js.map +0 -1
  113. package/lib-commonjs/config/dependencyConfig.js.map +0 -1
  114. package/lib-commonjs/config/projectConfig.js.map +0 -1
  115. package/lib-commonjs/healthChecks.js +0 -88
  116. package/lib-commonjs/healthChecks.js.map +0 -1
  117. package/lib-commonjs/runWindows/runWindows.js.map +0 -1
  118. package/lib-commonjs/runWindows/runWindowsOptions.js.map +0 -1
  119. package/lib-commonjs/runWindows/utils/autolink.js.map +0 -1
  120. package/lib-commonjs/runWindows/utils/build.js.map +0 -1
  121. package/lib-commonjs/runWindows/utils/checkRequirements.js.map +0 -1
  122. package/lib-commonjs/runWindows/utils/commandWithProgress.js.map +0 -1
  123. package/lib-commonjs/runWindows/utils/deploy.js.map +0 -1
  124. package/lib-commonjs/runWindows/utils/info.js.map +0 -1
  125. package/lib-commonjs/runWindows/utils/msbuildtools.js.map +0 -1
  126. package/lib-commonjs/runWindows/utils/version.js.map +0 -1
  127. package/lib-commonjs/runWindows/utils/vsInstalls.js.map +0 -1
  128. package/lib-commonjs/runWindows/utils/vstools.js.map +0 -1
  129. package/lib-commonjs/runWindows/utils/winappdeploytool.js.map +0 -1
  130. /package/{powershell → src/powershell}/Add-AppDevPackage.ps1 +0 -0
  131. /package/{powershell → src/powershell}/WindowsStoreAppUtils.ps1 +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependencyConfig.js","sourceRoot":"","sources":["../../../src/commands/config/dependencyConfig.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n * @format\n */\n\n// Types in this file are inaccurate compared to usage in terms of falsiness.\n// We should try to rewrite some of this to do automated schema validation to\n// guarantee correct types\n/* eslint-disable @typescript-eslint/no-unnecessary-condition */\n\nimport {platform} from 'os';\nimport path from 'path';\n\nimport * as configUtils from './configUtils';\n\n/*\n\nreact-native config will generate the following JSON for each native module dependency\nunder node_modules that has a Windows implementation, in order to support auto-linking.\nThis is done heuristically, so if the result isn't quite correct, native module developers\ncan provide a manual override file: react-native.config.js.\n\nSchema for dependencies:\n\nTags:\nauto - Item is always calculated by config. An override file should NEVER provide it.\nreq - Item is required. If an override file exists, it MUST provide it. If no override file exists, config will try to calculate it.\nopt - Item is optional. If an override file exists, it MAY provide it. If no override file exists, config may try to calculate it.\n\n{\n folder: string, // (auto) Absolute path to the module root folder, determined by react-native config, ex: 'c:\\path\\to\\app-name\\node_modules\\my-module'\n sourceDir: string, // (opt, req if projects defined) Relative path to the Windows implementation under folder, ex: 'windows'\n solutionFile: string, // (opt) Relative path to the module's VS solution file under sourceDir, ex: 'MyModule.sln'\n projects: [ // (opt) Array of VS projects that must be added to the consuming app's solution file, so they are built\n {\n projectFile: string, // (req) Relative path to the VS project file under sourceDir, ex: 'MyModule\\MyModule.vcxproj' for 'c:\\path\\to\\app-name\\node_modules\\my-module\\windows\\MyModule\\MyModule.vcxproj'\n directDependency: bool, // (req) Whether to add the project file as a dependency to the consuming app's project file. true for projects that provide native modules\n projectName: string, // (auto) Name of the project, determined from projectFile, ex: 'MyModule'\n projectLang: string, // (auto) Language of the project, cpp or cs, determined from projectFile\n projectGuid: string, // (auto) Project identifier, determined from projectFile\n cppHeaders: [], // (opt) Array of cpp header include lines, ie: 'winrt/MyModule.h', to be transformed into '#include <winrt/MyModule.h>'\n cppPackageProviders: [], // (opt) Array of fully qualified cpp IReactPackageProviders, ie: 'MyModule::ReactPackageProvider'\n csNamespaces: [], // (opt) Array of cs namespaces, ie: 'MyModule', to be transformed into 'using MyModule;'\n csPackageProviders: [], // (opt) Array of fully qualified cs IReactPackageProviders, ie: 'MyModule.ReactPackageProvider'\n },\n ],\n nugetPackages: [ // (opt) Array of nuget packages including native modules that must be added as a dependency to the consuming app. It can be empty, but by its nature it can't be calculated\n {\n packageName: string, // (req) Name of the nuget package to install\n packageVersion: string, // (req) Version of the nuget package to install\n cppHeaders: [], // (req) Array of cpp header include lines, ie: 'winrt/NugetModule.h', to be transformed into '#include <winrt/NugetModule.h>'\n cppPackageProviders: [], // (req) Array of fully qualified cpp IReactPackageProviders, ie: 'NugetModule::ReactPackageProvider'\n csNamespaces: [], // (req) Array of cs namespaces, ie: 'NugetModule', to be transformed into 'using NugetModule;'\n csPackageProviders: [], // (req) Array of fully qualified cs IReactPackageProviders, ie: 'NugetModule.ReactPackageProvider'\n },\n ],\n}\n\nExample react-native.config.js for a 'MyModule':\n\nmodule.exports = {\n dependency: {\n platforms: {\n windows: {\n sourceDir: 'windows',\n solutionFile: 'MyModule.sln',\n projects: [\n {\n projectFile: 'MyModule\\\\MyModule.vcxproj',\n directDependency: true,\n }\n ],\n },\n },\n },\n};\n\n*/\n\nexport interface ProjectDependency {\n projectFile: string;\n directDependency: boolean;\n projectName: string;\n projectLang: 'cpp' | 'cs' | null;\n projectGuid: string | null;\n cppHeaders: string[];\n cppPackageProviders: string[];\n csNamespaces: string[];\n csPackageProviders: string[];\n}\n\nexport interface NuGetPackageDependency {\n packageName: string;\n packageVersion: string;\n cppHeaders: string[];\n cppPackageProviders: string[];\n csNamespaces: string[];\n csPackageProviders: string[];\n}\n\nexport interface WindowsDependencyConfig {\n folder: string;\n sourceDir?: string;\n solutionFile?: string | null;\n projects: ProjectDependency[];\n nugetPackages: NuGetPackageDependency[];\n}\n\n/**\n * Gets the config of any RNW native modules under the target folder.\n * @param userConfig A manually specified override config.\n * @return The config if any RNW native modules exist.\n */\n// Disabled due to existing high cyclomatic complexity\n// eslint-disable-next-line complexity\nexport function dependencyConfigWindows(\n folder: string,\n userConfig: Partial<WindowsDependencyConfig> | null = {},\n): WindowsDependencyConfig | null {\n if (platform() !== 'win32') {\n return null;\n }\n\n if (userConfig === null) {\n return null;\n }\n\n const usingManualProjectsOverride =\n 'projects' in userConfig && Array.isArray(userConfig.projects);\n\n const usingManualNugetPackagesOverride =\n 'nugetPackages' in userConfig && Array.isArray(userConfig.nugetPackages);\n\n const result: WindowsDependencyConfig = {\n folder,\n projects: usingManualProjectsOverride ? userConfig.projects! : [],\n solutionFile: null,\n nugetPackages: usingManualNugetPackagesOverride\n ? userConfig.nugetPackages!\n : [],\n };\n\n let sourceDir: string | null = null;\n if (usingManualProjectsOverride && result.projects.length > 0) {\n // Manually provided projects, so extract the sourceDir\n if (!('sourceDir' in userConfig)) {\n sourceDir =\n 'Error: Source dir is required if projects are specified, but it is not specified in react-native.config.';\n } else if (userConfig.sourceDir === null) {\n sourceDir =\n 'Error: Source dir is required if projects are specified, but it is null in react-native.config.';\n } else {\n sourceDir = path.join(folder, userConfig.sourceDir!);\n }\n } else if (!usingManualProjectsOverride) {\n // No manually provided projects, try to find sourceDir\n if ('sourceDir' in userConfig && userConfig.sourceDir !== null) {\n sourceDir = path.join(folder, userConfig.sourceDir!);\n } else {\n sourceDir = configUtils.findWindowsFolder(folder);\n }\n }\n\n if (sourceDir === null) {\n // Try to salvage the missing sourceDir\n if (result.projects.length === 0 && result.nugetPackages.length > 0) {\n // Only nuget packages, no sourceDir required\n return result;\n } else if (result.projects.length > 0) {\n // Projects overridden but no sourceDir, assume the sourceDir === folder\n sourceDir = folder;\n }\n } else if (sourceDir.startsWith('Error: ')) {\n // Source dir error, bail with error\n result.sourceDir = sourceDir;\n return result;\n }\n\n if (sourceDir === null) {\n // After everything above, if sourceDir is still null,\n // there's nothing more to look for here, bail\n return null;\n }\n\n result.sourceDir = path.relative(folder, sourceDir);\n\n const usingManualSolutionFile = 'solutionFile' in userConfig;\n\n let solutionFile = null;\n if (usingManualSolutionFile && userConfig.solutionFile !== null) {\n // Manually provided solutionFile, so extract it\n solutionFile = path.join(sourceDir, userConfig.solutionFile!);\n } else if (!usingManualSolutionFile) {\n // No manually provided solutionFile, try to find it\n const foundSolutions = configUtils.findSolutionFiles(sourceDir);\n if (foundSolutions.length === 1) {\n solutionFile = path.join(sourceDir, foundSolutions[0]);\n }\n }\n\n result.solutionFile =\n solutionFile !== null ? path.relative(sourceDir, solutionFile) : null;\n\n if (usingManualProjectsOverride) {\n // react-native.config used, fill out (auto) items for each provided project, verify (req) items are present\n\n const alwaysRequired: Array<keyof ProjectDependency> = [\n 'projectFile',\n 'directDependency',\n ];\n\n for (const project of result.projects) {\n // Verifying (req) items\n let errorFound = false;\n\n alwaysRequired.forEach(item => {\n if (!(item in project)) {\n (project[\n item\n ] as string) = `Error: ${item} is required for each project in react-native.config`;\n errorFound = true;\n }\n });\n\n if (errorFound) {\n break;\n }\n\n const projectFile = path.join(sourceDir, project.projectFile);\n\n const projectContents = configUtils.readProjectFile(projectFile);\n\n project.projectFile = path.relative(sourceDir, projectFile);\n\n // Calculating (auto) items\n project.projectName = configUtils.getProjectName(\n projectFile,\n projectContents,\n );\n project.projectLang = configUtils.getProjectLanguage(projectFile);\n project.projectGuid = configUtils.getProjectGuid(projectContents);\n\n if (project.directDependency) {\n // Calculating more (auto) items\n\n const projectNamespace =\n configUtils.getProjectNamespace(projectContents);\n\n if (projectNamespace !== null) {\n const cppNamespace = projectNamespace!.replace(/\\./g, '::');\n const csNamespace = projectNamespace!.replace(/::/g, '.');\n\n project.cppHeaders = project.cppHeaders || [`winrt/${csNamespace}.h`];\n project.cppPackageProviders = project.cppPackageProviders || [\n `${cppNamespace}::ReactPackageProvider`,\n ];\n project.csNamespaces = project.csNamespaces || [`${csNamespace}`];\n project.csPackageProviders = project.csPackageProviders || [\n `${csNamespace}.ReactPackageProvider`,\n ];\n }\n }\n }\n } else {\n // No react-native.config, try to heuristically find any projects\n\n const foundProjects = configUtils.findDependencyProjectFiles(sourceDir);\n\n for (const foundProject of foundProjects) {\n const projectFile = path.join(sourceDir, foundProject);\n\n const projectContents = configUtils.readProjectFile(projectFile);\n\n const projectType = configUtils.getProjectType(\n projectFile,\n projectContents,\n );\n\n if (\n projectType === 'dynamiclibrary' ||\n projectType === 'winmdobj' ||\n projectType === 'library'\n ) {\n const projectLang = configUtils.getProjectLanguage(projectFile);\n\n const projectName = configUtils.getProjectName(\n projectFile,\n projectContents,\n );\n\n const projectGuid = configUtils.getProjectGuid(projectContents);\n\n const projectNamespace =\n configUtils.getProjectNamespace(projectContents);\n\n const directDependency = true;\n\n const cppHeaders: string[] = [];\n const cppPackageProviders: string[] = [];\n const csNamespaces: string[] = [];\n const csPackageProviders: string[] = [];\n\n if (projectNamespace !== null) {\n const cppNamespace = projectNamespace.replace(/\\./g, '::');\n const csNamespace = projectNamespace.replace(/::/g, '.');\n\n cppHeaders.push(`winrt/${csNamespace}.h`);\n cppPackageProviders.push(`${cppNamespace}::ReactPackageProvider`);\n csNamespaces.push(`${csNamespace}`);\n csPackageProviders.push(`${csNamespace}.ReactPackageProvider`);\n }\n\n result.projects.push({\n projectFile: path.relative(sourceDir, projectFile),\n projectName,\n projectLang,\n projectGuid,\n directDependency,\n cppHeaders,\n cppPackageProviders,\n csNamespaces,\n csPackageProviders,\n });\n } else {\n const projectPath = path.relative(sourceDir, projectFile);\n result.projects.push({\n projectFile: `Error: ${projectPath} is type '${projectType}'`,\n directDependency: false,\n projectName: '',\n projectLang: null,\n projectGuid: null,\n cppHeaders: [],\n cppPackageProviders: [],\n csNamespaces: [],\n csPackageProviders: [],\n });\n }\n }\n }\n\n return result;\n}\n"]}
@@ -1,27 +1,27 @@
1
- /**
2
- * Copyright (c) Microsoft Corporation.
3
- * Licensed under the MIT License.
4
- * @format
5
- */
6
- export interface Project {
7
- projectFile: string;
8
- projectName: string;
9
- projectLang: 'cpp' | 'cs' | null;
10
- projectGuid: string | null;
11
- projectTypeGuid?: string;
12
- }
13
- export interface WindowsProjectConfig {
14
- folder: string;
15
- sourceDir: string;
16
- solutionFile: string;
17
- project: Project;
18
- useWinUI3?: boolean;
19
- experimentalFeatures?: Record<string, string>;
20
- }
21
- /**
22
- * Gets the config of any RNW apps under the target folder.
23
- * @param folder The absolute path to the target folder.
24
- * @param userConfig A manually specified override config.
25
- * @return The config if any RNW apps exist.
26
- */
27
- export declare function projectConfigWindows(folder: string, userConfig?: Partial<WindowsProjectConfig> | null): WindowsProjectConfig | null;
1
+ /**
2
+ * Copyright (c) Microsoft Corporation.
3
+ * Licensed under the MIT License.
4
+ * @format
5
+ */
6
+ export interface Project {
7
+ projectFile: string;
8
+ projectName: string;
9
+ projectLang: 'cpp' | 'cs' | null;
10
+ projectGuid: string | null;
11
+ projectTypeGuid?: string;
12
+ }
13
+ export interface WindowsProjectConfig {
14
+ folder: string;
15
+ sourceDir: string;
16
+ solutionFile: string;
17
+ project: Project;
18
+ useWinUI3?: boolean;
19
+ experimentalFeatures?: Record<string, string>;
20
+ }
21
+ /**
22
+ * Gets the config of any RNW apps under the target folder.
23
+ * @param folder The absolute path to the target folder.
24
+ * @param userConfig A manually specified override config.
25
+ * @return The config if any RNW apps exist.
26
+ */
27
+ export declare function projectConfigWindows(folder: string, userConfig?: Partial<WindowsProjectConfig> | null): WindowsProjectConfig | null;
@@ -1,177 +1,181 @@
1
- "use strict";
2
- /**
3
- * Copyright (c) Microsoft Corporation.
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
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
- Object.defineProperty(o, "default", { enumerable: true, value: v });
16
- }) : function(o, v) {
17
- o["default"] = v;
18
- });
19
- var __importStar = (this && this.__importStar) || function (mod) {
20
- if (mod && mod.__esModule) return mod;
21
- var result = {};
22
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
- __setModuleDefault(result, mod);
24
- return result;
25
- };
26
- var __importDefault = (this && this.__importDefault) || function (mod) {
27
- return (mod && mod.__esModule) ? mod : { "default": mod };
28
- };
29
- Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.projectConfigWindows = void 0;
31
- // Types in this file are inaccurate compared to usage in terms of falsiness.
32
- // We should try to rewrite some of this to do automated schema validation to
33
- // guarantee correct types
34
- /* eslint-disable @typescript-eslint/no-unnecessary-condition */
35
- const os_1 = require("os");
36
- const path_1 = __importDefault(require("path"));
37
- const configUtils = __importStar(require("./configUtils"));
38
- /**
39
- * Gets the config of any RNW apps under the target folder.
40
- * @param folder The absolute path to the target folder.
41
- * @param userConfig A manually specified override config.
42
- * @return The config if any RNW apps exist.
43
- */
44
- // Disabled due to existing high cyclomatic complexity
45
- // eslint-disable-next-line complexity
46
- function projectConfigWindows(folder, userConfig = {}) {
47
- var _a;
48
- if ((0, os_1.platform)() !== 'win32') {
49
- return null;
50
- }
51
- if (userConfig === null) {
52
- return null;
53
- }
54
- const usingManualOverride = 'sourceDir' in userConfig;
55
- const sourceDir = usingManualOverride
56
- ? path_1.default.join(folder, userConfig.sourceDir)
57
- : configUtils.findWindowsFolder(folder);
58
- if (sourceDir === null) {
59
- // Nothing to look for here, bail
60
- return null;
61
- }
62
- const result = {
63
- folder: folder,
64
- sourceDir: path_1.default.relative(folder, sourceDir),
65
- };
66
- let validSolution = false;
67
- let validProject = false;
68
- if (usingManualOverride) {
69
- // Manual override, try to use it for solutionFile
70
- if (!('solutionFile' in userConfig)) {
71
- result.solutionFile =
72
- 'Error: Solution file is required but not specified in react-native.config.';
73
- }
74
- else if (userConfig.solutionFile === null) {
75
- result.solutionFile =
76
- 'Error: Solution file is null in react-native.config.';
77
- }
78
- else {
79
- result.solutionFile = path_1.default.normalize(userConfig.solutionFile);
80
- validSolution = true;
81
- }
82
- // Manual override, try to use it for project
83
- if (!('project' in userConfig)) {
84
- result.project = {
85
- projectFile: 'Error: Project is required but not specified in react-native.config.',
86
- };
87
- }
88
- else if (!userConfig.project) {
89
- result.project = {
90
- projectFile: 'Error: Project is null in react-native.config.',
91
- };
92
- }
93
- else {
94
- if (!('projectFile' in userConfig.project)) {
95
- result.project = {
96
- projectFile: 'Error: Project file is required for project in react-native.config.',
97
- };
98
- }
99
- else if (userConfig.project.projectFile === null) {
100
- result.project = {
101
- projectFile: 'Error: Project file is null in react-native.config.',
102
- };
103
- }
104
- else {
105
- result.project = {
106
- projectFile: path_1.default.normalize(userConfig.project.projectFile),
107
- };
108
- validProject = true;
109
- }
110
- }
111
- if ('useWinUI3' in userConfig) {
112
- result.useWinUI3 = userConfig.useWinUI3;
113
- }
114
- }
115
- else {
116
- // No manually provided solutionFile, try to find it
117
- const foundSolutions = configUtils.findSolutionFiles(sourceDir);
118
- if (foundSolutions.length === 0) {
119
- result.solutionFile =
120
- 'Error: No app solution file found, please specify in react-native.config.';
121
- }
122
- else if (foundSolutions.length > 1) {
123
- result.solutionFile =
124
- 'Error: Too many app solution files found, please specify in react-native.config.';
125
- }
126
- else {
127
- result.solutionFile = path_1.default.normalize(foundSolutions[0]);
128
- validSolution = true;
129
- }
130
- // No manually provided project, try to find it
131
- const foundProjects = configUtils.findAppProjectFiles(sourceDir);
132
- if (foundProjects.length === 0) {
133
- result.project = {
134
- projectFile: 'Error: No app project file found, please specify in react-native.config.',
135
- };
136
- }
137
- else if (foundProjects.length > 1) {
138
- result.project = {
139
- projectFile: 'Error: Too many app project files found, please specify in react-native.config.',
140
- };
141
- }
142
- else {
143
- result.project = {
144
- projectFile: path_1.default.normalize(foundProjects[0]),
145
- };
146
- validProject = true;
147
- }
148
- }
149
- if (validSolution) {
150
- result.solutionFile = path_1.default.relative(sourceDir, path_1.default.join(sourceDir, result.solutionFile));
151
- // Populating experimental features from ExperimentalFeatures.props
152
- const experimentalFeatures = configUtils.getExperimentalFeatures(path_1.default.dirname(path_1.default.join(sourceDir, result.solutionFile)));
153
- if (experimentalFeatures) {
154
- result.experimentalFeatures = experimentalFeatures;
155
- }
156
- }
157
- if (validProject) {
158
- const projectFile = path_1.default.join(sourceDir, result.project.projectFile);
159
- const projectContents = configUtils.readProjectFile(projectFile);
160
- result.project.projectFile = path_1.default.relative(sourceDir, projectFile);
161
- // Add missing (auto) items
162
- result.project.projectName = configUtils.getProjectName(projectFile, projectContents);
163
- result.project.projectLang = configUtils.getProjectLanguage(projectFile);
164
- result.project.projectGuid = configUtils.getProjectGuid(projectContents);
165
- // Since we moved the UseExperimentalNuget property from the project to the
166
- // ExperimentalFeatures.props file, we should should double-check the project file
167
- // in case it was made with an older template
168
- const useExperimentalNuget = configUtils.tryFindPropertyValue(projectContents, 'UseExperimentalNuget');
169
- if (useExperimentalNuget) {
170
- result.experimentalFeatures = (_a = result.experimentalFeatures) !== null && _a !== void 0 ? _a : {};
171
- result.experimentalFeatures.UseExperimentalNuget = useExperimentalNuget;
172
- }
173
- }
174
- return result;
175
- }
176
- exports.projectConfigWindows = projectConfigWindows;
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) Microsoft Corporation.
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
+ exports.projectConfigWindows = void 0;
35
+ // Types in this file are inaccurate compared to usage in terms of falsiness.
36
+ // We should try to rewrite some of this to do automated schema validation to
37
+ // guarantee correct types
38
+ /* eslint-disable @typescript-eslint/no-unnecessary-condition */
39
+ const os_1 = require("os");
40
+ const path_1 = __importDefault(require("path"));
41
+ const configUtils = __importStar(require("./configUtils"));
42
+ /**
43
+ * Gets the config of any RNW apps under the target folder.
44
+ * @param folder The absolute path to the target folder.
45
+ * @param userConfig A manually specified override config.
46
+ * @return The config if any RNW apps exist.
47
+ */
48
+ // Disabled due to existing high cyclomatic complexity
49
+ // eslint-disable-next-line complexity
50
+ function projectConfigWindows(folder, userConfig = {}) {
51
+ var _a;
52
+ if ((0, os_1.platform)() !== 'win32') {
53
+ return null;
54
+ }
55
+ if (userConfig === null) {
56
+ return null;
57
+ }
58
+ const usingManualOverride = 'sourceDir' in userConfig;
59
+ const sourceDir = usingManualOverride
60
+ ? path_1.default.join(folder, userConfig.sourceDir)
61
+ : configUtils.findWindowsFolder(folder);
62
+ if (sourceDir === null) {
63
+ // Nothing to look for here, bail
64
+ return null;
65
+ }
66
+ const result = {
67
+ folder: folder,
68
+ sourceDir: path_1.default.relative(folder, sourceDir),
69
+ };
70
+ let validSolution = false;
71
+ let validProject = false;
72
+ if (usingManualOverride) {
73
+ // Manual override, try to use it for solutionFile
74
+ if (!('solutionFile' in userConfig)) {
75
+ result.solutionFile =
76
+ 'Error: Solution file is required but not specified in react-native.config.';
77
+ }
78
+ else if (userConfig.solutionFile === null) {
79
+ result.solutionFile =
80
+ 'Error: Solution file is null in react-native.config.';
81
+ }
82
+ else {
83
+ result.solutionFile = path_1.default.normalize(userConfig.solutionFile);
84
+ validSolution = true;
85
+ }
86
+ // Manual override, try to use it for project
87
+ if (!('project' in userConfig)) {
88
+ result.project = {
89
+ projectFile: 'Error: Project is required but not specified in react-native.config.',
90
+ };
91
+ }
92
+ else if (!userConfig.project) {
93
+ result.project = {
94
+ projectFile: 'Error: Project is null in react-native.config.',
95
+ };
96
+ }
97
+ else {
98
+ if (!('projectFile' in userConfig.project)) {
99
+ result.project = {
100
+ projectFile: 'Error: Project file is required for project in react-native.config.',
101
+ };
102
+ }
103
+ else if (userConfig.project.projectFile === null) {
104
+ result.project = {
105
+ projectFile: 'Error: Project file is null in react-native.config.',
106
+ };
107
+ }
108
+ else {
109
+ result.project = {
110
+ projectFile: path_1.default.normalize(userConfig.project.projectFile),
111
+ };
112
+ validProject = true;
113
+ }
114
+ }
115
+ if ('useWinUI3' in userConfig) {
116
+ result.useWinUI3 = userConfig.useWinUI3;
117
+ }
118
+ }
119
+ else {
120
+ // No manually provided solutionFile, try to find it
121
+ const foundSolutions = configUtils.findSolutionFiles(sourceDir);
122
+ if (foundSolutions.length === 0) {
123
+ result.solutionFile =
124
+ 'Error: No app solution file found, please specify in react-native.config.';
125
+ }
126
+ else if (foundSolutions.length > 1) {
127
+ result.solutionFile =
128
+ 'Error: Too many app solution files found, please specify in react-native.config.';
129
+ }
130
+ else {
131
+ result.solutionFile = path_1.default.normalize(foundSolutions[0]);
132
+ validSolution = true;
133
+ }
134
+ // No manually provided project, try to find it
135
+ const foundProjects = configUtils.findAppProjectFiles(sourceDir);
136
+ if (foundProjects.length === 0) {
137
+ result.project = {
138
+ projectFile: 'Error: No app project file found, please specify in react-native.config.',
139
+ };
140
+ }
141
+ else if (foundProjects.length > 1) {
142
+ result.project = {
143
+ projectFile: 'Error: Too many app project files found, please specify in react-native.config.',
144
+ };
145
+ }
146
+ else {
147
+ result.project = {
148
+ projectFile: path_1.default.normalize(foundProjects[0]),
149
+ };
150
+ validProject = true;
151
+ }
152
+ }
153
+ if (validSolution) {
154
+ result.solutionFile = path_1.default.relative(sourceDir, path_1.default.join(sourceDir, result.solutionFile));
155
+ // Populating experimental features from ExperimentalFeatures.props
156
+ const experimentalFeatures = configUtils.getExperimentalFeatures(path_1.default.dirname(path_1.default.join(sourceDir, result.solutionFile)));
157
+ if (experimentalFeatures) {
158
+ result.experimentalFeatures = experimentalFeatures;
159
+ }
160
+ }
161
+ if (validProject) {
162
+ const projectFile = path_1.default.join(sourceDir, result.project.projectFile);
163
+ const projectContents = configUtils.readProjectFile(projectFile);
164
+ result.project.projectFile = path_1.default.relative(sourceDir, projectFile);
165
+ // Add missing (auto) items
166
+ result.project.projectName = configUtils.getProjectName(projectFile, projectContents);
167
+ result.project.projectLang = configUtils.getProjectLanguage(projectFile);
168
+ result.project.projectGuid = configUtils.getProjectGuid(projectContents);
169
+ // Since we moved the UseExperimentalNuget property from the project to the
170
+ // ExperimentalFeatures.props file, we should should double-check the project file
171
+ // in case it was made with an older template
172
+ const useExperimentalNuget = configUtils.tryFindPropertyValue(projectContents, 'UseExperimentalNuget');
173
+ if (useExperimentalNuget) {
174
+ result.experimentalFeatures = (_a = result.experimentalFeatures) !== null && _a !== void 0 ? _a : {};
175
+ result.experimentalFeatures.UseExperimentalNuget = useExperimentalNuget;
176
+ }
177
+ }
178
+ return result;
179
+ }
180
+ exports.projectConfigWindows = projectConfigWindows;
177
181
  //# sourceMappingURL=projectConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectConfig.js","sourceRoot":"","sources":["../../../src/commands/config/projectConfig.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n * @format\n */\n\n// Types in this file are inaccurate compared to usage in terms of falsiness.\n// We should try to rewrite some of this to do automated schema validation to\n// guarantee correct types\n/* eslint-disable @typescript-eslint/no-unnecessary-condition */\n\nimport {platform} from 'os';\nimport path from 'path';\n\nimport * as configUtils from './configUtils';\n\n/*\n\nreact-native config will generate the following JSON for app projects that have a\nwindows implementation, as a target for auto-linking. This is done heuristically,\nso if the result isn't quite correct, app developers can provide a manual override\nfile: react-native.config.js.\n\nSchema for app projects:\n\nTags:\nauto - Item is always calculated by config. An override file should NEVER provide it.\nreq - Item is required. If an override file exists, it MUST provide it. If no override file exists, config will try to calculate it.\nopt - Item is optional. If an override file exists, it MAY provide it. If no override file exists, config may try to calculate it.\n\n{\n folder: string, // (auto) Absolute path to the app root folder, determined by react-native config, ex: 'c:\\path\\to\\my-app'\n sourceDir: string, // (req) Relative path to the Windows implementation under folder, ex: 'windows'\n solutionFile: string, // (req) Relative path to the app's VS solution file under sourceDir, ex: 'MyApp.sln'\n useWinUI3: boolean // (opt) If true, use WinUI 3. If false, use Windows XAML and WinUI 2.x. If missing, the value from rnwRoot\\PropertySheets\\ExperimentalFeatures.props will be used.\n project: { // (req)\n projectFile: string, // (req) Relative path to the VS project file under sourceDir, ex: 'MyApp\\MyApp.vcxproj' for 'c:\\path\\to\\my-app\\windows\\MyApp\\MyApp.vcxproj'\n projectName: string, // (auto) Name of the project, determined from projectFile, ex: 'MyApp'\n projectLang: string, // (auto) Language of the project, cpp or cs, determined from projectFile\n projectGuid: string, // (auto) Project identifier, determined from projectFile\n },\n experimentalFeatures: Record<String, string> // (auto) Properties extracted from ExperimentalFeatures.props\n}\n\nExample react-native.config.js for a 'MyApp':\n\nmodule.exports = {\n project: {\n windows: {\n sourceDir: 'windows',\n solutionFile: 'MyApp.sln',\n project: {\n projectFile: 'MyApp\\\\MyApp.vcxproj',\n },\n },\n },\n};\n\n*/\n\nexport interface Project {\n projectFile: string;\n projectName: string;\n projectLang: 'cpp' | 'cs' | null;\n projectGuid: string | null;\n projectTypeGuid?: string;\n}\n\nexport interface WindowsProjectConfig {\n folder: string;\n sourceDir: string;\n solutionFile: string;\n project: Project;\n useWinUI3?: boolean;\n experimentalFeatures?: Record<string, string>;\n}\n\ntype DeepPartial<T> = {[P in keyof T]?: DeepPartial<T[P]>};\n\n/**\n * Gets the config of any RNW apps under the target folder.\n * @param folder The absolute path to the target folder.\n * @param userConfig A manually specified override config.\n * @return The config if any RNW apps exist.\n */\n// Disabled due to existing high cyclomatic complexity\n// eslint-disable-next-line complexity\nexport function projectConfigWindows(\n folder: string,\n userConfig: Partial<WindowsProjectConfig> | null = {},\n): WindowsProjectConfig | null {\n if (platform() !== 'win32') {\n return null;\n }\n\n if (userConfig === null) {\n return null;\n }\n\n const usingManualOverride = 'sourceDir' in userConfig;\n\n const sourceDir = usingManualOverride\n ? path.join(folder, userConfig.sourceDir!)\n : configUtils.findWindowsFolder(folder);\n\n if (sourceDir === null) {\n // Nothing to look for here, bail\n return null;\n }\n\n const result: DeepPartial<WindowsProjectConfig> = {\n folder: folder,\n sourceDir: path.relative(folder, sourceDir),\n };\n\n let validSolution = false;\n let validProject = false;\n\n if (usingManualOverride) {\n // Manual override, try to use it for solutionFile\n if (!('solutionFile' in userConfig)) {\n result.solutionFile =\n 'Error: Solution file is required but not specified in react-native.config.';\n } else if (userConfig.solutionFile === null) {\n result.solutionFile =\n 'Error: Solution file is null in react-native.config.';\n } else {\n result.solutionFile = path.normalize(userConfig.solutionFile!);\n validSolution = true;\n }\n\n // Manual override, try to use it for project\n if (!('project' in userConfig)) {\n result.project = {\n projectFile:\n 'Error: Project is required but not specified in react-native.config.',\n };\n } else if (!userConfig.project) {\n result.project = {\n projectFile: 'Error: Project is null in react-native.config.',\n };\n } else {\n if (!('projectFile' in userConfig.project)) {\n result.project = {\n projectFile:\n 'Error: Project file is required for project in react-native.config.',\n };\n } else if (userConfig.project.projectFile === null) {\n result.project = {\n projectFile: 'Error: Project file is null in react-native.config.',\n };\n } else {\n result.project = {\n projectFile: path.normalize(userConfig.project.projectFile),\n };\n validProject = true;\n }\n }\n\n if ('useWinUI3' in userConfig) {\n result.useWinUI3 = userConfig.useWinUI3;\n }\n } else {\n // No manually provided solutionFile, try to find it\n const foundSolutions = configUtils.findSolutionFiles(sourceDir);\n if (foundSolutions.length === 0) {\n result.solutionFile =\n 'Error: No app solution file found, please specify in react-native.config.';\n } else if (foundSolutions.length > 1) {\n result.solutionFile =\n 'Error: Too many app solution files found, please specify in react-native.config.';\n } else {\n result.solutionFile = path.normalize(foundSolutions[0]);\n validSolution = true;\n }\n\n // No manually provided project, try to find it\n const foundProjects = configUtils.findAppProjectFiles(sourceDir);\n if (foundProjects.length === 0) {\n result.project = {\n projectFile:\n 'Error: No app project file found, please specify in react-native.config.',\n };\n } else if (foundProjects.length > 1) {\n result.project = {\n projectFile:\n 'Error: Too many app project files found, please specify in react-native.config.',\n };\n } else {\n result.project = {\n projectFile: path.normalize(foundProjects[0]),\n };\n validProject = true;\n }\n }\n\n if (validSolution) {\n result.solutionFile = path.relative(\n sourceDir,\n path.join(sourceDir, result.solutionFile),\n );\n\n // Populating experimental features from ExperimentalFeatures.props\n const experimentalFeatures = configUtils.getExperimentalFeatures(\n path.dirname(path.join(sourceDir, result.solutionFile)),\n );\n if (experimentalFeatures) {\n result.experimentalFeatures = experimentalFeatures;\n }\n }\n\n if (validProject) {\n const projectFile = path.join(sourceDir, result.project.projectFile!);\n const projectContents = configUtils.readProjectFile(projectFile);\n\n result.project.projectFile = path.relative(sourceDir, projectFile);\n\n // Add missing (auto) items\n result.project.projectName = configUtils.getProjectName(\n projectFile,\n projectContents,\n );\n result.project.projectLang = configUtils.getProjectLanguage(projectFile);\n result.project.projectGuid = configUtils.getProjectGuid(projectContents);\n\n // Since we moved the UseExperimentalNuget property from the project to the\n // ExperimentalFeatures.props file, we should should double-check the project file\n // in case it was made with an older template\n const useExperimentalNuget = configUtils.tryFindPropertyValue(\n projectContents,\n 'UseExperimentalNuget',\n );\n if (useExperimentalNuget) {\n result.experimentalFeatures = result.experimentalFeatures ?? {};\n result.experimentalFeatures.UseExperimentalNuget = useExperimentalNuget;\n }\n }\n\n return result as WindowsProjectConfig;\n}\n"]}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copyright (c) Microsoft Corporation.
3
+ * Licensed under the MIT License.
4
+ * @format
5
+ */
6
+ export declare const HealthCheckList: (string | boolean)[][];
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright (c) Microsoft Corporation.
4
+ * Licensed under the MIT License.
5
+ * @format
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.HealthCheckList = void 0;
9
+ // Store list of health checks here to avoid having to launch PowerShell on every react-native config call
10
+ exports.HealthCheckList = [
11
+ [false, 'FreeSpace', 'Free space on current drive > 15 GB'],
12
+ [false, 'InstalledMemory', 'Installed memory >= 16 GB'],
13
+ [true, 'WindowsVersion', 'Windows version >= 10.0.17763.0'],
14
+ [true, 'DeveloperMode', 'Developer mode is on'],
15
+ [true, 'LongPath', 'Long path support is enabled'],
16
+ [true, 'VSUWP', 'Visual Studio 2022 (>= 17.9) & req. components'],
17
+ [true, 'Node', 'Node.js (LTS, >= 18.0)'],
18
+ [true, 'Yarn', 'Yarn'],
19
+ [true, 'DotNetCore', '.NET SDK (LTS, = 6.0)'],
20
+ ];
21
+ //# sourceMappingURL=healthCheckList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"healthCheckList.js","sourceRoot":"","sources":["../../../src/commands/healthCheck/healthCheckList.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,0GAA0G;AAC7F,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,gDAAgD,CAAC;IACjE,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 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.9) & req. components'],\n [true, 'Node', 'Node.js (LTS, >= 18.0)'],\n [true, 'Yarn', 'Yarn'],\n [true, 'DotNetCore', '.NET SDK (LTS, = 6.0)'],\n];\n"]}
@@ -1,2 +1,7 @@
1
- import type { HealthCheckCategory } from '@react-native-community/cli-types';
2
- export declare function getHealthChecks(): HealthCheckCategory[] | undefined;
1
+ /**
2
+ * Copyright (c) Microsoft Corporation.
3
+ * Licensed under the MIT License.
4
+ * @format
5
+ */
6
+ import type { HealthCheckCategory } from '@react-native-community/cli-doctor/build/types';
7
+ export declare function getHealthChecks(): HealthCheckCategory[] | undefined;