@sebbo2002/semantic-release-jsr
Version:
Small `semantic-release` plugin, which adjusts the version in the `jsr.json` file and executes `jsr publish` to publish the module on jsr.io as well.
57 lines (52 loc) • 2.47 kB
TypeScript
import { PublishOptions } from 'jsr';
import { NextRelease, VerifyConditionsContext, PrepareContext, PublishContext, SuccessContext, FailContext, VerifyReleaseContext } from 'semantic-release';
interface PluginConfig {
/**
* Working directory given to `jsr publish`.
* Defaults to current directory.
*/
cwd?: string;
/**
* Path to package.json.
* Defaults to `cwd` + `/package.json` if it exists.
*/
pkgJsonPath?: string;
/**
* Additional arguments to pass to `jsr publish`.
*/
publishArgs?: string[];
/**
* Allow `--allow-dirty` to be passed to `jsr publish`.
* Defaults to `true`, as usually the version is bumped before publishing.
* Set to `false` to prevent `--allow-dirty` from being passed.
*/
allowDirty?: boolean;
}
interface NormalizedPluginConfig {
cwd: string;
name: string;
prepare: {
versionJsonPaths: string[];
};
publish: PublishOptions;
}
interface PublishResponseContext {
nextRelease?: NextRelease;
}
interface PublishResponse {
name: string;
url?: string;
channel?: string;
}
declare function verifyConditions(pluginConfig: PluginConfig, context: VerifyConditionsContext): Promise<void>;
declare function prepare(pluginConfig: PluginConfig, context: PrepareContext): Promise<void>;
declare function publish$1(pluginConfig: PluginConfig, context: PublishContext): Promise<boolean | PublishResponse>;
declare function success(pluginConfig: PluginConfig, context: SuccessContext): Promise<void>;
declare function fail(pluginConfig: PluginConfig, context: FailContext): Promise<void>;
declare function parseConfig(config: PluginConfig): Promise<NormalizedPluginConfig>;
declare function getTemporaryBinFolder(): string;
declare function removeTemporaryBinFolder(): Promise<void>;
declare function updateVersionJson(file: string, context: VerifyReleaseContext): Promise<void>;
declare function publish(config: NormalizedPluginConfig, context: VerifyConditionsContext): Promise<void>;
declare function generatePublishResponse(config: NormalizedPluginConfig, context: PublishResponseContext): PublishResponse;
export { type NormalizedPluginConfig, type PluginConfig, type PublishResponse, type PublishResponseContext, fail, generatePublishResponse, getTemporaryBinFolder, publish as jsrPublish, parseConfig, prepare, publish$1 as publish, removeTemporaryBinFolder, success, updateVersionJson, verifyConditions };