@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
text/typescript
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