UNPKG

@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
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 };