@storm-software/workspace-tools
Version:
Tools for managing a Storm workspace, including various Nx generators and executors for common development tasks.
57 lines (54 loc) • 2.65 kB
text/typescript
import { ProjectGraphProjectNode, Tree, ProjectGraph } from '@nx/devkit';
import { S as StormWorkspaceConfig } from '../../types-B0erLKyc.mjs';
import { VersionActions } from 'nx/release';
import { ReleaseGroupWithName } from 'nx/src/command-line/release/config/filter-release-groups';
import { FinalConfigForProject } from 'nx/src/command-line/release/utils/release-graph';
import { NxReleaseVersionConfiguration } from 'nx/src/config/nx-json';
import 'zod';
import 'zod/mini';
/**
* Custom Rust version actions for crates inside a Storm workspace.
*/
declare class StormRustVersionActions extends VersionActions {
validManifestFilenames: string[];
/**
* The Storm workspace configuration object, which is loaded from the `storm-workspace.json` file.
*
* @remarks
* This member variable is populated during the {@link init} method.
*/
protected workspaceConfig: StormWorkspaceConfig | null;
constructor(releaseGroup: ReleaseGroupWithName, projectGraphNode: ProjectGraphProjectNode, finalConfigForProject: FinalConfigForProject);
/**
* Asynchronous initialization of the version actions and resolution of manifest paths.
*
* @remarks
* This does NOT validate that manifest files exist - that happens later in validate().
*
* @params tree - The file system tree to read from.
*/
init(tree: Tree): Promise<void>;
readCurrentVersionFromSourceManifest(tree: Tree): Promise<{
currentVersion: string;
manifestPath: string;
}>;
readCurrentVersionFromRegistry(tree: Tree, currentVersionResolverMetadata: NxReleaseVersionConfiguration["currentVersionResolverMetadata"]): Promise<{
currentVersion: string;
logText: string;
}>;
readCurrentVersionOfDependency(tree: Tree, projectGraph: ProjectGraph, dependencyProjectName: string): Promise<{
currentVersion: string | null;
dependencyCollection: string | null;
}>;
updateProjectVersion(tree: Tree, newVersion: string): Promise<string[]>;
/**
* Updates the dependencies of the project in the specified Cargo.toml files.
*
* @param tree - The file system tree to read from and write to.
* @param projectGraph - The project graph to use for resolving dependencies.
* @param dependenciesToUpdate - A mapping of dependency names to their new versions.
* @returns An array of log messages indicating the results of the updates.
*/
updateProjectDependencies(tree: Tree, projectGraph: ProjectGraph, dependenciesToUpdate?: Record<string, string>): Promise<string[]>;
}
export { StormRustVersionActions as default };