@rushstack/rush-sdk 5.91.0 → 5.92.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 (361) hide show
  1. package/README.md +46 -11
  2. package/dist/rush-lib.d.ts +18 -0
  3. package/lib/api/ApprovedPackagesConfiguration.d.ts +74 -0
  4. package/lib/api/ApprovedPackagesConfiguration.js +1 -0
  5. package/lib/api/ApprovedPackagesPolicy.d.ts +54 -0
  6. package/lib/api/ApprovedPackagesPolicy.js +1 -0
  7. package/lib/api/BuildCacheConfiguration.d.ts +77 -0
  8. package/lib/api/BuildCacheConfiguration.js +1 -0
  9. package/lib/api/ChangeFile.d.ts +42 -0
  10. package/lib/api/ChangeFile.js +1 -0
  11. package/lib/api/ChangeManagement.d.ts +85 -0
  12. package/lib/api/ChangeManagement.js +1 -0
  13. package/lib/api/ChangeManager.d.ts +16 -0
  14. package/lib/api/ChangeManager.js +1 -0
  15. package/lib/api/Changelog.d.ts +74 -0
  16. package/lib/api/Changelog.js +1 -0
  17. package/lib/api/CommandLineConfiguration.d.ts +161 -0
  18. package/lib/api/CommandLineConfiguration.js +1 -0
  19. package/lib/api/CommandLineJson.d.ts +251 -0
  20. package/lib/api/CommandLineJson.js +1 -0
  21. package/lib/api/CommonVersionsConfiguration.d.ts +96 -0
  22. package/lib/api/CommonVersionsConfiguration.js +1 -0
  23. package/lib/api/EnvironmentConfiguration.d.ts +258 -0
  24. package/lib/api/EnvironmentConfiguration.js +1 -0
  25. package/lib/api/EventHooks.d.ts +42 -0
  26. package/lib/api/EventHooks.js +1 -0
  27. package/lib/api/ExperimentsConfiguration.d.ts +62 -0
  28. package/lib/api/ExperimentsConfiguration.js +1 -0
  29. package/lib/api/LastInstallFlag.d.ts +73 -0
  30. package/lib/api/LastInstallFlag.js +1 -0
  31. package/lib/api/LastLinkFlag.d.ts +41 -0
  32. package/lib/api/LastLinkFlag.js +1 -0
  33. package/lib/api/PackageJsonEditor.d.ts +79 -0
  34. package/lib/api/PackageJsonEditor.js +1 -0
  35. package/lib/api/PackageNameParsers.d.ts +18 -0
  36. package/lib/api/PackageNameParsers.js +1 -0
  37. package/lib/api/Rush.d.ts +91 -0
  38. package/lib/api/Rush.js +1 -0
  39. package/lib/api/RushConfiguration.d.ts +595 -0
  40. package/lib/api/RushConfiguration.js +1 -0
  41. package/lib/api/RushConfigurationProject.d.ts +217 -0
  42. package/lib/api/RushConfigurationProject.js +1 -0
  43. package/lib/api/RushGlobalFolder.d.ts +32 -0
  44. package/lib/api/RushGlobalFolder.js +1 -0
  45. package/lib/api/RushInternals.d.ts +15 -0
  46. package/lib/api/RushInternals.js +1 -0
  47. package/lib/api/RushPluginsConfiguration.d.ts +21 -0
  48. package/lib/api/RushPluginsConfiguration.js +1 -0
  49. package/lib/api/RushProjectConfiguration.d.ts +117 -0
  50. package/lib/api/RushProjectConfiguration.js +1 -0
  51. package/lib/api/RushUserConfiguration.d.ts +16 -0
  52. package/lib/api/RushUserConfiguration.js +1 -0
  53. package/lib/api/SaveCallbackPackageJsonEditor.d.ts +14 -0
  54. package/lib/api/SaveCallbackPackageJsonEditor.js +1 -0
  55. package/lib/api/Variants.d.ts +11 -0
  56. package/lib/api/Variants.js +1 -0
  57. package/lib/api/VersionPolicy.d.ts +203 -0
  58. package/lib/api/VersionPolicy.js +1 -0
  59. package/lib/api/VersionPolicyConfiguration.d.ts +75 -0
  60. package/lib/api/VersionPolicyConfiguration.js +1 -0
  61. package/lib/api/packageManager/NpmPackageManager.d.ts +9 -0
  62. package/lib/api/packageManager/NpmPackageManager.js +1 -0
  63. package/lib/api/packageManager/PackageManager.d.ts +29 -0
  64. package/lib/api/packageManager/PackageManager.js +1 -0
  65. package/lib/api/packageManager/PnpmPackageManager.d.ts +17 -0
  66. package/lib/api/packageManager/PnpmPackageManager.js +1 -0
  67. package/lib/api/packageManager/YarnPackageManager.d.ts +9 -0
  68. package/lib/api/packageManager/YarnPackageManager.js +1 -0
  69. package/lib/cli/CommandLineMigrationAdvisor.d.ts +5 -0
  70. package/lib/cli/CommandLineMigrationAdvisor.js +1 -0
  71. package/lib/cli/RushCommandLineParser.d.ts +49 -0
  72. package/lib/cli/RushCommandLineParser.js +1 -0
  73. package/lib/cli/RushPnpmCommandLine.d.ts +7 -0
  74. package/lib/cli/RushPnpmCommandLine.js +1 -0
  75. package/lib/cli/RushPnpmCommandLineParser.d.ts +26 -0
  76. package/lib/cli/RushPnpmCommandLineParser.js +1 -0
  77. package/lib/cli/RushStartupBanner.d.ts +7 -0
  78. package/lib/cli/RushStartupBanner.js +1 -0
  79. package/lib/cli/RushXCommandLine.d.ts +17 -0
  80. package/lib/cli/RushXCommandLine.js +1 -0
  81. package/lib/cli/actions/AddAction.d.ts +15 -0
  82. package/lib/cli/actions/AddAction.js +1 -0
  83. package/lib/cli/actions/BaseAddAndRemoveAction.d.ts +36 -0
  84. package/lib/cli/actions/BaseAddAndRemoveAction.js +1 -0
  85. package/lib/cli/actions/BaseInstallAction.d.ts +23 -0
  86. package/lib/cli/actions/BaseInstallAction.js +1 -0
  87. package/lib/cli/actions/BaseRushAction.d.ts +55 -0
  88. package/lib/cli/actions/BaseRushAction.js +1 -0
  89. package/lib/cli/actions/ChangeAction.d.ts +65 -0
  90. package/lib/cli/actions/ChangeAction.js +1 -0
  91. package/lib/cli/actions/CheckAction.d.ts +10 -0
  92. package/lib/cli/actions/CheckAction.js +1 -0
  93. package/lib/cli/actions/DeployAction.d.ts +12 -0
  94. package/lib/cli/actions/DeployAction.js +1 -0
  95. package/lib/cli/actions/InitAction.d.ts +16 -0
  96. package/lib/cli/actions/InitAction.js +1 -0
  97. package/lib/cli/actions/InitAutoinstallerAction.d.ts +8 -0
  98. package/lib/cli/actions/InitAutoinstallerAction.js +1 -0
  99. package/lib/cli/actions/InitDeployAction.d.ts +9 -0
  100. package/lib/cli/actions/InitDeployAction.js +1 -0
  101. package/lib/cli/actions/InstallAction.d.ts +9 -0
  102. package/lib/cli/actions/InstallAction.js +1 -0
  103. package/lib/cli/actions/LinkAction.d.ts +8 -0
  104. package/lib/cli/actions/LinkAction.js +1 -0
  105. package/lib/cli/actions/ListAction.d.ts +54 -0
  106. package/lib/cli/actions/ListAction.js +1 -0
  107. package/lib/cli/actions/PublishAction.d.ts +49 -0
  108. package/lib/cli/actions/PublishAction.js +1 -0
  109. package/lib/cli/actions/PurgeAction.d.ts +8 -0
  110. package/lib/cli/actions/PurgeAction.js +1 -0
  111. package/lib/cli/actions/RemoveAction.d.ts +13 -0
  112. package/lib/cli/actions/RemoveAction.js +1 -0
  113. package/lib/cli/actions/ScanAction.d.ts +23 -0
  114. package/lib/cli/actions/ScanAction.js +1 -0
  115. package/lib/cli/actions/SetupAction.d.ts +7 -0
  116. package/lib/cli/actions/SetupAction.js +1 -0
  117. package/lib/cli/actions/UnlinkAction.d.ts +7 -0
  118. package/lib/cli/actions/UnlinkAction.js +1 -0
  119. package/lib/cli/actions/UpdateAction.d.ts +11 -0
  120. package/lib/cli/actions/UpdateAction.js +1 -0
  121. package/lib/cli/actions/UpdateAutoinstallerAction.d.ts +8 -0
  122. package/lib/cli/actions/UpdateAutoinstallerAction.js +1 -0
  123. package/lib/cli/actions/UpdateCloudCredentialsAction.d.ts +10 -0
  124. package/lib/cli/actions/UpdateCloudCredentialsAction.js +1 -0
  125. package/lib/cli/actions/UpgradeInteractiveAction.d.ts +9 -0
  126. package/lib/cli/actions/UpgradeInteractiveAction.js +1 -0
  127. package/lib/cli/actions/VersionAction.d.ts +22 -0
  128. package/lib/cli/actions/VersionAction.js +1 -0
  129. package/lib/cli/parsing/ParseParallelism.d.ts +6 -0
  130. package/lib/cli/parsing/ParseParallelism.js +1 -0
  131. package/lib/cli/parsing/SelectionParameterSet.d.ts +51 -0
  132. package/lib/cli/parsing/SelectionParameterSet.js +1 -0
  133. package/lib/cli/scriptActions/BaseScriptAction.d.ts +28 -0
  134. package/lib/cli/scriptActions/BaseScriptAction.js +1 -0
  135. package/lib/cli/scriptActions/GlobalScriptAction.d.ts +30 -0
  136. package/lib/cli/scriptActions/GlobalScriptAction.js +1 -0
  137. package/lib/cli/scriptActions/PhasedScriptAction.d.ts +65 -0
  138. package/lib/cli/scriptActions/PhasedScriptAction.js +1 -0
  139. package/lib/index.d.ts +51 -1
  140. package/lib/index.js +1 -190
  141. package/lib/logic/Autoinstaller.d.ts +21 -0
  142. package/lib/logic/Autoinstaller.js +1 -0
  143. package/lib/logic/ChangeFiles.d.ts +33 -0
  144. package/lib/logic/ChangeFiles.js +1 -0
  145. package/lib/logic/ChangeManager.d.ts +39 -0
  146. package/lib/logic/ChangeManager.js +1 -0
  147. package/lib/logic/ChangelogGenerator.d.ts +46 -0
  148. package/lib/logic/ChangelogGenerator.js +1 -0
  149. package/lib/logic/CredentialCache.d.ts +36 -0
  150. package/lib/logic/CredentialCache.js +1 -0
  151. package/lib/logic/DependencyAnalyzer.d.ts +34 -0
  152. package/lib/logic/DependencyAnalyzer.js +1 -0
  153. package/lib/logic/DependencySpecifier.d.ts +70 -0
  154. package/lib/logic/DependencySpecifier.js +1 -0
  155. package/lib/logic/EventHooksManager.d.ts +10 -0
  156. package/lib/logic/EventHooksManager.js +1 -0
  157. package/lib/logic/Git.d.ts +103 -0
  158. package/lib/logic/Git.js +1 -0
  159. package/lib/logic/GitStatusParser.d.ts +42 -0
  160. package/lib/logic/GitStatusParser.js +1 -0
  161. package/lib/logic/JsonSchemaUrls.d.ts +8 -0
  162. package/lib/logic/JsonSchemaUrls.js +1 -0
  163. package/lib/logic/LookupByPath.d.ts +86 -0
  164. package/lib/logic/LookupByPath.js +1 -0
  165. package/lib/logic/NodeJsCompatibility.d.ts +42 -0
  166. package/lib/logic/NodeJsCompatibility.js +1 -0
  167. package/lib/logic/PackageJsonUpdaterTypes.d.ts +75 -0
  168. package/lib/logic/PackageJsonUpdaterTypes.js +1 -0
  169. package/lib/logic/PrereleaseToken.d.ts +12 -0
  170. package/lib/logic/PrereleaseToken.js +1 -0
  171. package/lib/logic/ProjectChangeAnalyzer.d.ts +81 -0
  172. package/lib/logic/ProjectChangeAnalyzer.js +1 -0
  173. package/lib/logic/ProjectCommandSet.d.ts +13 -0
  174. package/lib/logic/ProjectCommandSet.js +1 -0
  175. package/lib/logic/PublishGit.d.ts +19 -0
  176. package/lib/logic/PublishGit.js +1 -0
  177. package/lib/logic/PublishUtilities.d.ts +71 -0
  178. package/lib/logic/PublishUtilities.js +1 -0
  179. package/lib/logic/PurgeManager.d.ts +29 -0
  180. package/lib/logic/PurgeManager.js +1 -0
  181. package/lib/logic/RepoStateFile.d.ts +55 -0
  182. package/lib/logic/RepoStateFile.js +1 -0
  183. package/lib/logic/RushConstants.d.ts +219 -0
  184. package/lib/logic/RushConstants.js +1 -0
  185. package/lib/logic/Selection.d.ts +39 -0
  186. package/lib/logic/Selection.js +1 -0
  187. package/lib/logic/SetupChecks.d.ts +22 -0
  188. package/lib/logic/SetupChecks.js +1 -0
  189. package/lib/logic/ShrinkwrapFileFactory.d.ts +8 -0
  190. package/lib/logic/ShrinkwrapFileFactory.js +1 -0
  191. package/lib/logic/StandardScriptUpdater.d.ts +26 -0
  192. package/lib/logic/StandardScriptUpdater.js +1 -0
  193. package/lib/logic/Telemetry.d.ts +123 -0
  194. package/lib/logic/Telemetry.js +1 -0
  195. package/lib/logic/UnlinkManager.d.ts +24 -0
  196. package/lib/logic/UnlinkManager.js +1 -0
  197. package/lib/logic/base/BaseInstallManagerTypes.d.ts +65 -0
  198. package/lib/logic/base/BaseInstallManagerTypes.js +1 -0
  199. package/lib/logic/base/BasePackageManagerOptionsConfiguration.d.ts +50 -0
  200. package/lib/logic/base/BasePackageManagerOptionsConfiguration.js +1 -0
  201. package/lib/logic/base/BaseProjectShrinkwrapFile.d.ts +36 -0
  202. package/lib/logic/base/BaseProjectShrinkwrapFile.js +1 -0
  203. package/lib/logic/base/BaseShrinkwrapFile.d.ts +92 -0
  204. package/lib/logic/base/BaseShrinkwrapFile.js +1 -0
  205. package/lib/logic/buildCache/CacheEntryId.d.ts +28 -0
  206. package/lib/logic/buildCache/CacheEntryId.js +1 -0
  207. package/lib/logic/buildCache/FileSystemBuildCacheProvider.d.ts +40 -0
  208. package/lib/logic/buildCache/FileSystemBuildCacheProvider.js +1 -0
  209. package/lib/logic/buildCache/ICloudBuildCacheProvider.d.ts +14 -0
  210. package/lib/logic/buildCache/ICloudBuildCacheProvider.js +1 -0
  211. package/lib/logic/buildCache/ProjectBuildCache.d.ts +46 -0
  212. package/lib/logic/buildCache/ProjectBuildCache.js +1 -0
  213. package/lib/logic/buildCache/getHashesForGlobsAsync.d.ts +3 -0
  214. package/lib/logic/buildCache/getHashesForGlobsAsync.js +1 -0
  215. package/lib/logic/deploy/DeployScenarioConfiguration.d.ts +39 -0
  216. package/lib/logic/deploy/DeployScenarioConfiguration.js +1 -0
  217. package/lib/logic/installManager/InstallHelpers.d.ts +16 -0
  218. package/lib/logic/installManager/InstallHelpers.js +1 -0
  219. package/lib/logic/npm/NpmOptionsConfiguration.d.ts +21 -0
  220. package/lib/logic/npm/NpmOptionsConfiguration.js +1 -0
  221. package/lib/logic/npm/NpmShrinkwrapFile.d.ts +29 -0
  222. package/lib/logic/npm/NpmShrinkwrapFile.js +1 -0
  223. package/lib/logic/operations/AsyncOperationQueue.d.ts +47 -0
  224. package/lib/logic/operations/AsyncOperationQueue.js +1 -0
  225. package/lib/logic/operations/IOperationExecutionResult.d.ts +49 -0
  226. package/lib/logic/operations/IOperationExecutionResult.js +1 -0
  227. package/lib/logic/operations/IOperationRunner.d.ts +77 -0
  228. package/lib/logic/operations/IOperationRunner.js +1 -0
  229. package/lib/logic/operations/NullOperationRunner.d.ts +35 -0
  230. package/lib/logic/operations/NullOperationRunner.js +1 -0
  231. package/lib/logic/operations/Operation.d.ts +80 -0
  232. package/lib/logic/operations/Operation.js +1 -0
  233. package/lib/logic/operations/OperationError.d.ts +11 -0
  234. package/lib/logic/operations/OperationError.js +1 -0
  235. package/lib/logic/operations/OperationExecutionManager.d.ts +42 -0
  236. package/lib/logic/operations/OperationExecutionManager.js +1 -0
  237. package/lib/logic/operations/OperationExecutionRecord.d.ts +82 -0
  238. package/lib/logic/operations/OperationExecutionRecord.js +1 -0
  239. package/lib/logic/operations/OperationMetadataManager.d.ts +48 -0
  240. package/lib/logic/operations/OperationMetadataManager.js +1 -0
  241. package/lib/logic/operations/OperationResultSummarizerPlugin.d.ts +17 -0
  242. package/lib/logic/operations/OperationResultSummarizerPlugin.js +1 -0
  243. package/lib/logic/operations/OperationStateFile.d.ts +39 -0
  244. package/lib/logic/operations/OperationStateFile.js +1 -0
  245. package/lib/logic/operations/OperationStatus.d.ts +43 -0
  246. package/lib/logic/operations/OperationStatus.js +1 -0
  247. package/lib/logic/operations/PhasedOperationPlugin.d.ts +9 -0
  248. package/lib/logic/operations/PhasedOperationPlugin.js +1 -0
  249. package/lib/logic/operations/ProjectLogWritable.d.ts +17 -0
  250. package/lib/logic/operations/ProjectLogWritable.js +1 -0
  251. package/lib/logic/operations/ShellOperationRunner.d.ts +87 -0
  252. package/lib/logic/operations/ShellOperationRunner.js +1 -0
  253. package/lib/logic/operations/ShellOperationRunnerPlugin.d.ts +8 -0
  254. package/lib/logic/operations/ShellOperationRunnerPlugin.js +1 -0
  255. package/lib/logic/pnpm/IPnpmfile.d.ts +54 -0
  256. package/lib/logic/pnpm/IPnpmfile.js +1 -0
  257. package/lib/logic/pnpm/PnpmOptionsConfiguration.d.ts +242 -0
  258. package/lib/logic/pnpm/PnpmOptionsConfiguration.js +1 -0
  259. package/lib/logic/pnpm/PnpmProjectShrinkwrapFile.d.ts +26 -0
  260. package/lib/logic/pnpm/PnpmProjectShrinkwrapFile.js +1 -0
  261. package/lib/logic/pnpm/PnpmShrinkwrapFile.d.ts +207 -0
  262. package/lib/logic/pnpm/PnpmShrinkwrapFile.js +1 -0
  263. package/lib/logic/pnpm/PnpmYamlCommon.d.ts +8 -0
  264. package/lib/logic/pnpm/PnpmYamlCommon.js +1 -0
  265. package/lib/logic/pnpm/PnpmfileConfiguration.d.ts +28 -0
  266. package/lib/logic/pnpm/PnpmfileConfiguration.js +1 -0
  267. package/lib/logic/pnpm/PnpmfileShim.d.ts +3 -0
  268. package/lib/logic/pnpm/PnpmfileShim.js +1 -0
  269. package/lib/logic/policy/GitEmailPolicy.d.ts +6 -0
  270. package/lib/logic/policy/GitEmailPolicy.js +1 -0
  271. package/lib/logic/policy/PolicyValidator.d.ts +10 -0
  272. package/lib/logic/policy/PolicyValidator.js +1 -0
  273. package/lib/logic/policy/ShrinkwrapFilePolicy.d.ts +13 -0
  274. package/lib/logic/policy/ShrinkwrapFilePolicy.js +1 -0
  275. package/lib/logic/selectors/GitChangedProjectSelectorParser.d.ts +23 -0
  276. package/lib/logic/selectors/GitChangedProjectSelectorParser.js +1 -0
  277. package/lib/logic/selectors/ISelectorParser.d.ts +11 -0
  278. package/lib/logic/selectors/ISelectorParser.js +1 -0
  279. package/lib/logic/selectors/NamedProjectSelectorParser.d.ts +10 -0
  280. package/lib/logic/selectors/NamedProjectSelectorParser.js +1 -0
  281. package/lib/logic/selectors/TagProjectSelectorParser.d.ts +10 -0
  282. package/lib/logic/selectors/TagProjectSelectorParser.js +1 -0
  283. package/lib/logic/selectors/VersionPolicyProjectSelectorParser.d.ts +10 -0
  284. package/lib/logic/selectors/VersionPolicyProjectSelectorParser.js +1 -0
  285. package/lib/logic/setup/ArtifactoryConfiguration.d.ts +38 -0
  286. package/lib/logic/setup/ArtifactoryConfiguration.js +1 -0
  287. package/lib/logic/setup/KeyboardLoop.d.ts +27 -0
  288. package/lib/logic/setup/KeyboardLoop.js +1 -0
  289. package/lib/logic/setup/SetupPackageRegistry.d.ts +72 -0
  290. package/lib/logic/setup/SetupPackageRegistry.js +1 -0
  291. package/lib/logic/setup/TerminalInput.d.ts +22 -0
  292. package/lib/logic/setup/TerminalInput.js +1 -0
  293. package/lib/logic/versionMismatch/VersionMismatchFinder.d.ts +49 -0
  294. package/lib/logic/versionMismatch/VersionMismatchFinder.js +1 -0
  295. package/lib/logic/versionMismatch/VersionMismatchFinderCommonVersions.d.ts +16 -0
  296. package/lib/logic/versionMismatch/VersionMismatchFinderCommonVersions.js +1 -0
  297. package/lib/logic/versionMismatch/VersionMismatchFinderEntity.d.ts +20 -0
  298. package/lib/logic/versionMismatch/VersionMismatchFinderEntity.js +1 -0
  299. package/lib/logic/versionMismatch/VersionMismatchFinderProject.d.ts +16 -0
  300. package/lib/logic/versionMismatch/VersionMismatchFinderProject.js +1 -0
  301. package/lib/logic/yarn/YarnOptionsConfiguration.d.ts +37 -0
  302. package/lib/logic/yarn/YarnOptionsConfiguration.js +1 -0
  303. package/lib/logic/yarn/YarnShrinkwrapFile.d.ts +55 -0
  304. package/lib/logic/yarn/YarnShrinkwrapFile.js +1 -0
  305. package/lib/pluginFramework/IRushPlugin.d.ts +9 -0
  306. package/lib/pluginFramework/IRushPlugin.js +1 -0
  307. package/lib/pluginFramework/PhasedCommandHooks.d.ts +93 -0
  308. package/lib/pluginFramework/PhasedCommandHooks.js +1 -0
  309. package/lib/pluginFramework/PluginLoader/AutoinstallerPluginLoader.d.ts +27 -0
  310. package/lib/pluginFramework/PluginLoader/AutoinstallerPluginLoader.js +1 -0
  311. package/lib/pluginFramework/PluginLoader/BuiltInPluginLoader.d.ts +17 -0
  312. package/lib/pluginFramework/PluginLoader/BuiltInPluginLoader.js +1 -0
  313. package/lib/pluginFramework/PluginLoader/PluginLoaderBase.d.ts +47 -0
  314. package/lib/pluginFramework/PluginLoader/PluginLoaderBase.js +1 -0
  315. package/lib/pluginFramework/PluginLoader/RushSdk.d.ts +5 -0
  316. package/lib/pluginFramework/PluginLoader/RushSdk.js +1 -0
  317. package/lib/pluginFramework/PluginManager.d.ts +47 -0
  318. package/lib/pluginFramework/PluginManager.js +1 -0
  319. package/lib/pluginFramework/RushLifeCycle.d.ts +66 -0
  320. package/lib/pluginFramework/RushLifeCycle.js +1 -0
  321. package/lib/pluginFramework/RushSession.d.ts +30 -0
  322. package/lib/pluginFramework/RushSession.js +1 -0
  323. package/lib/pluginFramework/logging/Logger.d.ts +40 -0
  324. package/lib/pluginFramework/logging/Logger.js +1 -0
  325. package/lib/start-pnpm.d.ts +2 -0
  326. package/lib/start-pnpm.js +1 -0
  327. package/lib/start.d.ts +2 -0
  328. package/lib/start.js +1 -0
  329. package/lib/startx.d.ts +2 -0
  330. package/lib/startx.js +1 -0
  331. package/lib/utilities/AsyncRecycler.d.ts +38 -0
  332. package/lib/utilities/AsyncRecycler.js +1 -0
  333. package/lib/utilities/CollatedTerminalProvider.d.ts +18 -0
  334. package/lib/utilities/CollatedTerminalProvider.js +1 -0
  335. package/lib/utilities/Npm.d.ts +6 -0
  336. package/lib/utilities/Npm.js +1 -0
  337. package/lib/utilities/OverlappingPathAnalyzer.d.ts +9 -0
  338. package/lib/utilities/OverlappingPathAnalyzer.js +1 -0
  339. package/lib/utilities/PathConstants.d.ts +23 -0
  340. package/lib/utilities/PathConstants.js +1 -0
  341. package/lib/utilities/Stopwatch.d.ts +75 -0
  342. package/lib/utilities/Stopwatch.js +1 -0
  343. package/lib/utilities/TarExecutable.d.ts +32 -0
  344. package/lib/utilities/TarExecutable.js +1 -0
  345. package/lib/utilities/Utilities.d.ts +189 -0
  346. package/lib/utilities/Utilities.js +1 -0
  347. package/lib/utilities/WebClient.d.ts +49 -0
  348. package/lib/utilities/WebClient.js +1 -0
  349. package/lib/utilities/npmrcUtilities.d.ts +15 -0
  350. package/lib/utilities/npmrcUtilities.js +1 -0
  351. package/lib-shim/generate-stubs.d.ts +2 -0
  352. package/lib-shim/generate-stubs.d.ts.map +1 -0
  353. package/lib-shim/generate-stubs.js +82 -0
  354. package/lib-shim/generate-stubs.js.map +1 -0
  355. package/lib-shim/index.d.ts +5 -0
  356. package/lib-shim/index.d.ts.map +1 -0
  357. package/lib-shim/index.js +201 -0
  358. package/lib-shim/index.js.map +1 -0
  359. package/package.json +4 -4
  360. package/lib/index.d.ts.map +0 -1
  361. package/lib/index.js.map +0 -1
