@r4lrgx/shared-config
Version:
🔩 My customized Config of semantic release and commitlint and others.
53 lines (50 loc) • 2.06 kB
TypeScript
import { Options } from 'semantic-release';
import { ReleaseConfigOptions } from './types/index.js';
/**
* Semantic-release Configuration Example
*
* This configuration applies how you want your github releases to be made automatically.
*
* @example
* // Basic usage in release.config.js:
* import releaseConfig from '@r4lrgx/shared-config/release-config';
* export default releaseConfig(); // <- already has a good default setting.
*
* @example
* // Customizing release types:
* const customConfig = {
* branches: ['next', {
* name: 'next',
* channel: 'next',
* prerelease: true
* }]
* dryRun: true,
* npm: {
* npmPublish: true,
* tarballDir: './path/to/you/dir',
* pkgRoot: './path/to/you/root'
* },
* ...options
* };
* export default releaseConfig(customConfig);
*/
/**
* Main semantic-release configuration builder
*
* @param {ReleaseConfigOptions} [options={}] - Global release configuration options
* @param {Array<string|BranchSpec>} [options.branches] - Branch release configuration
* @param {boolean} [options.ci=true] - Whether to run in CI mode
* @param {string} [options.tagFormat] - Format for release tags
* @param {PluginSpec[]} [options.plugins] - Additional plugins to include
* @param {CommitAnalyzerPluginOptions} [options.commitAnalyzer] - Commit analyzer config
* @param {ExecPluginOptions} [options.exec] - Exec plugin config
* @param {ReleaseNotesGeneratorPluginOptions} [options.releaseNotesGenerator] - Release notes config
* @param {ChangelogPluginOptions} [options.changelog] - Changelog config
* @param {NpmPluginOptions} [options.npm] - NPM plugin config
* @param {GitPluginOptions} [options.git] - Git plugin config
* @param {GithubPluginOptions} [options.github] - GitHub plugin config
* @param {object} [options.opts] - Additional global options
* @returns {Options} Complete semantic-release configuration
*/
declare function releaseConfig(options?: ReleaseConfigOptions): Options;
export { ReleaseConfigOptions, releaseConfig as default };