@rushstack/rush-sdk 5.90.2 → 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.
- package/README.md +46 -11
- package/dist/rush-lib.d.ts +77 -11
- package/lib/api/ApprovedPackagesConfiguration.d.ts +74 -0
- package/lib/api/ApprovedPackagesConfiguration.js +1 -0
- package/lib/api/ApprovedPackagesPolicy.d.ts +54 -0
- package/lib/api/ApprovedPackagesPolicy.js +1 -0
- package/lib/api/BuildCacheConfiguration.d.ts +77 -0
- package/lib/api/BuildCacheConfiguration.js +1 -0
- package/lib/api/ChangeFile.d.ts +42 -0
- package/lib/api/ChangeFile.js +1 -0
- package/lib/api/ChangeManagement.d.ts +85 -0
- package/lib/api/ChangeManagement.js +1 -0
- package/lib/api/ChangeManager.d.ts +16 -0
- package/lib/api/ChangeManager.js +1 -0
- package/lib/api/Changelog.d.ts +74 -0
- package/lib/api/Changelog.js +1 -0
- package/lib/api/CommandLineConfiguration.d.ts +161 -0
- package/lib/api/CommandLineConfiguration.js +1 -0
- package/lib/api/CommandLineJson.d.ts +251 -0
- package/lib/api/CommandLineJson.js +1 -0
- package/lib/api/CommonVersionsConfiguration.d.ts +96 -0
- package/lib/api/CommonVersionsConfiguration.js +1 -0
- package/lib/api/EnvironmentConfiguration.d.ts +258 -0
- package/lib/api/EnvironmentConfiguration.js +1 -0
- package/lib/api/EventHooks.d.ts +42 -0
- package/lib/api/EventHooks.js +1 -0
- package/lib/api/ExperimentsConfiguration.d.ts +62 -0
- package/lib/api/ExperimentsConfiguration.js +1 -0
- package/lib/api/LastInstallFlag.d.ts +73 -0
- package/lib/api/LastInstallFlag.js +1 -0
- package/lib/api/LastLinkFlag.d.ts +41 -0
- package/lib/api/LastLinkFlag.js +1 -0
- package/lib/api/PackageJsonEditor.d.ts +79 -0
- package/lib/api/PackageJsonEditor.js +1 -0
- package/lib/api/PackageNameParsers.d.ts +18 -0
- package/lib/api/PackageNameParsers.js +1 -0
- package/lib/api/Rush.d.ts +91 -0
- package/lib/api/Rush.js +1 -0
- package/lib/api/RushConfiguration.d.ts +595 -0
- package/lib/api/RushConfiguration.js +1 -0
- package/lib/api/RushConfigurationProject.d.ts +217 -0
- package/lib/api/RushConfigurationProject.js +1 -0
- package/lib/api/RushGlobalFolder.d.ts +32 -0
- package/lib/api/RushGlobalFolder.js +1 -0
- package/lib/api/RushInternals.d.ts +15 -0
- package/lib/api/RushInternals.js +1 -0
- package/lib/api/RushPluginsConfiguration.d.ts +21 -0
- package/lib/api/RushPluginsConfiguration.js +1 -0
- package/lib/api/RushProjectConfiguration.d.ts +117 -0
- package/lib/api/RushProjectConfiguration.js +1 -0
- package/lib/api/RushUserConfiguration.d.ts +16 -0
- package/lib/api/RushUserConfiguration.js +1 -0
- package/lib/api/SaveCallbackPackageJsonEditor.d.ts +14 -0
- package/lib/api/SaveCallbackPackageJsonEditor.js +1 -0
- package/lib/api/Variants.d.ts +11 -0
- package/lib/api/Variants.js +1 -0
- package/lib/api/VersionPolicy.d.ts +203 -0
- package/lib/api/VersionPolicy.js +1 -0
- package/lib/api/VersionPolicyConfiguration.d.ts +75 -0
- package/lib/api/VersionPolicyConfiguration.js +1 -0
- package/lib/api/packageManager/NpmPackageManager.d.ts +9 -0
- package/lib/api/packageManager/NpmPackageManager.js +1 -0
- package/lib/api/packageManager/PackageManager.d.ts +29 -0
- package/lib/api/packageManager/PackageManager.js +1 -0
- package/lib/api/packageManager/PnpmPackageManager.d.ts +17 -0
- package/lib/api/packageManager/PnpmPackageManager.js +1 -0
- package/lib/api/packageManager/YarnPackageManager.d.ts +9 -0
- package/lib/api/packageManager/YarnPackageManager.js +1 -0
- package/lib/cli/CommandLineMigrationAdvisor.d.ts +5 -0
- package/lib/cli/CommandLineMigrationAdvisor.js +1 -0
- package/lib/cli/RushCommandLineParser.d.ts +49 -0
- package/lib/cli/RushCommandLineParser.js +1 -0
- package/lib/cli/RushPnpmCommandLine.d.ts +7 -0
- package/lib/cli/RushPnpmCommandLine.js +1 -0
- package/lib/cli/RushPnpmCommandLineParser.d.ts +26 -0
- package/lib/cli/RushPnpmCommandLineParser.js +1 -0
- package/lib/cli/RushStartupBanner.d.ts +7 -0
- package/lib/cli/RushStartupBanner.js +1 -0
- package/lib/cli/RushXCommandLine.d.ts +17 -0
- package/lib/cli/RushXCommandLine.js +1 -0
- package/lib/cli/actions/AddAction.d.ts +15 -0
- package/lib/cli/actions/AddAction.js +1 -0
- package/lib/cli/actions/BaseAddAndRemoveAction.d.ts +36 -0
- package/lib/cli/actions/BaseAddAndRemoveAction.js +1 -0
- package/lib/cli/actions/BaseInstallAction.d.ts +23 -0
- package/lib/cli/actions/BaseInstallAction.js +1 -0
- package/lib/cli/actions/BaseRushAction.d.ts +55 -0
- package/lib/cli/actions/BaseRushAction.js +1 -0
- package/lib/cli/actions/ChangeAction.d.ts +65 -0
- package/lib/cli/actions/ChangeAction.js +1 -0
- package/lib/cli/actions/CheckAction.d.ts +10 -0
- package/lib/cli/actions/CheckAction.js +1 -0
- package/lib/cli/actions/DeployAction.d.ts +12 -0
- package/lib/cli/actions/DeployAction.js +1 -0
- package/lib/cli/actions/InitAction.d.ts +16 -0
- package/lib/cli/actions/InitAction.js +1 -0
- package/lib/cli/actions/InitAutoinstallerAction.d.ts +8 -0
- package/lib/cli/actions/InitAutoinstallerAction.js +1 -0
- package/lib/cli/actions/InitDeployAction.d.ts +9 -0
- package/lib/cli/actions/InitDeployAction.js +1 -0
- package/lib/cli/actions/InstallAction.d.ts +9 -0
- package/lib/cli/actions/InstallAction.js +1 -0
- package/lib/cli/actions/LinkAction.d.ts +8 -0
- package/lib/cli/actions/LinkAction.js +1 -0
- package/lib/cli/actions/ListAction.d.ts +54 -0
- package/lib/cli/actions/ListAction.js +1 -0
- package/lib/cli/actions/PublishAction.d.ts +49 -0
- package/lib/cli/actions/PublishAction.js +1 -0
- package/lib/cli/actions/PurgeAction.d.ts +8 -0
- package/lib/cli/actions/PurgeAction.js +1 -0
- package/lib/cli/actions/RemoveAction.d.ts +13 -0
- package/lib/cli/actions/RemoveAction.js +1 -0
- package/lib/cli/actions/ScanAction.d.ts +23 -0
- package/lib/cli/actions/ScanAction.js +1 -0
- package/lib/cli/actions/SetupAction.d.ts +7 -0
- package/lib/cli/actions/SetupAction.js +1 -0
- package/lib/cli/actions/UnlinkAction.d.ts +7 -0
- package/lib/cli/actions/UnlinkAction.js +1 -0
- package/lib/cli/actions/UpdateAction.d.ts +11 -0
- package/lib/cli/actions/UpdateAction.js +1 -0
- package/lib/cli/actions/UpdateAutoinstallerAction.d.ts +8 -0
- package/lib/cli/actions/UpdateAutoinstallerAction.js +1 -0
- package/lib/cli/actions/UpdateCloudCredentialsAction.d.ts +10 -0
- package/lib/cli/actions/UpdateCloudCredentialsAction.js +1 -0
- package/lib/cli/actions/UpgradeInteractiveAction.d.ts +9 -0
- package/lib/cli/actions/UpgradeInteractiveAction.js +1 -0
- package/lib/cli/actions/VersionAction.d.ts +22 -0
- package/lib/cli/actions/VersionAction.js +1 -0
- package/lib/cli/parsing/ParseParallelism.d.ts +6 -0
- package/lib/cli/parsing/ParseParallelism.js +1 -0
- package/lib/cli/parsing/SelectionParameterSet.d.ts +51 -0
- package/lib/cli/parsing/SelectionParameterSet.js +1 -0
- package/lib/cli/scriptActions/BaseScriptAction.d.ts +28 -0
- package/lib/cli/scriptActions/BaseScriptAction.js +1 -0
- package/lib/cli/scriptActions/GlobalScriptAction.d.ts +30 -0
- package/lib/cli/scriptActions/GlobalScriptAction.js +1 -0
- package/lib/cli/scriptActions/PhasedScriptAction.d.ts +65 -0
- package/lib/cli/scriptActions/PhasedScriptAction.js +1 -0
- package/lib/index.d.ts +51 -1
- package/lib/index.js +1 -190
- package/lib/logic/Autoinstaller.d.ts +21 -0
- package/lib/logic/Autoinstaller.js +1 -0
- package/lib/logic/ChangeFiles.d.ts +33 -0
- package/lib/logic/ChangeFiles.js +1 -0
- package/lib/logic/ChangeManager.d.ts +39 -0
- package/lib/logic/ChangeManager.js +1 -0
- package/lib/logic/ChangelogGenerator.d.ts +46 -0
- package/lib/logic/ChangelogGenerator.js +1 -0
- package/lib/logic/CredentialCache.d.ts +36 -0
- package/lib/logic/CredentialCache.js +1 -0
- package/lib/logic/DependencyAnalyzer.d.ts +34 -0
- package/lib/logic/DependencyAnalyzer.js +1 -0
- package/lib/logic/DependencySpecifier.d.ts +70 -0
- package/lib/logic/DependencySpecifier.js +1 -0
- package/lib/logic/EventHooksManager.d.ts +10 -0
- package/lib/logic/EventHooksManager.js +1 -0
- package/lib/logic/Git.d.ts +103 -0
- package/lib/logic/Git.js +1 -0
- package/lib/logic/GitStatusParser.d.ts +42 -0
- package/lib/logic/GitStatusParser.js +1 -0
- package/lib/logic/JsonSchemaUrls.d.ts +8 -0
- package/lib/logic/JsonSchemaUrls.js +1 -0
- package/lib/logic/LookupByPath.d.ts +86 -0
- package/lib/logic/LookupByPath.js +1 -0
- package/lib/logic/NodeJsCompatibility.d.ts +42 -0
- package/lib/logic/NodeJsCompatibility.js +1 -0
- package/lib/logic/PackageJsonUpdaterTypes.d.ts +75 -0
- package/lib/logic/PackageJsonUpdaterTypes.js +1 -0
- package/lib/logic/PrereleaseToken.d.ts +12 -0
- package/lib/logic/PrereleaseToken.js +1 -0
- package/lib/logic/ProjectChangeAnalyzer.d.ts +81 -0
- package/lib/logic/ProjectChangeAnalyzer.js +1 -0
- package/lib/logic/ProjectCommandSet.d.ts +13 -0
- package/lib/logic/ProjectCommandSet.js +1 -0
- package/lib/logic/PublishGit.d.ts +19 -0
- package/lib/logic/PublishGit.js +1 -0
- package/lib/logic/PublishUtilities.d.ts +71 -0
- package/lib/logic/PublishUtilities.js +1 -0
- package/lib/logic/PurgeManager.d.ts +29 -0
- package/lib/logic/PurgeManager.js +1 -0
- package/lib/logic/RepoStateFile.d.ts +55 -0
- package/lib/logic/RepoStateFile.js +1 -0
- package/lib/logic/RushConstants.d.ts +219 -0
- package/lib/logic/RushConstants.js +1 -0
- package/lib/logic/Selection.d.ts +39 -0
- package/lib/logic/Selection.js +1 -0
- package/lib/logic/SetupChecks.d.ts +22 -0
- package/lib/logic/SetupChecks.js +1 -0
- package/lib/logic/ShrinkwrapFileFactory.d.ts +8 -0
- package/lib/logic/ShrinkwrapFileFactory.js +1 -0
- package/lib/logic/StandardScriptUpdater.d.ts +26 -0
- package/lib/logic/StandardScriptUpdater.js +1 -0
- package/lib/logic/Telemetry.d.ts +123 -0
- package/lib/logic/Telemetry.js +1 -0
- package/lib/logic/UnlinkManager.d.ts +24 -0
- package/lib/logic/UnlinkManager.js +1 -0
- package/lib/logic/base/BaseInstallManagerTypes.d.ts +65 -0
- package/lib/logic/base/BaseInstallManagerTypes.js +1 -0
- package/lib/logic/base/BasePackageManagerOptionsConfiguration.d.ts +50 -0
- package/lib/logic/base/BasePackageManagerOptionsConfiguration.js +1 -0
- package/lib/logic/base/BaseProjectShrinkwrapFile.d.ts +36 -0
- package/lib/logic/base/BaseProjectShrinkwrapFile.js +1 -0
- package/lib/logic/base/BaseShrinkwrapFile.d.ts +92 -0
- package/lib/logic/base/BaseShrinkwrapFile.js +1 -0
- package/lib/logic/buildCache/CacheEntryId.d.ts +28 -0
- package/lib/logic/buildCache/CacheEntryId.js +1 -0
- package/lib/logic/buildCache/FileSystemBuildCacheProvider.d.ts +40 -0
- package/lib/logic/buildCache/FileSystemBuildCacheProvider.js +1 -0
- package/lib/logic/buildCache/ICloudBuildCacheProvider.d.ts +14 -0
- package/lib/logic/buildCache/ICloudBuildCacheProvider.js +1 -0
- package/lib/logic/buildCache/ProjectBuildCache.d.ts +46 -0
- package/lib/logic/buildCache/ProjectBuildCache.js +1 -0
- package/lib/logic/buildCache/getHashesForGlobsAsync.d.ts +3 -0
- package/lib/logic/buildCache/getHashesForGlobsAsync.js +1 -0
- package/lib/logic/deploy/DeployScenarioConfiguration.d.ts +39 -0
- package/lib/logic/deploy/DeployScenarioConfiguration.js +1 -0
- package/lib/logic/installManager/InstallHelpers.d.ts +16 -0
- package/lib/logic/installManager/InstallHelpers.js +1 -0
- package/lib/logic/npm/NpmOptionsConfiguration.d.ts +21 -0
- package/lib/logic/npm/NpmOptionsConfiguration.js +1 -0
- package/lib/logic/npm/NpmShrinkwrapFile.d.ts +29 -0
- package/lib/logic/npm/NpmShrinkwrapFile.js +1 -0
- package/lib/logic/operations/AsyncOperationQueue.d.ts +47 -0
- package/lib/logic/operations/AsyncOperationQueue.js +1 -0
- package/lib/logic/operations/IOperationExecutionResult.d.ts +49 -0
- package/lib/logic/operations/IOperationExecutionResult.js +1 -0
- package/lib/logic/operations/IOperationRunner.d.ts +77 -0
- package/lib/logic/operations/IOperationRunner.js +1 -0
- package/lib/logic/operations/NullOperationRunner.d.ts +35 -0
- package/lib/logic/operations/NullOperationRunner.js +1 -0
- package/lib/logic/operations/Operation.d.ts +80 -0
- package/lib/logic/operations/Operation.js +1 -0
- package/lib/logic/operations/OperationError.d.ts +11 -0
- package/lib/logic/operations/OperationError.js +1 -0
- package/lib/logic/operations/OperationExecutionManager.d.ts +42 -0
- package/lib/logic/operations/OperationExecutionManager.js +1 -0
- package/lib/logic/operations/OperationExecutionRecord.d.ts +82 -0
- package/lib/logic/operations/OperationExecutionRecord.js +1 -0
- package/lib/logic/operations/OperationMetadataManager.d.ts +48 -0
- package/lib/logic/operations/OperationMetadataManager.js +1 -0
- package/lib/logic/operations/OperationResultSummarizerPlugin.d.ts +17 -0
- package/lib/logic/operations/OperationResultSummarizerPlugin.js +1 -0
- package/lib/logic/operations/OperationStateFile.d.ts +39 -0
- package/lib/logic/operations/OperationStateFile.js +1 -0
- package/lib/logic/operations/OperationStatus.d.ts +43 -0
- package/lib/logic/operations/OperationStatus.js +1 -0
- package/lib/logic/operations/PhasedOperationPlugin.d.ts +9 -0
- package/lib/logic/operations/PhasedOperationPlugin.js +1 -0
- package/lib/logic/operations/ProjectLogWritable.d.ts +17 -0
- package/lib/logic/operations/ProjectLogWritable.js +1 -0
- package/lib/logic/operations/ShellOperationRunner.d.ts +87 -0
- package/lib/logic/operations/ShellOperationRunner.js +1 -0
- package/lib/logic/operations/ShellOperationRunnerPlugin.d.ts +8 -0
- package/lib/logic/operations/ShellOperationRunnerPlugin.js +1 -0
- package/lib/logic/pnpm/IPnpmfile.d.ts +54 -0
- package/lib/logic/pnpm/IPnpmfile.js +1 -0
- package/lib/logic/pnpm/PnpmOptionsConfiguration.d.ts +242 -0
- package/lib/logic/pnpm/PnpmOptionsConfiguration.js +1 -0
- package/lib/logic/pnpm/PnpmProjectShrinkwrapFile.d.ts +26 -0
- package/lib/logic/pnpm/PnpmProjectShrinkwrapFile.js +1 -0
- package/lib/logic/pnpm/PnpmShrinkwrapFile.d.ts +207 -0
- package/lib/logic/pnpm/PnpmShrinkwrapFile.js +1 -0
- package/lib/logic/pnpm/PnpmYamlCommon.d.ts +8 -0
- package/lib/logic/pnpm/PnpmYamlCommon.js +1 -0
- package/lib/logic/pnpm/PnpmfileConfiguration.d.ts +28 -0
- package/lib/logic/pnpm/PnpmfileConfiguration.js +1 -0
- package/lib/logic/pnpm/PnpmfileShim.d.ts +3 -0
- package/lib/logic/pnpm/PnpmfileShim.js +1 -0
- package/lib/logic/policy/GitEmailPolicy.d.ts +6 -0
- package/lib/logic/policy/GitEmailPolicy.js +1 -0
- package/lib/logic/policy/PolicyValidator.d.ts +10 -0
- package/lib/logic/policy/PolicyValidator.js +1 -0
- package/lib/logic/policy/ShrinkwrapFilePolicy.d.ts +13 -0
- package/lib/logic/policy/ShrinkwrapFilePolicy.js +1 -0
- package/lib/logic/selectors/GitChangedProjectSelectorParser.d.ts +23 -0
- package/lib/logic/selectors/GitChangedProjectSelectorParser.js +1 -0
- package/lib/logic/selectors/ISelectorParser.d.ts +11 -0
- package/lib/logic/selectors/ISelectorParser.js +1 -0
- package/lib/logic/selectors/NamedProjectSelectorParser.d.ts +10 -0
- package/lib/logic/selectors/NamedProjectSelectorParser.js +1 -0
- package/lib/logic/selectors/TagProjectSelectorParser.d.ts +10 -0
- package/lib/logic/selectors/TagProjectSelectorParser.js +1 -0
- package/lib/logic/selectors/VersionPolicyProjectSelectorParser.d.ts +10 -0
- package/lib/logic/selectors/VersionPolicyProjectSelectorParser.js +1 -0
- package/lib/logic/setup/ArtifactoryConfiguration.d.ts +38 -0
- package/lib/logic/setup/ArtifactoryConfiguration.js +1 -0
- package/lib/logic/setup/KeyboardLoop.d.ts +27 -0
- package/lib/logic/setup/KeyboardLoop.js +1 -0
- package/lib/logic/setup/SetupPackageRegistry.d.ts +72 -0
- package/lib/logic/setup/SetupPackageRegistry.js +1 -0
- package/lib/logic/setup/TerminalInput.d.ts +22 -0
- package/lib/logic/setup/TerminalInput.js +1 -0
- package/lib/logic/versionMismatch/VersionMismatchFinder.d.ts +49 -0
- package/lib/logic/versionMismatch/VersionMismatchFinder.js +1 -0
- package/lib/logic/versionMismatch/VersionMismatchFinderCommonVersions.d.ts +16 -0
- package/lib/logic/versionMismatch/VersionMismatchFinderCommonVersions.js +1 -0
- package/lib/logic/versionMismatch/VersionMismatchFinderEntity.d.ts +20 -0
- package/lib/logic/versionMismatch/VersionMismatchFinderEntity.js +1 -0
- package/lib/logic/versionMismatch/VersionMismatchFinderProject.d.ts +16 -0
- package/lib/logic/versionMismatch/VersionMismatchFinderProject.js +1 -0
- package/lib/logic/yarn/YarnOptionsConfiguration.d.ts +37 -0
- package/lib/logic/yarn/YarnOptionsConfiguration.js +1 -0
- package/lib/logic/yarn/YarnShrinkwrapFile.d.ts +55 -0
- package/lib/logic/yarn/YarnShrinkwrapFile.js +1 -0
- package/lib/pluginFramework/IRushPlugin.d.ts +9 -0
- package/lib/pluginFramework/IRushPlugin.js +1 -0
- package/lib/pluginFramework/PhasedCommandHooks.d.ts +93 -0
- package/lib/pluginFramework/PhasedCommandHooks.js +1 -0
- package/lib/pluginFramework/PluginLoader/AutoinstallerPluginLoader.d.ts +27 -0
- package/lib/pluginFramework/PluginLoader/AutoinstallerPluginLoader.js +1 -0
- package/lib/pluginFramework/PluginLoader/BuiltInPluginLoader.d.ts +17 -0
- package/lib/pluginFramework/PluginLoader/BuiltInPluginLoader.js +1 -0
- package/lib/pluginFramework/PluginLoader/PluginLoaderBase.d.ts +47 -0
- package/lib/pluginFramework/PluginLoader/PluginLoaderBase.js +1 -0
- package/lib/pluginFramework/PluginLoader/RushSdk.d.ts +5 -0
- package/lib/pluginFramework/PluginLoader/RushSdk.js +1 -0
- package/lib/pluginFramework/PluginManager.d.ts +47 -0
- package/lib/pluginFramework/PluginManager.js +1 -0
- package/lib/pluginFramework/RushLifeCycle.d.ts +66 -0
- package/lib/pluginFramework/RushLifeCycle.js +1 -0
- package/lib/pluginFramework/RushSession.d.ts +30 -0
- package/lib/pluginFramework/RushSession.js +1 -0
- package/lib/pluginFramework/logging/Logger.d.ts +40 -0
- package/lib/pluginFramework/logging/Logger.js +1 -0
- package/lib/start-pnpm.d.ts +2 -0
- package/lib/start-pnpm.js +1 -0
- package/lib/start.d.ts +2 -0
- package/lib/start.js +1 -0
- package/lib/startx.d.ts +2 -0
- package/lib/startx.js +1 -0
- package/lib/utilities/AsyncRecycler.d.ts +38 -0
- package/lib/utilities/AsyncRecycler.js +1 -0
- package/lib/utilities/CollatedTerminalProvider.d.ts +18 -0
- package/lib/utilities/CollatedTerminalProvider.js +1 -0
- package/lib/utilities/Npm.d.ts +6 -0
- package/lib/utilities/Npm.js +1 -0
- package/lib/utilities/OverlappingPathAnalyzer.d.ts +9 -0
- package/lib/utilities/OverlappingPathAnalyzer.js +1 -0
- package/lib/utilities/PathConstants.d.ts +23 -0
- package/lib/utilities/PathConstants.js +1 -0
- package/lib/utilities/Stopwatch.d.ts +75 -0
- package/lib/utilities/Stopwatch.js +1 -0
- package/lib/utilities/TarExecutable.d.ts +32 -0
- package/lib/utilities/TarExecutable.js +1 -0
- package/lib/utilities/Utilities.d.ts +189 -0
- package/lib/utilities/Utilities.js +1 -0
- package/lib/utilities/WebClient.d.ts +49 -0
- package/lib/utilities/WebClient.js +1 -0
- package/lib/utilities/npmrcUtilities.d.ts +15 -0
- package/lib/utilities/npmrcUtilities.js +1 -0
- package/lib-shim/generate-stubs.d.ts +2 -0
- package/lib-shim/generate-stubs.d.ts.map +1 -0
- package/lib-shim/generate-stubs.js +82 -0
- package/lib-shim/generate-stubs.js.map +1 -0
- package/lib-shim/index.d.ts +5 -0
- package/lib-shim/index.d.ts.map +1 -0
- package/lib-shim/index.js +201 -0
- package/lib-shim/index.js.map +1 -0
- package/package.json +10 -10
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js.map +0 -1
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { RushConfigurationProject } from '../../api/RushConfigurationProject';
|
|
2
|
+
import { IPhase } from '../../api/CommandLineConfiguration';
|
|
3
|
+
import { IOperationRunner } from './IOperationRunner';
|
|
4
|
+
/**
|
|
5
|
+
* Options for constructing a new Operation.
|
|
6
|
+
* @alpha
|
|
7
|
+
*/
|
|
8
|
+
export interface IOperationOptions {
|
|
9
|
+
/**
|
|
10
|
+
* The Rush phase associated with this Operation, if any
|
|
11
|
+
*/
|
|
12
|
+
phase?: IPhase | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* The Rush project associated with this Operation, if any
|
|
15
|
+
*/
|
|
16
|
+
project?: RushConfigurationProject | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* When the scheduler is ready to process this `Operation`, the `runner` implements the actual work of
|
|
19
|
+
* running the operation.
|
|
20
|
+
*/
|
|
21
|
+
runner?: IOperationRunner | undefined;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The `Operation` class is a node in the dependency graph of work that needs to be scheduled by the
|
|
25
|
+
* `OperationExecutionManager`. Each `Operation` has a `runner` member of type `IOperationRunner`, whose
|
|
26
|
+
* implementation manages the actual process of running a single operation.
|
|
27
|
+
*
|
|
28
|
+
* The graph of `Operation` instances will be cloned into a separate execution graph after processing.
|
|
29
|
+
*
|
|
30
|
+
* @alpha
|
|
31
|
+
*/
|
|
32
|
+
export declare class Operation {
|
|
33
|
+
/**
|
|
34
|
+
* The Rush phase associated with this Operation, if any
|
|
35
|
+
*/
|
|
36
|
+
readonly associatedPhase: IPhase | undefined;
|
|
37
|
+
/**
|
|
38
|
+
* The Rush project associated with this Operation, if any
|
|
39
|
+
*/
|
|
40
|
+
readonly associatedProject: RushConfigurationProject | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* A set of all operations which depend on this operation.
|
|
43
|
+
*/
|
|
44
|
+
readonly consumers: ReadonlySet<Operation>;
|
|
45
|
+
/**
|
|
46
|
+
* A set of all dependencies which must be executed before this operation is complete.
|
|
47
|
+
*/
|
|
48
|
+
readonly dependencies: ReadonlySet<Operation>;
|
|
49
|
+
/**
|
|
50
|
+
* When the scheduler is ready to process this `Operation`, the `runner` implements the actual work of
|
|
51
|
+
* running the operation.
|
|
52
|
+
*/
|
|
53
|
+
runner: IOperationRunner | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* The weight for this operation. This scalar is the contribution of this operation to the
|
|
56
|
+
* `criticalPathLength` calculation above. Modify to indicate the following:
|
|
57
|
+
* - `weight` === 1: indicates that this operation has an average duration
|
|
58
|
+
* - `weight` > 1: indicates that this operation takes longer than average and so the scheduler
|
|
59
|
+
* should try to favor starting it over other, shorter operations. An example might be an operation that
|
|
60
|
+
* bundles an entire application and runs whole-program optimization.
|
|
61
|
+
* - `weight` < 1: indicates that this operation takes less time than average and so the scheduler
|
|
62
|
+
* should favor other, longer operations over it. An example might be an operation to unpack a cached
|
|
63
|
+
* output, or an operation using NullOperationRunner, which might use a value of 0.
|
|
64
|
+
*/
|
|
65
|
+
weight: number;
|
|
66
|
+
constructor(options?: IOperationOptions);
|
|
67
|
+
/**
|
|
68
|
+
* The name of this operation, for logging.
|
|
69
|
+
*/
|
|
70
|
+
get name(): string | undefined;
|
|
71
|
+
/**
|
|
72
|
+
* Adds the specified operation as a dependency and updates the consumer list.
|
|
73
|
+
*/
|
|
74
|
+
addDependency(dependency: Operation): void;
|
|
75
|
+
/**
|
|
76
|
+
* Deletes the specified operation as a dependency and updates the consumer list.
|
|
77
|
+
*/
|
|
78
|
+
deleteDependency(dependency: Operation): void;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=Operation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/operations/Operation");
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Encapsulates information about an error
|
|
3
|
+
* @alpha
|
|
4
|
+
*/
|
|
5
|
+
export declare class OperationError extends Error {
|
|
6
|
+
protected _type: string;
|
|
7
|
+
constructor(type: string, message: string);
|
|
8
|
+
get message(): string;
|
|
9
|
+
toString(): string;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=OperationError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/operations/OperationError");
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { TerminalWritable } from '@rushstack/terminal';
|
|
2
|
+
import { Operation } from './Operation';
|
|
3
|
+
import { IExecutionResult } from './IOperationExecutionResult';
|
|
4
|
+
export interface IOperationExecutionManagerOptions {
|
|
5
|
+
quietMode: boolean;
|
|
6
|
+
debugMode: boolean;
|
|
7
|
+
parallelism: number;
|
|
8
|
+
changedProjectsOnly: boolean;
|
|
9
|
+
destination?: TerminalWritable;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* A class which manages the execution of a set of tasks with interdependencies.
|
|
13
|
+
* Initially, and at the end of each task execution, all unblocked tasks
|
|
14
|
+
* are added to a ready queue which is then executed. This is done continually until all
|
|
15
|
+
* tasks are complete, or prematurely fails if any of the tasks fail.
|
|
16
|
+
*/
|
|
17
|
+
export declare class OperationExecutionManager {
|
|
18
|
+
private readonly _changedProjectsOnly;
|
|
19
|
+
private readonly _executionRecords;
|
|
20
|
+
private readonly _quietMode;
|
|
21
|
+
private readonly _parallelism;
|
|
22
|
+
private readonly _totalOperations;
|
|
23
|
+
private readonly _outputWritable;
|
|
24
|
+
private readonly _colorsNewlinesTransform;
|
|
25
|
+
private readonly _streamCollator;
|
|
26
|
+
private readonly _terminal;
|
|
27
|
+
private _hasAnyFailures;
|
|
28
|
+
private _hasAnyNonAllowedWarnings;
|
|
29
|
+
private _completedOperations;
|
|
30
|
+
constructor(operations: Set<Operation>, options: IOperationExecutionManagerOptions);
|
|
31
|
+
private _streamCollator_onWriterActive;
|
|
32
|
+
/**
|
|
33
|
+
* Executes all operations which have been registered, returning a promise which is resolved when all the
|
|
34
|
+
* operations are completed successfully, or rejects when any operation fails.
|
|
35
|
+
*/
|
|
36
|
+
executeAsync(): Promise<IExecutionResult>;
|
|
37
|
+
/**
|
|
38
|
+
* Handles the result of the operation and propagates any relevant effects.
|
|
39
|
+
*/
|
|
40
|
+
private _onOperationComplete;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=OperationExecutionManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/operations/OperationExecutionManager");
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { StdioSummarizer } from '@rushstack/terminal';
|
|
2
|
+
import { CollatedWriter, StreamCollator } from '@rushstack/stream-collator';
|
|
3
|
+
import { OperationStatus } from './OperationStatus';
|
|
4
|
+
import { IOperationRunner, IOperationRunnerContext } from './IOperationRunner';
|
|
5
|
+
import { Operation } from './Operation';
|
|
6
|
+
import { Stopwatch } from '../../utilities/Stopwatch';
|
|
7
|
+
import { OperationMetadataManager } from './OperationMetadataManager';
|
|
8
|
+
export interface IOperationExecutionRecordContext {
|
|
9
|
+
streamCollator: StreamCollator;
|
|
10
|
+
debugMode: boolean;
|
|
11
|
+
quietMode: boolean;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Internal class representing everything about executing an operation
|
|
15
|
+
*/
|
|
16
|
+
export declare class OperationExecutionRecord implements IOperationRunnerContext {
|
|
17
|
+
/**
|
|
18
|
+
* The current execution status of an operation. Operations start in the 'ready' state,
|
|
19
|
+
* but can be 'blocked' if an upstream operation failed. It is 'executing' when
|
|
20
|
+
* the operation is executing. Once execution is complete, it is either 'success' or
|
|
21
|
+
* 'failure'.
|
|
22
|
+
*/
|
|
23
|
+
status: OperationStatus;
|
|
24
|
+
/**
|
|
25
|
+
* The error which occurred while executing this operation, this is stored in case we need
|
|
26
|
+
* it later (for example to re-print errors at end of execution).
|
|
27
|
+
*/
|
|
28
|
+
error: Error | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* This number represents how far away this Operation is from the furthest "root" operation (i.e.
|
|
31
|
+
* an operation with no consumers). This helps us to calculate the critical path (i.e. the
|
|
32
|
+
* longest chain of projects which must be executed in order, thereby limiting execution speed
|
|
33
|
+
* of the entire operation tree.
|
|
34
|
+
*
|
|
35
|
+
* This number is calculated via a memoized depth-first search, and when choosing the next
|
|
36
|
+
* operation to execute, the operation with the highest criticalPathLength is chosen.
|
|
37
|
+
*
|
|
38
|
+
* Example:
|
|
39
|
+
* (0) A
|
|
40
|
+
* \
|
|
41
|
+
* (1) B C (0) (applications)
|
|
42
|
+
* \ /|\
|
|
43
|
+
* \ / | \
|
|
44
|
+
* (2) D | X (1) (utilities)
|
|
45
|
+
* | / \
|
|
46
|
+
* |/ \
|
|
47
|
+
* (2) Y Z (2) (other utilities)
|
|
48
|
+
*
|
|
49
|
+
* All roots (A & C) have a criticalPathLength of 0.
|
|
50
|
+
* B has a score of 1, since A depends on it.
|
|
51
|
+
* D has a score of 2, since we look at the longest chain (e.g D->B->A is longer than D->C)
|
|
52
|
+
* X has a score of 1, since the only package which depends on it is A
|
|
53
|
+
* Z has a score of 2, since only X depends on it, and X has a score of 1
|
|
54
|
+
* Y has a score of 2, since the chain Y->X->C is longer than Y->C
|
|
55
|
+
*
|
|
56
|
+
* The algorithm is implemented in AsyncOperationQueue.ts as calculateCriticalPathLength()
|
|
57
|
+
*/
|
|
58
|
+
criticalPathLength: number | undefined;
|
|
59
|
+
/**
|
|
60
|
+
* The set of operations that must complete before this operation executes.
|
|
61
|
+
*/
|
|
62
|
+
readonly dependencies: Set<OperationExecutionRecord>;
|
|
63
|
+
/**
|
|
64
|
+
* The set of operations that depend on this operation.
|
|
65
|
+
*/
|
|
66
|
+
readonly consumers: Set<OperationExecutionRecord>;
|
|
67
|
+
readonly stopwatch: Stopwatch;
|
|
68
|
+
readonly stdioSummarizer: StdioSummarizer;
|
|
69
|
+
readonly runner: IOperationRunner;
|
|
70
|
+
readonly weight: number;
|
|
71
|
+
readonly _operationMetadataManager: OperationMetadataManager | undefined;
|
|
72
|
+
private readonly _context;
|
|
73
|
+
private _collatedWriter;
|
|
74
|
+
constructor(operation: Operation, context: IOperationExecutionRecordContext);
|
|
75
|
+
get name(): string;
|
|
76
|
+
get debugMode(): boolean;
|
|
77
|
+
get quietMode(): boolean;
|
|
78
|
+
get collatedWriter(): CollatedWriter;
|
|
79
|
+
get nonCachedDurationMs(): number | undefined;
|
|
80
|
+
executeAsync(onResult: (record: OperationExecutionRecord) => void): Promise<void>;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=OperationExecutionRecord.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/operations/OperationExecutionRecord");
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { ITerminal } from '@rushstack/node-core-library';
|
|
2
|
+
import { OperationStateFile } from './OperationStateFile';
|
|
3
|
+
import type { IPhase } from '../../api/CommandLineConfiguration';
|
|
4
|
+
import type { RushConfigurationProject } from '../../api/RushConfigurationProject';
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export interface IOperationMetadataManagerOptions {
|
|
9
|
+
rushProject: RushConfigurationProject;
|
|
10
|
+
phase: IPhase;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
15
|
+
export interface IOperationMetaData {
|
|
16
|
+
durationInSeconds: number;
|
|
17
|
+
logPath: string;
|
|
18
|
+
errorLogPath: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* A helper class for managing the meta files of a operation.
|
|
22
|
+
*
|
|
23
|
+
* @internal
|
|
24
|
+
*/
|
|
25
|
+
export declare class OperationMetadataManager {
|
|
26
|
+
readonly stateFile: OperationStateFile;
|
|
27
|
+
private _metadataFolder;
|
|
28
|
+
private _logPath;
|
|
29
|
+
private _errorLogPath;
|
|
30
|
+
private _relativeLogPath;
|
|
31
|
+
private _relativeErrorLogPath;
|
|
32
|
+
constructor(options: IOperationMetadataManagerOptions);
|
|
33
|
+
/**
|
|
34
|
+
* Returns the relative paths of the metadata files to project folder.
|
|
35
|
+
*
|
|
36
|
+
* Example: `.rush/temp/operation/_phase_build/state.json`
|
|
37
|
+
* Example: `.rush/temp/operation/_phase_build/all.log`
|
|
38
|
+
* Example: `.rush/temp/operation/_phase_build/error.log`
|
|
39
|
+
*/
|
|
40
|
+
get relativeFilepaths(): string[];
|
|
41
|
+
saveAsync({ durationInSeconds, logPath, errorLogPath }: IOperationMetaData): Promise<void>;
|
|
42
|
+
tryRestoreAsync({ terminal, logPath, errorLogPath }: {
|
|
43
|
+
terminal: ITerminal;
|
|
44
|
+
logPath: string;
|
|
45
|
+
errorLogPath: string;
|
|
46
|
+
}): Promise<void>;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=OperationMetadataManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/operations/OperationMetadataManager");
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ITerminal } from '@rushstack/node-core-library';
|
|
2
|
+
import { IPhasedCommandPlugin, PhasedCommandHooks } from '../../pluginFramework/PhasedCommandHooks';
|
|
3
|
+
import { IExecutionResult } from './IOperationExecutionResult';
|
|
4
|
+
/**
|
|
5
|
+
* Phased command plugin that emits a summary of build results to the console.
|
|
6
|
+
*/
|
|
7
|
+
export declare class OperationResultSummarizerPlugin implements IPhasedCommandPlugin {
|
|
8
|
+
private readonly _terminal;
|
|
9
|
+
constructor(terminal: ITerminal);
|
|
10
|
+
apply(hooks: PhasedCommandHooks): void;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Prints out a report of the status of each project
|
|
14
|
+
* @internal
|
|
15
|
+
*/
|
|
16
|
+
export declare function _printOperationStatus(terminal: ITerminal, result: IExecutionResult): void;
|
|
17
|
+
//# sourceMappingURL=OperationResultSummarizerPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/operations/OperationResultSummarizerPlugin");
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @internal
|
|
3
|
+
*/
|
|
4
|
+
export interface IOperationStateFileOptions {
|
|
5
|
+
projectFolder: string;
|
|
6
|
+
metadataFolder: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export interface IOperationStateJson {
|
|
12
|
+
nonCachedDurationMs: number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* A helper class for managing the state file of a operation.
|
|
16
|
+
*
|
|
17
|
+
* @internal
|
|
18
|
+
*/
|
|
19
|
+
export declare class OperationStateFile {
|
|
20
|
+
private _state;
|
|
21
|
+
/**
|
|
22
|
+
* The path of the state json file.
|
|
23
|
+
*
|
|
24
|
+
* Example: `/code/repo/my-project/.rush/temp/operation/_phase_build/state.json`
|
|
25
|
+
*/
|
|
26
|
+
readonly filepath: string;
|
|
27
|
+
/**
|
|
28
|
+
* The relative path of the state json file to project folder
|
|
29
|
+
*
|
|
30
|
+
* Example: `.rush/temp/operation/_phase_build/state.json`
|
|
31
|
+
*/
|
|
32
|
+
readonly relativeFilepath: string;
|
|
33
|
+
static filename: string;
|
|
34
|
+
constructor(options: IOperationStateFileOptions);
|
|
35
|
+
get state(): IOperationStateJson | undefined;
|
|
36
|
+
writeAsync(json: IOperationStateJson): Promise<void>;
|
|
37
|
+
tryRestoreAsync(): Promise<IOperationStateJson | undefined>;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=OperationStateFile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/operations/OperationStateFile");
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enumeration defining potential states of an operation
|
|
3
|
+
* @beta
|
|
4
|
+
*/
|
|
5
|
+
export declare enum OperationStatus {
|
|
6
|
+
/**
|
|
7
|
+
* The Operation is on the queue, ready to execute (but may be waiting for dependencies)
|
|
8
|
+
*/
|
|
9
|
+
Ready = "READY",
|
|
10
|
+
/**
|
|
11
|
+
* The Operation is currently executing
|
|
12
|
+
*/
|
|
13
|
+
Executing = "EXECUTING",
|
|
14
|
+
/**
|
|
15
|
+
* The Operation completed successfully and did not write to standard output
|
|
16
|
+
*/
|
|
17
|
+
Success = "SUCCESS",
|
|
18
|
+
/**
|
|
19
|
+
* The Operation completed successfully, but wrote to standard output
|
|
20
|
+
*/
|
|
21
|
+
SuccessWithWarning = "SUCCESS WITH WARNINGS",
|
|
22
|
+
/**
|
|
23
|
+
* The Operation was skipped via the legacy incremental build logic
|
|
24
|
+
*/
|
|
25
|
+
Skipped = "SKIPPED",
|
|
26
|
+
/**
|
|
27
|
+
* The Operation had its outputs restored from the build cache
|
|
28
|
+
*/
|
|
29
|
+
FromCache = "FROM CACHE",
|
|
30
|
+
/**
|
|
31
|
+
* The Operation failed
|
|
32
|
+
*/
|
|
33
|
+
Failure = "FAILURE",
|
|
34
|
+
/**
|
|
35
|
+
* The Operation could not be executed because one or more of its dependencies failed
|
|
36
|
+
*/
|
|
37
|
+
Blocked = "BLOCKED",
|
|
38
|
+
/**
|
|
39
|
+
* The Operation was a no-op (for example, it had an empty script)
|
|
40
|
+
*/
|
|
41
|
+
NoOp = "NO OP"
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=OperationStatus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/operations/OperationStatus");
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { IPhasedCommandPlugin, PhasedCommandHooks } from '../../pluginFramework/PhasedCommandHooks';
|
|
2
|
+
/**
|
|
3
|
+
* Core phased command plugin that provides the functionality for generating a base operation graph
|
|
4
|
+
* from the set of selected projects and phases.
|
|
5
|
+
*/
|
|
6
|
+
export declare class PhasedOperationPlugin implements IPhasedCommandPlugin {
|
|
7
|
+
apply(hooks: PhasedCommandHooks): void;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=PhasedOperationPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/operations/PhasedOperationPlugin");
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { TerminalWritable, ITerminalChunk } from '@rushstack/terminal';
|
|
2
|
+
import { CollatedTerminal } from '@rushstack/stream-collator';
|
|
3
|
+
import { RushConfigurationProject } from '../../api/RushConfigurationProject';
|
|
4
|
+
export declare class ProjectLogWritable extends TerminalWritable {
|
|
5
|
+
private readonly _project;
|
|
6
|
+
private readonly _terminal;
|
|
7
|
+
readonly logPath: string;
|
|
8
|
+
readonly errorLogPath: string;
|
|
9
|
+
readonly relativeLogPath: string;
|
|
10
|
+
readonly relativeErrorLogPath: string;
|
|
11
|
+
private _logWriter;
|
|
12
|
+
private _errorLogWriter;
|
|
13
|
+
constructor(project: RushConfigurationProject, terminal: CollatedTerminal, logFilenameIdentifier: string);
|
|
14
|
+
protected onWriteChunk(chunk: ITerminalChunk): void;
|
|
15
|
+
protected onClose(): void;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=ProjectLogWritable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/operations/ProjectLogWritable");
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { OperationStatus } from './OperationStatus';
|
|
2
|
+
import { IOperationRunner, IOperationRunnerContext } from './IOperationRunner';
|
|
3
|
+
import type { RushConfiguration } from '../../api/RushConfiguration';
|
|
4
|
+
import type { RushConfigurationProject } from '../../api/RushConfigurationProject';
|
|
5
|
+
import type { ProjectChangeAnalyzer } from '../ProjectChangeAnalyzer';
|
|
6
|
+
import type { BuildCacheConfiguration } from '../../api/BuildCacheConfiguration';
|
|
7
|
+
import type { IPhase } from '../../api/CommandLineConfiguration';
|
|
8
|
+
export interface IProjectDeps {
|
|
9
|
+
files: {
|
|
10
|
+
[filePath: string]: string;
|
|
11
|
+
};
|
|
12
|
+
arguments: string;
|
|
13
|
+
}
|
|
14
|
+
export interface IOperationRunnerOptions {
|
|
15
|
+
rushProject: RushConfigurationProject;
|
|
16
|
+
rushConfiguration: RushConfiguration;
|
|
17
|
+
buildCacheConfiguration: BuildCacheConfiguration | undefined;
|
|
18
|
+
commandToRun: string;
|
|
19
|
+
isIncrementalBuildAllowed: boolean;
|
|
20
|
+
projectChangeAnalyzer: ProjectChangeAnalyzer;
|
|
21
|
+
displayName: string;
|
|
22
|
+
phase: IPhase;
|
|
23
|
+
/**
|
|
24
|
+
* The set of phases being executed in the current command, for validation of rush-project.json
|
|
25
|
+
*/
|
|
26
|
+
selectedPhases: Iterable<IPhase>;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* An `IOperationRunner` subclass that performs an operation via a shell command.
|
|
30
|
+
* Currently contains the build cache logic, pending extraction as separate operations.
|
|
31
|
+
* Supports skipping an operation if allowed and it is already up-to-date.
|
|
32
|
+
*/
|
|
33
|
+
export declare class ShellOperationRunner implements IOperationRunner {
|
|
34
|
+
readonly name: string;
|
|
35
|
+
isCacheWriteAllowed: boolean;
|
|
36
|
+
isSkipAllowed: boolean;
|
|
37
|
+
readonly reportTiming: boolean;
|
|
38
|
+
readonly silent: boolean;
|
|
39
|
+
readonly warningsAreAllowed: boolean;
|
|
40
|
+
private readonly _rushProject;
|
|
41
|
+
private readonly _phase;
|
|
42
|
+
private readonly _rushConfiguration;
|
|
43
|
+
private readonly _buildCacheConfiguration;
|
|
44
|
+
private readonly _commandName;
|
|
45
|
+
private readonly _commandToRun;
|
|
46
|
+
private readonly _isCacheReadAllowed;
|
|
47
|
+
private readonly _projectChangeAnalyzer;
|
|
48
|
+
private readonly _packageDepsFilename;
|
|
49
|
+
private readonly _logFilenameIdentifier;
|
|
50
|
+
private readonly _selectedPhases;
|
|
51
|
+
/**
|
|
52
|
+
* UNINITIALIZED === we haven't tried to initialize yet
|
|
53
|
+
* undefined === we didn't create one because the feature is not enabled
|
|
54
|
+
*/
|
|
55
|
+
private _projectBuildCache;
|
|
56
|
+
constructor(options: IOperationRunnerOptions);
|
|
57
|
+
executeAsync(context: IOperationRunnerContext): Promise<OperationStatus>;
|
|
58
|
+
private _executeAsync;
|
|
59
|
+
private _tryGetProjectBuildCacheAsync;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* When running a command from the "scripts" block in package.json, if the command
|
|
63
|
+
* contains Unix-style path slashes and the OS is Windows, the package managers will
|
|
64
|
+
* convert slashes to backslashes. This is a complicated undertaking. For example, they
|
|
65
|
+
* need to convert "node_modules/bin/this && ./scripts/that --name keep/this"
|
|
66
|
+
* to "node_modules\bin\this && .\scripts\that --name keep/this", and they don't want to
|
|
67
|
+
* convert ANY of the slashes in "cmd.exe /c echo a/b". NPM and PNPM use npm-lifecycle for this,
|
|
68
|
+
* but it unfortunately has a dependency on the entire node-gyp kitchen sink. Yarn has a
|
|
69
|
+
* simplified implementation in fix-cmd-win-slashes.js, but it's not exposed as a library.
|
|
70
|
+
*
|
|
71
|
+
* Fundamentally NPM's whole feature seems misguided: They start by inviting people to write
|
|
72
|
+
* shell scripts that will be executed by wildly different shell languages (e.g. cmd.exe and Bash).
|
|
73
|
+
* It's very tricky for a developer to guess what's safe to do without testing every OS.
|
|
74
|
+
* Even simple path separators are not portable, so NPM added heuristics to figure out which
|
|
75
|
+
* slashes are part of a path or not, and convert them. These workarounds end up having tons
|
|
76
|
+
* of special cases. They probably could have implemented their own entire minimal cross-platform
|
|
77
|
+
* shell language with less code and less confusion than npm-lifecycle's approach.
|
|
78
|
+
*
|
|
79
|
+
* We've deprecated shell operators inside package.json. Instead, we advise people to move their
|
|
80
|
+
* scripts into conventional script files, and put only a file path in package.json. So, for
|
|
81
|
+
* Rush's workaround here, we really only care about supporting the small set of cases seen in the
|
|
82
|
+
* unit tests. For anything that doesn't fit those patterns, we leave the string untouched
|
|
83
|
+
* (i.e. err on the side of not breaking anything). We could revisit this later if someone
|
|
84
|
+
* complains about it, but so far nobody has. :-)
|
|
85
|
+
*/
|
|
86
|
+
export declare function convertSlashesForWindows(command: string): string;
|
|
87
|
+
//# sourceMappingURL=ShellOperationRunner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/operations/ShellOperationRunner");
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { IPhasedCommandPlugin, PhasedCommandHooks } from '../../pluginFramework/PhasedCommandHooks';
|
|
2
|
+
/**
|
|
3
|
+
* Core phased command plugin that provides the functionality for executing an operation via shell command.
|
|
4
|
+
*/
|
|
5
|
+
export declare class ShellOperationRunnerPlugin implements IPhasedCommandPlugin {
|
|
6
|
+
apply(hooks: PhasedCommandHooks): void;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=ShellOperationRunnerPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/operations/ShellOperationRunnerPlugin");
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { LogBase } from '@pnpm/logger';
|
|
2
|
+
import type { IPackageJson } from '@rushstack/node-core-library';
|
|
3
|
+
import type { IPnpmShrinkwrapYaml } from './PnpmShrinkwrapFile';
|
|
4
|
+
/**
|
|
5
|
+
* The `settings` parameter passed to {@link IPnpmfileShim.hooks.readPackage} and
|
|
6
|
+
* {@link IPnpmfileShim.hooks.afterAllResolved}.
|
|
7
|
+
*/
|
|
8
|
+
export interface IPnpmfileShimSettings {
|
|
9
|
+
semverPath: string;
|
|
10
|
+
allPreferredVersions: {
|
|
11
|
+
[dependencyName: string]: string;
|
|
12
|
+
};
|
|
13
|
+
allowedAlternativeVersions: {
|
|
14
|
+
[dependencyName: string]: ReadonlyArray<string>;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* The versions of all packages that are part of the workspace.
|
|
18
|
+
*/
|
|
19
|
+
workspaceVersions: Record<string, string>;
|
|
20
|
+
userPnpmfilePath?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* The `context` parameter passed to {@link IPnpmfile.hooks.readPackage}, as defined by the
|
|
24
|
+
* pnpmfile API contract.
|
|
25
|
+
*/
|
|
26
|
+
export interface IPnpmfileContext {
|
|
27
|
+
log: (message: string) => void;
|
|
28
|
+
pnpmfileShimSettings?: IPnpmfileShimSettings;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The `log` parameter passed to {@link IPnpmfile.hooks.filterLog}.
|
|
32
|
+
*/
|
|
33
|
+
export declare type IPnpmLog = LogBase & {
|
|
34
|
+
[key: string]: unknown;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* The 'hooks' property of the pnpmfile
|
|
38
|
+
*/
|
|
39
|
+
export interface IPnpmfileHooks {
|
|
40
|
+
afterAllResolved?: (lockfile: IPnpmShrinkwrapYaml, context: IPnpmfileContext) => IPnpmShrinkwrapYaml;
|
|
41
|
+
readPackage?: (pkg: IPackageJson, context: IPnpmfileContext) => IPackageJson;
|
|
42
|
+
/**
|
|
43
|
+
* @remarks
|
|
44
|
+
* This function is not supported by PNPM versions before 6.17.0.
|
|
45
|
+
*/
|
|
46
|
+
filterLog?: (log: IPnpmLog) => boolean;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* The pnpmfile, as defined by the pnpmfile API contract.
|
|
50
|
+
*/
|
|
51
|
+
export interface IPnpmfile {
|
|
52
|
+
hooks?: IPnpmfileHooks;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=IPnpmfile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../../../lib-shim/index")._rushSdk_loadInternalModule("logic/pnpm/IPnpmfile");
|