Error type used by all semantic-release packages.
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.
importSemanticReleaseErrorfrom"@semantic-release/error";// DefaultthrownewSemanticReleaseError();// With error messagethrownewSemanticReleaseError("An error happened");// With error message and error codethrownewSemanticReleaseError("An error happened","ECODE");// With error message, error code and detailsthrownewSemanticReleaseError("An error happened","ECODE","Here is some suggestions to solve this error.");// With inheritanceclassInheritedErrorextendsSemanticReleaseError{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";}}thrownewInheritedError("An error happened","ECODE","Here is some suggestions to solve this error.");