@@ -0,0 +1,91 @@
1
+ import { IPackageJson, ITerminalProvider } from '@rushstack/node-core-library';
2
+ import { IBuiltInPluginConfiguration } from '../pluginFramework/PluginLoader/BuiltInPluginLoader';
3
+ /**
4
+ * Options to pass to the rush "launch" functions.
5
+ *
6
+ * @public
7
+ */
8
+ export interface ILaunchOptions {
9
+ /**
10
+ * True if the tool was invoked from within a project with a rush.json file, otherwise false. We
11
+ * consider a project without a rush.json to be "unmanaged" and we'll print that to the command line when
12
+ * the tool is executed. This is mainly used for debugging purposes.
13
+ */
14
+ isManaged: boolean;
15
+ /**
16
+ * If true, the wrapper process already printed a warning that the version of Node.js hasn't been tested
17
+ * with this version of Rush, so we shouldn't print a similar error.
18
+ */
19
+ alreadyReportedNodeTooNewError?: boolean;
20
+ /**
21
+ * Used to specify Rush plugins that are dependencies of the "\@microsoft/rush" package.
22
+ *
23
+ * @internal
24
+ */
25
+ builtInPluginConfigurations?: IBuiltInPluginConfiguration[];
26
+ /**
27
+ * Used to specify terminal how to write a message
28
+ */
29
+ terminalProvider?: ITerminalProvider;
30
+ }
31
+ /**
32
+ * General operations for the Rush engine.
33
+ *
34
+ * @public
35
+ */
36
+ export declare class Rush {
37
+ private static __rushLibPackageJson;
38
+ private static __rushLibPackageFolder;
39
+ /**
40
+ * This API is used by the `@microsoft/rush` front end to launch the "rush" command-line.
41
+ * Third-party tools should not use this API. Instead, they should execute the "rush" binary
42
+ * and start a new Node.js process.
43
+ *
44
+ * @remarks
45
+ * Earlier versions of the rush frontend used a different API contract. In the old contract,
46
+ * the second argument was the `isManaged` value of the {@link ILaunchOptions} object.
47
+ *
48
+ * Even though this API isn't documented, it is still supported for legacy compatibility.
49
+ */
50
+ static launch(launcherVersion: string, arg: ILaunchOptions): void;
51
+ /**
52
+ * This API is used by the `@microsoft/rush` front end to launch the "rushx" command-line.
53
+ * Third-party tools should not use this API. Instead, they should execute the "rushx" binary
54
+ * and start a new Node.js process.
55
+ */
56
+ static launchRushX(launcherVersion: string, options: ILaunchOptions): void;
57
+ /**
58
+ * This API is used by the `@microsoft/rush` front end to launch the "rush-pnpm" command-line.
59
+ * Third-party tools should not use this API. Instead, they should execute the "rush-pnpm" binary
60
+ * and start a new Node.js process.
61
+ */
62
+ static launchRushPnpm(launcherVersion: string, options: ILaunchOptions): void;
63
+ /**
64
+ * The currently executing version of the "rush-lib" library.
65
+ * This is the same as the Rush tool version for that release.
66
+ */
67
+ static get version(): string;
68
+ /**
69
+ * @internal
70
+ */
71
+ static get _rushLibPackageJson(): IPackageJson;
72
+ static get _rushLibPackageFolder(): string;
73
+ private static _ensureOwnPackageJsonIsLoaded;
74
+ /**
75
+ * Assign the `RUSH_INVOKED_FOLDER` environment variable during startup. This is only applied when
76
+ * Rush is invoked via the CLI, not via the `@microsoft/rush-lib` automation API.
77
+ *
78
+ * @remarks
79
+ * Modifying the parent process's environment is not a good design. The better design is (1) to consolidate
80
+ * Rush's code paths that invoke scripts, and (2) to pass down the invoked folder with each code path,
81
+ * so that it can finally be applied in a centralized helper like `Utilities._createEnvironmentForRushCommand()`.
82
+ * The natural time to do that refactoring is when we rework `Utilities.executeCommand()` to use
83
+ * `Executable.spawn()` or rushell.
84
+ */
85
+ private static _assignRushInvokedFolder;
86
+ /**
87
+ * This function normalizes legacy options to the current {@link ILaunchOptions} object.
88
+ */
89
+ private static _normalizeLaunchOptions;
90
+ }
91
+ //# sourceMappingURL=Rush.d.ts.map
@@ -0,0 +1 @@
1
+ module.exports = require("../../lib-shim/index")._rushSdk_loadInternalModule("api/Rush");
@@ -0,0 +1,595 @@
1
+ import { JsonNull, PackageNameParser } from '@rushstack/node-core-library';
2
+ import { RushConfigurationProject, IRushConfigurationProjectJson } from './RushConfigurationProject';
3
+ import { ApprovedPackagesPolicy } from './ApprovedPackagesPolicy';
4
+ import { EventHooks } from './EventHooks';
5
+ import { VersionPolicyConfiguration } from './VersionPolicyConfiguration';
6
+ import { CommonVersionsConfiguration } from './CommonVersionsConfiguration';
7
+ import { PackageManagerName, PackageManager } from './packageManager/PackageManager';
8
+ import { ExperimentsConfiguration } from './ExperimentsConfiguration';
9
+ import { RepoStateFile } from '../logic/RepoStateFile';
10
+ import { LookupByPath } from '../logic/LookupByPath';
11
+ import { RushPluginsConfiguration } from './RushPluginsConfiguration';
12
+ import { IPnpmOptionsJson, PnpmOptionsConfiguration } from '../logic/pnpm/PnpmOptionsConfiguration';
13
+ import { INpmOptionsJson, NpmOptionsConfiguration } from '../logic/npm/NpmOptionsConfiguration';
14
+ import { IYarnOptionsJson, YarnOptionsConfiguration } from '../logic/yarn/YarnOptionsConfiguration';
15
+ import { PackageManagerOptionsConfigurationBase } from '../logic/base/BasePackageManagerOptionsConfiguration';
16
+ /**
17
+ * Part of IRushConfigurationJson.
18
+ */
19
+ export interface IApprovedPackagesPolicyJson {
20
+ reviewCategories?: string[];
21
+ ignoredNpmScopes?: string[];
22
+ }
23
+ /**
24
+ * Part of IRushConfigurationJson.
25
+ */
26
+ export interface IRushGitPolicyJson {
27
+ allowedEmailRegExps?: string[];
28
+ sampleEmail?: string;
29
+ versionBumpCommitMessage?: string;
30
+ changeLogUpdateCommitMessage?: string;
31
+ changefilesCommitMessage?: string;
32
+ tagSeparator?: string;
33
+ }
34
+ /**
35
+ * Part of IRushConfigurationJson.
36
+ * @beta
37
+ */
38
+ export interface IEventHooksJson {
39
+ /**
40
+ * The list of scripts to run after every Rush build command finishes
41
+ */
42
+ postRushBuild?: string[];
43
+ }
44
+ /**
45
+ * Part of IRushConfigurationJson.
46
+ */
47
+ export interface IRushRepositoryJsonBase {
48
+ /**
49
+ * The default branch name. This tells "rush change" which remote branch to compare against.
50
+ */
51
+ defaultBranch?: string;
52
+ /**
53
+ * The default remote. This tells "rush change" which remote to compare against if the remote URL is not set
54
+ * or if a remote matching the provided remote URL is not found.
55
+ */
56
+ defaultRemote?: string;
57
+ }
58
+ export interface IRushRepositoryJsonSingleUrl extends IRushRepositoryJsonBase {
59
+ /**
60
+ * The remote url of the repository. If a value is provided,
61
+ * \"rush change\" will use it to find the right remote to compare against.
62
+ *
63
+ * @deprecated Use "urls" instead.
64
+ */
65
+ url?: string;
66
+ }
67
+ export interface IRushRepositoryJsonMultipleUrls extends IRushRepositoryJsonBase {
68
+ /**
69
+ * Remote url(s) of the repository. If a value is provided, \"rush change\" will
70
+ * use one of these to find the right remote to compare against. Specifying multiple URLs
71
+ * is useful if a GitHub repository is renamed or for `<projectName>.visualstudio.com` versus
72
+ * `dev.azure.com/<projectName>` URLs.
73
+ */
74
+ urls?: string[];
75
+ }
76
+ export declare type IRushRepositoryJson = IRushRepositoryJsonSingleUrl | IRushRepositoryJsonMultipleUrls;
77
+ /**
78
+ * Options defining an allowed variant as part of IRushConfigurationJson.
79
+ */
80
+ export interface IRushVariantOptionsJson {
81
+ variantName: string;
82
+ description: string;
83
+ }
84
+ /**
85
+ * This represents the JSON data structure for the "rush.json" configuration file.
86
+ * See rush.schema.json for documentation.
87
+ */
88
+ export interface IRushConfigurationJson {
89
+ $schema: string;
90
+ npmVersion?: string;
91
+ pnpmVersion?: string;
92
+ yarnVersion?: string;
93
+ rushVersion: string;
94
+ repository?: IRushRepositoryJson;
95
+ nodeSupportedVersionRange?: string;
96
+ nodeSupportedVersionInstructions?: string;
97
+ suppressNodeLtsWarning?: boolean;
98
+ projectFolderMinDepth?: number;
99
+ projectFolderMaxDepth?: number;
100
+ allowMostlyStandardPackageNames?: boolean;
101
+ approvedPackagesPolicy?: IApprovedPackagesPolicyJson;
102
+ gitPolicy?: IRushGitPolicyJson;
103
+ telemetryEnabled?: boolean;
104
+ allowedProjectTags?: string[];
105
+ projects: IRushConfigurationProjectJson[];
106
+ eventHooks?: IEventHooksJson;
107
+ hotfixChangeEnabled?: boolean;
108
+ npmOptions?: INpmOptionsJson;
109
+ pnpmOptions?: IPnpmOptionsJson;
110
+ yarnOptions?: IYarnOptionsJson;
111
+ ensureConsistentVersions?: boolean;
112
+ variants?: IRushVariantOptionsJson[];
113
+ }
114
+ /**
115
+ * This represents the JSON data structure for the "current-variant.json" data file.
116
+ */
117
+ export interface ICurrentVariantJson {
118
+ variant: string | JsonNull;
119
+ }
120
+ /**
121
+ * Options for `RushConfiguration.tryFindRushJsonLocation`.
122
+ * @public
123
+ */
124
+ export interface ITryFindRushJsonLocationOptions {
125
+ /**
126
+ * Whether to show verbose console messages. Defaults to false.
127
+ */
128
+ showVerbose?: boolean;
129
+ /**
130
+ * The folder path where the search will start. Defaults tot he current working directory.
131
+ */
132
+ startingFolder?: string;
133
+ }
134
+ /**
135
+ * This represents the Rush configuration for a repository, based on the "rush.json"
136
+ * configuration file.
137
+ * @public
138
+ */
139
+ export declare class RushConfiguration {
140
+ private static _jsonSchema;
141
+ private _variants;
142
+ private readonly _pathTrees;
143
+ private _projects;
144
+ private _projectsByName;
145
+ private _projectsByTag;
146
+ private _commonVersionsConfigurationsByVariant;
147
+ /**
148
+ * The name of the package manager being used to install dependencies
149
+ */
150
+ readonly packageManager: PackageManagerName;
151
+ /**
152
+ * {@inheritdoc PackageManager}
153
+ *
154
+ * @privateremarks
155
+ * In the next major breaking API change, we will rename this property to "packageManager" and eliminate the
156
+ * old property with that name.
157
+ *
158
+ * @beta
159
+ */
160
+ readonly packageManagerWrapper: PackageManager;
161
+ /**
162
+ * Gets the JSON data structure for the "rush.json" configuration file.
163
+ *
164
+ * @internal
165
+ */
166
+ readonly rushConfigurationJson: IRushConfigurationJson;
167
+ /**
168
+ * The absolute path to the "rush.json" configuration file that was loaded to construct this object.
169
+ */
170
+ readonly rushJsonFile: string;
171
+ /**
172
+ * The absolute path of the folder that contains rush.json for this project.
173
+ */
174
+ readonly rushJsonFolder: string;
175
+ /**
176
+ * The folder that contains all change files.
177
+ */
178
+ readonly changesFolder: string;
179
+ /**
180
+ * The fully resolved path for the "common" folder where Rush will store settings that
181
+ * affect all Rush projects. This is always a subfolder of the folder containing "rush.json".
182
+ * Example: `C:\MyRepo\common`
183
+ */
184
+ readonly commonFolder: string;
185
+ /**
186
+ * The folder where Rush's additional config files are stored. This folder is always a
187
+ * subfolder called `config\rush` inside the common folder. (The `common\config` folder
188
+ * is reserved for configuration files used by other tools.) To avoid confusion or mistakes,
189
+ * Rush will report an error if this this folder contains any unrecognized files.
190
+ *
191
+ * Example: `C:\MyRepo\common\config\rush`
192
+ */
193
+ readonly commonRushConfigFolder: string;
194
+ /**
195
+ * The folder where temporary files will be stored. This is always a subfolder called "temp"
196
+ * under the common folder.
197
+ * Example: `C:\MyRepo\common\temp`
198
+ */
199
+ readonly commonTempFolder: string;
200
+ /**
201
+ * The folder where automation scripts are stored. This is always a subfolder called "scripts"
202
+ * under the common folder.
203
+ * Example: `C:\MyRepo\common\scripts`
204
+ */
205
+ readonly commonScriptsFolder: string;
206
+ /**
207
+ * The local folder that will store the NPM package cache. Rush does not rely on the
208
+ * npm's default global cache folder, because npm's caching implementation does not
209
+ * reliably handle multiple processes. (For example, if a build box is running
210
+ * "rush install" simultaneously for two different working folders, it may fail randomly.)
211
+ *
212
+ * Example: `C:\MyRepo\common\temp\npm-cache`
213
+ */
214
+ readonly npmCacheFolder: string;
215
+ /**
216
+ * The local folder where npm's temporary files will be written during installation.
217
+ * Rush does not rely on the global default folder, because it may be on a different
218
+ * hard disk.
219
+ *
220
+ * Example: `C:\MyRepo\common\temp\npm-tmp`
221
+ */
222
+ readonly npmTmpFolder: string;
223
+ /**
224
+ * The local folder that will store the Yarn package cache.
225
+ *
226
+ * Example: `C:\MyRepo\common\temp\yarn-cache`
227
+ */
228
+ readonly yarnCacheFolder: string;
229
+ /**
230
+ * The filename (without any path) of the shrinkwrap file that is used by the package manager.
231
+ * @remarks
232
+ * This property merely reports the filename; the file itself may not actually exist.
233
+ * Example: `npm-shrinkwrap.json` or `pnpm-lock.yaml`
234
+ */
235
+ readonly shrinkwrapFilename: string;
236
+ /**
237
+ * The full path of the temporary shrinkwrap file that is used during "rush install".
238
+ * This file may get rewritten by the package manager during installation.
239
+ * @remarks
240
+ * This property merely reports the filename; the file itself may not actually exist.
241
+ * Example: `C:\MyRepo\common\temp\npm-shrinkwrap.json` or `C:\MyRepo\common\temp\pnpm-lock.yaml`
242
+ */
243
+ readonly tempShrinkwrapFilename: string;
244
+ /**
245
+ * The full path of a backup copy of tempShrinkwrapFilename. This backup copy is made
246
+ * before installation begins, and can be compared to determine how the package manager
247
+ * modified tempShrinkwrapFilename.
248
+ * @remarks
249
+ * This property merely reports the filename; the file itself may not actually exist.
250
+ * Example: `C:\MyRepo\common\temp\npm-shrinkwrap-preinstall.json`
251
+ * or `C:\MyRepo\common\temp\pnpm-lock-preinstall.yaml`
252
+ */
253
+ readonly tempShrinkwrapPreinstallFilename: string;
254
+ /**
255
+ * The filename of the variant dependency data file. By default this is
256
+ * called 'current-variant.json' resides in the Rush common folder.
257
+ * Its data structure is defined by ICurrentVariantJson.
258
+ *
259
+ * Example: `C:\MyRepo\common\temp\current-variant.json`
260
+ */
261
+ readonly currentVariantJsonFilename: string;
262
+ /**
263
+ * The version of the locally installed NPM tool. (Example: "1.2.3")
264
+ */
265
+ readonly packageManagerToolVersion: string;
266
+ /**
267
+ * The absolute path to the locally installed NPM tool. If "rush install" has not
268
+ * been run, then this file may not exist yet.
269
+ * Example: `C:\MyRepo\common\temp\npm-local\node_modules\.bin\npm`
270
+ */
271
+ readonly packageManagerToolFilename: string;
272
+ /**
273
+ * The minimum allowable folder depth for the projectFolder field in the rush.json file.
274
+ * This setting provides a way for repository maintainers to discourage nesting of project folders
275
+ * that makes the directory tree more difficult to navigate. The default value is 2,
276
+ * which implements a standard 2-level hierarchy of `<categoryFolder>/<projectFolder>/package.json`.
277
+ */
278
+ readonly projectFolderMinDepth: number;
279
+ /**
280
+ * The maximum allowable folder depth for the projectFolder field in the rush.json file.
281
+ * This setting provides a way for repository maintainers to discourage nesting of project folders
282
+ * that makes the directory tree more difficult to navigate. The default value is 2,
283
+ * which implements on a standard convention of `<categoryFolder>/<projectFolder>/package.json`.
284
+ */
285
+ readonly projectFolderMaxDepth: number;
286
+ /**
287
+ * Today the npmjs.com registry enforces fairly strict naming rules for packages, but in the early
288
+ * days there was no standard and hardly any enforcement. A few large legacy projects are still using
289
+ * nonstandard package names, and private registries sometimes allow it. Set "allowMostlyStandardPackageNames"
290
+ * to true to relax Rush's enforcement of package names. This allows upper case letters and in the future may
291
+ * relax other rules, however we want to minimize these exceptions. Many popular tools use certain punctuation
292
+ * characters as delimiters, based on the assumption that they will never appear in a package name; thus if we relax
293
+ * the rules too much it is likely to cause very confusing malfunctions.
294
+ *
295
+ * The default value is false.
296
+ */
297
+ readonly allowMostlyStandardPackageNames: boolean;
298
+ /**
299
+ * The "approvedPackagesPolicy" settings.
300
+ */
301
+ readonly approvedPackagesPolicy: ApprovedPackagesPolicy;
302
+ /**
303
+ * [Part of the "gitPolicy" feature.]
304
+ * A list of regular expressions describing allowable email patterns for Git commits.
305
+ * They are case-insensitive anchored JavaScript RegExps.
306
+ * Example: `".*@example\.com"`
307
+ * This array will never be undefined.
308
+ */
309
+ readonly gitAllowedEmailRegExps: string[];
310
+ /**
311
+ * [Part of the "gitPolicy" feature.]
312
+ * An example valid email address that conforms to one of the allowedEmailRegExps.
313
+ * Example: `"foxtrot@example\.com"`
314
+ * This will never be undefined, and will always be nonempty if gitAllowedEmailRegExps is used.
315
+ */
316
+ readonly gitSampleEmail: string;
317
+ /**
318
+ * [Part of the "gitPolicy" feature.]
319
+ * The commit message to use when committing changes during 'rush publish'
320
+ */
321
+ readonly gitVersionBumpCommitMessage: string | undefined;
322
+ /**
323
+ * [Part of the "gitPolicy" feature.]
324
+ * The commit message to use when committing change log files 'rush version'
325
+ */
326
+ readonly gitChangeLogUpdateCommitMessage: string | undefined;
327
+ /**
328
+ * [Part of the "gitPolicy" feature.]
329
+ * The commit message to use when committing change log files 'rush version'
330
+ */
331
+ readonly gitChangefilesCommitMessage: string | undefined;
332
+ /**
333
+ * [Part of the "gitPolicy" feature.]
334
+ * The separator between package name and version in git tag.
335
+ */
336
+ readonly gitTagSeparator: string | undefined;
337
+ /**
338
+ * [Part of the "hotfixChange" feature.]
339
+ * Enables creating hotfix changes
340
+ */
341
+ readonly hotfixChangeEnabled: boolean;
342
+ /**
343
+ * Remote URL(s) of the repository. If a value is provided, \"rush change\" will
344
+ * use one of these to find the right remote to compare against. Specifying multiple URLs
345
+ * is useful if a GitHub repository is renamed or for `<projectName>.visualstudio.com` versus
346
+ * `dev.azure.com/<projectName>` URLs.
347
+ */
348
+ readonly repositoryUrls: string[];
349
+ /**
350
+ * The default branch name. This tells "rush change" which remote branch to compare against.
351
+ */
352
+ readonly repositoryDefaultBranch: string;
353
+ /**
354
+ * The default remote. This tells "rush change" which remote to compare against if the remote URL is not set
355
+ * or if a remote matching the provided remote URL is not found.
356
+ */
357
+ readonly repositoryDefaultRemote: string;
358
+ /**
359
+ * Odd-numbered major versions of Node.js are experimental. Even-numbered releases
360
+ * spend six months in a stabilization period before the first Long Term Support (LTS) version.
361
+ * For example, 8.9.0 was the first LTS version of Node.js 8. Pre-LTS versions are not recommended
362
+ * for production usage because they frequently have bugs. They may cause Rush itself
363
+ * to malfunction.
364
+ *
365
+ * Rush normally prints a warning if it detects a pre-LTS Node.js version. If you are testing
366
+ * pre-LTS versions in preparation for supporting the first LTS version, you can use this setting
367
+ * to disable Rush's warning.
368
+ */
369
+ readonly suppressNodeLtsWarning: boolean;
370
+ /**
371
+ * If true, then consistent version specifiers for dependencies will be enforced.
372
+ * I.e. "rush check" is run before some commands.
373
+ */
374
+ readonly ensureConsistentVersions: boolean;
375
+ /**
376
+ * Indicates whether telemetry collection is enabled for Rush runs.
377
+ * @beta
378
+ */
379
+ readonly telemetryEnabled: boolean;
380
+ /**
381
+ * {@inheritDoc NpmOptionsConfiguration}
382
+ */
383
+ readonly npmOptions: NpmOptionsConfiguration;
384
+ /**
385
+ * {@inheritDoc PnpmOptionsConfiguration}
386
+ */
387
+ readonly pnpmOptions: PnpmOptionsConfiguration;
388
+ /**
389
+ * {@inheritDoc YarnOptionsConfiguration}
390
+ */
391
+ readonly yarnOptions: YarnOptionsConfiguration;
392
+ /**
393
+ * The configuration options used by the current package manager.
394
+ * @remarks
395
+ * For package manager specific variants, reference {@link RushConfiguration.npmOptions | npmOptions},
396
+ * {@link RushConfiguration.pnpmOptions | pnpmOptions}, or {@link RushConfiguration.yarnOptions | yarnOptions}.
397
+ */
398
+ readonly packageManagerOptions: PackageManagerOptionsConfigurationBase;
399
+ /**
400
+ * The rush hooks. It allows customized scripts to run at the specified point.
401
+ * @beta
402
+ */
403
+ readonly eventHooks: EventHooks;
404
+ /**
405
+ * The rush hooks. It allows customized scripts to run at the specified point.
406
+ */
407
+ readonly packageNameParser: PackageNameParser;
408
+ /**
409
+ * @beta
410
+ */
411
+ readonly versionPolicyConfiguration: VersionPolicyConfiguration;
412
+ /**
413
+ * @beta
414
+ */
415
+ readonly versionPolicyConfigurationFilePath: string;
416
+ /**
417
+ * This configuration object contains settings repo maintainers have specified to enable
418
+ * and disable experimental Rush features.
419
+ *
420
+ * @beta
421
+ */
422
+ readonly experimentsConfiguration: ExperimentsConfiguration;
423
+ /**
424
+ * @internal
425
+ */
426
+ readonly _rushPluginsConfiguration: RushPluginsConfiguration;
427
+ /**
428
+ * Use RushConfiguration.loadFromConfigurationFile() or Use RushConfiguration.loadFromDefaultLocation()
429
+ * instead.
430
+ */
431
+ private constructor();
432
+ private _initializeAndValidateLocalProjects;
433
+ /**
434
+ * Loads the configuration data from an Rush.json configuration file and returns
435
+ * an RushConfiguration object.
436
+ */
437
+ static loadFromConfigurationFile(rushJsonFilename: string): RushConfiguration;
438
+ static loadFromDefaultLocation(options?: ITryFindRushJsonLocationOptions): RushConfiguration;
439
+ /**
440
+ * Find the rush.json location and return the path, or undefined if a rush.json can't be found.
441
+ *
442
+ * @privateRemarks
443
+ * Keep this in sync with `findRushJsonLocation` in `rush-sdk/src/index.ts`.
444
+ */
445
+ static tryFindRushJsonLocation(options?: ITryFindRushJsonLocationOptions): string | undefined;
446
+ /**
447
+ * This generates the unique names that are used to create temporary projects
448
+ * in the Rush common folder.
449
+ * NOTE: sortedProjectJsons is sorted by the caller.
450
+ */
451
+ private static _generateTempNameForProject;
452
+ /**
453
+ * If someone adds a config file in the "common/rush/config" folder, it would be a bad
454
+ * experience for Rush to silently ignore their file simply because they misspelled the
455
+ * filename, or maybe it's an old format that's no longer supported. The
456
+ * _validateCommonRushConfigFolder() function makes sure that this folder only contains
457
+ * recognized config files.
458
+ */
459
+ private static _validateCommonRushConfigFolder;
460
+ /**
461
+ * The fully resolved path for the "autoinstallers" folder.
462
+ * Example: `C:\MyRepo\common\autoinstallers`
463
+ */
464
+ get commonAutoinstallersFolder(): string;
465
+ /**
466
+ * The folder where rush-plugin options json files are stored.
467
+ * Example: `C:\MyRepo\common\config\rush-plugins`
468
+ */
469
+ get rushPluginOptionsFolder(): string;
470
+ /**
471
+ * The full path of the shrinkwrap file that is tracked by Git. (The "rush install"
472
+ * command uses a temporary copy, whose path is tempShrinkwrapFilename.)
473
+ * @remarks
474
+ * This property merely reports the filename; the file itself may not actually exist.
475
+ * Example: `C:\MyRepo\common\npm-shrinkwrap.json` or `C:\MyRepo\common\pnpm-lock.yaml`
476
+ *
477
+ * @deprecated Use `getCommittedShrinkwrapFilename` instead, which gets the correct common
478
+ * shrinkwrap file name for a given active variant.
479
+ */
480
+ get committedShrinkwrapFilename(): string;
481
+ /**
482
+ * Returns an English phrase such as "shrinkwrap file" that can be used in logging messages
483
+ * to refer to the shrinkwrap file using appropriate terminology for the currently selected
484
+ * package manager.
485
+ */
486
+ get shrinkwrapFilePhrase(): string;
487
+ /**
488
+ * The filename of the build dependency data file. By default this is
489
+ * called 'rush-link.json' resides in the Rush common folder.
490
+ * Its data structure is defined by IRushLinkJson.
491
+ *
492
+ * Example: `C:\MyRepo\common\temp\rush-link.json`
493
+ *
494
+ * @deprecated The "rush-link.json" file was removed in Rush 5.30.0.
495
+ * Use `RushConfigurationProject.localDependencyProjects` instead.
496
+ */
497
+ get rushLinkJsonFilename(): string;
498
+ /**
499
+ * The default fully-qualified git remote branch of the repository. This helps "rush change" find the right branch to compare against.
500
+ */
501
+ get repositoryDefaultFullyQualifiedRemoteBranch(): string;
502
+ get projects(): RushConfigurationProject[];
503
+ get projectsByName(): Map<string, RushConfigurationProject>;
504
+ /**
505
+ * Obtains the mapping from custom tags to projects.
506
+ * @beta
507
+ */
508
+ get projectsByTag(): ReadonlyMap<string, ReadonlySet<RushConfigurationProject>>;
509
+ /**
510
+ * Settings from the common-versions.json config file.
511
+ * @remarks
512
+ * If the common-versions.json file is missing, this property will not be undefined.
513
+ * Instead it will be initialized in an empty state, and calling CommonVersionsConfiguration.save()
514
+ * will create the file.
515
+ *
516
+ * @deprecated Use `getCommonVersions` instead, which gets the correct common version data
517
+ * for a given active variant.
518
+ */
519
+ get commonVersions(): CommonVersionsConfiguration;
520
+ /**
521
+ * Gets the currently-installed variant, if an installation has occurred.
522
+ * For Rush operations which do not take a --variant parameter, this method
523
+ * determines which variant, if any, was last specified when performing "rush install"
524
+ * or "rush update".
525
+ */
526
+ get currentInstalledVariant(): string | undefined;
527
+ /**
528
+ * Gets the path to the common-versions.json config file for a specific variant.
529
+ * @param variant - The name of the current variant in use by the active command.
530
+ */
531
+ getCommonVersionsFilePath(variant?: string | undefined): string;
532
+ /**
533
+ * Gets the settings from the common-versions.json config file for a specific variant.
534
+ * @param variant - The name of the current variant in use by the active command.
535
+ */
536
+ getCommonVersions(variant?: string | undefined): CommonVersionsConfiguration;
537
+ /**
538
+ * Returns a map of all direct dependencies that only have a single semantic version specifier.
539
+ * @param variant - The name of the current variant in use by the active command.
540
+ *
541
+ * @returns A map of dependency name --\> version specifier for implicitly preferred versions.
542
+ */
543
+ getImplicitlyPreferredVersions(variant?: string | undefined): Map<string, string>;
544
+ /**
545
+ * Gets the path to the repo-state.json file for a specific variant.
546
+ * @param variant - The name of the current variant in use by the active command.
547
+ */
548
+ getRepoStateFilePath(variant?: string | undefined): string;
549
+ /**
550
+ * Gets the contents from the repo-state.json file for a specific variant.
551
+ * @param variant - The name of the current variant in use by the active command.
552
+ */
553
+ getRepoState(variant?: string | undefined): RepoStateFile;
554
+ /**
555
+ * Gets the committed shrinkwrap file name for a specific variant.
556
+ * @param variant - The name of the current variant in use by the active command.
557
+ */
558
+ getCommittedShrinkwrapFilename(variant?: string | undefined): string;
559
+ /**
560
+ * Gets the absolute path for "pnpmfile.js" for a specific variant.
561
+ * @param variant - The name of the current variant in use by the active command.
562
+ * @remarks
563
+ * The file path is returned even if PNPM is not configured as the package manager.
564
+ */
565
+ getPnpmfilePath(variant?: string | undefined): string;
566
+ /**
567
+ * Looks up a project in the projectsByName map. If the project is not found,
568
+ * then undefined is returned.
569
+ */
570
+ getProjectByName(projectName: string): RushConfigurationProject | undefined;
571
+ /**
572
+ * This is used e.g. by command-line interfaces such as "rush build --to example".
573
+ * If "example" is not a project name, then it also looks for a scoped name
574
+ * like `@something/example`. If exactly one project matches this heuristic, it
575
+ * is returned. Otherwise, undefined is returned.
576
+ */
577
+ findProjectByShorthandName(shorthandProjectName: string): RushConfigurationProject | undefined;
578
+ /**
579
+ * Looks up a project by its RushConfigurationProject.tempProjectName field.
580
+ * @returns The found project, or undefined if no match was found.
581
+ */
582
+ findProjectByTempName(tempProjectName: string): RushConfigurationProject | undefined;
583
+ /**
584
+ * @returns An optimized lookup engine to find a project by its path relative to the specified root.
585
+ * @beta
586
+ */
587
+ getProjectLookupForRoot(rootPath: string): LookupByPath<RushConfigurationProject>;
588
+ /**
589
+ * Returns the project for which the specified path is underneath that project's folder.
590
+ * If the path is not under any project's folder, returns undefined.
591
+ */
592
+ tryGetProjectForPath(currentFolderPath: string): RushConfigurationProject | undefined;
593
+ private _getVariantConfigFolderPath;
594
+ }
595
+ //# sourceMappingURL=RushConfiguration.d.ts.map
@@ -0,0 +1 @@
1
+ module.exports = require("../../lib-shim/index")._rushSdk_loadInternalModule("api/RushConfiguration");