@storm-software/git-tools
Version:
Tools for managing Git repositories within a Nx workspace.
235 lines (232 loc) โข 9.88 kB
text/typescript
import * as conventional_changelog_storm_software_types_commit_types from 'conventional-changelog-storm-software/types/commit-types';
import { CommitScopesEnum, ReleaseGroupConfig, ReleaseConfig } from '../types.cjs';
import { StormWorkspaceConfig } from '@storm-software/config/types';
import '@nx/devkit';
import 'conventional-changelog-storm-software/types/commitlint';
import 'nx/src/command-line/release/config/config';
import 'nx/src/config/nx-json';
declare const DEFAULT_CONVENTIONAL_COMMITS_CONFIG: {
questions: {
readonly type: {
readonly type: "select";
readonly title: "Commit Type";
readonly description: "Select the commit type that best describes your changes";
readonly enum: conventional_changelog_storm_software_types_commit_types.CommitTypesEnum;
readonly defaultValue: "chore";
readonly maxLength: 20;
readonly minLength: 3;
};
readonly scope: {
readonly type: "select";
readonly title: "Commit Scope";
readonly description: "Select the project that's the most impacted by this change";
readonly enum: CommitScopesEnum;
readonly defaultValue: "monorepo";
readonly maxLength: 50;
readonly minLength: 1;
};
readonly subject: {
readonly type: "input";
readonly title: "Commit Subject";
readonly description: "Write a short, imperative tense description of the change";
readonly maxLength: 150;
readonly minLength: 3;
};
readonly body: {
readonly type: "input";
readonly title: "Commit Body";
readonly description: "Provide a longer description of the change";
readonly maxLength: 600;
};
readonly isBreaking: {
readonly type: "confirm";
readonly title: "Breaking Changes";
readonly description: "Are there any breaking changes as a result of this commit?";
readonly defaultValue: false;
};
readonly breakingBody: {
readonly type: "input";
readonly title: "Breaking Changes (Details)";
readonly description: "A BREAKING CHANGE commit requires a body. Please enter a longer description of the commit itself";
readonly when: (answers: Record<string, any>) => boolean;
readonly maxLength: 600;
readonly minLength: 3;
};
readonly isIssueAffected: {
readonly type: "confirm";
readonly title: "Open Issue Affected";
readonly description: "Does this change impact any open issues?";
readonly defaultValue: false;
};
readonly issuesBody: {
readonly type: "input";
readonly title: "Open Issue Affected (Details)";
readonly description: "If issues are closed, the commit requires a body. Please enter a longer description of the commit itself";
readonly when: (answers: Record<string, any>) => boolean;
readonly maxLength: 600;
readonly minLength: 3;
};
};
types: {
readonly chore: {
readonly description: "Other changes that don't modify src or test files";
readonly title: "Chore";
readonly emoji: "โ๏ธ ";
readonly semverBump: "patch";
readonly changelog: {
readonly title: "Miscellaneous";
readonly hidden: false;
};
};
readonly fix: {
readonly description: "A change that resolves an issue previously identified with the package";
readonly title: "Bug Fix";
readonly emoji: "๐ชฒ ";
readonly semverBump: "patch";
readonly changelog: {
readonly title: "Bug Fixes";
readonly hidden: false;
};
};
readonly feat: {
readonly description: "A change that adds a new feature to the package";
readonly title: "Feature";
readonly emoji: "๐ ";
readonly semverBump: "minor";
readonly changelog: {
readonly title: "Features";
readonly hidden: false;
};
};
readonly ci: {
readonly description: "Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)";
readonly title: "Continuous Integration";
readonly emoji: "๐งฐ ";
readonly semverBump: "patch";
readonly changelog: {
readonly title: "Continuous Integration";
readonly hidden: false;
};
};
readonly refactor: {
readonly description: "A code change that neither fixes a bug nor adds a feature";
readonly title: "Code Refactoring";
readonly emoji: "๐งช ";
readonly semverBump: "patch";
readonly changelog: {
readonly title: "Source Code Improvements";
readonly hidden: false;
};
};
readonly style: {
readonly description: "Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)";
readonly title: "Style Improvements";
readonly emoji: "๐ ";
readonly semverBump: "patch";
readonly changelog: {
readonly title: "Style Improvements";
readonly hidden: false;
};
};
readonly perf: {
readonly description: "A code change that improves performance";
readonly title: "Performance Improvement";
readonly emoji: "โฑ๏ธ ";
readonly semverBump: "patch";
readonly changelog: {
readonly title: "Performance Improvements";
readonly hidden: false;
};
};
readonly docs: {
readonly description: "A change that only includes documentation updates";
readonly title: "Documentation";
readonly emoji: "๐ ";
readonly semverBump: "none";
readonly changelog: {
readonly title: "Documentation";
readonly hidden: false;
};
};
readonly test: {
readonly description: "Adding missing tests or correcting existing tests";
readonly title: "Testing";
readonly emoji: "๐จ ";
readonly semverBump: "none";
readonly changelog: {
readonly title: "Testing";
readonly hidden: true;
};
};
readonly deps: {
readonly description: "Changes that add, update, or remove dependencies. This includes devDependencies and peerDependencies";
readonly title: "Dependencies";
readonly emoji: "๐ฆ ";
readonly hidden: true;
readonly semverBump: "patch";
readonly changelog: {
readonly title: "Dependency Upgrades";
readonly hidden: false;
};
};
readonly build: {
readonly description: "Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)";
readonly title: "Build";
readonly emoji: "๐ ";
readonly hidden: true;
readonly semverBump: "none";
readonly changelog: {
readonly title: "Build";
readonly hidden: true;
};
};
readonly release: {
readonly description: "Publishing a commit containing a newly released version";
readonly title: "Publish Release";
readonly emoji: "๐ ";
readonly hidden: true;
readonly semverBump: "none";
readonly changelog: {
readonly title: "Publish Release";
readonly hidden: true;
};
};
};
};
declare const DEFAULT_RELEASE_TAG_PATTERN = "{projectName}@{version}";
declare const DEFAULT_RELEASE_GROUP_CONFIG: {
readonly projectsRelationship: "independent";
readonly changelog: {
readonly createRelease: "github";
readonly entryWhenNoChanges: false;
readonly file: false;
readonly renderOptions: {
readonly authors: false;
readonly commitReferences: true;
readonly versionTitleDate: true;
};
};
readonly version: {
readonly currentVersionResolver: "git-tag";
readonly fallbackCurrentVersionResolver: "disk";
readonly specifierSource: "conventional-commits";
readonly groupPreVersionCommand: "pnpm build";
};
readonly releaseTag: {
readonly pattern: "{projectName}@{version}";
};
};
declare const DEFAULT_JS_RELEASE_GROUP_CONFIG: ReleaseGroupConfig;
declare const DEFAULT_RUST_RELEASE_GROUP_CONFIG: ReleaseGroupConfig;
declare const DEFAULT_RELEASE_CONFIG: ReleaseConfig;
/**
* Get the release group configurations, applying defaults where necessary
*
* @param releaseConfig - The release configuration to use
* @param workspaceConfig - The workspace configuration to use
* @returns The release group configurations
*/
declare function getReleaseGroupConfig(releaseConfig: Partial<ReleaseConfig>, workspaceConfig: StormWorkspaceConfig): {
[k: string]: ReleaseGroupConfig;
};
export { DEFAULT_CONVENTIONAL_COMMITS_CONFIG, DEFAULT_JS_RELEASE_GROUP_CONFIG, DEFAULT_RELEASE_CONFIG, DEFAULT_RELEASE_GROUP_CONFIG, DEFAULT_RELEASE_TAG_PATTERN, DEFAULT_RUST_RELEASE_GROUP_CONFIG, getReleaseGroupConfig };