@halospv3/hce.shared-config
Version:
Automate commit message quality, changelogs, and CI/CD releases. Exports a semantic-release shareable configuration deserialized from this package's '.releaserc.yml'. Shared resources for .NET projects are also distributed with this package.
18 lines • 1.46 kB
TypeScript
import type { PluginSpec } from 'semantic-release';
/**
* @param plugins {@link SemanticReleaseOptions.plugins}
* @param afterPluginsIDs The `string` IDs of plugins that the {@link insertPluginIDs} must follow.
* @param insertPluginIDs The `string` IDs of plugins to insert into a copy of the {@link plugins} array.
* @param beforePluginsIDs The `string` IDs of plugins that the {@link insertPluginIDs} must precede.
* @returns
* A modified copy of {@link plugins} with the given plugins inserted
* before {@link beforePluginsIDs} and after {@link afterPluginsIDs}.
*
* Inserted plugins will be a `[string, {}]` tuple.
* @throws {ReferenceError} This should never occur. One or more of the
* {@link afterPluginsIDs} had been found in {@link plugins}, but a `.find` call
* to get the highest index of the found plugins had returned `undefined`
* @throws {AggregateError} One or more error occurred when inserting plugins: `insertPlugin was instructed to insert one or more plugins after [${afterPluginsIDs.map(v => '"' + v + '"').join(', ')}] and before [${beforePluginsIDs.map(v => `"${v}"`).join(', ')}], but ${JSON.stringify(pluginIDs[indexOfLastAfter])} comes after ${JSON.stringify(pluginIDs[index])}!`
*/
export declare function insertPlugin(plugins: Exclude<PluginSpec, string>[], afterPluginsIDs: string[], insertPluginIDs: string[], beforePluginsIDs: string[]): Exclude<PluginSpec, string>[];
//# sourceMappingURL=insertPlugins.d.ts.map