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.

60 lines (59 loc) 2.62 kB
import { PublishOptions } from "jsr"; import { FailContext, NextRelease, PrepareContext, PublishContext, SuccessContext, VerifyConditionsContext, VerifyReleaseContext } from "semantic-release"; //#region src/types.d.ts interface NormalizedPluginConfig { cwd: string; name: string; prepare: { versionJsonPaths: string[]; }; publish: PublishOptions; } interface PluginConfig { /** * 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; /** * 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[]; } interface PublishResponse { channel?: string; name: string; url?: string; } interface PublishResponseContext { nextRelease?: NextRelease; } //#endregion //#region src/command.d.ts declare function fail(pluginConfig: PluginConfig, context: FailContext): 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 verifyConditions(pluginConfig: PluginConfig, context: VerifyConditionsContext): Promise<void>; //#endregion //#region src/utils.d.ts declare function parseConfig(config: PluginConfig, context?: PrepareContext | PublishContext | VerifyConditionsContext): Promise<NormalizedPluginConfig>; declare function generatePublishResponse(config: NormalizedPluginConfig, context: PublishResponseContext): PublishResponse; declare function getTemporaryBinFolder(): string; declare function publish(config: NormalizedPluginConfig, context: VerifyConditionsContext): Promise<void>; declare function removeTemporaryBinFolder(): Promise<void>; declare function updateVersionJson(file: string, context: VerifyReleaseContext): Promise<void>; //#endregion 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 }; //# sourceMappingURL=index.d.mts.map