UNPKG

@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
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 };