Skip to content

💥 💬 errors but with error code

License

Notifications You must be signed in to change notification settings

semantic-release/error

Folders and files

NameName
Last commit message
Last commit date

Latest commit

0f51965 Â· Mar 31, 2025
Mar 17, 2025
Jun 7, 2023
Jun 7, 2023
Jun 7, 2023
Sep 25, 2017
Jun 7, 2023
Jun 7, 2023
Mar 31, 2025
Mar 17, 2025

Repository files navigation

@semantic-release/error

Error type used by all semantic-release packages.

Build Status

Errors of type SemanticReleaseError or an inherited type will be considered by semantic-release as an expected exception case (no release to be done, running on a PR etc..). That indicate to the semantic-release process to stop and exit with the 0 success code.

Any other type of error will be considered by semantic-release as an unexpected error (i/o issue, code problem etc...). That indicate to the semantic-release process to stop, log the error and exit with the 1 failure code.

Usage

import SemanticReleaseError from "@semantic-release/error";

// Default
throw new SemanticReleaseError();

// With error message
throw new SemanticReleaseError("An error happened");

// With error message and error code
throw new SemanticReleaseError("An error happened", "ECODE");

// With error message, error code and details
throw new SemanticReleaseError("An error happened", "ECODE", "Here is some suggestions to solve this error.");

// With inheritance
class InheritedError extends SemanticReleaseError {
  constructor(message, code, newProperty, details) {
    super(message);
    Error.captureStackTrace(this, this.constructor);
    this.name = this.constructor.name;
    this.code = code;
    this.details = details;
    this.newProperty = "newProperty";
  }
}

throw new InheritedError("An error happened", "ECODE", "Here is some suggestions to solve this error.");