UNPKG

@storm-software/git-tools

Version:

Tools for managing Git repositories within a Nx workspace.

235 lines (232 loc) โ€ข 9.88 kB
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 };